Vehicle software control system and control method, electronic equipment and storage medium
By analyzing the usage data of automotive software, generating personalized scheduling strategies and dynamically adjusting the software, the problems of single scheduling strategies and low flexibility in the existing technology are solved, and the user experience and resource utilization efficiency are improved.
Patent Information
- Application Number
- CN202510097635.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-05-30
AI Technical Summary
In the prior art, the scheduling method of automotive software is single and has low flexibility, and cannot apply multiple usage preferences, which affects the user experience.
By obtaining the software usage data of the vehicle, analyzing the usage preference data and scheduling configuration data, a personalized software scheduling strategy is generated, and dispatching instructions are issued according to the current state of the software, and the start and stop of the software and business threads are dynamically adjusted.
It realizes the generation of personalized software scheduling strategies based on the usage habits of the usage objects, improves the user experience, is highly flexible, and can optimize resource configuration without waiting for software upgrades.
Smart Images

Figure CN120066711A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of vehicles, and specifically to a vehicle software control system, a control method, an electronic device, and a storage medium. Background Art
[0002] In related technologies, after a vehicle is delivered, its hardware generally no longer updates, but the vehicle software can be continuously updated and upgraded through OTA (Over-The-Air). However, the upgrade of vehicle software may increase the software's demand for system resources, thereby affecting the user experience. With the progress of technology, the users themselves will also have higher requirements for the use of vehicle software. However, in related technologies, the scheduling method of software has a single strategy and low flexibility, and cannot meet various usage preferences. Summary of the Invention
[0003] In view of this, this application provides a vehicle software control system, a control method, an electronic device, and a storage medium to solve the problems in the prior art that the scheduling method of software has a single strategy and low flexibility and cannot meet various usage preferences.
[0004] To solve the above technical problems, the first technical solution provided by this application is: to provide a vehicle software control method, including:
[0005] Obtain the software usage data of the vehicle, and obtain usage preference data and scheduling configuration data according to the software usage data;
[0006] Generate a software scheduling strategy according to the usage preference data and the scheduling configuration data;
[0007] Obtain the current state of the software;
[0008] Based on the current state of the software, issue a software scheduling instruction by using the software scheduling strategy.
[0009] In an embodiment, the obtaining the software usage data of the vehicle and obtaining usage preference data and scheduling configuration data according to the software usage data includes:
[0010] Obtain the software usage data of the user of the software;
[0011] Obtain the usage preference data of the user based on the usage data; wherein the usage preference data includes the number of uses, the usage duration, and the usage time;
[0012] Based on the usage preference data, obtain personalized software usage data by using a preset model;
[0013] Obtain corresponding scheduling configuration data based on the personalized software usage data.
[0014] In one embodiment, the method of obtaining the software usage data of the vehicle and obtaining usage preference data and scheduling configuration data according to the software usage data further includes: adjusting and optimizing the scheduling configuration data in combination with the usage preference data.
[0015] In one embodiment, generating a software scheduling policy according to the usage preference data and the scheduling configuration data includes:
[0016] Analyze the scheduling configuration data by using a built-in data analysis model;
[0017] According to the usage preference data, in combination with the scheduling configuration data, obtain the personalized software scheduling policy; wherein, the personalized software scheduling policy corresponds to the personalized software usage data.
[0018] In one embodiment, obtaining the current state of the software includes:
[0019] Obtain the state of the vehicle;
[0020] Based on the state of the vehicle, obtain the association information of the software; wherein, the association information of the software includes the execution conditions or dependencies of the software.
[0021] In one embodiment, based on the current state of the software, issuing a software scheduling instruction by using the software scheduling policy includes:
[0022] Obtain the current state of the software and the usage scenario information of the usage object;
[0023] Based on the usage scenario information and the association information, issue the software scheduling instruction to a scheduling execution system.
[0024] In one embodiment, the vehicle software control method further includes: using a scheduling execution system to execute the software scheduling instruction.
[0025] In one embodiment, using a scheduling execution system to execute the software scheduling instruction includes:
[0026] Obtain the start-stop information of the software according to the software scheduling instruction; or, obtain the start-stop information of a service thread associated with the software according to the software scheduling instruction.
[0027] In one embodiment, using a scheduling execution system to execute the software scheduling instruction further includes:
[0028] Execute corresponding configuration switching according to the start / stop information of the software or the start / stop information of the service thread associated with the software;
[0029] Based on the information of the configuration switching, dynamically turn on / off the software or the service thread associated with the software.
[0030] To solve the above technical problems, the second technical solution provided by this application is: Provide a vehicle software control system, including:
[0031] A data acquisition module, used to obtain the software usage data of the vehicle,
[0032] A system perception module, used to obtain the current state of the software;
[0033] A cloud platform, used to collect the software usage data of the vehicle, and obtain usage preference data and scheduling configuration data according to the software usage data;
[0034] An upper control module, used to generate a software scheduling strategy according to the usage preference data and the scheduling configuration data; and based on the current state of the software, issue a software scheduling instruction using the software scheduling strategy.
[0035] In one embodiment, the vehicle software control system further includes:
[0036] A scheduling execution system, used to execute the software scheduling instruction, and start / stop the software or the service thread associated with the software according to the software scheduling instruction.
[0037] To solve the above technical problems, the third technical solution provided by this application is: Provide an electronic device, including: a processor and a memory, the memory is connected to the processor and used to store a computer program that can run on the processor; wherein, when the processor executes the computer program, the method described in any one of the above is implemented.
[0038] To solve the above technical problems, the fourth technical solution provided by this application is: Provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method described in any one of the above is implemented.
[0039] Advantages of the present application: Different from the prior art, the vehicle software control method of the present application includes: obtaining software usage data of a vehicle, and obtaining usage preference data and scheduling configuration data according to the software usage data; generating a software scheduling strategy according to the usage preference data and the scheduling configuration data; obtaining the current state of the software; and based on the current state of the software, issuing a software scheduling instruction by using the software scheduling strategy. The present application obtains the usage situation of the vehicle software by the usage object in real time, generates personalized preference data through the system, and generates a personalized software scheduling strategy based on the usage habits of the usage object according to the preference data and the scheduling configuration data. At the same time, according to the usage state of the software, the software and its service threads can be dynamically adjusted; there is no need to rely on and wait for the upgrade of the vehicle software for resource configuration optimization and configuration switching, which is highly flexible, more in line with the usage habits of the usage object, and improves the usage experience. Description of the Drawings
[0040] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0041] Figure 1 It is a schematic diagram of the working process of the vehicle software control method provided by an embodiment of the present application;
[0042] Figure 2 It is a block diagram of the overall process of the vehicle software control method provided by an embodiment of the present application;
[0043] Figure 3 is Figure 2 a block diagram of a sub-step of step S1 provided;
[0044] Figure 4 is Figure 2 a block diagram of another sub-step of step S1 provided;
[0045] Figure 5 is Figure 2 a block diagram of a sub-step of step S2 provided;
[0046] Figure 6 is Figure 2 a block diagram of a sub-step of step S3 provided;
[0047] Figure 7 is Figure 2 a block diagram of a sub-step of step S4 provided;
[0048] Figure 8It is the overall flowchart of the vehicle software control method provided by another embodiment of the present application;
[0049] Figure 9 is Figure 8 the flowchart of the sub-steps of step S5 provided;
[0050] Figure 10 It is the schematic diagram of module connection of the vehicle software control system provided by an embodiment of the present application;
[0051] Figure 11 It is the schematic structural diagram of an electronic device provided by an embodiment of the present application;
[0052] Figure 12 It is the schematic block diagram of the structure of a computer-readable storage medium provided by an embodiment of the present application.
[0053] Explanation of reference numerals:
[0054] 100, software control system; 10, data acquisition module; 20, system perception module; 21, resource monitoring system; 22, status management system; 30, cloud platform; 40, upper control module; 41, software scheduling engine; 50, scheduling execution system; 51, startup management system; 52, configuration system; 60, service thread; 200, electronic device; 210, processor; 220, memory; 230, peripheral device interface; 240, radio frequency circuit; 250, display screen; 260, audio circuit; 270, power supply; 300, computer-readable storage medium. Detailed implementation manners
[0055] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0056] The terms "first", "second" and "first" in this application are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first" and "second" can expressly or implicitly include at least one of the features. All directional indications (such as up, down, left, right, front, back ...) in the embodiments of the present application are only used to explain the relative position relationship, movement conditions, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication also changes accordingly. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the steps or units listed, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices.
[0057] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0058] If the technical solution of this application involves personal information, the product using the technical solution of this application has clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using the technical solution of this application has obtained the individual's separate consent before processing the sensitive personal information, and at the same time meets the "explicit consent" requirement. For example, on personal information collection devices such as cameras, clear and prominent signs are set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that he or she agrees to the collection of his or her personal information; or on the device for processing personal information, when the personal information processing rules are notified by obvious signs / information, the individual's authorization is obtained through pop-up information or by asking the individual to upload his or her personal information; among them, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.
[0059] During the research process of this application, it was found that: as a closed system, the hardware of a car generally does not change after the car is delivered, but the software supporting the car is constantly iterating and updating. With the upgrade of the software, the resources consumed by the software on the car are increasing, which in turn leads to some phenomena that affect the user experience, such as interface operation jams, slow system startup, etc. Furthermore, the fixed scheduling method preset in the software system cannot make the car software run more in line with the actual use needs, and the system resources cannot be used in the most optimized way, which directly affects the user experience.
[0060] The technical problem solved by this application is to provide an intelligent software scheduling control method to reasonably schedule the software on the vehicle side according to the user preference to improve the user experience. For example, when starting up, the software that the user is interested in is started first; when resources are insufficient, the software that the user prefers is guaranteed first; when the system is shut down, the software that the user can intuitively feel is closed first, etc.
[0061] After the car is delivered, the car's hardware is generally no longer updated, but the car's software can be continuously updated and upgraded through OTA (Over-The-Air). The upgrade of car software may increase the software's demand for system resources, which in turn affects the user experience. With the advancement of technology, the users themselves will have higher requirements for the use of car software. Therefore, a flexible and intelligent software control and scheduling strategy is needed. During the use of the car software by the user, the software installed on the car can be continuously and flexibly scheduled, and the overall resources can be optimized. The utilization of resources is optimized to improve the user experience as much as possible, such as usage fluency, start-stop speed, and ease of use.
[0062] In order to solve the above problems, the present application provides a vehicle software control system and control method, an electronic device and a storage medium.
[0063] See also Figures 1 to 10 The vehicle software control method provided by this application does not need to wait for or rely on the OTA upgrade of the vehicle software; in the software development stage, the upper control module 40 (software scheduling engine 41) pre-embeds the relevant interfaces for communication connection, and the interfaces include a general system perception interface, a general data acquisition interface, and a general software scheduling execution interface. The specific module type and parameters are specified when the interface is executed according to the strategy. "Engine interface pre-embedded" can be in the vehicle design and production stage, pre-setting various interfaces or reserved positions to facilitate the subsequent installation of different components.
[0064] According to different software scheduling policies, the software scheduling engine 41 controls the start and stop of software through the pre-embedded policy perception interface according to the software scheduling policy. The purpose of the solution of this application is to achieve intelligent software scheduling, cover as many scenarios as possible, be more in line with the preferences of each user, improve the user experience of the user, and the scheduling is flexible and convenient.
[0065] With the consent of the user, the software scheduling engine 41 on the vehicle side collects vehicle-side data and feeds it back to the cloud platform 30. The cloud platform 30 calculates through a preset model and continuously optimizes the general software scheduling preference settings as the initial value and issues it to the vehicle. At the same time, the cloud platform 30 can formulate the scheduling configuration of each batch of vehicles and issue it to all vehicles in the corresponding batch.
[0066] As Figure 1 shown, the software scheduling engine 41 on the vehicle side uses the preferences issued by the cloud platform 30 as the initial value, combines the software usage data of the vehicle, continuously optimizes to generate personalized usage preference data, and at the same time combines the scheduling configuration data issued by the cloud platform 30 to generate a personalized software scheduling policy. The software scheduling engine 41 perceives various states of the vehicle as needed through the system perception module 20 according to the software scheduling policy, and executes the corresponding software scheduling through the scheduling execution system 50 in specific scenarios. Thus, flexible, variable, and more user-preference-compliant software scheduling is achieved. At the same time, through the configurable software scheduling configuration and automatically optimized preference settings, more business scenarios can be covered.
[0067] As Figures 1 to 10 shown, the vehicle software control method provided by this application may include the following steps:
[0068] S1: Obtain the software usage data of the vehicle, and obtain usage preference data and scheduling configuration data according to the software usage data.
[0069] Specifically, after obtaining the usage data of the vehicle's user for the software, the usage preferences of the user and the scheduling configuration data of the software during the usage process can be further obtained according to personalized data such as the usage habits of the user.
[0070] Before step S1 of obtaining the software usage data of the vehicle and obtaining usage preference data and scheduling configuration data according to the software usage data, it may further include:
[0071] During the software R & D stage, relevant interfaces are pre-embedded through the upper control module 40 (such as the software scheduling engine 41), including a general system perception interface, a general data acquisition interface, and a general software scheduling execution interface. The specific module types and parameters are specified when the interface executes according to the policy.
[0072] During the software R & D stage, the cloud platform 30 configures software scheduling and pre - embeds default general usage preference data. The software scheduling policy can be empty in the early stage. Scheduling configurations include which scenarios software scheduling is supported for, the threshold values for the occurrence of scenarios, the corresponding sensing methods for scenarios, which software is supported for scheduling, the priority of software scheduling, the corresponding execution methods for services, etc. From the usage preference data, it can be obtained which software should be preferentially closed after the CPU (Central Processing Unit) exceeds the set threshold value, and which software should be preferentially guaranteed to be used in the driving mode, etc.
[0073] Such as Figure 3 and Figure 10 As shown, in one embodiment, the steps S1 of obtaining the software usage data of the vehicle and obtaining the usage preference data and scheduling configuration data according to the software usage data may include:
[0074] S11: Obtain the software usage data of the software usage object.
[0075] Specifically, the software usage data may be the usage time of each usage object for the software, the data generated during the usage process, etc.
[0076] For example, after obtaining the consent of the usage object, the data acquisition module 10 acquires the software usage data, including information such as the usage times, usage duration, and usage timing of the software, and synchronizes it to the cloud platform 30 and the software scheduling engine 41 on the vehicle side. If the usage object does not consent, it is only synchronized to the software scheduling engine 41 on the vehicle side.
[0077] S12: Obtain the usage preference data of the usage object based on the usage data; wherein, the usage preference data includes the usage times, usage duration, and usage timing.
[0078] Specifically, the usage preference data is personalized data obtained from the usage data based on the habits of each usage object, which may include the usage times, usage duration, and usage timing of each usage object for each software. The usage timing can be understood as the time when the usage object is accustomed to using.
[0079] S13: Based on the usage preference data, use a preset model to obtain personalized software usage data.
[0080] Specifically, based on the above usage preference data, a preset big data analysis model can be used to analyze the usage preference data, so as to obtain personalized software usage data based on the user. The big data analysis model here is a system-level data model, which is formed by collecting and training data of users of multiple software in multiple vehicles. It is not aimed at a single vehicle or a single software, but a model that uniformly analyzes and schedules multiple vehicle software, all users, and multiple dimensions from a system-level perspective.
[0081] The cloud platform 30 collects vehicle data, calculates general preferences through a preset model, and formulates and continuously optimizes general usage preference data. The cloud platform 30 sends the general usage preference data to relevant batches of vehicles. The software scheduling engine 41 on the vehicle end uses the general usage preference data sent by the cloud platform 30 as the initial value, combines the usage data collected by this vehicle, and combines the big data analysis model to calculate the usage preference data of each vehicle. The cloud platform 30 can configure the scheduling configuration of the software and send it to relevant batches of vehicles.
[0082] S14: Obtain corresponding scheduling configuration data based on the personalized software usage data.
[0083] Specifically, through the big data analysis model, obtain the software usage scheduling configuration data of the user for the software, and combine the newly collected software usage data to formulate a general optimal software scheduling preference setting that is most suitable for the user.
[0084] For example, the software scheduling engine 41 on the vehicle end combines the personalized usage preference data and the software scheduling configuration data sent by the cloud platform 30 to formulate a personalized software scheduling strategy (such as which software should be given priority to run in what scenario, and in what order to start and stop, etc.). The software scheduling strategy should include the name of the strategy, the perception method of the strategy (such as perception through status management, perception through the resource monitoring system 21, etc.), the perception conditions (such as the execution conditions at startup, such as the CPU exceeding the threshold value, etc.), the combination of strategy execution methods (such as execution through startup management, execution through the configuration system 52, etc.), and the combination of specific execution contents (which can include the corresponding module name, specific execution actions (such as switching software processes, pausing business threads 60, modifying configurations, etc.)).
[0085] As Figure 4 shown, in another embodiment, obtaining the software usage data of the vehicle and obtaining the usage preference data and the scheduling configuration data according to the software usage data may further include:
[0086] S15: Combine the usage preference data to adjust and optimize the scheduling configuration data.
[0087] Specifically, since the software usage process and data collection process are dynamically changing, after continuously collecting the usage data of the user and obtaining the usage preference data of the user, the scheduling configuration data during the software usage process can be adjusted and optimized. As a result, the scheduling configuration data can be matched with the latest usage preference data, further enhancing the user experience. It can be understood that as another embodiment, S15 is an additional and more preferred embodiment based on the foregoing steps S11 to S14.
[0088] S2: Generate a software scheduling policy based on the usage preference data and the scheduling configuration data.
[0089] Specifically, after obtaining the above usage preference data and scheduling configuration data, a personalized software scheduling policy that better conforms to the user's usage habits can be generated. The software scheduling policy can be understood as a software scheduling method that is generated based on the user's usage data of the software and better conforms to the user's usage habits and preferences. For example, if the user is accustomed to using the music software around 9:00 am, the music software can be opened at the corresponding time, and other software that the user does not tend to use can be temporarily closed; around 7:00 pm, the user is accustomed to using the map software and the reading software, so these two software can be opened at the corresponding time, and other software can be temporarily closed.
[0090] For another example, the software scheduling engine 41 enables the corresponding system perception module 20 through the pre-embedded policy perception interface according to the software scheduling policy. The software scheduling engine 41 perceives that the system state meets the execution conditions of the policy, such as the CPU reaching a specified value, and then calls the interface of the pre-embedded scheduling execution system 50 according to the established policy to implement software scheduling, such as closing a certain software by starting the management system 51.
[0091] In one embodiment, the step S2 of generating a software scheduling policy based on the usage preference data and the scheduling configuration data may include:
[0092] S21: Analyze the scheduling configuration data using the built-in data analysis model.
[0093] Specifically, the built-in data analysis model is different from the above-mentioned preset model (big data analysis model). The built-in data analysis model is a model based on the data of the vehicle software. It can be understood that the built-in data analysis model is a data analysis model built in the vehicle and specifically analyzes the installed software of the vehicle. By combining this data analysis model with the usage preference data, personalized scheduling configuration data is generated.
[0094] S22: Obtain a personalized software scheduling policy according to the usage preference data in combination with the scheduling configuration data.
[0095] Specifically, the usage preference data is software usage data corresponding to the usage habits and preferences of the user. By combining the usage preference data with the corresponding personalized scheduling configuration data, a personalized software scheduling policy corresponding to the usage habits and preferences of the user is generated. It can be understood that the personalized software scheduling policy corresponds to the personalized software usage data.
[0096] S3: Obtain the current state of the software.
[0097] Specifically, the current state of the software can be various states such as in use or closed, and can also include the health state of the software system, etc. For details, refer to the following description.
[0098] Such as Figure 6 As shown, in one embodiment, step S3 of obtaining the current state of the software may include:
[0099] S31: Obtain the state of the vehicle.
[0100] Specifically, the state of the vehicle may include vehicle start, stop, driving, charging, upgrading, hibernation, etc.
[0101] S32: Obtain the associated information of the software based on the state of the vehicle; wherein, the associated information of the software includes the execution conditions or dependencies of the software.
[0102] Specifically, the associated information can be understood as the dependency relationship between a software and other software or databases, etc. when the software is started. For example, the start of software A must depend on the start of software B. For example, B may be a database, and software A must fetch data from database B to start; that is, to ensure the normal start state of software A, the start of database B must be ensured. This dependency relationship between software A and database B can also be understood as the execution condition for the start of software A. Therefore, it is necessary to know the execution conditions or dependencies between software before performing the start / stop switch operation on the software.
[0103] S4: Based on the current state of the software, issue a software scheduling instruction using the software scheduling policy.
[0104] Specifically, according to the current state of the software, the start and stop of the software, or the start and stop of the software-related service threads 60 can be performed. Issuing a software scheduling instruction using a software scheduling policy can be understood as, according to the usage preferences of the user, when the system resources are insufficient, giving priority to opening the software that the user uses more frequently and closing the software that is used less frequently. For example, when the system resources are insufficient, for music software, map software, reading software, etc. that the user often uses, they can be kept open or reserved, while for software that the user uses rarely, processing such as compression and function degradation can be performed. In this way, flexible and personalized scheduling of software usage can be achieved. On the one hand, system resources are saved, making the use of the software smoother, and on the other hand, the usage habits of the user can be maintained as much as possible, improving the user's usage experience.
[0105] As Figure 7 shown, in one embodiment, based on the current state of the software, step S4 of issuing a software scheduling instruction using a software scheduling policy may include:
[0106] S41: Obtain the current state of the software and the usage scenario information of the user.
[0107] Specifically, the current state of the software may include resource status information, vehicle status information, and software start and stop information. The resource status information of the software system may include whether the current system resources (such as CPU, memory, DSP, IO, disk, etc.) reach the upper limit, etc. The vehicle status information may include vehicle start, stop, driving, charging, upgrading, sleeping, etc. information. The software start and stop information includes power-on startup, charging, upgrading, etc. The usage scenario information of the user can be understood as the correlation between the usage time, usage occasion, etc. of the software and a specific scenario. For example, in what situation or scenario a certain software is used, how long it is used, and the usage frequency, etc. The above information can be directly obtained through the upper control module 40 (such as CPU) of the software system.
[0108] S42: Based on the usage scenario information and the association information, issue a software scheduling instruction to the scheduling execution system 50.
[0109] Specifically, after obtaining the above usage scenario information and the association information of the software, it is possible to know when to send the start and stop information of a certain software and configure the configuration information corresponding to the start and stop information, so that a specific software scheduling instruction can be issued to the scheduling execution system 50, enabling the scheduling execution system 50 to execute specific commands according to this instruction.
[0110] As Figure 8 shown, in another embodiment, the vehicle software control method further includes:
[0111] S5: Execute the software scheduling instruction by using the scheduling execution system 50.
[0112] Specifically, the scheduling execution system 50 and the upper control module 40 can communicate through a communication interface. The upper control module 40 is equivalent to a system start / stop mechanism. By sending software scheduling instructions to the scheduling execution system 50, the start / stop control of multiple software or software business threads 60 can be performed. For example, the upper control module 40 configures the control processes of multiple software one by one in advance, and then sends software scheduling instructions to the scheduling execution system 50 through the communication interface, so that the corresponding processes of the software can be started or stopped. By controlling and scheduling the software in the above manner, it is not necessary to wait for or rely on software upgrades (such as OTA upgrades), nor is it necessary to control the software through a controller. The resource configuration, flexible start / stop, scheduling, and personalized usage preferences of the software can be realized, with strong flexibility and better user experience.
[0113] As Figure 9 shown, in one embodiment, the step S5 of executing the software scheduling instruction by using the scheduling execution system 50 may include the following steps:
[0114] S51: Obtain the start / stop information of the software according to the software scheduling instruction; or, obtain the start / stop information of the business thread 60 associated with the software according to the software scheduling instruction.
[0115] Specifically, the scheduling execution system 50 obtains the software scheduling instruction of the upper control module 40 through the communication interface to obtain the information for starting or closing the software, so as to start or close the software; or the scheduling execution system 50 obtains the software scheduling instruction of the upper control module 40 through the communication interface to obtain the information for starting or closing a certain associated business thread 60 related to the software, so as to start or close the business thread 60.
[0116] S52: Execute the corresponding configuration switch according to the start / stop information of the software or the start / stop information of the business thread 60 associated with the software.
[0117] Specifically, after the scheduling execution system 50 obtains the information for starting or closing the software or a certain associated business thread 60 related to the software, relevant configuration switches can be performed, so that the configuration information can match the software or the business thread 60. The configuration switch can be performed through the configuration system 52. The specific switching method can be understood as follows: Each software function has a switch. In the pre-established software configuration, if the software scheduling instruction issued by the upper control module 40 is to start the software, the configuration information is ON, and the software runs normally; if the software scheduling instruction issued by the upper control module 40 is to close the software, the configuration information is OFF, and the software stops running.
[0118] S53: Dynamically switch the software or the service thread 60 associated with the software based on the configuration switching information.
[0119] Specifically, based on the configuration switching information, for example, if the configuration information is OFF, the configuration code follows the branch of software shutdown, and the software shuts down and runs. The upper control module 40 sends the ON or OFF command to the configuration system 52, and the corresponding process of the configuration system 52 runs the corresponding branch and executes the corresponding command to realize the start and stop of the software.
[0120] Through the pre-embedding of the general perception and execution interfaces, combined with flexible and variable policies, the present application can continuously collect the software usage data of the user after the automotive software is delivered, more flexibly switch the software scheduling policy without waiting for the next OTA, and make the operation of the software more in line with the needs of the user through the preset model calculation. The system resources can be reasonably used, directly improving the user's sensory experience.
[0121] To solve the above technical problems, the present application also provides a vehicle software control system 100.
[0122] Please refer to Figures 1 to 10 simultaneously. The vehicle software control system 100 provided by the present application may include: a data collection module 10, a system perception module 20, a cloud platform 30, an upper control module 40, and a scheduling execution system 50. The data collection module 10 is used to obtain the software usage data of the vehicle, and the system perception module 20 is used to obtain the current state of the software. The cloud platform 30 is used to collect the software usage data of the vehicle and obtain the usage preference data and scheduling configuration data according to the software usage data. The upper control module 40 is used to generate a software scheduling policy according to the usage preference data and the scheduling configuration data; and based on the current state of the software, issue a software scheduling instruction using the software scheduling policy.
[0123] The data collection module 10 may be a data collection module 10 for software data, mainly responsible for collecting the usage situation of the software and reporting it to the upper control module 40, including collecting the usage times, usage duration, usage timing (such as startup, driving, charging, upgrading, etc.). After collecting the data, the data is transmitted to the cloud platform 30, and the cloud platform 30 calculates the preferences of the user through these data to obtain the usage preference data. The upper control module 40 may specifically be a software scheduling engine 41. The software scheduling engine 41 may be software used to control other modules or systems of the software control system 100. It can be understood that the foregoing upper control module 40 may be the software scheduling engine 41, specifically may be control software.
[0124] The system perception module 20 is used to obtain the current state of the system. The system perception module 20 may include a resource monitoring system 21, a state management system 22, and a startup management system 51. The resource monitoring system 21 is responsible for monitoring system resources and reporting to the software scheduling engine 41, such as the resource status of CPU, memory, DPU, IO, disk, etc.; it is responsible for monitoring the resources consumed by each software (detecting whether it is currently at the upper limit) and reporting to the software scheduling engine 41, such as the detection of the resource status of CPU, memory, DSP (Digital Signal Processor), IO, disk, etc. The state management system 22 is mainly responsible for collecting the vehicle status and synchronizing it to the software scheduling engine 41, such as the vehicle start, stop, driving, charging, upgrading, sleep, etc. The startup management system 51 performs system perception so that the software scheduling engine 41 can obtain the execution conditions or dependencies of related software. The specific execution conditions and dependencies refer to the above content and will not be repeated here.
[0125] In one embodiment, the scheduling execution system 50 is used to execute software scheduling instructions, and start and stop the software or the service thread 60 associated with the software according to the software scheduling instructions.
[0126] The software scheduling engine 41 is the core of the vehicle software control system 100, receiving data from the data acquisition module 10, the system perception module 20, the cloud platform 30 and the scheduling execution system 50, and sending instructions to them. Among them, the software scheduling engine 41, the data acquisition module 10, the system perception module 20 and the scheduling execution system 50 are set on the vehicle side, that is, directly installed on the vehicle, and the cloud platform 30 communicates with the software scheduling engine 41 so that the software scheduling engine 41 obtains the preference data and scheduling configuration data analyzed by the cloud platform 30.
[0127] The scheduling execution system 50 may include a startup management system 51 and a configuration system 52. The startup management system 51 is used to control the start and stop of multiple software or business threads 60 associated with the software. For example, the software processes are configured in advance one by one in the system, and the software scheduling engine 41 sends scheduling instructions to the startup management system 51 through the communication interface, so that the startup management system 51 starts or closes certain processes.
[0128] The present application pre-embeds relevant interfaces in the software scheduling engine 41 during the software development stage. The interfaces may include a general system perception interface, a general data acquisition interface, and a general software scheduling execution interface.
[0129] It should be noted that based on the above system perception module 20, data acquisition module 10, and scheduling execution system 50, a general interface communication can be implemented. By inputting information such as the perception method type, subtype, module name, threshold, etc., the interfaces of relevant systems can be dynamically called during operation, thereby obtaining specified information or performing specified actions.
[0130] The general perception interfaces can be as follows:
[0131] When the type is the resource monitoring system 21, the subtype can be CPU, and the module name can specify a specific module (if not specified, the information of the entire system will be obtained). Then, the resource monitoring system 21 can be dynamically called to obtain the CPU information of the specified module or system. Similarly, through the above method, other resources can also be obtained, such as obtaining system memory usage information, DPU (Data Processing Unit) usage information, IO (Input / Output) information, disk information, etc.
[0132] When the type is status management, the current vehicle status information can be dynamically obtained from the status management. The status information includes states such as the vehicle starting, stopping, driving, charging, upgrading, and sleeping.
[0133] When the type is startup management, the module to be obtained can be specified, and then the module information on which the module depends (used to manage the startup sequence) can be obtained by dynamically calling the startup management interface.
[0134] General interface for software data acquisition: Information such as the software usage times and usage duration can be obtained through basic commands such as ps (displaying detailed information of all running processes) and top (dynamically and real-time displaying the resource occupancy of each process in the system). The usage timing can be obtained through status management. Based on these operations, a general interface can be simply encapsulated, that is, by specifying information such as the type and module name, the interface can be dynamically called during operation to collect specified information.
[0135] The general interfaces for scheduling execution can be as follows:
[0136] When the type is the startup management system 51, the subtype can be startup, stop, etc., and the module name can specify the software to be started or stopped. By dynamically calling the interface of the startup management system 51, the specified software can be dynamically specified to be started or stopped.
[0137] When the type is the configuration system 52, the subtype can be a certain configuration item, and then a certain configuration can be dynamically switched through the configuration system 52.
[0138] The above interfaces adopted in this application have the following advantages compared with the interfaces in the related technologies:
[0139] 1) Technical implementation: In the related technology, it is completed through an upgrade method, which requires changing the software on the vehicle, and the software package is sent by the cloud platform 30; the solution of this application does not involve software upgrade, will not change the software package, all software codes are fixed when the vehicle leaves the factory, and the cloud platform 30 sends configuration data.
[0140] 2) Time consumption: The upgrade involves steps such as software package download, installation, verification, and program switching, which is generally time-consuming; what this application sends is general preference configuration and scheduling configuration, which can be completed instantaneously.
[0141] 3) Update timing: In the related technology, the software upgrade timing is strongly tied to the vehicle version and the software development cycle, and the push interval is relatively long, with low flexibility; this application dynamically switches the operation mode of the vehicle software by modifying the vehicle configuration, can calculate the initial value through the cloud platform 30 at any time, and continuously optimize during the operation process. The software scheduling strategy can also be modified through the cloud platform 30, which is more flexible.
[0142] 4) Execution method: In the related technology, it is achieved by upgrading the software. The execution method of the software is strongly related to the software version and can only be selected from a limited number of versions; while this application dynamically switches the operation mode of the vehicle software by modifying the vehicle configuration information, and the execution method can be dynamically modified, which is more diverse.
[0143] 5) Execution effect: In the related technology, only the software is recommended to the user by using preference data, that is, what software to run. When the version is determined, the operation mode has been determined. It does not involve the optimization of the operation timing, operation sequence, etc. of the software in this application, nor does it involve the adjustment of resources, and cannot solve the problem of software upgrade resource shortage in this application (such as giving priority to the software that the user is interested in when the performance is insufficient). This application can continuously optimize during the software operation process.
[0144] 6) The cloud platform 30 of this application is mainly used to calculate general preferences, and can calculate personalized preferences at the vehicle end. Each vehicle can be different, truly realizing thousands of vehicles with thousands of faces.
[0145] Exemplarily, the software control and scheduling process of this application is as follows:
[0146] The cloud platform 30 continuously obtains vehicle-end data, and calculates a general data as the initial value according to the data of all vehicles, and sends it to the newly launched vehicles.
[0147] The vehicle end receives the configuration strategy of the cloud platform 30 as the initialization configuration.
[0148] The scheduling configuration can be formulated on the cloud platform 30 and sent to the vehicle.
[0149] The software scheduling engine 41 at the vehicle end receives vehicle-end data acquisition information, calculates new policies, and combines scheduling configuration data to calculate software scheduling policies. For example, if the software most frequently used by the user when starting up is Software A, then Software A is preferentially started at startup.
[0150] During the operation of the software, the system perception module 20 at the vehicle end perceives various states. For example, in the driving mode, the user uses Software B more frequently and Software C the least. If the memory is insufficient, Software C can be closed to give priority to ensuring the operation of Software B.
[0151] For example, after the vehicle is put into use, it is found that the CPU temperature of the vehicles in the market is too high during driving, causing the interface to freeze, and it is not yet time for OTA. Then the problem can be solved through the following steps:
[0152] 1) Formulate a policy: In the scenario where the CPU temperature is too high and the temperature exceeds the preset threshold value, a function degradation measure can be executed, and a software that is not frequently used, such as the music software, is preferentially closed.
[0153] 2) The scheduling configuration is sent to specific batches of vehicles.
[0154] 3) The vehicle end calculates the usage preference data. For example, the music software is rarely used during driving.
[0155] 4) Combining the scheduling configuration in 2), a software scheduling policy can be formulated. For example, during driving, if the temperature is too high, the music software is preferentially closed; secondly, if the music is in use, the music volume is reduced, and then other software is closed.
[0156] 5) During the actual operation process, once it is sensed that the vehicle is driving and the CPU temperature reaches the preset threshold value, a function degradation strategy can be adopted. According to the software scheduling policy formulated in 4), it is judged in sequence whether the corresponding actions can be executed, such as closing the music, or reducing the volume, or closing other software, etc.
[0157] The vehicle software control method disclosed in this application includes: obtaining the software usage data of the vehicle, and obtaining usage preference data and scheduling configuration data according to the software usage data; generating a software scheduling policy according to the usage preference data and the scheduling configuration data; obtaining the current state of the software; based on the current state of the software, issuing a software scheduling instruction by using the software scheduling policy. This application obtains the usage situation of the vehicle software by the user in real time, generates personalized preference data through the system, and generates a personalized software scheduling policy based on the usage habits of the user according to the preference data and the scheduling configuration data. At the same time, according to the usage state of the software, the software and its business threads can be dynamically adjusted; there is no need to rely on and wait for the upgrade of the vehicle software to optimize resource configuration and perform configuration switching, with strong flexibility, and it is more in line with the usage habits of the user, improving the usage experience.
[0158] Please refer to Figure 11 , Figure 11 which is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
[0159] The electronic device 200 may specifically include a processor 210 and a memory 220. The memory 220 is coupled to the processor 210.
[0160] The processor 210 is used to control the operation of the electronic device 200. The processor 210 may also be referred to as a CPU (Central Processing Unit, central processing unit). The processor 210 may be an integrated circuit chip with signal processing capabilities. The processor 210 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor, or the processor 210 may also be any conventional processor, etc.
[0161] The memory 220 is used to store computer programs, which may be RAM, ROM, or other types of storage devices. Specifically, the memory may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory is used to store at least one program code.
[0162] The processor 210 is used to execute the computer program stored in the memory 220 to implement the vehicle software control method described in the embodiments of the vehicle software control method of the present application.
[0163] In some embodiments, the electronic device 200 may further include: a peripheral device interface 230 and at least one peripheral device. The processor 210, the memory 220, and the peripheral device interface 230 may be connected through a bus or signal lines. Each peripheral device may be connected to the peripheral device interface 230 through a bus, signal lines, or a circuit board. Specifically, the peripheral device includes at least one of a radio frequency circuit 240, a display screen 250, an audio circuit 260, and a power supply 270.
[0164] The peripheral device interface 230 can be used to connect at least one I / O (Input / Output) related peripheral device to the processor 210 and the memory 220. In some embodiments, the processor 210, the memory 220, and the peripheral device interface 230 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 210, the memory 220, and the peripheral device interface 230 can be implemented on separate chips or circuit boards, and this embodiment does not limit this.
[0165] The radio frequency circuit 240 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 240 communicates with the communication network and other communication devices through electromagnetic signals, and the radio frequency circuit 240 is the communication circuit of the electronic device 200. The radio frequency circuit 240 converts an electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 240 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, etc. The radio frequency circuit 240 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: the World Wide Web, a metropolitan area network, an intranet, generations of mobile communication networks (2G, 3G, 4G, and 5G), a wireless local area network, and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 240 may further include a circuit related to NFC (Near Field Communication), and this application does not limit this.
[0166] The display screen 250 is used to display the UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 250 is a touch display screen, the display screen 250 also has the ability to collect touch signals on or above the surface of the display screen 250. The touch signals can be input to the processor 210 for processing as control signals. At this time, the display screen 250 can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, there may be one display screen 250, which is provided on the front panel of the electronic device 200; in other embodiments, there may be at least two display screens 250, which are respectively provided on different surfaces of the electronic device 200 or are in a folding design; in other embodiments, the display screen 250 may be a flexible display screen, which is provided on the curved surface or the folding surface of the electronic device 200. Even, the display screen 250 can also be set to an irregular non-rectangular shape, that is, a special-shaped screen. The display screen 250 can be prepared from materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0167] The audio circuit 260 may include a microphone and a speaker. The microphone is used to collect sound waves of the usage and the environment, and convert the sound waves into electrical signals and input them to the processor 210 for processing, or input them to the radio frequency circuit 240 to achieve voice communication. For the purpose of stereo collection or noise reduction, there may be multiple microphones, which are respectively provided at different parts of the electronic device 200. The microphone can also be an array microphone or an omnidirectional collection type microphone. The speaker is used to convert the electrical signals from the processor 210 or the radio frequency circuit 240 into sound waves. The speaker can be a traditional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signals into audible sound waves, but also convert the electrical signals into inaudible sound waves for uses such as ranging. In some embodiments, the audio circuit 260 may also include a headphone jack.
[0168] The power supply 270 is used to supply power to each component in the electronic device 200. The power supply 270 can be alternating current, direct current, a disposable battery or a rechargeable battery. When the power supply 270 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery charged through a wired line, and a wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0169] For a detailed description of the functions and execution processes of each functional module or component in the embodiment of the electronic device 200 of the present application, reference may be made to the description in the embodiment of the vehicle software control method of the present application above, and details will not be repeated here.
[0170] In several embodiments provided by the present application, it should be understood that the disclosed electronic device 200 and vehicle software control method can be implemented in other ways. For example, the embodiments of the electronic device 200 described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical or other forms.
[0171] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0172] In addition, in each embodiment of the present application, each functional unit can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0173] Please refer to Figure 12 , Figure 12 is a structural schematic block diagram of a computer-readable storage medium provided by an embodiment of the present application.
[0174] Refer to Figure 12, when the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in the computer-readable storage medium 300. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions / computer programs to enable an electronic device (which can be a computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods in various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs, as well as electronic devices such as computers, mobile phones, laptop computers, tablet computers, and cameras having the above storage media.
[0175] The description of the execution process of the program data in the computer-readable storage medium 300 can be referred to the embodiments of the vehicle software control method of the present application described above, and will not be elaborated here.
[0176] The above are only the embodiments of the present application, and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, shall be included in the patent protection scope of the present application by the same token.
Claims
1. A vehicle software control method, characterized in that: include: Acquire software usage data of the vehicle, and acquire usage preference data and scheduling configuration data based on the software usage data; generating a software scheduling strategy according to the usage preference data and the scheduling configuration data; Obtaining the current status of the software; Based on the current state of the software, a software scheduling instruction is issued using the software scheduling policy.
2. The method according to claim 1, characterized in that The obtaining of the vehicle's software usage data, and obtaining the usage preference data and the scheduling configuration data according to the software usage data, includes: Acquire the software usage data of the object using the software; Acquiring usage preference data of the user object based on the usage data; wherein the usage preference data includes the number of times of use, the duration of use and the timing of use; Based on the usage preference data, using a preset model to obtain personalized software usage data; The corresponding scheduling configuration data is obtained based on the personalized software usage data.
3. The method according to claim 2, characterized in that The step of obtaining the software usage data of the vehicle and obtaining the usage preference data and the scheduling configuration data according to the software usage data further includes: The scheduling configuration data is adjusted and optimized in combination with the usage preference data.
4. The method according to claim 2, characterized in that: Generating a software scheduling strategy according to the usage preference data and the scheduling configuration data includes: Analyzing the scheduling configuration data using a built-in data analysis model; According to the usage preference data and in combination with the scheduling configuration data, the personalized software scheduling strategy is acquired; wherein the personalized software scheduling strategy corresponds to the personalized software usage data.
5. The method according to claim 1, characterized in that The obtaining the current status of the software includes: Obtaining the status of the vehicle; The associated information of the software is obtained based on the state of the vehicle; wherein the associated information of the software includes the execution conditions or dependencies of the software.
6. The method according to claim 5, characterized in that The issuing of software scheduling instructions based on the current state of the software using the software scheduling policy includes: Obtaining the current status of the software and usage scenario information of the user; Based on the usage scenario information and the associated information, the software scheduling instruction is issued to a scheduling execution system.
7. The method according to any one of claims 1 to 6, characterized in that: Also includes: The software scheduling instructions are executed using a scheduling execution system.
8. The method according to claim 7, characterized in that The utilizing a scheduling execution system to execute the software scheduling instruction comprises: The start and stop information of the software is obtained according to the software scheduling instruction; or the start and stop information of the service thread associated with the software is obtained according to the software scheduling instruction.
9. The method according to claim 8, characterized in that The utilizing the scheduling execution system to execute the software scheduling instruction also includes: Execute corresponding configuration switching according to the start / stop information of the software or the start / stop information of the service thread associated with the software; Based on the configuration switching information, the software or the service thread associated with the software is dynamically switched on or off.
10. A vehicle software control system, characterized in that: include: Data acquisition module, used to obtain vehicle software usage data, A system perception module, used to obtain the current status of the software; A cloud platform, used to collect software usage data of the vehicle, and obtain usage preference data and scheduling configuration data based on the software usage data; The upper control module is used to generate a software scheduling strategy according to the usage preference data and the scheduling configuration data; and based on the current state of the software, use the software scheduling strategy to issue a software scheduling instruction.
11. The vehicle software control system according to claim 10, characterized in that: Also includes: The scheduling execution system is used to execute the software scheduling instruction and start and stop the software or the service thread associated with the software according to the software scheduling instruction.
12. An electronic device, characterized in that: include: processor; a memory, connected to the processor, and configured to store a computer program executable on the processor; Wherein, when the processor executes the computer program, the method according to any one of claims 1 to 9 is implemented.
13. A computer-readable storage medium, characterized in that: A computer program is stored on a computer-readable storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.