A functional configuration information management method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202610982684.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-02
- Publication Date
- 2026-10-09
AI Technical Summary
[0003]然而,由于相关技术缺乏统一的配置信息访问接口,在车辆上电初始化阶段,各功能程序模块需各自独立地读取整车配置字,以确认自身所负责的功能在当前车辆上是否实际存在,并在实际存在的情况下,进一步读取与整车配置字关联存储的功能配置文件,进而确认是否发生配置变更;而在后续调用功能配置信息时,各功能程序模块又因无法共享“该功能是否存在”的校验结果,需重新读取整车配置字,以确认该功能在当前车辆上实际存在,方可执行后续操作
[0015]由此可见,在本公开的技术方案中,在客户端服务启动时,将用于定义车辆功能的整车配置字和与整车配置字对应的功能配置信息一次性加载至客户端服务的进程内存中,建立本地缓存。此后,当客户端调用任一功能的配置读取接口时,不再访问外部存储或发起进程间通信,而是直接从内存中先读取该功能的整车配置字,快速判断该功能在当前车辆上是否实际启用;仅当确认该功能实际启用后,才在进程内存中将与读取的整车配置字对应的配置信息发送至客户端服务使用。
Smart Images

Figure CN122884561A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data management technology, and in particular to a method, apparatus, electronic device and storage medium for managing functional configuration information. Background Technology
[0002] In existing in-vehicle software systems, the operation of vehicle functions relies on two types of data: the vehicle configuration word, which determines whether a function is enabled, and function configuration information, which defines the specific behavior of a function (such as sensitivity, mode, etc.). Related technologies typically store these two types of data together and organize and manage them around the vehicle configuration word.
[0003] However, due to the lack of a unified configuration information access interface in the relevant technologies, during the vehicle power-on initialization phase, each functional program module needs to independently read the vehicle configuration word to confirm whether the function it is responsible for actually exists in the current vehicle. If it does exist, it further reads the function configuration file stored in association with the vehicle configuration word to confirm whether any configuration changes have occurred. When calling the function configuration information later, each functional program module cannot share the verification result of "whether the function exists", so it needs to reread the vehicle configuration word to confirm that the function actually exists in the current vehicle before it can perform subsequent operations.
[0004] This design causes the system to concurrently and repeatedly access the vehicle configuration word during startup and operation. Each access to the function configuration information requires repeated function existence verification, which not only triggers multiple inter-process communication or I / O operations on the storage unit, causing unnecessary data interaction overhead, but also significantly slows down the configuration reading and response speed, making it difficult to meet the user's need for real-time adjustment of vehicle functions. Summary of the Invention
[0005] In view of this, the present disclosure provides a method for managing functional configuration information, the method comprising: When the client service starts, the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word are loaded into the process memory of the client service; If the client service calls the function configuration reading interface of any vehicle function, it reads the vehicle configuration word corresponding to the vehicle function from the process memory, and determines whether the vehicle function actually exists based on the read vehicle configuration word; If the vehicle function actually exists, the function configuration information corresponding to the read vehicle configuration word in the process memory is sent to the client service so that the client service can apply the function configuration information when using the vehicle function.
[0006] Optionally, the loaded function configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: If the client service chooses to restore the function configuration information to the vehicle's factory default settings, then the loaded function configuration information is updated in the storage unit based on the default function configuration information; The loaded function configuration information may be the same as or different from the default function configuration information.
[0007] Optionally, the loaded function configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: Compare the loaded feature configuration information with the version of the default feature configuration information; If the version of the loaded function configuration information is lower than the version of the default function configuration information, then the loaded function configuration information is updated in the storage unit based on the default function configuration information.
[0008] Optionally, the functional configuration information corresponding to the vehicle configuration word exists in the form of several functional configuration sections, each containing at least one sub-function under the vehicle configuration word and configuration information corresponding to the sub-function; updating the loaded functional configuration information based on the default functional configuration information includes: In the default function configuration information, filter the function configuration section that supports multi-user mode; If the target function configuration section, which corresponds to the same sub-function as the selected function configuration section, only supports single-user mode in the loaded function configuration information, then the target function configuration section will be updated from single-user mode to multi-user mode.
[0009] Optionally, updating the target function configuration section from single-user mode to multi-user mode includes: The target function configuration section is retained as the initial user function configuration section; In the loaded function configuration information, based on the preset number of users for the multi-user mode, a default function configuration section and a corresponding number of new user function configuration sections are created on the basis of the target function configuration section. The function configuration information contained in the filtered function configuration sections is written into the default function configuration section and the corresponding number of new user function configuration sections.
[0010] Optionally, the method is applied to a storage service, which includes a server and a client proxy, and the method further includes: If the client service calls the function configuration write interface of any vehicle function and modifies the loaded function configuration information, the client service sends the modified function configuration information to the server through the client proxy; The server writes the modified function configuration information of the client service into the storage unit, so that the storage unit updates the stored function configuration information.
[0011] Optionally, the client agent also runs in other client services. After the server writes the modified function configuration information of the client service into the storage unit, the method further includes: The server sends configuration update notifications to the client agents running in the other client services, so that the client agents running in the other client services load the updated function configuration information in the storage unit into the process memory of their respective client services after receiving the configuration update notification.
[0012] This disclosure also provides a function configuration information management device, the device comprising: The loading unit is used to load the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service when the client service starts. The acquisition unit is used to read the vehicle configuration word corresponding to the vehicle function from the process memory if the client service calls the function configuration reading interface of any vehicle function, so as to determine whether the vehicle function actually exists based on the read vehicle configuration word; The return unit is used to send the function configuration information corresponding to the read vehicle configuration word in the process memory to the client service if the vehicle function actually exists, so that the client service can apply the function configuration information when using the vehicle function.
[0013] This disclosure also provides an electronic device, including a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus; The memory stores machine-readable instructions, and the processor executes the above method by invoking the machine-readable instructions.
[0014] This disclosure also provides a machine-readable storage medium storing machine-readable instructions that, when called and executed by a processor, implement the above-described method.
[0015] Therefore, in the technical solution disclosed herein, when the client service starts, the vehicle configuration word used to define vehicle functions and the corresponding function configuration information are loaded into the client service's process memory in one go, establishing a local cache. Subsequently, when the client calls the configuration read interface for any function, it no longer accesses external storage or initiates inter-process communication. Instead, it directly reads the vehicle configuration word for that function from memory to quickly determine whether the function is actually enabled on the current vehicle. Only after confirming that the function is actually enabled is the configuration information corresponding to the read vehicle configuration word sent from the process memory to the client service for use.
[0016] Through the above methods, the technical solution disclosed herein achieves the following: Firstly, the client service accesses the vehicle configuration word and function configuration information locally by caching them, avoiding frequent external storage I / O operations and redundant inter-process communication overhead, thus meeting the high-performance requirements of multi-client concurrent call scenarios. Secondly, by centralizing the configuration reading responsibility from various business function modules to the client service, centralized preloading and unified management of configuration data are achieved, solving the resource contention and startup blocking problems caused by multiple function modules independently and repeatedly reading the vehicle configuration word during the vehicle power-on initialization phase in the prior art. This shortens the overall system startup time and ensures that vehicle functions can be quickly ready to respond to users' real-time operations. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart illustrating a functional configuration information management method as an exemplary embodiment; Figure 2 This is an exemplary embodiment illustrating a data stream read / write diagram for a storage service. Figure 3 This is an exemplary embodiment illustrating a flowchart of updating loaded feature configuration information; Figure 4 This is an exemplary embodiment illustrating a flowchart of updating functional configuration information organized in a tree structure; Figure 5 This is an exemplary embodiment illustrating the hardware structure of an electronic device; Figure 6 This is a block diagram illustrating a functional configuration information management device, as shown in an exemplary embodiment. Detailed Implementation
[0019] To enable those skilled in the art to better understand the technical solutions in this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this disclosure.
[0020] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this disclosure in other embodiments. In some other embodiments, the methods may include more or fewer steps than those described in this disclosure. Furthermore, a single step described in this disclosure may be broken down into multiple steps in other embodiments; and multiple steps described in this disclosure may be combined into a single step in other embodiments.
[0021] In existing in-vehicle software systems, the operation of vehicle functions relies on two types of data: the vehicle configuration word, which determines whether a function is enabled, and the function configuration file, which defines the specific behavior of the function (such as sensitivity, mode, etc.). Related technologies typically store these two types of data together and organize and manage them around the vehicle configuration word.
[0022] However, due to the lack of a unified configuration information access interface in the relevant technologies, during the vehicle power-on initialization phase, each functional program module needs to independently read the vehicle configuration word to confirm whether the function it is responsible for actually exists in the current vehicle. If it does exist, it further reads the function configuration file stored in association with the vehicle configuration word to confirm whether any configuration changes have occurred. When calling the function configuration information later, each functional program module cannot share the verification result of "whether the function exists", so it needs to reread the vehicle configuration word to confirm that the function actually exists in the current vehicle before it can perform subsequent operations.
[0023] This design causes the system to concurrently and repeatedly access the vehicle configuration word during startup and operation. Each access to the function configuration information requires repeated function existence verification, which not only triggers multiple inter-process communication or I / O operations on the storage unit, causing unnecessary data interaction overhead, but also significantly slows down the configuration reading and response speed, making it difficult to meet the user's need for real-time adjustment of vehicle functions.
[0024] In view of this, this disclosure aims to propose a technical solution for functional configuration information management that improves the real-time access to configuration information and reduces unnecessary data interaction overhead through memory caching and pre-verification mechanisms.
[0025] This technical solution first loads the vehicle configuration word used to define vehicle functions and the corresponding function configuration information into the process memory of the client service when the client service starts. Further, if the client service calls the function configuration reading interface for any vehicle function, it reads the vehicle configuration word corresponding to that vehicle function from the process memory to determine whether the vehicle function actually exists based on the read vehicle configuration word. Finally, if the vehicle function actually exists, the function configuration information corresponding to the read vehicle configuration word in the process memory is sent to the client service so that the client service applies the function configuration information when using the vehicle function.
[0026] For example, after the vehicle is powered on, the cockpit domain controller starts the air conditioning function service process, which links to a dynamic library. When the air conditioning function service starts, the dynamic library reads the vehicle configuration word from the system partition of the storage unit, reads the function configuration information from the user data partition, and loads the read function configuration information into the process memory of the air conditioning function service, constructing a configuration cache tree. The configuration cache tree contains various function sections, each containing function configuration information corresponding to the vehicle configuration word (taking the "Air Conditioning" function section as an example, including configuration items such as "Automatic Mode = On" and "Fan Speed = 3"). When the air conditioning function service calls the "Function Enable" interface, the dynamic library independently reads and determines the vehicle configuration word corresponding to the air conditioning function; if the vehicle configuration word value is 1, it indicates that the air conditioning function has been activated and actually exists, and then the "Air Conditioning" function section is located in the memory cache tree and configuration items such as "Automatic Mode = On" and "Fan Speed = 3" are extracted; if the vehicle configuration word value is 0, it indicates that the air conditioning function is not activated, and the dynamic library terminates the subsequent access process to the configuration cache tree. Finally, the dynamic library encapsulates the extracted parameters into a structured message and returns it to the air conditioning function service. After parsing the message, the air conditioning function service activates the automatic mode and sets the fan speed to level 3.
[0027] It should be noted that, in some embodiments, when the air conditioning function service calls the "Get Air Conditioning Automatic Mode" interface, the air conditioning function service itself can also independently read and determine the vehicle configuration word corresponding to the air conditioning function; if the value of the vehicle configuration word is 1, it indicates that the air conditioning function has been activated and actually exists, and the dynamic library then locates the "Air Conditioning" node in the memory cache tree and extracts the configuration item; if the value of the vehicle configuration word is 0, it indicates that the air conditioning function has not been activated, the air conditioning function service process directly returns a null value or error code, and the dynamic library terminates the subsequent access process to the configuration cache tree.
[0028] Therefore, in the technical solution disclosed herein, when the client service starts, the vehicle configuration word used to define vehicle functions and the corresponding function configuration information are loaded into the client service's process memory in one go, establishing a local cache. Subsequently, when the client calls the configuration read interface for any function, it no longer accesses external storage or initiates inter-process communication. Instead, it directly reads the vehicle configuration word for that function from memory to quickly determine whether the function is actually enabled on the current vehicle. Only after confirming that the function is actually enabled is the configuration information corresponding to the read vehicle configuration word sent from the process memory to the client service for use.
[0029] Through the above methods, the technical solution disclosed herein achieves the following: Firstly, the client service accesses the vehicle configuration word and function configuration information locally by caching them, avoiding frequent external storage I / O operations and redundant inter-process communication overhead, thus meeting the high-performance requirements of multi-client concurrent call scenarios. Secondly, by centralizing the configuration reading responsibility from various business function modules to the client service, centralized preloading and unified management of configuration data are achieved, solving the resource contention and startup blocking problems caused by multiple function modules independently and repeatedly reading the vehicle configuration word during the vehicle power-on initialization phase in the prior art. This shortens the overall system startup time and ensures that vehicle functions can be quickly ready to respond to users' real-time operations.
[0030] The present disclosure will now be described through specific embodiments and in conjunction with specific application scenarios.
[0031] Please see Figure 1 , Figure 1 This is a flowchart illustrating a method for managing functional configuration information, as shown in an exemplary embodiment. The method may perform the following steps: Step 102: When the client service starts, the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word are loaded into the process memory of the client service.
[0032] For example, after the vehicle is powered on, the cockpit domain controller starts the air conditioning function service process, which links to a dynamic library. When the air conditioning function service starts, the dynamic library reads the vehicle configuration word from the system partition of the storage unit, reads the function configuration information from the user data partition, and loads the read function configuration information into the process memory of the air conditioning function service, building a configuration cache tree. The configuration cache tree contains various function sections, and each function section contains function configuration information corresponding to the vehicle configuration word (taking the "air conditioning" function section as an example, it includes configuration items such as "automatic mode = on" and "fan speed level = 3").
[0033] The storage unit can be a non-volatile storage unit, such as UFS (Universal Flash Storage), which ensures that the stored data is not lost after power-off. The vehicle configuration word is binary data used to uniquely identify whether a certain function of the vehicle is enabled. Functional configuration information is auxiliary configuration information directly associated with the function defined by the vehicle configuration word, including local default configuration and user-set parameters. There is a deterministic mapping relationship between the vehicle configuration word and the functional configuration information, usually established based on the functional domain ID. If a vehicle function uniquely identified by a certain vehicle configuration word is not enabled, there is no functional configuration information associated with that vehicle configuration word. In this embodiment, the vehicle configuration word and all associated functional configuration information are read from the storage unit through an embedded client agent (e.g., loaded as a dynamic library), and a configuration cache tree is built in the process memory. The nodes of this cache tree contain functional domain identifiers used to uniquely identify functional domains (e.g., "air conditioning", "seats"), keys used to uniquely identify setting items (e.g., "automatic mode", "fan speed"), and the values corresponding to the keys are specific settings (e.g., "on", "3"). Some vehicle functions only require the vehicle configuration word to determine whether the function is activated, and may not require local default configuration or user settings. For example, "parking assist" has its hardware fixed at the factory, and the existence of the function is determined by the vehicle configuration word. As long as the vehicle configuration word indicates that the function is enabled, the system will run according to the preset logic without requiring the user to set additional parameters or involving complex local default state configuration.
[0034] In one alternative implementation, the function configuration information refers to the local default configuration and user setting parameters associated with the function domain identifier in the memory cache tree. Only the user setting parameters can be adjusted by the client service, while the local default configuration cannot be adjusted by the client service. Both types of information are loaded into the process memory of the client service.
[0035] In one alternative implementation, the function configuration information refers to the combined result of the local default configuration associated with the function domain identifier and the user-set parameters in the memory cache tree. The user-set parameters are preferred, and the local default configuration is used if they are missing.
[0036] Step 104: If the client service calls the function configuration reading interface of any vehicle function, it reads the vehicle configuration word corresponding to the vehicle function from the process memory, so as to determine whether the vehicle function actually exists based on the read vehicle configuration word.
[0037] For example, when the air conditioning function service calls the "function enable" interface, the dynamic library independently reads and determines the vehicle configuration word corresponding to the air conditioning function; if the value of the vehicle configuration word is 1, it indicates that the air conditioning function has been activated and actually exists, and then the "air conditioning" section is located in the memory cache tree; if the value of the vehicle configuration word is 0, it indicates that the air conditioning function has not been activated.
[0038] The vehicle configuration word refers to a vehicle configuration status field that is uniquely identified and retrieved using a specific indexing mechanism (such as a specific character + Arabic numeral sequence number) independent of the functional domain identifier. This field can be a single status bit indicating whether a function is enabled or not. The process of determining whether the function actually exists is completed in the process memory, without accessing external storage or calling the underlying driver, ensuring efficient and reliable determination.
[0039] Step 106: If the vehicle function actually exists, send the function configuration information corresponding to the read vehicle configuration word in the process memory to the client service so that the client service can apply the function configuration information when using the vehicle function.
[0040] For example, after confirming that the air conditioning function has been activated and actually exists, the dynamic library locates the "Air Conditioning" function section in the memory cache tree and extracts all parameters of the function configuration information, including configuration items such as "Automatic Mode = On" and "Fan Speed Level = 3". The extracted parameters are then encapsulated into a structured message and sent to the air conditioning function service. After parsing the message, the air conditioning function service activates the automatic mode and sets the fan speed to level 3.
[0041] Among them, the function configuration information refers to the local default configuration and user setting parameters associated with the function domain identifier in the memory cache tree. The parameters sent (i.e. returned) by the dynamic library to the air conditioning function service are parsed by the air conditioning function service into runtime control commands, such as converting "automatic mode = on" into an automatic adjustment enable signal, and "fan speed level = 3" into a blower three-level fan speed command, and sent to the execution module through the vehicle bus.
[0042] In one embodiment shown, the loaded functional configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the functional configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: if the client service chooses to restore the functional configuration information to the vehicle's factory default settings, then updating the loaded functional configuration information in the storage unit based on the default functional configuration information; wherein the loaded functional configuration information may be the same as or different from the default functional configuration information.
[0043] For example, when a user clicks the "Restore Factory Settings" option on the vehicle's infotainment system interface via the client service, the client service, upon receiving this instruction, sends a restore request to the storage service's process via a dynamic library linked to the client service. Upon receiving the restore request, the storage service's process reads the vehicle's factory-preset default function configuration information from the system partition of the storage unit and writes it completely to the user data partition of the storage unit, deleting any previously modified user-defined function configuration information. Once the modified user-defined function configuration information is deleted, the dynamic library then follows the standard procedure, reading data from the user data partition (whose content is now equivalent to the default configuration) and the vehicle configuration partition, and loading the updated function configuration information along with the vehicle configuration information into the client service's process memory for subsequent function calls by the client service.
[0044] The loaded feature configuration information refers to the set of variable configurations stored in the user data partition, while the default feature configuration information refers to the set of immutable baseline configurations stored in the system partition. The two types of configuration information have the same structure but may differ in content—before the recovery operation, the user data partition may contain personalized settings; after the recovery operation, its content is forcibly synchronized with the default feature configuration information of the system partition, thus ensuring that subsequent loaded configurations are the factory default settings. The storage service consists of two collaborative parts: first, a service process running in an independent process space, responsible for centralized management, read / write arbitration, and persistent storage of configuration information; second, a client proxy linked to each client process as a dynamic library, serving as the local interface of the service process and interacting with it through inter-process communication. The service process has write permissions, performing operations to read the default feature configuration information from the system partition and overwrite it in the user data partition, thereby ensuring the security and consistency of data updates.
[0045] In one optional implementation, this disclosure divides vehicle configuration information into three categories: vehicle configuration name (CarConfig), local default configuration (LocalConfig), and user settings (SettingConfig). The vehicle configuration name determines whether vehicle functions are available; it is stored in the eolcfg partition of UFS and includes a backup in case of read failure. The local default configuration contains user-unmodifiable function prerequisites, function calibration parameters, etc., and is stored as a configuration file in the lcfg partition of UFS. User settings are user-modifiable personalized configuration parameters; the initial file is stored in the system partition of UFS (read-only), and runtime modifications are stored in the data partition.
[0046] Configuration information in both the local default configuration (LocalConfig) and user settings (SettingConfig) is stored using the same section and key-value pair format. Sections uniquely identify target functional domains, keys uniquely identify settings items, and values represent specific settings. Each section can contain multiple key-value pairs, meaning each functional domain can contain multiple settings data. Additionally, SettingConfig defines an extra section for non-functional configuration information, used to store the version information of SettingConfig to determine whether user settings can be read correctly and to distinguish whether user settings need updating.
[0047] Please refer to Table 1, which lists the storage contents of "sections and key-value pairs" in SettingConfig. The section name Adcu is used to identify the "assisted driving function domain". This section name contains multiple settings related to assisted driving functions. Its default configuration value will be changed and saved in SettingConfig in the data partition after the user modifies the target function settings.
[0048] Table 1. Schematic diagram of user settings data storage Please see Figure 2 , Figure 2 This is an exemplary embodiment illustrating a data stream read / write diagram for a storage service. For example... Figure 2 As shown, to ensure that the upper-layer target function can accurately access the above three types of configuration information, this disclosure designs a storage service, mainly composed of an independent process Service and a dynamic library libproxy.so, and provides a unified read interface (get) and write interface (set). The Service process of the storage service is mainly responsible for initialization and client request arbitration, focusing on ensuring that the configuration information of SettingConfig is up-to-date; the dynamic library proxy, as a proxy of Service, runs on each client program (i.e., the target function), responsible for sending client requests to the server, and also responsible for directly reading all configuration data. When accessing CarConfig, the read and write interfaces directly enter the key name starting with "CC" to search; when accessing LocalConfig or SettingConfig, the specified configuration value needs to be searched in the format of "section name.key name".
[0049] When the vehicle is powered on, the Service process will attempt to open the SettingConfig in the data partition. If it fails to open, it will copy the SettingConfig in the system partition to the data partition. Then, it will compare the version of SettingConfig in the data partition (such as END.version in Table 1) with the version of SettingConfig in the system partition. If they are inconsistent, it will perform a version upgrade and update operation for SettingConfig.
[0050] It should be noted that the vehicle configuration word (CarConfig) is stored in binary format in two locations: the eolcfg partition of UFS and the EEPROM of the MCU. Before the vehicle rolls off the production line, it is synchronously burned by a diagnostic tool to ensure data consistency between the two locations. During the cold start phase after the vehicle is completely powered off, the bootloader and each client process directly read the CarConfig from the eolcfg partition of UFS into the memory of each client process to meet the read requirements during rapid startup. The CarConfig in the MCU is used for safe rollback in case of startup failure and for runtime integrity verification. The local default configuration (LocalConfig) is stored as a configuration file in the lcfg partition of UFS, while user settings (SettingConfig) are stored as configuration files in the data and system partitions of UFS. The Service process of the storage service loads both types of configuration data from the lcfg and data partitions of UFS into the memory of the client processes during system startup. The SettingConfig in the data partition supports user modification, and its management mechanism includes version verification and incremental update strategies, unlike the read-only CarConfig and LocalConfig.
[0051] Specifically, CarConfig is stored in the eolcfg partition of UFS, LocalConfig in the lcfg partition, and SettingConfig in the data and system partitions. All three are initially written or completely replaced during vehicle manufacturing or via over-the-air (OTA) upgrades. During normal system operation, CarConfig and LocalConfig are read-only data; the Service process only reads them from their respective partitions at startup to determine the enable status and default behavior parameters of each functional domain, and does not perform any write operations on the eolcfg or lcfg partitions during runtime.
[0052] When the vehicle configuration changes (such as through over-the-air upgrades or firmware re-flashing), the system will reboot. After rebooting, the Service process reloads the updated CarConfig, LocalConfig, and SettingConfig from UFS and synchronizes these three types of configuration data to the process memory of each target function service through a client proxy, ensuring that the functional behavior is consistent with the latest configuration.
[0053] When the target function service, which is the client program, starts, the dynamic library proxy linked by the client program will read the three types of configuration information in UFS into the process memory of the target function service. When the target function obtains the required configuration information through the configuration data reading interface (get), it will directly obtain the configuration information in the process memory of the target function service, thereby avoiding one inter-process communication.
[0054] When the target function service modifies the current settings using the configuration data write interface (set), the proxy dynamic library sends the set command to the Service process via inter-process communication. The Service process saves the modified settings to SettingConfig in the data partition and broadcasts the updated settings values to all client programs after the update is complete. Upon receiving the broadcast of the data update, the proxy dynamic library also synchronizes the settings values in its local memory to ensure consistency between the settings data used by the target function and the actual stored settings data.
[0055] In one alternative implementation, the storage service may also employ other equivalent implementations to support this embodiment: for example, in a resource-constrained embedded platform, the configuration management logic (i.e., server-side functionality) and client-side proxy logic can be integrated into the same system process, achieving separation of responsibilities between read / write request processing and local proxy forwarding through thread or module isolation. Regardless of the deployment method, the configuration write operations are uniformly handled by the configuration management entity (which can be implemented as an independent process or a trusted execution application).
[0056] In one embodiment shown, the loaded functional configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the functional configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: comparing the version of the loaded functional configuration information with the version of the default functional configuration information; if the version of the loaded functional configuration information is lower than the version of the default functional configuration information, then updating the loaded functional configuration information in the storage unit based on the default functional configuration information.
[0057] For example, the storage service process reads the current storage configuration information (SettingConfig) from the user data partition (data partition) and parses the version identifier in the metadata area at the end, obtaining the value "2024051201". Subsequently, the service process reads the factory-preset default configuration information from the system partition (system partition), resolving its version identifier to "2025122001". After comparing and confirming that the version of the read configuration information (SettingConfig) is lower than the default configuration information version, the service process then executes the upgrade process, writing the default configuration information to the user data partition (data partition), overwriting the old content.
[0058] Please see Figure 3 , Figure 3 This is an exemplary embodiment illustrating a flowchart of updating loaded feature configuration information. (As shown) Figure 3 As shown, if the version information of the function configuration information (SettingConfig) under the data partition is lower than that under the system partition, the SettingConfig under the data partition will be read into the target tree; then the SettingConfig under the data partition will be reset, that is, the SettingConfig under the system partition will overwrite the original SettingConfig under the data partition; and the version information of the previously stored SettingConfig under the data partition will be cleared; then the SettingConfig under the system partition will be read into the new tree; the target tree and the new tree will be merged, the newly added configuration information in the new tree will be written into the target tree, and the modified target tree will be written back to the data partition to become the new SettingConfig under that partition; finally, the SettingConfig under the data partition will be reloaded, and the version information of the Reading SettingConfig under the data partition will be stored again.
[0059] In the aforementioned SettingConfig version upgrade process, merging the upgraded new SettingConfig (new tree) with the old SettingConfig data (target tree) that the user has manually set is crucial to ensuring that historical user settings data are not lost after the upgrade. For SettingConfig stored in the form of "section name + key-value pairs", the merging process of writing from the new tree to the target tree follows the strategy of "newly added sections are directly merged, and newly added key-value pairs are inserted after traversing identical sections".
[0060] The loaded functional configuration information refers to the set of functional parameters stored in the user data partition that can be modified by the user or updated during system runtime. Default functional configuration information refers to the baseline configuration information permanently stored in the system partition. Versions can be unique identifiers encoded in the form of timestamps and serial numbers, typically embedded in a dedicated metadata area of the configuration information. Update operations include not only simple overwrites but also structural adaptations. For example, when a multi-user policy section is added to the default configuration, the service process will automatically migrate the original single-user configuration to the initial user instance, achieving a smooth upgrade of the configuration structure. This mechanism ensures that user configurations are always synchronized with the system, avoiding functional abnormalities or configuration loss due to version lag.
[0061] In one alternative implementation, the user settings file (such as SettingConfig) includes an identifier section containing non-functional configuration information, used to store file version information. This identifier section does not contain any functional configuration information; its sole purpose is to store a version number (e.g., 2025122001). The system determines whether a configuration file upgrade or update operation is needed by comparing the version number of the section in the SettingConfig file on the data partition with that in the SettingConfig file on the system partition. The user settings file stores user-modifiable personalized configuration parameters. The initial file of the user settings file is stored in the UFS system partition (read-only), while runtime modifications are stored in the data partition.
[0062] In one embodiment shown, the functional configuration information corresponding to the vehicle configuration word exists in the form of several functional configuration sections. Each functional configuration section contains at least one sub-function under the vehicle configuration word and configuration information corresponding to the sub-function. Updating the loaded functional configuration information based on the default functional configuration information includes: filtering functional configuration sections that support multi-user mode in the default functional configuration information; if the target functional configuration section in the loaded functional configuration information that corresponds to the same sub-function as the filtered functional configuration section only supports single-user mode, then the target functional configuration section is updated from single-user mode to multi-user mode.
[0063] For example, upon the first startup after a software upgrade, the "Drive Assistance" configuration section in the current function configuration information loaded by the client service records personalized parameters such as the sensitivity level previously set by the user. Because it lacks a multi-user identifier, the storage service determines that it only supports single-user mode. However, in the default function configuration information provided in the software upgrade package, the "Drive Assistance" configuration section is explicitly marked as supporting multi-user mode in the metadata. Through function identifier comparison, it is confirmed that it belongs to the same sub-function as the original "Drive Assistance" function configuration section. Since the original "Drive Assistance" function configuration section only supports single-user mode, the storage service initiates a configuration structure upgrade process, updating the original "Drive Assistance" function configuration section from single-user mode to multi-user mode. The specific process is as follows: First, all parameters in the original "Assisted Driving" configuration section are migrated to the newly created "Assisted Driving_User1" section as the initial user's personalized data; second, the default configuration information is extracted from the default function configuration information and migrated to the newly created "Assisted Driving_Default" section; finally, according to the system's preset number of users, empty "Assisted Driving_User2" and other reserved sections are created, and the extracted default configuration information is also written into the reserved sections.
[0064] In another scenario, if the "Drive Assistance" configuration section in the current function configuration information loaded by the client service is already configured in a multi-user mode as "Drive Assistance_Default" and "Drive Assistance_User1", and the default function configuration information provided in the software upgrade package also supports multi-user mode in the "Drive Assistance" configuration section, then the storage service will execute an update strategy that retains historical user data. The specific process is as follows: The personalized configuration sections for each user (e.g., "Drive Assistance_User1", "Drive Assistance_User2") in the loaded current function configuration information are retained without modification. Simultaneously, the "Drive Assistance_Default" section in the loaded current function configuration information is updated only based on the default function configuration information in the software upgrade package. This completes the upgrade configuration of the underlying function default strategy without changing the user's historical usage habits.
[0065] The functional configuration section corresponding to the vehicle configuration term refers to a logical unit of configuration information uniquely identified by its function name. It is used to organize all parameter sets corresponding to at least one subdivided vehicle functional domain (such as "driver assistance," "air conditioning," and "seat"). A multi-user mode-supporting functional configuration section refers to a configuration section that explicitly declares multi-user management capabilities through specific metadata in the default functional configuration information. For example, when a functional domain needs to support multi-user settings, the system will create a default functional configuration section with the section name consisting of "functional domain ID + Default" to store the default configuration parameters for all users under that functional domain, serving as a baseline for new users or factory resets; and create a user configuration section with the section name consisting of "functional domain ID + User + number" to store the personalized configuration for each individual user under that functional domain.
[0066] The specific technical means to update the target function configuration section from single-user mode to multi-user mode include: after identifying that the single-user mode function configuration section in the user configuration and the multi-user mode function configuration section in the default configuration belong to the same function, the system migrates the original single-user configuration content to the exclusive data of the first user, and simultaneously introduces the default strategy and multi-user container framework, so as to upgrade the function as a whole to support multi-user collaborative use without losing historical settings.
[0067] The specific technical means to update the target function configuration section from multi-user mode to multi-user mode include: after identifying that the multi-user mode function configuration section in the user configuration and the multi-user mode function configuration section in the default configuration belong to the same function, the system updates the latest configuration parameters in the default function configuration information provided in the software upgrade package to the default function configuration section in the current function configuration information loaded by the client service, while keeping the personalized function configuration section in the user configuration unchanged, thereby realizing the update of the basic default strategy in multi-user mode.
[0068] In one embodiment, updating the target function configuration section from single-user mode to multi-user mode includes: retaining the target function configuration section as an initial user function configuration section; creating a default function configuration section and a corresponding number of new user function configuration sections based on the target function configuration section in the loaded function configuration information, according to the preset number of users for the multi-user mode; and writing the function configuration information contained in the selected function configuration sections into the default function configuration section and the corresponding number of new user function configuration sections.
[0069] For example, in the default function configuration information provided in the vehicle software upgrade package, the "Drive Assistance" configuration section is explicitly marked in the metadata as supporting multi-user mode (e.g., specifically configured for two users). The storage service confirms, through function identifier comparison, that it belongs to the same sub-function as the original "Drive Assistance" function configuration section. Since the original "Drive Assistance" function configuration section only supports single-user mode, the storage service initiates a configuration structure upgrade process: retaining the original "Drive Assistance" function configuration section as the exclusive configuration for the initial user, and creating a "Drive Assistance Default Policy" section and two new user configuration sections, "Drive Assistance User 1" and "Drive Assistance User 2," based on its content. This ensures that all settings of the original user are fully inherited into "Drive Assistance User 1," while reserving an independent personalized configuration space for the other user.
[0070] The target function configuration section refers to the configuration section that matches a multi-user mode function configuration section in the default configuration among the loaded function configuration information, and currently exists only in single-user mode. It is retained as the initial user function configuration section during the upgrade process. The default function configuration section is the baseline configuration section used to define the initial value of the function in a multi-user scenario. The newly added user function configuration section is a system-preset configuration container reserved for other users, with the same structure as the default function configuration section but whose content can be independently modified. The update operation typically interprets the original single-user mode function configuration section as the personalized configuration for "User 1," and dynamically generates the corresponding number of empty user configuration sections (e.g., "User 2") and a default function configuration section based on the number of multi-user supported (e.g., 2 users) declared in the default configuration. Finally, content injection is performed, writing the function configuration information defined in the default function configuration section into the newly created default function configuration section and each newly added user configuration section.
[0071] In some embodiments, functional configuration information is stored in an INI file format of Section-Key-value and organized in a tree structure. Furthermore, to support multi-user vehicle scenarios, the system can employ specific section naming rules to distinguish configuration types. For functional domains that need to support multi-user mode (such as the "Assisted Driving Functional Domain", section name Adcu), the "default section name" of this functional configuration section can be configured as functional domain ID + Default (e.g., the Assisted Driving Functional Domain ID [Adcu] is configured as [AdcuDefault]), and multiple "user section names" of this functional configuration section can be configured as functional domain ID + User + number (e.g., the Assisted Driving Functional Domain ID [Adcu] is configured as [AdcuUser1], [AdcuUser2], [AdcuUser3], etc.), storing the configurations of each user in the Assisted Driving Functional Domain respectively. The key names of the functional items stored under each [AdcuUseri] (i represents the number) are consistent, all originating from the key names of the key-value pairs under the [AdcuDefault] section name.
[0072] Please see Figure 4 , Figure 4 This is an exemplary embodiment illustrating a flowchart of updating functional configuration information organized in a tree structure. For example... Figure 4 As shown, when it is necessary to update the loaded feature configuration information based on the default feature configuration information (supporting multi-user configuration mode), the storage service performs the following operations: First, the user settings file in the user data partition (data partition) is read into memory and constructed as the "target tree". Second, the default function configuration information in the system partition (system partition) is written to the data partition to overwrite the original file, and its contents are read into memory and constructed as the "new tree". Then, all "section names" in the "new tree" are looped through, and section names containing the "User" field are removed, because the key-value pairs under these section names are consistent with the key-value pairs under the bound section names containing the "Default" field. Removing them can avoid repeated searches and shorten the program execution time. It is then determined whether the remaining section names of the "new tree" after removal exist in the "target tree". If they exist, each key-value pair under that section needs to be traversed to determine whether there is a new key name that does not exist under the same section name in the "target tree", and finally the addition of the new configuration item key-value pair is completed. If they do not exist, it means that the configuration information under the entire section name is the configuration information of the new function domain for the "target tree", and the entire section needs to be added to the "target tree".
[0073] Additionally, if the section name of the "new tree" contains the "Default" field, it indicates that the target functional domain corresponding to this section name needs to be adapted for multi-user settings. Therefore, it's necessary to obtain the functional domain ID before the "Default" field in the section name and additionally write configuration information to its associated section name containing the "User" field. There are two scenarios: if the new key-value pair already exists in the "target tree" section name, synchronously add the new key-value pair to the multi-user configuration section (functional domain ID + User + i) of the "target tree"; if the new section name does not exist in the "target tree," add a new multi-user configuration section (functional domain ID + User + i) with the same content as the [AdcuDefault] section to the "target tree," and then add the new key-value pair. Through this method, the import of new functional configuration information into the user settings file (SettingConfig) and the retention of existing user settings information are completed. Furthermore, this method is compatible with single-user to multi-user upgrade scenarios, improving the personalized user experience for different users.
[0074] It should be noted that the "target tree" may contain an identifier section used to store version information. When updating the feature configuration information, the identifier section in the "target tree" needs to be deleted. The storage format for feature configuration information can include INI files with a three-tier structure of "Section-Key-Value," as well as JSON, TOML, and other formats, as long as it can distinguish the hierarchical levels of the feature domain ID and the sub-settings.
[0075] In one alternative implementation, during the content injection process, for the "User 1" section, the content of the original single-user configuration section is inherited first, and only the missing items in the original single-user configuration section are filled with the default values in the default function configuration section.
[0076] The implementation methods disclosed herein ensure that user historical data is seamlessly inherited when software capabilities evolve (such as from single-user to multi-user), while the system can immediately provide a complete multi-user service framework, achieving smooth and compatible upgrades to the configuration system.
[0077] In one embodiment shown, the method is applied to a storage service, which includes a server and a client proxy. The method further includes: if the client service calls the function configuration writing interface of any vehicle function and modifies the loaded function configuration information, the client proxy sends the modified function configuration information of the client service to the server; the server writes the modified function configuration information of the client service into the storage unit, so that the storage unit updates the stored function configuration information.
[0078] For example, when a user changes the air conditioning's automatic mode from "off" to "on" on the vehicle's infotainment system, the air conditioning function service (as a client service) calls the "Write Air Conditioning Automatic Mode" interface, passing in the new value "on". This request is captured by the client agent (as a client communication tool for the storage service) linked to the air conditioning function service process. The client agent then sends a write command containing the function domain identifier, configuration item name, and new value to the storage service's server process via the inter-process communication channel. Upon receiving the command, the server process locates the "Air Conditioning" function configuration section in the user data partition of the storage unit, updates the "Automatic Mode" parameter to "on", and persistently writes the entire function configuration section back to the storage unit. After the write is complete, the server process can choose to broadcast the configuration change notification to other relevant clients to ensure that all client services within the system maintain consistency with the latest configuration status.
[0079] The storage service is the core component responsible for managing vehicle function configuration information, employing a client-server (C / S) architecture: the server refers to the configuration management module running in an independent system process, possessing write permissions to the storage unit and responsible for persisting configuration information; the client refers to each functional service process (such as driver assistance, air conditioning, etc.), running as an independent process, embedding a dynamic library provided by the storage service (i.e., the client proxy), and possessing read permissions to the storage unit; the client proxy, as a lightweight interface of the server locally, is responsible for intercepting configuration write requests within its own process and forwarding them to the server, while read requests directly access the local process memory. The function configuration write interface is a standardized API exposed by the client proxy to the corresponding functional service, and its input typically includes the function domain identifier, configuration item name, and new value.
[0080] In the embodiments disclosed herein, the design centralizes all write operations for unified processing by the server, which not only ensures the integrity and security of configuration information but also avoids competition and conflicts that may arise from multiple clients directly operating the storage unit.
[0081] In one embodiment shown, the client agent also runs in other client services. After the server writes the modified function configuration information of the client service into the storage unit, the method further includes: sending a configuration update notification to the client agent running in the other client services through the server, so that the client agent running in the other client services loads the updated function configuration information in the storage unit into the process memory of their respective client services after receiving the configuration update notification.
[0082] For example, a user adjusts the "Air Conditioning Fan Speed" from level 2 to level 4 through the Air Conditioning Function Service interface. This modification request is captured by the client agent running in the Air Conditioning Function Service and sent to the server of the storage service via inter-process communication. The server then writes the updated fan speed parameter into the "Air Conditioning" function configuration section of the user data partition in the storage unit. After writing, the server immediately broadcasts a configuration update notification to all registered clients listening to the "Air Conditioning" function domain and other client services besides the Air Conditioning Function Service (such as the cockpit master control service and voice assistant service). Upon receiving the notification, the client agents running in these services each trigger a local memory refresh process: rereading the latest "Air Conditioning" function configuration section from the user data partition of the storage unit and updating it in their own memory. Subsequently, the cockpit master control service can refresh the fan speed display status on the central control screen accordingly, and the voice assistant service can accurately respond to queries for "What is the current fan speed?" based on the latest configuration, thus ensuring that all functional modules in the vehicle have a consistent understanding of the configuration status.
[0083] like Figure 2 As shown, when the target function service calls the configuration data write interface (set) to modify the current setting information, its linked client proxy (proxy dynamic library) first updates the value of the setting in the local process memory to achieve a fast response; then, it sends the setting request containing the modified content to the storage service (Service process) via inter-process communication (IPC). After receiving the setting request, the Service process first updates the SettingConfig data maintained in its memory, persists the complete SettingConfig to the UFS data partition to ensure that the data is not lost after power failure; then, based on the pre-established subscription table, it broadcasts the update notification to all clients that have subscribed to the configuration data.
[0084] The subscription table is maintained by the Service process and records the subscription relationships of each client process to the configuration data. When a client establishes a session connection with the Service process through the proxy dynamic library, if the client process declares that it subscribes to SettingConfig, its process identifier will be registered in the subscription table.
[0085] The broadcast process specifically includes: the Service process serializes the modified configuration information into a byte stream and sends it concurrently to all clients in the subscription table via the IPC channel. Upon receiving the broadcast, each client's proxy dynamic library parses the byte stream, synchronously updates the corresponding setting values in its local memory, and triggers a callback function to notify the upper-layer application of the configuration change event. The upper-layer application can then perform UI refresh or function adjustments based on the callback parameters (such as the configuration file name, setting key name, and new value), thereby ensuring the consistency of the configuration state across the entire system.
[0086] In this context, the client proxy refers to a client communication tool embedded as a dynamic library within the processes (clients) of various functional services. It serves as a lightweight interface for the storage service locally, and each functional service requiring access to configuration information loads this client proxy within its own process. The server refers to the main control module of the storage service, running in an independent system process, responsible for distributing configuration changes. Configuration update notifications are asynchronous messaging mechanisms initiated proactively by the server to inform other clients that a configuration has changed. This can be implemented using a publish-subscribe model, where each client proxy registers the functional domain identifiers it is interested in with the server during initialization (e.g., "air conditioning," "seats"). The server only broadcasts relevant notifications to subscribers.
[0087] In the embodiments disclosed herein, this design solves the problem of configuration state synchronization among multiple clients, taking into account both access efficiency and data consistency, and provides reliable support for high-concurrency, low-latency configuration collaboration in vehicle systems.
[0088] Corresponding to the embodiments of the above-described function configuration information management method, this disclosure also provides an embodiment of a function configuration information management device.
[0089] Please see Figure 5 , Figure 5 This is an exemplary embodiment illustrating the hardware structure of an electronic device. At the hardware level, the device includes a processor 502, an internal bus 504, a network interface 506, memory 508, and non-volatile memory 510, and may also include other necessary hardware. One or more embodiments of this disclosure can be implemented in software, for example, the processor 502 reads the corresponding computer program from the non-volatile memory 510 into memory 508 and then runs it. Of course, besides software implementation, one or more embodiments of this disclosure do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0090] Please see Figure 6 , Figure 6 This is a block diagram illustrating a function configuration information management device 600, as shown in an exemplary embodiment. This function configuration information management device 600 can be applied to, for example... Figure 5 The illustrated electronic device is used to implement the technical solution of this disclosure. The device includes: The loading unit 602 is used to load the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service when the client service starts. The acquisition unit 604 is used to read the vehicle configuration word corresponding to the vehicle function from the process memory if the client service calls the function configuration reading interface of any vehicle function, so as to determine whether the vehicle function actually exists based on the read vehicle configuration word; The return unit 606 is used to send the function configuration information corresponding to the read vehicle configuration word in the process memory to the client service if the vehicle function actually exists, so that the client service can apply the function configuration information when using the vehicle function.
[0091] In some embodiments, the loaded functional configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the functional configuration information corresponding to the vehicle configuration word into the process memory of the client service, the apparatus further includes: The first update unit 608 is used to update the loaded function configuration information in the storage unit based on the default function configuration information if the client service chooses to restore the function configuration information to the vehicle factory default settings. The loaded function configuration information may be the same as or different from the default function configuration information.
[0092] In some embodiments, the loaded functional configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the functional configuration information corresponding to the vehicle configuration word into the process memory of the client service, the apparatus further includes: Comparison unit 610 is used to compare the loaded function configuration information with the version of the default function configuration information; The second update unit 612 is used to update the loaded function configuration information in the storage unit based on the default function configuration information if the version of the loaded function configuration information is lower than the version of the default function configuration information.
[0093] In some embodiments, the functional configuration information corresponding to the vehicle configuration word exists in the form of several functional configuration sections, each functional configuration section containing at least one sub-function under the vehicle configuration word and configuration information corresponding to the sub-function; updating the loaded functional configuration information based on the default functional configuration information includes: In the default function configuration information, filter the function configuration section that supports multi-user mode; If the target function configuration section, which corresponds to the same sub-function as the selected function configuration section, only supports single-user mode in the loaded function configuration information, then the target function configuration section will be updated from single-user mode to multi-user mode.
[0094] In some embodiments, updating the target function configuration section from single-user mode to multi-user mode includes: The target function configuration section is retained as the initial user function configuration section; In the loaded function configuration information, based on the preset number of users for the multi-user mode, a default function configuration section and a corresponding number of new user function configuration sections are created on the basis of the target function configuration section. The function configuration information contained in the filtered function configuration sections is written into the default function configuration section and the corresponding number of new user function configuration sections.
[0095] In some embodiments, the method is applied to a storage service, the storage service including a server and a client proxy, and the apparatus further includes: The sending unit 614 is used to send the modified function configuration information of the client service to the server through the client proxy if the client service calls the function configuration writing interface of any vehicle function and modifies the loaded function configuration information. The writing unit 616 is used to write the modified function configuration information of the client service into the storage unit through the server, so that the storage unit updates the stored function configuration information.
[0096] In some embodiments, the client agent also runs in other client services. After the server writes the modified function configuration information of the client service into the storage unit, the apparatus further includes: The notification unit 618 is used to send a configuration update notification to the client agents running in the other client services through the server, so that the client agents running in the other client services will load the updated function configuration information in the storage unit into the process memory of their respective client services after receiving the configuration update notification.
[0097] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0098] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0099] The systems, devices, modules, or units described in the above embodiments can be implemented by a computer or entity, or by a product with a certain function. A typical implementation device is a computer, which can be 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.
[0100] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0101] 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.
[0102] 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, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, 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.
[0103] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant regions, and corresponding operation portals shall be provided for users to choose to authorize or refuse.
[0104] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0105] The foregoing has described specific embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0106] The terminology used in one or more embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this disclosure. The singular forms “a,” “the,” and “the” as used in one or more embodiments of this disclosure 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 associated listed items.
[0107] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this disclosure, such 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, first information may also be referred to as second information without departing from the scope of one or more embodiments of this disclosure, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0108] The above description is merely a preferred embodiment of one or more embodiments of this disclosure and is not intended to limit the scope of one or more embodiments of this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this disclosure should be included within the scope of protection of one or more embodiments of this disclosure.
Claims
1. A method for managing functional configuration information, characterized in that, The method includes: When the client service starts, the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word are loaded into the process memory of the client service; If the client service calls the function configuration reading interface of any vehicle function, it reads the vehicle configuration word corresponding to the vehicle function from the process memory, and determines whether the vehicle function actually exists based on the read vehicle configuration word; If the vehicle function actually exists, the function configuration information corresponding to the read vehicle configuration word in the process memory is sent to the client service so that the client service can apply the function configuration information when using the vehicle function.
2. The method according to claim 1, characterized in that, The loaded function configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: If the client service chooses to restore the function configuration information to the vehicle's factory default settings, then the loaded function configuration information is updated in the storage unit based on the default function configuration information; The loaded function configuration information may be the same as or different from the default function configuration information.
3. The method according to claim 1, characterized in that, The loaded function configuration information is stored in a storage unit. Before loading the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service, the method further includes: Compare the loaded feature configuration information with the version of the default feature configuration information; If the version of the loaded function configuration information is lower than the version of the default function configuration information, then the loaded function configuration information is updated in the storage unit based on the default function configuration information.
4. The method according to claim 2 or 3, characterized in that, The functional configuration information corresponding to the vehicle configuration word exists in the form of several functional configuration sections. Each functional configuration section contains at least one sub-function under the vehicle configuration word and configuration information corresponding to the sub-function. The step of updating the loaded function configuration information based on the default function configuration information includes: In the default function configuration information, filter the function configuration section that supports multi-user mode; If the target function configuration section, which corresponds to the same sub-function as the selected function configuration section, only supports single-user mode in the loaded function configuration information, then the target function configuration section will be updated from single-user mode to multi-user mode.
5. The method according to claim 4, characterized in that, The step of updating the target function configuration section from single-user mode to multi-user mode includes: The target function configuration section is retained as the initial user function configuration section; In the loaded function configuration information, based on the preset number of users for the multi-user mode, a default function configuration section and a corresponding number of new user function configuration sections are created on the basis of the target function configuration section. The function configuration information contained in the filtered function configuration sections is written into the default function configuration section and the corresponding number of new user function configuration sections.
6. The method according to claim 2, characterized in that, The method is applied to a storage service, which includes a server and a client proxy. The method further includes: If the client service calls the function configuration write interface of any vehicle function and modifies the loaded function configuration information, the modified function configuration information of the client service is sent to the server through the client proxy; The server writes the modified function configuration information of the client service into the storage unit, so that the storage unit updates the stored function configuration information.
7. The method according to claim 6, characterized in that, The client agent also runs in other client services. After the server writes the modified function configuration information of the client service into the storage unit, the method further includes: The server sends configuration update notifications to the client agents running in the other client services, so that the client agents running in the other client services load the updated function configuration information in the storage unit into the process memory of their respective client services after receiving the configuration update notification.
8. A functional configuration information management device, characterized in that, The device includes: The loading unit is used to load the vehicle configuration word used to define vehicle functions and the function configuration information corresponding to the vehicle configuration word into the process memory of the client service when the client service starts. The acquisition unit is used to read the vehicle configuration word corresponding to the vehicle function from the process memory if the client service calls the function configuration reading interface of any vehicle function, so as to determine whether the vehicle function actually exists based on the read vehicle configuration word; The return unit is used to send the function configuration information corresponding to the read vehicle configuration word in the process memory to the client service if the vehicle function actually exists, so that the client service can apply the function configuration information when using the vehicle function.
9. An electronic device, characterized in that, It includes a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus; The memory stores machine-readable instructions, and the processor executes the method according to any one of claims 1 to 7 by invoking the machine-readable instructions.
10. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-readable instructions, which, when invoked and executed by a processor, implement the method described in any one of claims 1 to 7.