A function module updating method, device and system based on user portrait
Patent Information
- Application Number
- CN202611122016.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-27
- Publication Date
- 2026-10-23
AI Technical Summary
[0004]所以,目前的OTA方式不仅会严重的占用带宽资源,显著的增加下载和更新所需的时间,而且,下载的更新包也会严重占用车载的存储空间
本发明所述的基于用户画像的功能模块更新方法,目标设备在获取到云端平台发送的针对待更新功能模块的更新消息后,可以基于该更新消息,确定用户针对待更新功能模块对应功能的依赖值,并根据用户针对待更新功能模块对应功能的依赖值,判断待更新功能模块是否为用户需要更新的功能模块。当确定待更新功能模块为用户需要更新的功能模块时,则可以向云端平台发送针对待更新功能模块的更新请求,以下载待更新功能模块的更新包,并基于下载的更新包,更新待更新功能模块。
Smart Images

Figure CN122963596A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent vehicles, and in particular to a method, apparatus and system for updating functional modules based on user profiles. Background Technology
[0002] With the continuous development of science and technology, Over-the-Air (OTA) technology has become the main way for automobiles to iterate functions, optimize performance, and fix vulnerabilities. Through OTA upgrades, OEMs can remotely push new firmware or update packages to vehicles, allowing users to upgrade and maintain their vehicles without having to go to a service center. This greatly improves the convenience of vehicle maintenance and reduces the cost of maintenance.
[0003] However, with the current OTA (Over-The-Air) updates, OEMs often distribute update packages containing all updated features to users, but some of these features are often unnecessary for the user. For example, if a user only uses the app for urban commuting, the update package containing data related to off-road or snow driving scenarios is not needed, but it will still be updated and installed anyway.
[0004] Therefore, the current OTA method not only consumes a lot of bandwidth resources and significantly increases the time required for downloading and updating, but the downloaded update package also consumes a lot of vehicle storage space.
[0005] Therefore, how to deliver targeted update packages to users based on their actual needs is a technical problem that urgently needs to be solved. Summary of the Invention
[0006] In view of this, the present invention provides a method, apparatus and system for updating functional modules based on user profiles, in order to overcome the shortcomings of related technologies.
[0007] Specifically, the present invention is achieved through the following technical solution: According to a first aspect of the present invention, a method for updating functional modules based on user profiles is provided, applied to a target device used by a user, the method comprising: Get update messages sent by the cloud platform for the functional modules to be updated; Based on the update message, the user's dependency value for the corresponding function of the function module to be updated is determined. The user's dependency value for each function module provided for the target device is determined based on the profile data generated by the user's historical use of each function. Based on the user's dependency value for the function corresponding to the function to be updated, determine whether the function to be updated is the function module that the user needs to update; If so, an update request for the functional module to be updated is sent to the cloud platform to download the update package for the functional module to be updated, and the functional module to be updated is updated based on the update package.
[0008] According to a second aspect of the present invention, a method for updating functional modules based on user profiles is provided, applied in a cloud platform, the method comprising: An update message for the functional module to be updated is sent to the user's target device, so that the target device can determine the user's dependency value for the corresponding function of the functional module to be updated based on the update message, and determine whether the functional module to be updated is the functional module that the user needs to update based on the user's dependency value for the corresponding function of the functional module to be updated. The dependency value of each functional module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function. Receive an update request sent by the target device for the functional module to be updated, wherein the update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update; Based on the update request, an update package for the functional module to be updated is returned to the target device, so that the target device can update the functional module to be updated based on the update package.
[0009] According to a third aspect of the present invention, a functional module update system based on user profiles is provided, the system comprising: a cloud platform and a target device used by the user, wherein... The cloud platform is used to send an update message for the functional module to be updated to the target device, and to receive an update request sent by the target device after determining that the functional module to be updated is a functional module that the user needs to update, and to return an update package of the functional module to be updated to the target device according to the update request. The target device is configured to obtain the update message, determine the user's dependency value for the corresponding function of the function module to be updated based on the update message, the user's dependency value for each function provided by the target device, and determine whether the function module to be updated is the function module that the user needs to update based on the user's dependency value for the corresponding function of the function module to be updated. If so, the device sends the update request to the cloud platform, obtains the update package returned by the cloud platform based on the update request, and updates the function module to be updated based on the update package. The dependency value of each function module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function.
[0010] According to a fourth aspect of the present invention, a function module updating apparatus based on a user profile is provided, the apparatus being applied to a target device used by a user, the apparatus comprising: The acquisition unit is used to acquire update messages sent by the cloud platform for the functional modules to be updated; The determining unit is used to determine the user's dependency value for the corresponding function of the function module to be updated based on the update message. The user provides the dependency value for each function module of the target device based on the profile data generated by the user's historical use of each function. The judgment unit is used to determine whether the function module to be updated is a function module that the user needs to update, based on the user's dependency value for the function corresponding to the function module to be updated. If so, the update unit sends an update request to the cloud platform for the functional module to be updated, downloads the update package of the functional module to be updated, and updates the functional module to be updated based on the update package.
[0011] According to a fifth aspect of the present invention, a functional module update apparatus based on a user profile is provided, the apparatus being applied in a cloud platform, the apparatus comprising: The sending unit is used to send an update message for the functional module to be updated to the user's target device, so that the target device can determine the user's dependency value for the corresponding function of the functional module to be updated based on the update message, and determine whether the functional module to be updated is the functional module that the user needs to update based on the user's dependency value for the corresponding function of the functional module to be updated. The dependency value of each functional module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function. The receiving unit is configured to receive an update request sent by the target device for the functional module to be updated, wherein the update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update; The return unit is used to return an update package of the functional module to be updated to the target device based on the update request, so that the target device updates the functional module to be updated based on the update package.
[0012] According to a sixth aspect of the invention, a vehicle is provided having a cockpit display system deployed thereon, the system being used to implement the steps of the method described in the first aspect.
[0013] According to a seventh aspect of the present invention, an electronic device is provided, comprising: processor; Memory used to store processor-executable instructions; The processor implements the steps of the method described in the first or second aspect by running the executable instructions.
[0014] According to an eighth aspect of the present invention, a computer-readable storage medium is provided having computer instructions stored thereon that, when executed by a processor, implement the steps of the method described in the first or second aspect.
[0015] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects: The user profile-based functional module update method of this invention allows the target device, after receiving an update message from the cloud platform for a functional module to be updated, to determine the user's dependency value on the corresponding function of the module to be updated, and then, based on the user's dependency value, determine whether the functional module to be updated is one that the user needs to update. If it is determined that the functional module to be updated is one that the user needs to update, an update request for the functional module to be updated can be sent to the cloud platform to download the update package, and the functional module to be updated can be updated based on the downloaded update package.
[0016] As this solution demonstrates, upon receiving an update message for a functional module to be updated, the target device does not directly update the module. Instead, it first determines, based on the user's dependency values for the corresponding function of the module to be updated, whether the function corresponds to the user's actual needs. Only when it is determined that the function corresponds to the user's actual needs will the update package for the module be downloaded. Therefore, this solution allows for targeted updates of functional modules based on the user's actual needs. This significantly reduces bandwidth consumption and download time when downloading update packages, as well as the time spent on updating functional modules, and further saves storage space on the target device. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the present invention, the accompanying drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are merely some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any creative effort.
[0018] Figure 1 This is a schematic diagram of the architecture of a user profile-based functional module update system according to an embodiment of the present invention; Figure 2 This is a flowchart illustrating a method for updating functional modules based on user profiles, as shown in an embodiment of the present invention. Figure 3 This is a schematic diagram illustrating the process of updating the mapping table at different stages provided in the embodiments of the present invention; Figure 4 This is a schematic diagram illustrating the process by which a vehicle updates its functional modules based on data recorded in a mapping table, as provided in an embodiment of the present invention. Figure 5 This is a schematic diagram illustrating the relationship between the basic kernel module and various functional modules provided in an embodiment of the present invention. Figure 6 This is a schematic diagram illustrating the process of capturing signals generated by various functional modules to obtain user profile data generated by these functional modules, as provided in an embodiment of the present invention. Figure 7 This is a schematic diagram illustrating how the extracted signal values are used to generate monitoring events, thereby statistically deriving user profile data generated from the use of functions, as provided in an embodiment of the present invention. Figure 8 This is a schematic diagram illustrating the complete process of updating functional modules according to an embodiment of the present invention; Figure 9 A schematic diagram illustrating the process of updating a function module on a cloud platform, as provided in an embodiment of the present invention; Figure 10 This is a schematic structural diagram of an electronic device according to an embodiment of the present invention; Figure 11 This is a block diagram illustrating a user profile-based functional module update device according to an embodiment of the present invention; Figure 12 This is a block diagram of another user profile-based functional module update device shown in an embodiment of the present invention. Detailed Implementation
[0019] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present invention.
[0020] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular forms “a,” “the,” and “the” used in this invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.
[0021] It should be understood that although the terms first, second, third, etc., may be used in this invention to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this invention, first information may also be referred to as second information, and similarly, second information may also be referred to as first information.
[0022] In this embodiment of the invention, the target device is equipped with functional modules for providing various functions. Manufacturers can update these functional modules to provide better services to users of the target device.
[0023] The target device can take many forms. For example, it can be a vehicle (including new energy vehicles and traditional gasoline vehicles), the vehicle-side OTA main control system, a mobile device such as a mobile phone or tablet, or a terminal device such as a desktop computer or laptop. For ease of description, the following will only use a vehicle as an example to describe in detail the functional module update system and method based on user profiles provided in this embodiment of the invention.
[0024] Figure 1 This is a schematic diagram of the architecture of a functional module update system based on user profiles, provided as an exemplary embodiment. Figure 1 As shown, from a hardware perspective, the system can include a vehicle 11 and a cloud platform 13 (i.e., a "cloud-edge collaboration" or "vehicle-road-cloud integration" architecture). From a software perspective, the vehicle 11 deploys an on-board OTA (Over-The-Air) master control system, while the cloud platform 13 deploys an interaction module for interacting with the on-board OTA master control system. Specifically, the on-board OTA master control system of the vehicle 11 can be used to control various domain controllers 116 (such as Autonomous Driving Computing Units, or ADCUs) installed in the vehicle 11.
[0025] In addition to the domain controller 116, the vehicle 11 is also equipped with various sensors, such as environmental sensing devices for collecting data on the external environment and behavior sensing devices for detecting the behavior of the driver 12 inside the vehicle. This embodiment of the invention does not limit the number of these devices or their installation locations. For example, the environmental sensing devices may include image acquisition devices (such as a front-view camera 111, a side-view camera 112, a rear-view camera 113, etc.), ranging radar 114 (such as a LiDAR, millimeter-wave radar, ultrasonic radar, etc.), etc.; the behavior sensing devices may include a camera 115 (such as a visible light camera, an infrared camera, etc.) installed above the driver's seat to detect the direction of the driver 12's eyes, and / or a torque sensor, pressure sensor, etc., installed on the steering wheel to collect the driver 12's hand movements (this sensor is used to implement Hands Off Detection (HOD) function). The aforementioned behavior sensing devices and corresponding control devices can constitute the vehicle's Driver Monitoring System (DMS).
[0026] Of course, the vehicle may also be equipped with at least one other sensor in a suitable location, including but not limited to rain and fog sensors outside the vehicle (such as rain sensors, particulate matter sensors, haze sensors, etc.), cameras, microphones, biosensors, odor sensors, etc. inside the vehicle, to realize corresponding vehicle functions. The embodiments of the present invention do not limit this.
[0027] When there is a need for interaction between the vehicle-side OTA main control system and the cloud platform 13, the vehicle 11 can establish a network connection with the cloud platform 13 through the wireless communication module to exchange data with the cloud platform 13.
[0028] For example, if the cloud platform 13 locally maintains or has the right to access map information (such as high-precision maps) stored on other devices, the vehicle 11 can request the aforementioned map information from the cloud platform 13. The cloud platform 13 can be a physical cloud server containing an independent host, or it can be a virtual cloud server hosted by a host cluster. Furthermore, this embodiment of the invention does not limit the number or type of servers in the cloud platform 13, or the specific interaction method between the cloud platform 13 and the vehicle 11. As for the network 10 that enables interaction between the vehicle 11 and the cloud platform 13, it can be based on the communication methods supported by the corresponding devices, specifically selecting the appropriate type of wireless network for communication; this invention does not limit this.
[0029] Furthermore, the vehicle described in this embodiment of the invention (such as vehicle 11) can, in terms of its functional form, be a pickup truck, sedan, sport utility vehicle (SUV), RV, truck, etc.; and in terms of its power form, it can be a fuel-powered vehicle or a new energy vehicle (such as a hybrid vehicle, pure electric vehicle, hydrogen fuel cell vehicle, methanol fuel cell vehicle, etc.). This invention does not limit the specific form of the vehicle. The driver 12 described in this embodiment of the invention is a passenger sitting in the driver's seat of vehicle 11.
[0030] In this embodiment of the invention, the cloud platform interacts with the vehicle to update the functional modules within the vehicle. Specifically, the functional module can be a piece of code or a code block that implements a particular function. This invention does not limit the function implemented by the functional module. For example, the functional module can be used to implement multimedia playback, intelligent assisted driving, seat adjustment, and air conditioning temperature control.
[0031] The code for the functional modules can be written in any programming language such as C, C++, Python, or Java. This invention does not impose any restrictions on the programming language used for the functional modules. The code for the functional modules can be written by the corresponding developers within the manufacturer (hereinafter referred to as module developers). The following section will detail how functional modules are updated during the interaction between the cloud platform and the vehicle, such as... Figure 2 As shown.
[0032] Figure 2 This is a flowchart illustrating a method for updating functional modules based on user profiles according to an embodiment of the present invention. The method is applied to a target device used by a user and includes the following steps S200 to S206.
[0033] Step S200: Obtain the update message sent by the cloud platform for the functional module to be updated.
[0034] In practical applications, vehicle manufacturers need to continuously update various functions in their vehicles to provide users with a better driving experience. Therefore, after completing the update of the functional modules to be updated in the vehicle, the manufacturer needs to send update messages for the functional modules to be updated to each user's vehicle through its cloud platform.
[0035] The cloud platform can broadcast update messages for the functional modules to be updated to each vehicle. Upon receiving the update message, each vehicle will subsequently determine whether the functional module to be updated is one that the user needs. Each functional module in the vehicle can provide the user with at least one function, and the functions provided by different modules vary from one another.
[0036] It should be noted that the aforementioned update-updating functional modules can be a single functional module or multiple functional modules. That is, after a manufacturer completes the update of a single functional module, it can send an update message for that single functional module through the cloud platform. Alternatively, after completing the update of multiple functional modules, the manufacturer can send update messages for all of them through the cloud platform at the same time.
[0037] When multiple functional modules need updating, the update message sent by the cloud platform can include a list of modules to be updated. This list records the module identifiers of each functional module that the manufacturer has already completed. The vehicle can then use this list to determine which functional modules the user actually needs and which the user does not, thus completing targeted updates.
[0038] Therefore, regardless of whether the module to be updated is a single module or involves multiple modules, the vehicle needs to determine whether the module to be updated is the one the user actually needs. Therefore, the following explanation only considers the case where the module to be updated is a single module; for cases where the module to be updated involves multiple modules, the same principle applies as for the case where the module to be updated is a single module.
[0039] Step S202: Based on the update message, determine the user's dependency value for the corresponding function of the function module to be updated. The user's dependency value for each function module provided to the target device is determined based on the profile data generated by the user's historical use of each function.
[0040] After receiving the update message, the vehicle can parse the update message to determine the module identifier corresponding to the function module to be updated, and then determine the user's dependency value for the function corresponding to the function module to be updated based on the module identifier.
[0041] In this embodiment of the invention, the dependency value reflects the degree to which a user depends on the function corresponding to a functional module. That is, for any function, the more frequently or for longer a user uses the function, the higher the degree of dependence on the function, and the higher the user's dependency value for the function; conversely, the less frequently or for longer a user uses the function, the lower the degree of dependence on the function in actual application, and the lower the user's dependency value for the function.
[0042] Therefore, for each function that a vehicle provides, the user profile data for that function can be determined by statistically analyzing the user's usage records.
[0043] In this embodiment of the invention, the user profile data for a function may include at least one of the following: the cumulative number of times the user uses the function, the cumulative duration of the user's use of the function, and the time decay factor corresponding to the function.
[0044] It's easy to see that for any given feature, the higher the cumulative number of times a user uses it, the greater their dependence on that feature, and consequently, the higher their dependence value on it. Therefore, there is a positive correlation between the cumulative number of times a user uses a feature and their dependence value on it.
[0045] The longer a user's cumulative time spent using the feature, the higher their level of dependence on it, and consequently, the higher their dependence value on the feature. Therefore, there is a positive correlation between the cumulative time a user spends using the feature and their dependence value on it.
[0046] Considering that user needs may change (for example, a user may have frequently participated in off-road activities in the nearby suburbs, so during this period they would frequently use the vehicle's off-road mode, but after that they no longer participate in off-road activities, and the vehicle's off-road mode is no longer frequently used), it is necessary to use the time decay factor mentioned above to determine the changes in user needs over time, so as to accurately determine the user's current actual needs.
[0047] Therefore, for a given feature, its time decay factor can be determined by the duration of time since the user last used the feature. Specifically, the longer the time since the user last used the feature (i.e., the duration of time since the user last used the feature), the longer the time elapsed, indicating that the user has not used the feature for a long time and their demand for it is gradually decreasing; conversely, the shorter the time since the user last used the feature, the shorter the time elapsed, indicating that the user has only not used the feature for a short period and their demand for it has not yet decreased significantly.
[0048] Therefore, the time decay factor corresponding to this function can be negatively correlated with the duration after the user last used the function and did not use it again. Correspondingly, the time decay factor corresponding to this function is positively correlated with the user's dependence on this function.
[0049] In this embodiment of the invention, the vehicle may use one type of profile data mentioned above to determine the user's dependence on the function, or it may use two or more types of profile data to determine the user's dependence on the function.
[0050] For example, the following formula is a reference example for using three types of profile data to determine a user's dependency value for this feature: (1) For the above formula (1), This refers to the user's dependency value for this function. This is a normalized value used to represent the cumulative number of times a user has used this feature across all functional modules. This is a normalized value representing the cumulative time a user spends using this feature across all functional modules.
[0051] The reason for calculating the normalized values of cumulative counts and cumulative durations across all functional modules is to eliminate the differences in the dimensions and magnitudes of the data used by different functional modules, so that the dependency values of each function are comparable.
[0052] In other words, although the cumulative usage frequency and duration are calculated using the same standard across all functional modules, the differences in usage data between different modules are often significant. For example, urban commuters may use Adaptive Cruise Control (ACC) thousands of times a year, accumulating hundreds of hours, while off-road mode may only be used a few times, accumulating a few hours. It can be seen that the cumulative usage frequency and duration of off-road mode are significantly lower than those of ACC, but this does not mean that users do not need off-road mode.
[0053] Therefore, directly using the raw usage data (raw cumulative frequency and duration) of each functional module will result in frequently used functions having significantly higher dependency scores than infrequently used functions. This leads to neglecting to update functional modules that users actually need but use less frequently during the module update process. To address this, the vehicle can map the usage data of all functional modules to a unified scale (e.g., between 0 and 1) to ensure that the same benchmark is used to weight and calculate the dependency values of each function.
[0054] This is the time decay factor for this function, which can be calculated using the following formula: (2) In formula (2) This indicates the duration after a user has not used the feature since the last time it was used. This is a preset parameter that is greater than 0.
[0055] As can be seen from formula (2), for a function, as the time during which the user no longer uses the function gradually increases, it indicates that the user's demand for the function gradually decreases (even approaching the point where the function is no longer needed), and the time decay factor of the function will also gradually decrease.
[0056] For the above formula (1), , and These are the weights corresponding to the three types of profile data mentioned above, and the specific values of the weights can be determined according to actual needs.
[0057] For example, if more emphasis is placed on the cumulative time users spend using the feature, then the weight corresponding to the cumulative time can be set higher than the weight of the other two items. If more emphasis is placed on the decay of time users spend using the feature, then the weight corresponding to the time decay factor of the feature can be set higher than the weight of the other two items.
[0058] Of course, vehicles can also dynamically allocate the specific values of the aforementioned weights. For example, if the vehicle determines that the normalized cumulative duration of a user's use of the function is significantly greater than the values of the other two items, then a larger weight can be dynamically allocated to the cumulative duration of the user's use of the function. As another example, if the vehicle determines that the user's frequency of using the function is low based on the cumulative duration and number of times the user uses it, then a larger weight can be dynamically allocated to the time decay factor of the function (to prevent functions that the user has just started using from being ignored and updated because the cumulative number of times and cumulative duration are both low).
[0059] In addition to the three types of profile data mentioned above, other forms of profile data can also be included. For example, for a feature, the average time interval between two consecutive uses of the feature by a user can be calculated. The smaller the average value, the more frequently the user uses the feature, the higher the user's dependence on the feature, and the higher the user's dependence on the feature. Conversely, the larger the average value, the less frequently the user uses the feature, and the lower the user's dependence on the feature.
[0060] For example, for a feature, we can count the number of times a user has chosen to update the feature in history. The higher the number, the higher the user's demand for the feature, the more frequently they need to keep the feature up-to-date, and the higher their dependence on the feature. Conversely, the lower the number, the lower the user's demand for the feature, and the lower their dependence on the feature.
[0061] Other forms of portrait data will not be listed here.
[0062] Regarding the process of determining the aforementioned dependency value, the vehicle can determine the dependency value in real time or in advance.
[0063] When the vehicle determines the dependency value in real time, after receiving the update message, it can query the user's profile data generated by using the module identifier of the function module to be updated in history by parsing the update message. Then, based on the queried profile data, it can determine the user's dependency value for the corresponding function of the function module to be updated.
[0064] Considering that determining dependency values based on profile data in real time may take some time and thus affect the update efficiency of the functional modules to be updated, the vehicle can also predetermine the user's dependency values for the corresponding functions of the functional modules to be updated. Then, after receiving the update message, the vehicle can query the user's dependency values for the corresponding functions of the functional modules to be updated from the preset dependency value library by parsing the module identifier of the functional modules to be updated from the update message.
[0065] When the vehicle has pre-determined dependency values, the vehicle can monitor whether the preset trigger conditions are met. Once the preset trigger conditions are met, the vehicle can determine the user's dependency values for each function based on the user's profile data generated from historical use of each function.
[0066] The triggering conditions mentioned here can include various situations. For example, when the vehicle starts (i.e., the vehicle is activated), pre-collected user profile data on the use of various functions can be read, thereby determining the user's dependency value on each function; another example is that the vehicle can determine the user's dependency value on each function according to a preset dependency value update cycle (or update the user's dependency value on each function according to a cycle). Therefore, when a new round of dependency value update cycle is detected, the vehicle can read pre-collected user profile data on the use of various functions, thereby determining the user's dependency value on each function.
[0067] The aforementioned dependency value library records the correspondence between at least some functional modules and each dependency value. The so-called "some functional modules" can refer to the functional modules corresponding to the functions that the user has used in the past. This is because in actual applications, only the functions that the user has actually used will generate corresponding profile data and determine the corresponding dependency values.
[0068] Therefore, if the dependency value library records the correspondence between the functional modules used by the user in the past and the dependency values, then after receiving the above update message, the vehicle can actually determine whether the user has used the function corresponding to the functional module to be updated in the past based on the dependency value library.
[0069] Of course, the dependency value library can also record the correspondence between all functional modules and their dependency values. For functional modules that users have not used in the past, their corresponding dependency values can be set to default values (such as 0).
[0070] The module identifier for the aforementioned functional modules to be updated can be a global identifier for the module on the cloud platform. This global identifier is used to uniquely identify each functional module from a global perspective. In other words, for various vehicles provided by the manufacturer, different vehicles may have the same or different functional modules. However, for all functional modules, the manufacturer can assign a unique identifier to each module, thereby managing each functional module on the cloud platform.
[0071] Therefore, if the module identifier of each functional module is also a global identifier on the vehicle's local machine, then after the vehicle parses the global identifier of the functional module to be updated from the update message, it can determine the functional module to be updated based on the global identifier, and then determine the user's dependency value for the corresponding function of the functional module to be updated.
[0072] In practical applications, when manufacturers produce a vehicle, the various components (such as the transmission, engine, and brakes) often come from different suppliers. These suppliers assign labels according to their own rules, resulting in different labels for components with the same function manufactured by different suppliers. Similarly, since electronically controlled components have corresponding functional modules, the module labels for these modules are assigned according to the respective manufacturers' rules.
[0073] Therefore, in this embodiment of the invention, the vehicle stores a mapping table that records the correspondence between the global identifiers of each functional module on the cloud platform and the local identifiers of each functional module on the vehicle. Thus, after determining the global identifier of the functional module to be updated, the vehicle can use this global identifier as a query index to retrieve the local identifier of the functional module to be updated on the vehicle from the mapping table. Then, using this local identifier, the vehicle can retrieve the user's dependency values for the corresponding functions of the functional module to be updated from a preset dependency value library.
[0074] It should be noted that in order to provide users with a better riding and driving experience, manufacturers will continuously develop new functions on the basis of the original architecture, or optimize and adjust various functions, which may cause the entries recorded in the mapping table to change.
[0075] Therefore, the vehicle needs to update its mapping table to match the latest version of the mapping table released by the cloud platform.
[0076] In this embodiment of the invention, when a vehicle detects that it meets the preset update conditions, it can determine the version number of the mapping table stored locally in the vehicle as the original version number, and determine the vehicle's own device identifier (such as the Vehicle Identification Number (VIN)). Then, the vehicle can generate a query request carrying the device identifier and the original version number, and send the query request to the cloud platform.
[0077] The cloud platform can retrieve the latest version number (i.e., the latest version number) of the mapping table for the vehicle corresponding to the device identifier carried in the query request, and compare this latest version number with the original version number carried in the query request. If they match, it means that the mapping table stored in the vehicle is already the latest version and does not need to be updated. If they do not match, the platform can return updated mapping table data to the vehicle based on the latest version number of the mapping table.
[0078] In this embodiment of the invention, the cloud platform can use a full update method to return updated data for the mapping table to the vehicle. That is, the cloud platform can return the entire mapping table with the latest version number as updated data to the vehicle, and the vehicle can replace the mapping table with the original version number stored locally with the entire mapping table with the latest version number.
[0079] Of course, the cloud platform can also use incremental updates to return updated mapping table data to the vehicle. That is, after determining the latest version of the entire mapping table, the cloud platform can compare this mapping table with the saved mapping table of the original version number to determine the incremental data (such as newly added entries and fields compared to the original mapping table) in the latest version of the mapping table. Then, the cloud platform can return this incremental data as update data to the vehicle, and the vehicle will add the incremental data to its locally saved mapping table, thus updating the mapping table.
[0080] In practical applications, the update conditions mentioned above can be used to update the mapping table at different stages. The following will explain the updating of the mapping table at each stage using an incremental update approach, such as... Figure 3 As shown.
[0081] Figure 3 This is a schematic diagram illustrating the process of updating the mapping table at different stages in an embodiment of the present invention.
[0082] from Figure 3 As can be seen, in the first stage, before the vehicle leaves the factory, the manufacturer can inject a basic mapping table into the vehicle through the production line flashing system, thereby completing the initial mapping table initialization of the vehicle. This basic mapping table corresponds to the hardware configuration of each Electronic Control Unit (ECU) in the vehicle, and records the initial versions of various functional modules corresponding to these ECU hardware configurations.
[0083] In the second phase, the initial online activation of the mapping table needs to be completed. That is, when the vehicle connects to the network for the first time, the vehicle's VIN code (i.e., the device identifier mentioned above) and the version number of the local basic mapping table (this version number can be used as the original version number mentioned above) will be uploaded through the vehicle's on-board OTA control system. The cloud platform will use the obtained VIN code to query the information of various configurations in the vehicle and determine whether the obtained version number is the version number of the latest version of the mapping table for the vehicle (which can be used as the latest version number mentioned above). If so, a message is returned to the vehicle that no mapping table update is needed; otherwise, the latest version of the mapping table that perfectly matches the vehicle's hardware is generated.
[0084] The vehicle downloads the latest version of the mapping table from the cloud platform through the vehicle-side OTA main control system, and replaces the old local mapping table (i.e., the basic mapping table mentioned above) with the latest version of the mapping table.
[0085] The third stage involves incremental updates during subsequent routine OTA (Over-The-Air) updates. Each time a vehicle undergoes an OTA update, it needs to include the version number of the mapping table currently stored locally (the original version number mentioned above) and the vehicle's VIN (Vehicle Identification Number). The cloud platform also needs to use the obtained VIN to query the vehicle configuration and determine the latest version number of the mapping table suitable for that configuration (the latest version number mentioned above). The cloud platform then compares the two version numbers. If they are inconsistent, the cloud platform determines that the mapping table currently used in the vehicle is an older version and needs to be updated.
[0086] During this process, the cloud platform can compare the latest version of the mapping table with the old version of the mapping table used in the vehicle to determine whether the latest version of the mapping table has added or modified mapping records relative to the old version of the mapping table, and then send incremental data to the vehicle based on the added or modified mapping records.
[0087] The vehicle obtains incremental data from the cloud platform through the vehicle-side OTA master control system, and merges the incremental data with the old version of the mapping table stored locally to obtain the latest version of the mapping table. At the same time, the vehicle-side OTA master control system updates the version number of the old version of the mapping table to the version number of the new version of the mapping table.
[0088] In addition to recording the correspondence between the global and local identifiers of functional modules, the mapping table also records other data, as shown in Table 1 below.
[0089] Table 1 As shown in Table 1 above, the mapping table can also record information such as the actual storage location of functional modules in the vehicle and the time of the most recent synchronization update. Therefore, during subsequent updates, the vehicle will also use the records in the mapping table to complete the update process of the functional modules to be updated, such as... Figure 4 As shown.
[0090] Figure 4 This is a schematic diagram illustrating the process by which a vehicle updates its functional modules based on data recorded in a mapping table, as provided in an embodiment of the present invention.
[0091] When the cloud platform sends an update message to the vehicle, the vehicle can receive and parse the update message through the vehicle-mounted OTA main control system to extract the update notification list. This update notification list records the functional modules provided by the cloud platform that have been updated.
[0092] The vehicle can further parse the global identifiers corresponding to each functional module to be updated from the update notification list through the vehicle-side OTA master control system, and determine which of these functional modules to be updated belong to the functional modules already installed in the vehicle and which are newly added functional modules by traversing and querying the global identifiers of these functional modules to be updated in the mapping table.
[0093] For any module to be updated, if its global identifier can be found in the mapping table, its local identifier (local_module_id) and its storage path in the vehicle (local_storage_path) can be determined using the matched record. Then, the vehicle, through its OTA (Over-The-Air) control system, uses the local identifier (local_module_id) to query the user's dependency database to find the user's dependencies for the corresponding function of the module. The retrieved dependencies are used to determine the user's level of need for the module. If the module's function is determined to be highly dependent on by the user or involves security, its global identifier can be added to the download list. Conversely, if the module's function is unnecessary (zero dependency) and does not involve security, its global identifier can be added to the skip list.
[0094] In this way, the vehicle subsequently uses the on-board OTA (Over-The-Air) control system to traverse the global identifiers in the download list and send update requests for the required functional modules to the cloud platform. Correspondingly, the cloud platform returns the update packages for these functional modules to the vehicle. This allows the vehicle to locate the storage location of the corresponding files for these functional modules based on the storage path (local_storage_path) obtained from the mapping table, according to the configured on-demand download management module, and then execute the upgrade / update for those modules.
[0095] For features marked as new, they can be added to the evaluation list, and a decision can be made on whether to download them.
[0096] In this embodiment of the invention, the mapping table can be stored in a secure storage partition allocated within the vehicle. This secure storage partition can be implemented in various ways. For example, it can be implemented using a Trusted Execution Environment (TEE), a Hardware Security Module (HSM), a Secure Element (SE), or an encrypted file system. This embodiment of the invention does not limit the implementation form of the secure storage partition.
[0097] Vehicles can ensure that the mapping table is stored in a storage area that cannot be tampered with without authorization by dividing it into secure storage partitions. Correspondingly, vehicles can use digital signature mechanisms to verify the integrity and authenticity of the mapping table, thereby further ensuring the security of the vehicle when using the mapping table.
[0098] As can be seen from the above, the mapping table can effectively manage the correspondence between the global and local identifiers of functional modules. In this way, the cloud platform only needs to send the global identifier of the functional module to be updated to the vehicle to locate the functional modules from different suppliers in the vehicle. This not only facilitates management but also significantly improves the efficiency of locating the functional modules that need to be updated.
[0099] Step S204: Based on the user's dependency value for the function corresponding to the function to be updated, determine whether the function to be updated is the function module that the user needs to update.
[0100] After determining the user's dependency values for the corresponding functions of the module to be updated, the vehicle can use this to determine whether the module to be updated is the one that the user needs to update.
[0101] During this process, the user's dependency value for the function corresponding to the module to be updated can be compared with a preset threshold. When it is determined that the user's dependency value for the function corresponding to the module to be updated exceeds the preset threshold, the module to be updated can be identified as the module that the user needs to update. The preset threshold can be set according to actual needs, and this embodiment of the invention does not limit the specific value of the preset threshold.
[0102] Furthermore, for functional modules related to driving safety, updates are often made to further ensure user safety. Therefore, these modules require mandatory updates. In practical applications, systems related to driving safety can include: braking systems (Anti-lock Braking System (ABS), Electronic Stability Control (ESC), Electric Power Steering (EPS), powertrain systems, airbag control systems, Battery Management System (BMS), etc.). Therefore, the functional modules involved in these systems are those requiring mandatory updates.
[0103] Therefore, the cloud platform can set corresponding security levels for each functional module. For functional modules that do not involve driving safety, their security levels can be set relatively low, while for functional modules that affect driving safety, their security levels can be set higher.
[0104] Therefore, the update message sent from the cloud platform to the vehicle also includes a field indicating the security level of the functional module to be updated. When the vehicle receives this update message, it can parse the security level of the functional module to be updated from the message. Then, the vehicle can determine whether the functional module to be updated meets the mandatory update conditions based on the parsed security level. If it is determined that the functional module to be updated meets the mandatory update conditions, then the functional module to be updated can be identified as the functional module that the user needs to update.
[0105] In this embodiment of the invention, the forced update condition can take various forms. For example, the forced update condition can be set by a preset security level threshold. Therefore, when the security level of the functional module to be updated is not lower than the security level threshold, it can be determined that the functional module to be updated meets the forced update condition; otherwise, it can be determined that the functional module to be updated does not meet the forced update condition.
[0106] For example, a forced update condition can be set by setting a list of security levels that require forced updates. So, if the security level of the module to be updated falls into the list of security levels (or the security level of the module to be updated is matched in the list of security levels), it can be determined that the module to be updated meets the forced update condition. Otherwise, it can be determined that the module to be updated does not meet the forced update condition.
[0107] Other forms of mandatory update conditions will not be listed here.
[0108] Therefore, by setting safety levels for functional modules in a vehicle that are involved in driving safety, users can force these functional modules to be updated even if they are not using them during daily driving. This effectively ensures the user's driving safety and provides a more effective safety guarantee.
[0109] For newly developed functions on the cloud platform, the vehicle will not record user profile data generated by using the function. In this case, the newly developed function modules on the cloud platform can be directly used as the function modules that users need to load.
[0110] Therefore, after the vehicle parses the module identifier of the function module to be updated from the update message, if it determines that the function module to be updated is not installed locally in the vehicle, it can determine that the function module to be updated is a newly added function module provided by the cloud platform, and then the function module to be updated is regarded as the function module that the user needs to load (in the embodiments of the present invention, a newly added function module that has never been installed in the vehicle can also be regarded as a function module to be updated that needs to be updated).
[0111] Therefore, regarding the above Figure 4 The functional modules recorded in the evaluation list can be considered as those that need to be updated in subsequent processes.
[0112] Of course, for functional modules recorded in the evaluation list, a preset strategy can also be used to evaluate whether the functional module is the module needed by the user.
[0113] For example, for any new functional module recorded in the evaluation list, its descriptive text can be obtained. This descriptive text describes the functions that the module provides. Then, using this descriptive text, functionally similar modules are identified from the existing functional modules installed in the vehicle as reference modules. The user's dependency value on the corresponding functions of this reference module is determined. Based on this dependency value, it is determined whether the functional module meets the user's actual needs. If the dependency value is high, it indicates that the user has a high dependency on the functions corresponding to the reference module, suggesting that the user may also have a high dependency on the functions corresponding to this new functional module.
[0114] In order to enable users to update functional modules in a targeted manner, in this embodiment of the invention, the functional modules of each function need to be compiled into code modules that can be dynamically loaded regardless of the installation location. These functional modules do not call each other directly, but pass data for mutual calls through a basic kernel module.
[0115] The aforementioned basic kernel module is responsible for hardware abstraction and functional module scheduling. Hardware abstraction refers to the basic kernel module using a unified, hardware-independent standard interface to encapsulate specific, hardware-dependent operation instructions. This allows functional modules to control their corresponding hardware and call other functional modules based on the standard interface provided by the basic kernel module, without needing to know the specific implementation of the underlying hardware. Functional module scheduling refers to the basic kernel module managing the loading and execution of each functional module. The relationship between the basic kernel module and the various functional modules can be described as follows: Figure 5 As shown.
[0116] Figure 5This is a schematic diagram illustrating the relationship between the basic kernel module and various functional modules provided in the embodiments of the present invention.
[0117] exist Figure 5 In this context, the basic kernel module can be embedded into the vehicle's real-time operating system, allowing the basic kernel module to identify control signals from the real-time operating system and call the functional modules required by the user when performing various controls on the vehicle.
[0118] In addition, this basic kernel module encapsulates specific, hardware-related operation instructions through a unified, hardware-independent standard interface, thereby achieving hardware abstraction of various functional hardware in the vehicle.
[0119] The basic kernel module also includes a module scheduler and manager for managing... Figure 5 The system manages and schedules three functional modules. The module scheduler and manager provides a standard interface to these three modules, allowing any one of them to transfer and acquire data with other modules or the real-time operating system through this interface.
[0120] It should be noted that for each updated functional module, the base kernel module needs to perform version verification to check its compatibility with standard interfaces. If it is determined that the functional module is incompatible with standard interfaces, the rollback mechanism mentioned later can be used to restore the functional module to its original version. If it is determined that the functional module is compatible with standard interfaces, then the updated functional module can be considered valid.
[0121] To reduce the occurrence of functional modules being incompatible with standard interfaces, in this embodiment of the invention, the design of the basic kernel module follows the principle of forward compatibility, that is, the standard interface of the new basic kernel module can support the calling of the old version of the functional module.
[0122] From the above Figure 5 As can be seen, since the functional modules are not directly related to each other, when one functional module is updated, the other functional modules will not be affected under the management of the basic kernel module and can still be used normally.
[0123] Moreover, from a development perspective, there is no need to consider the complex coupling relationships between various functional modules. It is only necessary to satisfy the internal functional logic of each functional module and the call to standard interfaces. This greatly facilitates the maintenance and optimization of existing functional modules and the development of new functional modules by cloud platform developers.
[0124] As can be seen from the above introduction to the basic kernel module, this basic kernel module provides the foundation for dynamically loading and updating functional modules. Therefore, when it comes to updating the basic kernel module, a forced update strategy can be adopted to update it.
[0125] Therefore, after parsing the above update message, if the vehicle determines that the function module to be updated is the basic kernel module, then the function module to be updated can be identified as the function module that the user needs to update.
[0126] Step S206: If yes, then send an update request for the functional module to be updated to the cloud platform to download the update package of the functional module to be updated, and update the functional module to be updated based on the update package.
[0127] Once it is determined that the functional module to be updated is one that the user needs to update (including modules whose dependencies exceed preset thresholds, whose security levels meet mandatory update conditions, newly added functional modules, and basic kernel modules), the vehicle can send an update request for the functional module to be updated to the cloud platform. Upon receiving the update request, the cloud platform can determine the update package for the functional module to be updated and send the update package to the vehicle. The vehicle then updates the functional module to be updated based on the received update package.
[0128] In this embodiment of the invention, the update package sent from the cloud platform to the vehicle can involve various scenarios. For example, the cloud platform can send a full update package of the updated functional modules to the vehicle. After receiving the full update package, the vehicle can replace the old version of the functional modules to be updated locally with the new version obtained after parsing the full update package.
[0129] For example, a cloud platform can generate a differential package between the new and old versions using a differential algorithm (this differential package contains data that has changed or is incremental compared to the old version), and send this differential package to the vehicle as the determined update package. The vehicle can then parse this differential package and, based on the parsed data, restore the new version of the functional modules to be updated by patching them on the old version, thus achieving the update of the functional modules. This update, performed in the form of differential packages, can greatly reduce the amount of data transmitted during functional module updates, significantly reduce bandwidth resource consumption, and also significantly reduce the storage space occupied in the vehicle.
[0130] It should be noted that for functional modules that have not been installed on the vehicle (such as newly added functional modules), the vehicle can only install the newly added functional modules through a full update package. However, for functional modules that are already installed on the vehicle, the vehicle can use a differential update package to update the functional modules to be updated.
[0131] To prevent the vehicle from becoming unusable due to update failure during the process of updating the functional modules to be updated, in this embodiment of the invention, a rollback storage partition can be set up in the vehicle. This rollback storage partition is specifically used to back up the original version code of the functional modules to be updated.
[0132] Therefore, during the update process of a vehicle's functional module, the original version of the code for the module to be updated can be backed up first, and the backed-up original version code can be stored in the rollback storage partition. When the vehicle successfully updates the functional module (i.e., updates the functional module to the new version code), the original version code can be deleted from the rollback storage partition to free up storage space. Conversely, if the update fails, the vehicle can roll back the functional module based on the original version code stored in the rollback storage partition to ensure that the functional module remains usable after an update failure.
[0133] As can be seen from the above method, after receiving the update message for the functional module to be updated, the target device does not directly update the module. Instead, it first determines whether the function corresponding to the module to be updated is a function that the user actually needs based on the user's dependency value for the corresponding function. Only when it is determined that the function corresponding to the module to be updated is a function that the user actually needs will the update package for the module to be updated be downloaded. Therefore, this solution can perform targeted updates of functional modules based on the user's actual needs. This not only significantly reduces the bandwidth resource consumption and the time spent downloading update packages, but also reduces the time consumed by functional module updates, and further saves vehicle storage space.
[0134] In this embodiment of the invention, users have different levels of demand for different functional modules. Therefore, for functional modules that all belong to the actual needs of users, the level of tolerance that users can accept while waiting for these functional modules to be updated also varies.
[0135] Therefore, the vehicle needs to determine the update trigger condition for the function module to be updated based on the score range in which the user's dependency value for the corresponding function of the function module to be updated falls. Then, when the update trigger condition is detected to be met, the vehicle sends an update request for the function module to be updated to the cloud platform.
[0136] For example, assuming the dependency value ranges from 0 to 1, there are three score intervals: [0, 0.1), [0.1, 0.7], and (0.7, 1], where 0.1 is the preset threshold mentioned above. When the dependency value falls within the [0.1, 0.7] score interval, it can be determined that the user has a low dependency on the function corresponding to the module to be updated. The update trigger condition for this score interval is either downloading when the vehicle is connected to Wi-Fi, or incorporating the update package of the module to be updated into the next large update package. When the dependency value falls within the (0.7, 1) score interval, it can be determined that the user has a high dependency on the function corresponding to the module to be updated. The update trigger condition for this score interval is to immediately add it to the download queue for download. When the dependency value falls within the [0, 0.1) score interval (i.e., the dependency value is below the preset threshold), it can be determined that the user does not actually need the function corresponding to the module to be updated, and accordingly, the vehicle will not update the module to be updated in this instance.
[0137] In addition, the score range (0.7, 1) is a mandatory update score range. Therefore, when the dependency value falls into this score range, it can be determined that the functional module to be updated belongs to the mandatory update module mentioned above (including functional modules with high security level, newly added functional modules, and basic kernel modules).
[0138] Therefore, for functional modules that require mandatory updates, the vehicle can also assign a dependency value, so that the dependency value not only exceeds the aforementioned preset threshold, but also falls into the score range that requires mandatory updates.
[0139] When a user uses various functions, the vehicle can capture the signals generated by the user's use of these functions, thereby determining the profile data generated by the user's use of these functions.
[0140] Therefore, in this embodiment of the invention, the vehicle is equipped with a preset gateway for capturing the required signal, and an acquisition engine for extracting signal values from the captured signal, such as... Figure 6 As shown.
[0141] Figure 6 This is a schematic diagram illustrating the process of capturing signals generated by various functional modules to obtain user profile data generated by these functional modules, as provided in an embodiment of the present invention.
[0142] exist Figure 6The system features four functional modules. The vehicle stability controller provides different driving and terrain modes, requiring it to control the vehicle's powertrain and chassis. The Advanced Driver Assistance Systems (ADAS) domain controller implements Adaptive Cruise Control (ACC) (responsible for longitudinal vehicle control, helping users automatically control speed and distance) or Lane Keeping Assist (LKA) (responsible for lateral vehicle control, helping users stay within their lane). The instrument cluster and central control unit provide the user interface; both of these functions involve user interaction within the cabin. The body domain controller helps users adjust the air conditioning temperature and provides functions such as seat ventilation, seat heating, and seat massage; therefore, it controls various hardware components related to the vehicle's comfort domain.
[0143] Because the hardware controlled by these functional modules belongs to different domains, the vehicle communication networks used by these modules are also different. Specifically, the vehicle stability controller uses a Controller Area Network (CAN) bus, the ADAS domain controller and the instrument cluster and central control unit use in-vehicle Ethernet, and the body domain controller uses a Local Interconnect Network (LIN) bus. These vehicle communication networks enable signal transmission between these functional modules.
[0144] Therefore, the vehicle's pre-installed gateway will also filter signals from various vehicle communication networks to capture the signals generated by these functional modules. Then, the acquisition engine receives the signals forwarded by the pre-installed gateway, analyzes the received signals to obtain user profile data generated by using these functional modules, stores it in a profile data cache, and subsequently persists the profile data in a user profile database.
[0145] In the subsequent process, the vehicle needs to repeat this process continuously. Figure 6 The process shown continuously updates the user profile data stored in the user profile database, and based on the continuously updated profile data, updates the user's dependency values for using various functions.
[0146] In this embodiment of the invention, the acquisition engine may include a signal configuration table, which specifies the information related to the signals to be acquired, as shown in Table 2 below.
[0147] Table 2 As can be seen from Table 2 above, the signal configuration table not only specifies the communication network type and signal name used by different functions, but also specifies what actions to trigger when various signal values in the signal are identified, in order to complete the determination of the profile data.
[0148] Therefore, in this embodiment of the invention, for each function, when the signal generated by the corresponding functional module is filtered out from the vehicle's communication network through a preset gateway, the signal filtered by the preset gateway can be forwarded to the acquisition engine set in the vehicle. Then, through the signal configuration table set in the acquisition engine, the signal value generated by the corresponding functional module is acquired from the signal. The vehicle can generate a monitoring event for that function based on the acquired signal value, and generate user profile data based on the monitoring event, such as... Figure 7 As shown.
[0149] Figure 7 This is a schematic diagram illustrating how the extracted signal values are used to generate monitoring events, thereby statistically deriving user profile data generated from the use of functions, as provided in an embodiment of the present invention.
[0150] The vehicle's preset gateway can filter various signals generated by the vehicle, focusing on signals generated by user interaction. Then, using a preset signal configuration table, signal values are extracted from the signals. If a signal contains a value specified in the configuration table, that value can be extracted to determine the type of monitoring event to be generated.
[0151] When the extracted signal value is used to indicate that the user has activated the function, an activation event for the function module can be generated. The activation event records the time when the user activated the function module (i.e. the time when the user started the function corresponding to the function module) and the extracted signal value (since the signal value is used to indicate that the user has activated the function, the signal value can be regarded as the initial signal value).
[0152] As the user continues to use the function, the signal value in the generated signal will always be the signal value that activates the function. Therefore, the vehicle will also generate a continuous activation event to indicate that the function is in a continuously active state, and continuously record the duration of the user's use of the function.
[0153] When the signal value indicating that the user has exited the function is extracted from the signal, an exit event can be generated for the user exiting the function module.
[0154] All three of these events are monitoring events generated based on the extracted signal values. The vehicle can use these three events to record the duration of the user's use of the function and determine when to start and end the recording.
[0155] Therefore, during a user's use of a function, the monitoring event generated by the vehicle indicates the triggering time for data recording and the type of data to be recorded. After completing the data recording based on the generated monitoring event, the vehicle can update the profile data stored in the profile data cache using the recorded data. In subsequent processes, the vehicle can recalculate (i.e., update) the user's dependency value for that function based on the updated profile data.
[0156] In this embodiment of the invention, the preset gateway can use various methods to filter signals. For example, signals can be filtered by setting a signal filtering list, which records which signals are generated after the user uses the function.
[0157] To facilitate understanding of the user profile-based functional module update method provided in this embodiment of the invention, the entire process will be described in series using a practical example below, such as... Figure 8 As shown.
[0158] Figure 8 This is a schematic diagram illustrating the complete process of updating a functional module according to an embodiment of the present invention.
[0159] The cloud platform pushes an update notification list to the vehicle. This update notification list can be included in the update message. The update notification list can record relevant information for each functional module that needs to be updated in the following format: Functional modules: [Global identifier, version number, module size, security level, digital signature] After the vehicle obtains the update notification list, it can first perform digital signature verification on the information of the functional module. Once the verification is successful, the update notification list can be parsed to identify two functional modules that need to be updated: Functional Module B: Security Level: Functional; Functional Module C: Security Level: Functional, as well as the global identifiers of these two functional modules.
[0160] Afterwards, the vehicle-side OTA master control system can query the global identifiers of these two functional modules in the above mapping table to find the local identifiers of these two functional modules: Functional module B: HDC_Control; Functional module C: ACC_Control.
[0161] The vehicle-side OTA main control system can retrieve the dependency values for the corresponding functions of these two functional modules from the local dependency value library based on the local identifiers of these two functional modules: HDC=0.00; ACC=0.95.
[0162] Subsequently, the vehicle-side OTA main control system uses these two dependency values to determine whether the functions corresponding to these two functional modules are the functions actually needed by the user. Specifically, since the dependency value HDC=0.00 for functional module B is less than the preset threshold of 0.1, and this functional module does not involve security and is not a module requiring mandatory updates, it can be determined that it will not be updated. However, since the dependency value ACC=0.95 for functional module C is greater than the preset threshold of 0.1 and falls within the score range of (0.7, 1), it can be determined that functional module C needs to be updated and downloaded immediately.
[0163] The vehicle-side OTA master control system can send a download task to the download manager in the vehicle that only updates the functional module C, so that the download manager sends the download task to the cloud platform to download the differential package patch_C.bin of functional module C from the cloud platform.
[0164] The download manager can transmit the differential package patch_C.bin returned by the cloud platform to the vehicle-side OTA master control system, which then initiates an update task for functional module C. This update task can be executed by the execution engine in the vehicle. After receiving the update task from the vehicle-side OTA master control system, the execution engine will back up the old version of functional module C to the rollback storage partition and perform digital signature verification on the differential package patch_C.bin to verify its integrity.
[0165] Once the differential package patch_C.bin passes the digital signature verification, the execution engine can apply a patching method to generate a new version of functional module C based on the old version of functional module C, and verify the compatibility of the new version of functional module C through the scheduler in the basic kernel module.
[0166] Once the new version of functional module C passes the compatibility check, the execution engine can return a message that functional module C has been successfully updated to the vehicle-side OTA master control system. The vehicle-side OTA master control system then reports the successful update of functional module C to the cloud platform, and functional module B skips the update result.
[0167] If the update of functional module C fails, or if functional module C fails the compatibility check, the execution engine can restore the old version of functional module C from the rollback storage partition and send a message to the vehicle-side OTA master control system about the failure of the update of functional module C, so as to roll back the old version of functional module C.
[0168] Furthermore, in this embodiment of the invention, if the user's dependency value on the function corresponding to the module to be updated is lower than a preset threshold, the vehicle will also display a prompt message to the user through an interactive interface such as the main control display or the instrument panel, to indicate whether the user needs to choose to update it. After viewing the prompt message, the user can decide whether to update the module to be updated based on their actual needs.
[0169] Of course, for functional modules whose dependency values are below a preset threshold, the vehicle can also save the update message of the functional module to be updated. When the user selects a specified entry in the interactive interface to view the update message of each functional module, the vehicle can display the information of the functional modules that were not previously downloaded but have been updated to the user, and the user can choose whether to update them.
[0170] This invention also provides a method for updating functional modules based on user profiles. This method is applied to the aforementioned cloud platform, and its specific execution is as follows: Figure 9 The steps shown are as follows: Figure 9 As shown.
[0171] Figure 9 This is a schematic diagram of the process for updating the function module of the cloud platform provided in an embodiment of the present invention, which specifically includes the following steps: Step S900: Send an update message for the function module to be updated to the user's target device, so that the target device can determine the user's dependency value for the function corresponding to the function module to be updated based on the update message, and determine whether the function module to be updated is the function module that the user needs to update based on the user's dependency value for the function corresponding to the function module to be updated. The dependency value of the function module to be updated provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function.
[0172] Step S902: Receive an update request sent by the target device for the functional module to be updated. The update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update.
[0173] Step S904: Based on the update request, return the update package of the functional module to be updated to the target device, so that the target device updates the functional module to be updated based on the update package.
[0174] The process of updating functional modules on the cloud platform has already been described. Figure 2 The process is described in the diagram, so I won't go into detail here.
[0175] In addition, to further ensure user driving safety, when updating a functional module, it is necessary to determine whether the current state of the vehicle meets the safety update conditions. If the safety update conditions are met, the functional module can be updated. If the safety update conditions are not met, the update can be temporarily suspended until the safety update conditions are met. This way, the user's actual update needs are met while further ensuring user driving safety.
[0176] For example, if the vehicle needs to be stationary (such as when it is in Park) or the battery has sufficient charge (such as when the battery SOC is greater than 50%), it can be determined that the conditions for a safe update are met, and the module to be updated can then be updated.
[0177] It should also be noted that the above description uses a vehicle as an example to illustrate the method provided by the embodiments of the present invention. In practical applications, the method provided by the embodiments of the present invention can also be used for the functional model update of other types of devices.
[0178] For example, when the target device is a smartphone used by the user, the smartphone is equipped with an AI engine for calling AI models. The smartphone can record the data generated when the user uses the AI engine, thereby obtaining a profile of the user's use of the AI engine, and using this to determine the user's dependence on the AI engine built into the smartphone.
[0179] When manufacturers push update messages about the AI engine to users' smartphones, the smartphones can use the saved dependency value to determine the user's actual need for the AI engine (i.e., the degree of dependency), and then decide whether the AI engine needs to be updated based on the judgment result.
[0180] Figure 10 This is a schematic structural diagram of an electronic device according to an embodiment of the present invention. Please refer to it. Figure 10 At the hardware level, the device includes a processor 1001, a network interface 1002, memory 1003, non-volatile memory 1004, and an internal bus 1005, and may also include other hardware required for business operations. One or more embodiments of the present invention can be implemented in software, for example, the processor 1001 reads the corresponding computer program from the non-volatile memory 1004 into the memory 1003 and then runs it. Of course, in addition to software implementation, one or more embodiments of the present invention do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0181] Figure 10The electronic device shown can specifically execute the method of the first aspect described above, and can also be used to execute the method of the second aspect described above. When the electronic device executes the method of the first aspect described above, it can refer to the target device, while when the electronic device executes the method of the second aspect described above, it can be a device set on the cloud platform.
[0182] Figure 11 This invention illustrates a block diagram of a functional module update device based on user profiles. Please refer to... Figure 11 This device can be applied to, for example Figure 10 In the illustrated device, to implement the technical solution described in this invention, the apparatus is applied in the target device, and the apparatus includes: The acquisition unit 1100 is used to acquire update messages sent by the cloud platform for the functional modules to be updated; The determining unit 1102 is used to determine the user's dependency value for the corresponding function of the function module to be updated based on the update message. The user provides the dependency value for each function module of the target device based on the profile data generated by the user's historical use of each function. The judgment unit 1104 is used to determine whether the function module to be updated is a function module that the user needs to update, based on the user's dependency value for the function corresponding to the function module to be updated. The update unit 1106 is configured to, if so, send an update request for the functional module to be updated to the cloud platform, download the update package of the functional module to be updated, and update the functional module to be updated based on the update package.
[0183] Figure 12 This invention illustrates a block diagram of a functional module update device based on user profiles. Please refer to... Figure 12 This device can be applied to, for example Figure 10 The device shown is used to implement the technical solution described in this invention. The device is applied in a cloud platform and includes: The sending unit 1200 is used to send an update message for the functional module to be updated to the user's target device, so that the target device can determine the user's dependency value for the corresponding function of the functional module to be updated based on the update message, and determine whether the functional module to be updated is the functional module that the user needs to update based on the user's dependency value for the corresponding function of the functional module to be updated. The dependency value of each functional module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function. The receiving unit 1202 is used to receive an update request sent by the target device for the functional module to be updated, wherein the update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update; The return unit 1204 is used to return an update package of the functional module to be updated to the target device based on the update request, so that the target device updates the functional module to be updated based on the update package.
[0184] Accordingly, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the user profile-based functional module update method as described in any of the above embodiments.
[0185] Accordingly, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the user profile-based functional module update method as described in any of the above embodiments.
[0186] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0187] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0188] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0189] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
Claims
1. A method for updating functional modules based on user profiles, characterized in that, When applied to a target device used by a user, the method includes: Get update messages sent by the cloud platform for the functional modules to be updated; Based on the update message, the user's dependency value for the corresponding function of the function module to be updated is determined. The user's dependency value for each function module provided for the target device is determined based on the profile data generated by the user's historical use of each function. Based on the user's dependency value for the function corresponding to the function to be updated, determine whether the function to be updated is the function module that the user needs to update; If so, an update request for the functional module to be updated is sent to the cloud platform to download the update package for the functional module to be updated, and the functional module to be updated is updated based on the update package.
2. The method according to claim 1, characterized in that, Based on the update message, determine the user's dependency value for the corresponding function of the module to be updated, including: The update message is parsed to determine the global identifier of the functional module to be updated in the cloud platform. Based on the global identifier, the local identifier of the functional module to be updated on the target device is retrieved from a preset mapping table. The mapping table records the correspondence between the global identifier of each functional module on the cloud platform and the local identifier of each functional module on the target device. Based on the local identifier, the user's dependency values for the corresponding functions of the module to be updated are retrieved from the preset dependency value library.
3. The method according to claim 2, characterized in that, The method further includes: When the preset update conditions are met, the version number of the mapping table stored locally on the target device is determined as the original version number, and the device identifier of the target device is determined. The preset update conditions include: the target device accessing the network for the first time or the target device performing a functional module update. The device identifier and the original version number are sent to the cloud platform so that the cloud platform can query the latest version number of the mapping table adapted to the target device based on the device identifier, and when it is determined that the original version number is inconsistent with the latest version number, it returns updated data for the mapping table to the target device according to the mapping table of the latest version number.
4. The method according to claim 3, characterized in that, The updated data includes: the full data of the mapping table for the latest version number, or the incremental data of the mapping table for the latest version number relative to the mapping table for the original version number.
5. The method according to any one of claims 2 to 4, characterized in that, The mapping table is stored in a secure storage partition allocated in the target device.
6. The method according to claim 1, characterized in that, For each function provided by the target device, the user profile data for that function includes at least one of the following: the cumulative number of times the user has used the function, the cumulative duration of the user's use of the function, and the time decay factor corresponding to the function. The time decay factor corresponding to the function is negatively correlated with the duration of time after the user last used the function and did not use it again. There is a positive correlation between the cumulative number of times a user uses this feature and the user's dependence on this feature; The cumulative time users spend using this feature is positively correlated with their dependence on it. The time decay factor corresponding to this function is positively correlated with the user's dependence on this function.
7. The method according to claim 1, characterized in that, Based on the user profile data generated from historical usage of various functions, the user's dependency value for each function is determined, including: When a preset trigger condition is met, the user's dependency value for each function is determined based on the user's historical profile data of using each function; wherein The triggering conditions include at least one of the following: reaching a preset dependency value update cycle, or the target device starting up.
8. The method according to claim 1, characterized in that, Based on the user's dependency value for the function corresponding to the function to be updated, determine whether the function to be updated is the function module that the user needs to update, including: If it is determined that the user's dependency value on the function corresponding to the function to be updated exceeds a preset threshold, then the function to be updated is determined to be the function module that the user needs to update.
9. The method according to claim 1, characterized in that, The method further includes: The security level of the functional module to be updated is parsed from the update message; If the security level determines that the module to be updated meets the conditions for mandatory update, then the module to be updated is identified as the module that the user needs to update.
10. The method according to claim 1, characterized in that, The method further includes: If it is determined that the function module to be updated is a newly added function module, then the function module to be updated will be the function module that the user needs to load.
11. The method according to claim 1, characterized in that, The method further includes: If the functional module to be updated is determined to be a basic kernel module, then the functional module to be updated is identified as the functional module that the user needs to update; wherein The basic kernel module is used to provide standard interfaces to the functional modules of each function. For any functional module, the functional module of that function can call the functional modules of other functions through the basic kernel module based on the standard interface.
12. The method according to claim 1, characterized in that, The user profile data generated from historical use of various functions is determined in the following way: For each function provided by the target device, when the signal generated by the corresponding functional module is filtered out from the communication network of the target device through a preset gateway, the signal filtered out by the preset gateway is forwarded to the acquisition engine in the target device, so as to acquire the signal value generated by the corresponding functional module from the signal through the signal configuration table set in the acquisition engine; Based on the collected signal values, a monitoring event for this function is generated, and based on the monitoring event, profile data generated by the user using this function is generated.
13. The method according to claim 12, characterized in that, The communication network includes at least one of the following: CAN bus, LIN bus, and Ethernet of the target device.
14. The method according to claim 1, characterized in that, Before sending an update request for the functional module to be updated to the cloud platform, the method further includes: Based on the score range in which the user's dependency value for the corresponding function of the function to be updated falls, the update trigger condition for the function to be updated is determined. The different score ranges in which the dependency value of the corresponding function of the function to be updated falls represent the different levels of tolerance that the user can accept while waiting for the function to be updated to be updated. Sending an update request for the functional module to be updated to the cloud platform, including: When the update triggering conditions are detected, an update request for the functional module to be updated is sent to the cloud platform.
15. The method according to claim 1, characterized in that, Based on the update package, update the functional module to be updated, including: The original version code of the functional module to be updated is backed up in the target device, and the backed-up original version code is stored in a preset rollback storage partition in the target device; If the update module to be updated is successfully updated to the new version code according to the update package, the original version code is deleted from the rollback storage partition; If it is determined that the update of the functional module to be updated has failed, then the functional module to be updated is rolled back based on the original version code stored in the rollback storage partition.
16. The method according to claim 1, characterized in that, The target equipment includes: vehicles.
17. A method for updating functional modules based on user profiles, characterized in that, When applied to a cloud platform, the method includes: An update message for the functional module to be updated is sent to the user's target device, so that the target device can determine the user's dependency value for the corresponding function of the functional module to be updated based on the update message, and determine whether the functional module to be updated is the functional module that the user needs to update based on the user's dependency value for the corresponding function of the functional module to be updated. The dependency value of each functional module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function. Receive an update request sent by the target device for the functional module to be updated, wherein the update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update; Based on the update request, an update package for the functional module to be updated is returned to the target device, so that the target device can update the functional module to be updated based on the update package.
18. A functional module update system based on user profiles, characterized in that, The system includes: a cloud platform and target devices used by users, wherein... The cloud platform is used to send an update message for the functional module to be updated to the target device, and to receive an update request sent by the target device after determining that the functional module to be updated is a functional module that the user needs to update, and to return an update package of the functional module to be updated to the target device according to the update request. The target device is configured to obtain the update message, determine the user's dependency value for the corresponding function of the function module to be updated based on the update message, the user's dependency value for each function provided by the target device, and determine whether the function module to be updated is the function module that the user needs to update based on the user's dependency value for the corresponding function of the function module to be updated. If so, the device sends the update request to the cloud platform, obtains the update package returned by the cloud platform based on the update request, and updates the function module to be updated based on the update package. The dependency value of each function module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function.
19. A functional module update device based on user profile, characterized in that, The device is applied in a target device used by a user, and the device includes: The acquisition unit is used to acquire update messages sent by the cloud platform for the functional modules to be updated; The determining unit is used to determine the user's dependency value for the corresponding function of the function module to be updated based on the update message. The user provides the dependency value for each function module of the target device based on the profile data generated by the user's historical use of each function. The judgment unit is used to determine whether the function module to be updated is a function module that the user needs to update, based on the user's dependency value for the function corresponding to the function module to be updated. If so, the update unit sends an update request to the cloud platform for the functional module to be updated, downloads the update package of the functional module to be updated, and updates the functional module to be updated based on the update package.
20. A functional module update device based on user profile, characterized in that, The device is used in a cloud platform, and the device includes: The sending unit is used to send an update message for the functional module to be updated to the user's target device, so that the target device can determine the user's dependency value for the corresponding function of the functional module to be updated based on the update message, and determine whether the functional module to be updated is the functional module that the user needs to update based on the user's dependency value for the corresponding function of the functional module to be updated. The dependency value of each functional module provided by the user to the target device is determined based on the profile data generated by the user's historical use of each function. The receiving unit is configured to receive an update request sent by the target device for the functional module to be updated, wherein the update request is sent by the target device when it determines that the functional module to be updated is the functional module that the user needs to update; The return unit is used to return an update package of the functional module to be updated to the target device based on the update request, so that the target device updates the functional module to be updated based on the update package.
21. A vehicle, characterized in that, It is equipped with a cockpit display system for implementing the method as described in any one of claims 1-16.
22. An electronic device, characterized in that, It includes a processor and a memory for storing processor-executable instructions; wherein the processor implements the method as described in any one of claims 1-17 by executing the executable instructions.
23. A machine-readable storage medium, characterized in that, It stores computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1-17.