Installation and running method of in-vehicle application, device, and cockpit management device

CN115658087BActive Publication Date: 2026-09-11BEIJING JINGWEI HIRAIN TECH CO INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211137846.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-19
Publication Date
2026-09-11
Estimated Expiration
2042-09-19

AI Technical Summary

Technical Problem

[0004]本申请实施例提供一种车载应用程序的安装、运行方法、设备、座舱管理设备,能够解决现有技术中将应用程序仅部署在座舱系统,造成了系统资源短缺,限制了应用程序对整车情况的感知,不利于高效利用汽车内其他系统的资源的问题

Benefits of technology

[0056] The method, device, and cockpit management device for installing and running in-vehicle applications according to embodiments of this application obtain a summary file of the in-vehicle application through an installation management device, and parse the summary file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application, i.e., the pre-set installation locations for each distributed component, thereby installing the distributed components based on their respective deployment locations. This allows the distributed components of the in-vehicle application to be deployed on various device nodes throughout the vehicle, improving the application's awareness of the overall vehicle situation, and the distributed deployment method facilitates efficient utilization of resources from various systems within the vehicle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115658087B_ABST
    Figure CN115658087B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a vehicle-mounted application installation method, a vehicle-mounted application running method, a device, and a cockpit management device. The vehicle-mounted application installation method is applied to an installation management device and includes obtaining an abstract file of a vehicle-mounted application, parsing the abstract file, obtaining configuration information of the vehicle-mounted application, the configuration information including deployment positions of multiple distributed components in the vehicle-mounted application, and installing the distributed components based on the deployment positions of each distributed component. According to the embodiments of the present application, the distributed components of the vehicle-mounted application can be deployed to each device node of the whole vehicle, the perception of the whole vehicle by the vehicle-mounted application is improved, and the distributed deployment manner is conducive to efficient utilization of resources of each system in the whole vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of automotive software, and in particular relates to a method, device, and cockpit management device for installing and running an in-vehicle application. Background Technology

[0002] Currently, the controllers of intelligent connected vehicles can realize functions such as environmental perception, intelligent decision-making, and collaborative control, which can be called by third-party applications.

[0003] Third-party applications are typically deployed on the vehicle's cockpit system and managed by the cockpit's local operating system, where the cockpit is a separate domain. However, this approach results in all functions running on the cockpit system, causing system resource shortages. Furthermore, deploying applications solely on the cockpit system limits their awareness of the overall vehicle situation and hinders the efficient use of resources from other systems within the vehicle. Summary of the Invention

[0004] This application provides a method, device, and cockpit management device for installing and running an in-vehicle application, which can solve the problem in the prior art that deploying the application only in the cockpit system causes a shortage of system resources, limits the application's perception of the overall vehicle status, and is not conducive to the efficient use of resources of other systems in the vehicle.

[0005] In a first aspect, embodiments of this application provide a method for installing an in-vehicle application, the method being applied to an installation management device, including:

[0006] Obtain the summary file of the in-vehicle application, which is a third-party application used to install on devices inside a car.

[0007] Parse the summary file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application.

[0008] Install distributed components based on their deployment location.

[0009] In some implementations, the configuration information also includes version information of the in-vehicle application and component identifiers of distributed components within the in-vehicle application. Before installing the distributed components based on their deployment location information, the application installation method further includes:

[0010] Retrieve the component identifiers of the installed components in the deployment location of the distributed components.

[0011] If the component identifier of the installed component matches the component identifier of the distributed component, obtain the version information of the installed component.

[0012] If the version information of an installed component is lower than that of the in-vehicle application, uninstall the installed component.

[0013] In some implementations, the configuration information also includes the permissions that the in-vehicle application needs to authenticate. The application installation method further includes: [Further details on the installation method would be needed here, but the translation is incomplete.]

[0014] Send an authorization request to the terminal device. The authorization request includes the permissions that the in-vehicle application needs to authenticate.

[0015] Receive authorization information sent by the terminal device. The authorization information includes information on authorizing the permissions that the in-vehicle application needs to authenticate.

[0016] In some implementations, the configuration information also includes the dependencies between the distributed components. After installing the distributed components based on their deployment locations, the application installation method further includes:

[0017] Send the dependencies of each distributed component to the resource management device so that the resource management device can run each installed distributed component based on the dependencies.

[0018] In some implementations, the configuration information also includes the resources contained in the distributed component and the interfaces provided by the distributed component. The application installation method also includes:

[0019] The resource management device sends the resources contained in the distributed component and the interfaces provided by the distributed component to the resource management device, so that the resource management device can generate a routing configuration based on the resources contained in the distributed component and the interfaces provided by the distributed component. The routing configuration is used for communication between the distributed components.

[0020] Secondly, embodiments of this application provide a method for running an in-vehicle application, which is applied to a resource management device, including:

[0021] The system receives a command from a terminal device to launch an in-vehicle application, which is a third-party application installed in a vehicle.

[0022] Based on the instructions, the system retrieves the configuration information of the in-vehicle application. This configuration information, sent by the installation and management device, includes the dependencies of the various distributed components of the in-vehicle application and its deployment location.

[0023] Run each distributed component installed in its respective deployment location according to its dependencies.

[0024] In some implementations, the deployment location includes a zone controller, which runs distributed components installed at each deployment location according to dependencies, including:

[0025] Obtain the load on the zone controllers with horizontal scaling components installed, where horizontal scaling components are functionally identical distributed components among the distributed components.

[0026] Based on dependencies, horizontal expansion components are installed within area controllers whose operating load is less than a preset threshold.

[0027] In some implementations, the method of running the application further includes:

[0028] If the load on each region controller where a horizontal scaling component is installed exceeds a preset threshold, the distributed component installed on the region controller with the lowest load among the horizontal scaling components will be run based on dependencies.

[0029] Thirdly, embodiments of this application provide an installation management device, including:

[0030] The acquisition module is used to obtain the summary file of the in-vehicle application, which is a third-party application used to install on devices in a car.

[0031] The parsing module is used to parse the digest file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application.

[0032] The installation module is used to install distributed components based on their deployment location.

[0033] In some implementations, the configuration information also includes version information of the in-vehicle application and component identifiers of distributed components within the in-vehicle application; the application installation device also includes an uninstallation module.

[0034] The acquisition module is also used to obtain the component identifiers of the components already installed in the deployment location of the distributed component before installing the distributed component based on the deployment location information of each distributed component.

[0035] The acquisition module is also used to obtain the version information of the installed components when it is determined that the component identifier of the installed components matches the component identifier of the distributed components.

[0036] The uninstallation module is used to uninstall installed components when the version information of the installed components is lower than that of the in-vehicle application.

[0037] In some implementations, the configuration information also includes the permissions that the in-vehicle application needs to authenticate, and the installation device for the application further includes a sending module and a receiving module.

[0038] The sending module is used to send an authorization request to the terminal device before installing the distributed component based on the deployment location information of each distributed component. The authorization request includes the permissions that the in-vehicle application needs to authenticate.

[0039] The receiving module is used to receive authorization information sent by the terminal device. The authorization information includes information on authorizing the permissions that the in-vehicle application needs to authenticate.

[0040] In some implementations, the configuration information also includes the dependencies of each distributed component. The sending module is further configured to send the dependencies of each distributed component to the resource management device after the distributed component is installed based on the deployment location of each distributed component, so that the resource management device can run the installed distributed components based on the dependencies.

[0041] In some implementations, the configuration information also includes the resources contained in the distributed component and the interfaces provided by the distributed component.

[0042] The sending module is also used to send the resources contained in the distributed components and the interfaces provided by the distributed components to the resource management device, so that the resource management device can generate routing configurations based on the resources contained in the distributed components and the interfaces provided by the distributed components. The routing configurations are used for communication between the distributed components.

[0043] Fourthly, embodiments of this application provide a resource management device, including:

[0044] The receiving module is used to receive commands from the terminal device to launch the in-vehicle application. The in-vehicle application is a third-party application installed in a vehicle.

[0045] The acquisition module is used to obtain the configuration information of the in-vehicle application based on commands. The configuration information is sent by the installation and management device and includes the dependencies of the various distributed components of the in-vehicle application, as well as the installation and deployment location.

[0046] The runtime module is used to run the distributed components installed in various deployment locations according to their dependencies.

[0047] In some implementations, the deployment location includes a zone controller.

[0048] The acquisition module is also used to acquire the load of the region controllers with horizontal scaling components installed, where horizontal scaling components are functionally identical distributed components among the distributed components.

[0049] The runtime module is also used to run horizontal expansion components installed within the region controller based on dependencies, where the load is less than a preset threshold.

[0050] In some implementations, the running module is also configured to, based on dependencies, run the distributed component installed in the region controller with the lowest load among the horizontal scaling components when the load on each region controller where the horizontal scaling component is installed exceeds a preset threshold.

[0051] Fifthly, embodiments of this application provide a cockpit control device for an automobile, including an installation management device as described in the third aspect and a resource management device as described in the fourth aspect.

[0052] In a sixth aspect, embodiments of this application provide an electronic device, which includes: a processor and a memory storing computer program instructions;

[0053] When the processor executes computer program instructions, it implements the method for installing an in-vehicle application as described in any embodiment of the first aspect, and the method for running an in-vehicle application as described in any embodiment of the second aspect.

[0054] In a seventh aspect, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the installation method of an in-vehicle application as described in any embodiment of the first aspect, and the operation method of an in-vehicle application as described in any embodiment of the second aspect.

[0055] Eighthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform an installation method for an in-vehicle application as described in any embodiment of the first aspect, and a running method for an in-vehicle application as described in any embodiment of the second aspect.

[0056] The method, device, and cockpit management device for installing and running in-vehicle applications according to embodiments of this application obtain a summary file of the in-vehicle application through an installation management device, and parse the summary file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application, i.e., the pre-set installation locations for each distributed component, thereby installing the distributed components based on their respective deployment locations. This allows the distributed components of the in-vehicle application to be deployed on various device nodes throughout the vehicle, improving the application's awareness of the overall vehicle situation, and the distributed deployment method facilitates efficient utilization of resources from various systems within the vehicle. Attached Figure Description

[0057] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0058] Figure 1 This is a flowchart illustrating a method for installing an in-vehicle application according to an embodiment of this application;

[0059] Figure 2 This is a schematic diagram of the deployment process of an in-vehicle application provided in one embodiment of this application;

[0060] Figure 3 This is a flowchart illustrating the operation method of an in-vehicle application provided in one embodiment of this application;

[0061] Figure 4 This is a schematic diagram of the structure of an installation management device provided in one embodiment of this application;

[0062] Figure 5 This is a schematic diagram of the structure of a resource management device provided in one embodiment of this application;

[0063] Figure 6 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application. Detailed Implementation

[0064] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0065] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, 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 limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0066] Most current automobiles use a domain-distributed electronic and electrical architecture, with the cockpit as a separate domain controlled by the in-vehicle infotainment system. Users can deploy third-party applications (apps) on the smart cockpit system; these apps are installed locally in the cockpit and managed by the local operating system. However, deploying third-party applications on the car's cockpit system leads to all functions running on the cockpit system, causing system resource shortages. Furthermore, deploying applications only on the cockpit system limits their awareness of the overall vehicle situation and hinders the efficient use of resources from other systems within the vehicle.

[0067] To address the aforementioned issues, this application provides a method, device, and cockpit management device for installing and running an in-vehicle application. The installation method, applied to a packaging management device, obtains and parses a summary file of the in-vehicle application to acquire its configuration information. This configuration information includes the deployment locations of multiple distributed components within the application, pre-setting the installation locations for each distributed component and installing them based on these locations. This allows the distributed components of the in-vehicle application to be deployed across various device nodes within the vehicle, improving the application's awareness of the overall vehicle situation. Furthermore, the distributed deployment method facilitates efficient utilization of resources across various systems within the vehicle. The installation method provided in this application embodiment will be described below.

[0068] Figure 1 A schematic flowchart of an installation method for an in-vehicle application provided in one embodiment of this application is shown. This installation method is applied to a packaging management device.

[0069] like Figure 1 As shown, the installation method for this in-vehicle application may specifically include the following steps:

[0070] S110, Obtain a summary file of the in-vehicle application, which may be a third-party application for use with devices installed in the vehicle.

[0071] In-vehicle applications can be any third-party user app that can be installed on devices within a vehicle, such as zone controllers, in-vehicle cloud storage, and cockpit controllers. The digest file for an in-vehicle application can be an XML-formatted digest file, which can be used to provide deployment instructions for the in-vehicle application.

[0072] For example, the in-vehicle application is a third-party app, which consists of files as shown in Table 1:

[0073] Table 1: App Component Information

[0074]

[0075]

[0076] S120: Parse the summary file to obtain the configuration information of the vehicle application. The configuration information may include the deployment locations of multiple distributed components in the vehicle application.

[0077] Configuration information can be used to deploy and manage multiple distributed components in an in-vehicle application. These distributed components can be decentralized applications (dapps), and their deployment locations can be the available locations for deployment. Each distributed component can have one or more deployment locations.

[0078] For example, parsing the digest file in the app format yields the configuration information shown in Table 2:

[0079] Table 2: App Configuration Information

[0080]

[0081] The domain in Table 2 above is used to identify the deployment location of distributed components (dapps).

[0082] S130 installs distributed components based on the deployment location of each distributed component.

[0083] As an example, such as Figure 2As shown, after parsing the summary file of the app to be installed to obtain its configuration information, the system retrieves the multiple dapps included in the app and the deployment location of each dapp. Then, the dapps are installed based on their respective deployment locations. For example, the business logic components of the dapps are deployed in containers on each zone controller. These containers are typically sandboxes implemented using virtualization technologies such as Docker and Linux Containers (LXC). Device requests (hardware calls) are deployed in the distributed call components on each zone controller. These components are typically middleware that implements communication protocols such as Data Distribution Service for Real-Time Systems (DDS), Message Queuing Telemetry Transport (MQTT), and Scalable Service-Oriented Middleware over IP (SOMEIP). Finally, data is stored in a dedicated in-vehicle storage server, which is typically an integration of a non-relational database and a file system. This deployment method fully utilizes the storage of each component, allowing multiple large apps to be deployed in the vehicle, and supports storage expansion such as in-vehicle cloud storage.

[0084] In this embodiment, by obtaining and parsing the digest file of the in-vehicle application, the configuration information of the in-vehicle application is obtained. This configuration information includes the deployment locations of multiple distributed components within the in-vehicle application; that is, the pre-defined installation locations of each distributed component are preset, allowing the distributed components to be installed based on their designated locations. This enables the distributed components of the in-vehicle application to be deployed across various device nodes within the vehicle, improving the application's awareness of the overall vehicle situation. Furthermore, the distributed deployment method facilitates efficient utilization of resources across various systems within the vehicle.

[0085] In some embodiments, the configuration information may further include version information of the in-vehicle application and component identifiers of distributed components in the in-vehicle application. Before S130, the method may further include:

[0086] Retrieve the component identifiers of the installed components in the deployment location of the distributed components.

[0087] If the component identifier of the installed component matches the component identifier of the distributed component, obtain the version information of the installed component.

[0088] If the version information of an installed component is lower than that of the in-vehicle application, uninstall the installed component.

[0089] Version information can be the version number of the in-vehicle application, and the component identifier of the distributed component can be a name that uniquely identifies the distributed component, such as letters, symbols, or numbers. When deploying the distributed component of the in-vehicle application, it checks whether there is an installed component with the same identifier as the distributed component in the deployment location. If the component identifier determines that the installed component in the deployment location matches the component identifier of the distributed component, the older (lower version) installed component is uninstalled, and then the newer (higher version) distributed component is installed.

[0090] Additionally, the system can obtain the identification information of the in-vehicle application and the identification information of the application to which the installed component belongs. If the component identifier of the installed component matches the component identifier of the distributed component, the system uses the identification information of the in-vehicle application and the application to which the installed component belongs to determine whether the in-vehicle application and the application to which the installed component belong are identical. If they are identical, the installed component is uninstalled if its version information is lower than that of the in-vehicle application.

[0091] As an example, when a music app is deployed and installed in a car, the system determines whether there is an existing dapp with the same version in the dapp's deployment location based on the names and deployment locations of each dapp in the music app's configuration information. If so, the older version of the existing dapp in the deployment location is uninstalled, and then the new dapp is installed.

[0092] In this embodiment of the application, by obtaining the component identifier of the installed component in the deployment location of the distributed component, and if it is determined that the component identifier of the installed component is consistent with the component identifier of the distributed component, the version information of the installed component is obtained, and if the version information of the installed component is lower than the version information of the vehicle application, the installed component is uninstalled. This facilitates the subsequent installation of the distributed component at the deployment location.

[0093] In some embodiments, the configuration information may further include the permissions that the in-vehicle application needs to authenticate. Before S130: installing the distributed component based on the deployment location information of each distributed component, the method may further include:

[0094] Send an authorization request to the terminal device. The authorization request may include permissions that the in-vehicle application needs to authenticate.

[0095] The system receives authorization information sent by the terminal device. This authorization information may include information granting permissions that require authentication for the in-vehicle application.

[0096] Terminal devices can be electronic devices used by users for authentication, such as mobile phones, tablets, and computers.

[0097] After parsing the summary file to obtain the configuration information, the system retrieves the permissions that the in-vehicle application needs to authenticate, i.e. the permissions required by the in-vehicle application, and sends an authorization request to the terminal device. The authorization request is used to request the terminal device to authorize the in-vehicle application to authenticate the required permissions.

[0098] After receiving an authorization request, the user authorizes the request and generates authorization information. The terminal device also receives information from the terminal device authorizing the necessary permissions for the in-vehicle application.

[0099] In this embodiment, by sending an authorization request to the terminal device, which may include the permissions that the in-vehicle application needs to authenticate, and receiving information from the terminal device authorizing the permissions that the in-vehicle application needs to authenticate, the in-vehicle application can be installed only after obtaining user authorization, thereby improving the security of installing the in-vehicle application.

[0100] In some embodiments, the configuration information may further include the dependencies between the distributed components. After installing the distributed components based on their deployment locations in S130, the method may further include:

[0101] Send the dependencies of each distributed component to the resource management device so that the resource management device can run each installed distributed component based on the dependencies.

[0102] Parse the summary file of the in-vehicle application to obtain configuration information, retrieve the dependencies of each distributed component included in the in-vehicle application from the configuration information, and register them in the resource manager.

[0103] In this embodiment, by sending the dependencies of each distributed component to the resource management device, the resource management device can run each installed distributed component based on the dependencies, which facilitates the resource manager to start the distributed components in sequence and realize the normal operation of the vehicle application.

[0104] In some embodiments, the configuration information may further include resources contained in the distributed component and interfaces provided by the distributed component, and the method may further include:

[0105] The resource management device sends the resources contained in the distributed component and the interfaces provided by the distributed component to the resource management device, so that the resource management device can generate a routing configuration based on the resources contained in the distributed component and the interfaces provided by the distributed component. The routing configuration is used for communication between the distributed components.

[0106] The installation management device and the resource management device can be two core modules of the in-vehicle distributed app deployment system provided in this application embodiment. The installation management device can be a device that can install in-vehicle applications in various locations in the car, and the resource management device is used to manage the resources contained in the in-vehicle applications, such as images, videos, user data and other resources.

[0107] In some embodiments, the installation management device registers the resources contained in the distributed component and the interfaces provided by the distributed component to the resource management device, and the registration content may be the content of a summary file.

[0108] In some embodiments, the installation management device sends configuration information to the resource management device.

[0109] In some embodiments, the resource management device deploys routing configurations on a central gateway. For example, the communication module of a distributed app can be deployed directly on the gateway. When network functionality fails, other functional components of the distributed app will still send data to the central gateway as usual, which will handle the situation as appropriate. Network connectivity issues will not affect any modules of the distributed app other than the communication module.

[0110] As an example, such as Figure 2 As shown, the vehicle cockpit controller includes an installation manager and a resource manager. The installation manager installs the app onto all device nodes within the vehicle. Then, the installation manager registers the resources required by each dapp included in the app, as well as the interfaces they provide, with the resource manager, generating registration information. At this point, the installation manager's task is complete. After the app is installed, the resource manager is responsible for monitoring it. Based on the registration information of all current dapps, the resource manager generates routing configurations and deploys these configurations directly on the central gateway, ensuring efficient communication between the dapp components.

[0111] In this embodiment, by sending the resources contained in the distributed component and the interfaces provided by the distributed component to the resource management device, the resource management device generates a routing configuration based on the resources contained in the distributed component and the interfaces provided by the distributed component. The routing configuration is used for communication between the distributed components, thus ensuring efficient communication between the distributed components.

[0112] Figure 3 A flowchart illustrating an embodiment of the present application provides a method for running an application, which is applied to a resource management device.

[0113] like Figure 3 As shown, the specific steps for running this application can include the following:

[0114] S310 receives a command from a terminal device to launch an in-vehicle application, which is a third-party application installed in a vehicle.

[0115] S320, based on instructions, obtains configuration information of the vehicle application. The configuration information is sent by the installation management device and may include the dependencies of the various distributed components of the vehicle application, as well as the deployment location of the installation.

[0116] S330 runs distributed components installed at various deployment locations according to their dependencies.

[0117] The command to launch the in-vehicle application can be a command sent by the terminal device to the resource management device when the in-vehicle application is running. After receiving the command, the resource management device obtains the configuration information of the in-vehicle application, which may have been pre-sent to it by the installation management device. Then, based on the dependencies of the various distributed components of the in-vehicle application in the configuration information, it runs the distributed components installed at each deployment location.

[0118] As an example, when a user runs a deployed distributed app, they send a command to the resource manager via their mobile phone to start the distributed app. After receiving the start command, the resource manager retrieves the configuration information of the distributed app, and then starts each distributed component in the order of its dependencies as specified in the configuration information, and monitors it.

[0119] In this embodiment, a command to launch an in-vehicle application is received from a terminal device. Then, based on the command, the configuration information of the in-vehicle application is obtained. This configuration information, sent by the installation management device, may include the dependencies of the various distributed components of the in-vehicle application and their installation deployment locations. Subsequently, the distributed components installed at each deployment location are run according to their dependencies. In this way, the resource manager can ensure the normal operation of the in-vehicle application based on the configuration information sent by the installation management device.

[0120] In some embodiments, the deployment location may include a region controller, and S330 may specifically include:

[0121] Obtain the load on the zone controllers with horizontal scaling components installed, where horizontal scaling components are functionally identical distributed components among the distributed components.

[0122] Based on dependencies, horizontal expansion components are installed within area controllers whose operating load is less than a preset threshold.

[0123] The zone controller may include front left, front right, rear left, and rear right zone controllers.

[0124] When running an in-vehicle application, if there is a horizontal scaling component (i.e., a distributed component with the same function) in the distributed components of the in-vehicle application, the load of the zone controller with the horizontal scaling component installed is obtained, and the zone controller with the load less than a preset threshold is identified. Then, the horizontal scaling component installed in the zone controller is run based on the dependency relationship. The load may include the central processing unit (CPU) load and the network load. The preset threshold can be a threshold set by the user based on experience and actual needs, such as 0.6.

[0125] As an example, when running an app in File Explorer, if a dapp within that app is a horizontally scaled (functionally identical) component—meaning multiple dapps with the same functionality are deployed across multiple zone controllers—for example, dapp_fl, dapp_fr, dapp_bl, and dapp_br are distributed horizontally scaled components deployed on the left front, right front, left rear, and right rear zone controllers, respectively. If the loads of the four zone controllers are obtained, and the loads on the left front, right front, left rear, and right rear zone controllers are 0.7, 0.5, 0.4, and 0.8, respectively, then the horizontally scaled components installed on the right front zone controller and the left rear zone controller, where the load is less than 0.6, will be run.

[0126] In this embodiment, the load of the region controller with installed horizontal scaling components is obtained. The horizontal scaling components are functionally identical distributed components among the distributed components. Based on dependencies, the horizontal scaling components installed in region controllers with loads below a preset threshold are run. This allows for the deployment of functionally identical horizontal scaling components in multiple region controllers, prioritizing the horizontal scaling components in region controllers with lower loads, thus improving the performance and efficiency of in-vehicle applications.

[0127] In some embodiments, the method of running the application may further include:

[0128] If the load on each region controller where a horizontal scaling component is installed exceeds a preset threshold, the distributed component installed on the region controller with the lowest load among the horizontal scaling components will be run based on dependencies.

[0129] In some embodiments, before obtaining the load of the zone controller with the installed horizontal expansion components, the load of the zone controller with the installed horizontal expansion components is calculated according to a preset formula, which is:

[0130] RL=[a*Max(2 cpu -1,2 bw -1)+Min(2 cpu -1,2 bw -1)] / (a+1)

[0131] Where 'a' is an empirical parameter, 'cpu' is the CPU load of the zone controller, and 'bw' is the network load of the zone controller.

[0132] The preset formula can be used to calculate the load RL of a zone controller with installed horizontal expansion components, for example, it can be used as follows: Figure 2 As shown, when the in-vehicle application is running in the resource manager, the load RL of the zone controller is calculated using a distributed computing framework in each zone controller of the vehicle.

[0133] 'a' is an empirical parameter, which takes a value between 2 and 7 depending on the different situations of the vehicle-mounted distributed app deployment system provided in the embodiments of this application. 'cpu' is the CPU load of the area controller, and 'bw' is the network load of the area controller. The domains of both 'cpu' and 'bw' are [0, 1].

[0134] As an example, when running an app in File Explorer, if the app contains four identical dapps deployed on four different zone controllers (front left, front right, rear left, and rear right), and the load values ​​for these zone controllers are 0.7, 0.5, 0.4, and 0.8 respectively, then the horizontal scaling component installed on the front right zone controller (with a load less than 0.6) and the rear left zone controller will be run. After running for a period of time, if the load values ​​for the four zone controllers become 0.8, 0.8, 0.7, and 0.65 respectively, then the dapp component will be run only on the rear left zone controller (with a load of 0.65).

[0135] In this embodiment, when the load of each zone controller with a horizontal expansion component installed exceeds a preset threshold, the distributed component installed in the zone controller with the lowest load among the horizontal expansion components is run based on the dependency relationship. In this way, the load of each zone controller can be balanced, avoiding system resource shortage, facilitating efficient use of the resources of each zone controller, and improving the running effect of the vehicle application.

[0136] Figure 4 This is a schematic diagram of the structure of a resource management device 400 according to an exemplary embodiment.

[0137] like Figure 4 As shown, the resource management device 400 may include:

[0138] Module 401 is used to obtain the summary file of the in-vehicle application.

[0139] Parsing module 402 is used to parse the digest file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application.

[0140] Install module 403, used to install distributed components based on the deployment location of each distributed component.

[0141] In some implementations, the configuration information may further include version information of the in-vehicle application and component identifiers of distributed components within the in-vehicle application; the application installation device 400 may also include an uninstallation module.

[0142] The acquisition module 401 is further configured to acquire the component identifiers of already installed components in the deployment location of the distributed component before installing the distributed component based on the deployment location information of each distributed component.

[0143] The acquisition module 401 is also used to acquire the version information of the installed component if it is determined that the component identifier of the installed component matches the component identifier of the distributed component.

[0144] The uninstallation module is used to uninstall installed components when the version information of the installed components is lower than that of the in-vehicle application.

[0145] In some implementations, the configuration information may also include the permissions that the in-vehicle application needs to authenticate, and the application installation device 400 may further include a sending module and a receiving module.

[0146] The sending module is used to send an authorization request to the terminal device before installing the distributed component based on the deployment location information of each distributed component. The authorization request includes the permissions that the in-vehicle application needs to authenticate.

[0147] The receiving module is used to receive authorization information sent by the terminal device. The authorization information includes information on authorizing the permissions that the in-vehicle application needs to authenticate.

[0148] In some implementations, the configuration information may also include the dependencies between the distributed components.

[0149] The sending module is also used to send the dependencies of each distributed component to the resource management device after the distributed component is installed based on the deployment location of each distributed component, so that the resource management device can run each installed distributed component based on the dependencies.

[0150] In some implementations, the configuration information may also include the resources contained in the distributed component and the interfaces provided by the distributed component.

[0151] The sending module is also used to send the resources contained in the distributed components and the interfaces provided by the distributed components to the resource management device, so that the resource management device can generate routing configurations based on the resources contained in the distributed components and the interfaces provided by the distributed components. The routing configurations are used for communication between the distributed components.

[0152] Therefore, in this embodiment, by obtaining and parsing the digest file of the in-vehicle application, the configuration information of the in-vehicle application is obtained. This configuration information includes the deployment locations of multiple distributed components within the in-vehicle application; that is, the pre-defined installation locations of each distributed component are pre-set, allowing the distributed components to be installed based on their respective deployment locations. This allows the distributed components of the in-vehicle application to be deployed across various device nodes within the vehicle, improving the application's awareness of the overall vehicle situation. Furthermore, the distributed deployment method facilitates efficient utilization of resources across various systems within the vehicle.

[0153] Based on this, embodiments of this application provide a resource management device 500, including:

[0154] Receiver module 501 is used to receive the instruction sent by the terminal device to launch the vehicle application.

[0155] The acquisition module 502 is used to acquire configuration information of the in-vehicle application based on instructions. The configuration information is sent by the installation and management device and includes the dependencies of various distributed components of the in-vehicle application and the deployment location of the installation.

[0156] Run module 503 is used to run the distributed components installed in each deployment location according to their dependencies.

[0157] In some implementations, the deployment location may include a zone controller.

[0158] The acquisition module 502 is also used to acquire the load of the zone controllers with installed horizontal scaling components, wherein the horizontal scaling components are functionally identical distributed components among the distributed components.

[0159] The running module 503 is also used to run horizontal expansion components installed in the area controller based on dependencies, where the load is less than a preset threshold.

[0160] In some implementations, the operation module 503 is further configured to, based on dependencies, run the distributed component installed in the region controller with the lowest load among the horizontal expansion components when the load of each region controller in which the horizontal expansion component is installed exceeds a preset threshold.

[0161] Therefore, the system receives a command from the terminal device to launch the in-vehicle application. Next, based on the command, it obtains the configuration information of the in-vehicle application. This configuration information, sent by the installation management device, may include the dependencies of the various distributed components of the in-vehicle application and their deployment locations. Then, it runs each distributed component installed at its respective deployment location according to the dependencies. In this way, the resource manager can ensure the normal operation of the in-vehicle application based on the configuration information sent by the installation management device.

[0162] Figure 6 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0163] An electronic device may include a processor 601 and a memory 602 storing computer program instructions.

[0164] Specifically, the processor 601 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0165] Memory 602 may include mass storage for data or instructions. For example, and not limitingly, memory 602 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 602 may include removable or non-removable (or fixed) media. Where appropriate, memory 602 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 602 is non-volatile solid-state memory.

[0166] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0167] The processor 601 reads and executes computer program instructions stored in the memory 602 to implement any of the vehicle application installation and operation methods in the above embodiments.

[0168] In one example, the electronic device may also include a communication interface 603 and a bus 610. For example, Figure 6 As shown, the processor 601, memory 602, and communication interface 603 are connected through bus 610 and complete communication with each other.

[0169] The communication interface 603 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0170] Bus 610 includes hardware, software, or both, that couples together components of the installation and operation equipment for in-vehicle applications. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 610 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0171] This electronic device can obtain the configuration information of the in-vehicle application by acquiring a summary file of the in-vehicle application, parsing the summary file, and executing the in-vehicle application installation and operation method in this embodiment, thereby achieving a combination of... Figure 1 and Figure 3 The description outlines the installation and operation methods for in-vehicle applications.

[0172] Furthermore, in conjunction with the installation and operation methods of in-vehicle applications in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the installation and operation methods of in-vehicle applications in the above embodiments.

[0173] This invention also provides a cockpit control device for automobiles, including the aforementioned installation management device and resource management device.

[0174] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0175] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0176] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0177] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other installation and operation apparatus for a programmable application to create a machine such that these instructions, which execute via the processor of the computer or other installation and operation apparatus for a programmable application, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0178] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method of installing an in-vehicle application, characterized by, The method is applied to installation and management equipment, including: Obtain the summary file of the in-vehicle application, which is a third-party application for installation on devices within a vehicle. The digest file is parsed to obtain the configuration information of the in-vehicle application, which includes the deployment locations of multiple distributed components in the in-vehicle application. Install the distributed component based on the deployment location of each distributed component; The method further includes: The resource management device runs the multiple distributed components installed at various deployment locations according to the dependencies between the multiple distributed components, and the deployment locations include zone controllers; The step of running the multiple distributed components installed at various deployment locations according to the dependencies between the multiple distributed components includes: Based on empirical parameters and the CPU and network load of the zone controller with installed horizontal scaling components, the load of the zone controller with installed horizontal scaling components is calculated, wherein the horizontal scaling components are functionally identical distributed components among the distributed components. Based on the aforementioned dependency, the horizontal expansion component installed in the area controller with a load less than a preset threshold is run. The calculation of the load of the zone controller with the installed horizontal scaling components, based on empirical parameters and the CPU and network load of the zone controller with the installed horizontal scaling components, includes: Based on the empirical parameters, the CPU load, and the network load, the load of the zone controller with the installed horizontal expansion components is calculated according to a preset formula, wherein the preset formula is: RL refers to the load, cpu refers to the central processing unit load, bw refers to the network load, and a refers to the empirical parameter, which is determined based on the different situations of the vehicle-mounted distributed app deployment system.

2. The method according to claim 1, characterized in that, The configuration information also includes version information of the in-vehicle application and component identifiers of the distributed components in the in-vehicle application. Before installing the distributed components based on their deployment locations, the method further includes: Obtain the component identifiers of the installed components in the deployment location of the distributed component. If the component identifier of the installed component matches the component identifier of the distributed component, then obtain the version information of the installed component. If the version information of the installed component is lower than the version information of the vehicle application, uninstall the installed component.

3. The method according to claim 1, characterized in that, The configuration information also includes the permissions that the in-vehicle application needs to authenticate. Before installing the distributed component based on the deployment location of each distributed component, the method further includes: An authorization request is sent to the terminal device, the authorization request including the permissions that the in-vehicle application needs to authenticate. The system receives authorization information sent by the terminal device, the authorization information including information on authorizing the permissions that the in-vehicle application needs to authenticate.

4. The method according to claim 1, characterized in that, The configuration information also includes the dependencies of each distributed component. After installing the distributed component based on its deployment location, the method further includes: The resource management device sends the dependencies of each distributed component to the resource management device so that the resource management device can run the installed distributed components based on the dependencies.

5. The method according to claim 1, characterized in that, The configuration information also includes the resources contained in the distributed component and the interfaces provided by the distributed component, and the method further includes: The resource management device sends the resources contained in the distributed component and the interfaces provided by the distributed component to the resource management device, so that the resource management device generates a routing configuration based on the resources contained in the distributed component and the interfaces provided by the distributed component. The routing configuration is used for communication between the distributed components.

6. A method for operating an in-vehicle application, characterized in that, The method is applied to a resource management device, including: The system receives a command from a terminal device to launch an in-vehicle application, which is a third-party application installed on devices within the vehicle. Based on the instruction, the configuration information of the vehicle application is obtained. The configuration information is sent by the installation management device. The configuration information includes the dependencies of each distributed component of the vehicle application and the installation deployment location, including the area controller. Run the distributed components installed at each deployment location according to the aforementioned dependencies; The process of running each distributed component installed at each deployment location according to the aforementioned dependencies includes: Based on empirical parameters and the CPU and network load of the zone controller with installed horizontal scaling components, the load of the zone controller with installed horizontal scaling components is calculated, wherein the horizontal scaling components are functionally identical distributed components among the distributed components. Based on the aforementioned dependency, the horizontal expansion component installed in the area controller with a load less than a preset threshold is run. The calculation of the load of the zone controller with the installed horizontal scaling components, based on empirical parameters and the CPU and network load of the zone controller with the installed horizontal scaling components, includes: Based on the empirical parameters, the CPU load, and the network load, the load of the zone controller with the installed horizontal expansion components is calculated according to a preset formula, wherein the preset formula is: RL refers to the load, cpu refers to the central processing unit load, bw refers to the network load, and a refers to the empirical parameter, which is determined based on the different situations of the vehicle-mounted distributed app deployment system.

7. The method according to claim 6, characterized in that, The method further includes: If the load on each region controller where the horizontal scaling component is installed exceeds a preset threshold, the distributed component installed on the region controller with the lowest load among the horizontal scaling components will be run based on the dependency relationship.

8. An installation and management device, characterized in that, The installation management equipment includes: The acquisition module is used to acquire a summary file of an in-vehicle application, which is a third-party application used to install on devices within a vehicle. The parsing module is used to parse the digest file to obtain the configuration information of the in-vehicle application. The configuration information includes the deployment locations of multiple distributed components in the in-vehicle application. An installation module is used to install the distributed component based on the deployment location of each distributed component; The installation module is also used for: The resource management device runs the multiple distributed components installed at various deployment locations according to the dependencies between the multiple distributed components, and the deployment locations include zone controllers; The step of running the multiple distributed components installed at various deployment locations according to the dependencies between the multiple distributed components includes: Based on empirical parameters and the CPU and network load of the zone controller with installed horizontal scaling components, the load of the zone controller with installed horizontal scaling components is calculated, wherein the horizontal scaling components are functionally identical distributed components among the distributed components. Based on the aforementioned dependency, the horizontal expansion component installed in the area controller with a load less than a preset threshold is run. The calculation of the load of the zone controller with the installed horizontal scaling components, based on empirical parameters and the CPU and network load of the zone controller with the installed horizontal scaling components, includes: Based on the empirical parameters, the CPU load, and the network load, the load of the zone controller with the installed horizontal expansion components is calculated according to a preset formula, wherein the preset formula is: RL refers to the load, cpu refers to the central processing unit load, bw refers to the network load, and a refers to the empirical parameter, which is determined based on the different situations of the vehicle-mounted distributed app deployment system.

9. A resource management device, characterized in that, The resource management device includes: The receiving module is used to receive instructions from the terminal device to launch the in-vehicle application, which is a third-party application installed in the vehicle. The acquisition module is used to acquire the configuration information of the vehicle application based on the instruction. The configuration information is sent by the installation management device. The configuration information includes the dependencies of each distributed component of the vehicle application and the installation deployment location, including the area controller. A runtime module is used to run the distributed components installed at each deployment location according to the dependencies; The operating module is also used for: Based on empirical parameters and the CPU and network load of the zone controller with installed horizontal scaling components, the load of the zone controller with installed horizontal scaling components is calculated, wherein the horizontal scaling components are functionally identical distributed components among the distributed components. Based on the aforementioned dependency, the horizontal expansion component installed in the area controller with a load less than a preset threshold is run. The calculation of the load of the zone controller with the installed horizontal scaling components, based on empirical parameters and the CPU and network load of the zone controller with the installed horizontal scaling components, includes: Based on the empirical parameters, the CPU load, and the network load, the load of the zone controller with the installed horizontal expansion components is calculated according to a preset formula, wherein the preset formula is: RL refers to the load, cpu refers to the central processing unit load, bw refers to the network load, and a refers to the empirical parameter, which is determined based on the different situations of the vehicle-mounted distributed app deployment system.

10. A cockpit control device for an automobile, characterized in that, The vehicle's cockpit control equipment includes the installation management equipment as described in claim 8 and the resource management equipment as described in claim 9.

Citation Information

Patent Citations

  • Autonomous driving control apparatus, vehicle having the same and method for controlling the vehicle

    CN110618675A

  • Vehicle ECU upgrading method and device, electronic equipment and storage medium

    CN114125000A

  • Product deployment method and device based on mixed environment

    CN114240265A