Method and device for installing automatic driving program of vehicle-mounted equipment
By using containerization technology to install programs in vehicle-mounted devices, the risk of leakage caused by direct distribution of software packages is resolved, the security and stability of the installation are improved, the program deployment process is simplified, and the security and ease of operation and maintenance of the vehicle system are enhanced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUOQI INTELLIGENT CONTROL (CHONGQING) TECH CO LTD
- Filing Date
- 2026-04-23
- Publication Date
- 2026-07-14
Smart Images

Figure CN122064351B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method and apparatus for installing an autonomous driving program for an in-vehicle device. Background Technology
[0002] A software package refers to a program stored as a file before software installation. Its content is generally unrestricted and can include program images that can be programmed, executable files, etc. Currently, software packages can be distributed to different in-vehicle devices, where the corresponding applications are installed. However, directly distributing software packages to in-vehicle devices may leak the software code within the package, posing a risk of malicious distribution or copying of the software. Summary of the Invention
[0003] This application provides a method and apparatus for installing an autonomous driving program on an in-vehicle device, in order to solve the problem of software leakage caused by directly distributing software packages to in-vehicle devices in the prior art.
[0004] Firstly, a method for installing an autonomous driving program on an in-vehicle device is provided, applied to the in-vehicle device, the method comprising:
[0005] The program installation request is obtained through the autonomous driving program installed on the vehicle device. The program installation request includes the program information of the target program.
[0006] Based on the program information of the target program, determine the target program image corresponding to the program information of the target program;
[0007] Start the target program image to identify the installation package of the target program within the target program image;
[0008] By running the container corresponding to the target program image, the installation package of the target program is executed to perform the installation operation of the target program and obtain the installation result of the target program.
[0009] The installation results of the target program are output through the autopilot program.
[0010] Secondly, a method for installing an autonomous driving program on a vehicle-mounted device is provided, applied to a computing device, the method comprising:
[0011] In response to a user-triggered container build request, an empty container is generated;
[0012] The system registration program, the target program's installation package, and the installer are configured in an empty container to obtain the configured container;
[0013] Convert the configured container into the corresponding target container image;
[0014] The target container image is stored on a storage device. After the storage device is electrically connected to the vehicle device, the target container image is used to start after the vehicle device receives the program installation request and determines the container image corresponding to the program information of the target program, so as to determine the installation package of the target program and perform the installation operation of the target program based on the container of the container image.
[0015] Thirdly, an automatic driving program installation device for an in-vehicle device is provided, comprising:
[0016] The request receiving unit is used to obtain a program installation request through the autonomous driving program installed on the vehicle-mounted device. The program installation request includes program information of the target program.
[0017] The image determination unit is used to determine the target program image corresponding to the program information of the target program based on the program information of the target program.
[0018] The image boot unit is used to boot the target program image to identify the installation package of the target program in the target program image;
[0019] The container installation unit is used to run the installation package of the target program through the container corresponding to the target program image, so as to perform the installation operation of the target program and obtain the installation result of the target program.
[0020] The result output unit is used to output the installation results of the target program through the automatic driving program.
[0021] Fourthly, an automatic driving program installation device for an in-vehicle device is provided, comprising:
[0022] A container building unit, used to generate an empty container in response to a user-triggered container build request;
[0023] The container configuration unit is used to configure the system registration program, the installation package of the target program, and the installer in an empty container to obtain the configured container;
[0024] The image generation unit is used to convert the configured container into the corresponding target container image;
[0025] The image sending unit is used to store the target container image to the storage device. After the storage device establishes an electrical connection with the vehicle device, the target container image is used to start after the vehicle device receives the program installation request and determines the container image corresponding to the program information of the target program, so as to determine the installation package of the target program and perform the installation operation of the target program based on the container image.
[0026] Fifthly, this application provides an in-vehicle device, including: a processor, and a memory communicatively connected to the processor;
[0027] The memory stores the instructions that the computer executes;
[0028] The processor executes computer execution instructions stored in memory to implement the method for installing an autonomous driving program for an onboard device, as described in either the first or second aspect.
[0029] Sixthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement an autonomous driving program installation method for an in-vehicle device as described in any of the first or second aspects.
[0030] In a seventh aspect, this application provides a computer program product, including a computer program that, when executed by a processor, implements an autonomous driving program installation method for an in-vehicle device as described in any of the first or second aspects.
[0031] The technical solution provided in this application allows in-vehicle devices to accurately match the corresponding target program image by extracting the program information of the target program. It then quickly locates the built-in program installation package based on the boot image, and uses an independent container runtime environment to complete the isolated deployment and automated installation of the installation package, generating installation results. Finally, the autonomous driving program outputs unified installation feedback, achieving a closed loop of program image matching, containerized isolated installation, automated installation process, and result visualization. This solution leverages container characteristics to avoid environmental dependency conflicts, system permission interference, and file compatibility issues during installation, ensuring stable and controllable installation operations and a clean and independent runtime environment. Furthermore, it accurately associates image resources based on program information, simplifying program deployment and matching logic, improving the installation efficiency and adaptability of the target program in in-vehicle scenarios. Simultaneously, the autonomous driving program aggregates and outputs installation results, facilitating real-time perception of the installation status and rapid anomaly detection by the in-vehicle system, enhancing the security, standardization, and ease of maintenance of in-vehicle program iterative deployment. Attached Figure Description
[0032] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0033] Figure 1 A system architecture diagram for an autonomous driving program installation method for an in-vehicle device provided in an embodiment of this application;
[0034] Figure 2 A flowchart illustrating one embodiment of an autonomous driving program installation method for an in-vehicle device provided in this application;
[0035] Figure 3 A flowchart of yet another embodiment of an automatic driving program installation method for an in-vehicle device provided in this application;
[0036] Figure 4 A flowchart of yet another embodiment of an automatic driving program installation method for an in-vehicle device provided in this application;
[0037] Figure 5 A flowchart illustrating an example of container construction provided in this application embodiment;
[0038] Figure 6 A schematic diagram of one embodiment of an automatic driving program installation device for an in-vehicle device provided in this application;
[0039] Figure 7 A schematic diagram of another embodiment of an automatic driving program installation device for an in-vehicle device provided in this application;
[0040] Figure 8 A block diagram of an in-vehicle device for implementing the present disclosure, provided as an embodiment of the present disclosure.
[0041] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0042] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0043] The technical solution disclosed herein can be applied to the field of computer technology. By configuring the installation package of the target program in the target program image, and running the installation package of the target program through the container corresponding to the target program image, the installation of the target program is achieved. The container and the target program image isolate the vehicle device and the installation package of the target program, thereby avoiding direct exposure of the installation package of the target program to the vehicle device and improving the installation security and stability of the target program.
[0044] In related technologies, software vendors can provide software installation packages to end customers. After obtaining the installation package, the client can run it and complete the program installation. However, there are currently situations where it is inconvenient to directly provide the software installation package to the client to achieve purposes such as confidentiality and protection of the installation package. For example, in the software demonstration stage of a software transaction, there may be situations where the software package is directly distributed to customers for trial use. However, directly distributing the installation package may pose a risk of software leakage, leading to a reduction in the commercial value of the software.
[0045] To address the aforementioned issues, this disclosure considers that a container is a process capable of running programs, and that the existence of a container can isolate the device from the program running within it. Therefore, the installation process of the target program can be isolated through a container. In this solution, container configuration is considered for the software, i.e., the application installation package, enabling secure installation of applications or software through container installation.
[0046] In this disclosure, the vehicle-mounted device can accurately match the corresponding target program image by extracting the program information of the target program, quickly locate the built-in program installation package based on the boot image, and then complete the isolated deployment and automated installation operation of the installation package and generate the installation result with the help of the container's independent running environment. Finally, the autonomous driving program outputs the installation feedback in a unified manner, realizing a closed loop of program image matching, containerized isolated installation, automated installation process and result visualization throughout the entire process. It can not only use the characteristics of containers to avoid environmental dependency conflicts, system permission interference and file compatibility issues during the installation process, ensuring that the installation operation is stable and controllable and the running environment is clean and independent, but also accurately associate image resources based on program information, simplify the program deployment matching logic, improve the installation efficiency and adaptability of the target program in the vehicle scenario, and collect and output the installation results through the autonomous driving program, so that the vehicle system can perceive the installation status in real time, quickly check the anomalies, and enhance the security, standardization and maintenance convenience of the iterative deployment of vehicle programs.
[0047] The technical solution of this disclosure will now be described in detail with reference to the accompanying drawings.
[0048] Figure 1 This is a system architecture diagram of an embodiment of a program installation method provided according to this disclosure. In practical applications, data forwarding can be performed between the software vendor's computing device 1 and the vehicle-mounted device 2 via a storage device 3. In practical applications, refer to... Figure 1The computing device 1 and the vehicle-mounted device 2 can be, for example, computers, and the storage device 3 can be, for example, a USB flash drive. The computing device 1 and the storage device 3 can be connected to the storage device 3 via a bus interface. The computing device 1 can create an installation container for the target program and a corresponding target program image based on the autonomous driving program installation method for vehicle-mounted devices provided in this disclosure. The computing device 1 can copy the target program image to the removable storage device 3. After the storage device 3 establishes a connection with the vehicle-mounted device 2, the vehicle-mounted device 2 can copy the target program image from the storage device 3. Then, in response to the startup request of the target program image, the vehicle-mounted device 2 can determine the installation package of the target program in the target program image. Through the container corresponding to the target program image, the installation package of the target program is run to perform the installation operation of the target program and obtain the installation result of the target program. The vehicle-mounted device 2 can also output the installation result of the target program. By setting the installation package of the target program in the target program image and achieving automatic installation of the target program through the container corresponding to the target program image, the installation efficiency and stability of the target program can be improved.
[0049] Figure 2 A flowchart illustrating one embodiment of a program installation method provided in this disclosure, which can be applied to in-vehicle devices, and includes the following steps:
[0050] 201: Obtain a program installation request through the autonomous driving program installed on the vehicle device. The program installation request includes program information of the target program.
[0051] Optionally, users can initiate a program installation request through the in-vehicle device. Specifically, the user can send a program installation request to the in-vehicle device via a mobile phone or other user terminal, or the in-vehicle device can detect the user-triggered program installation request through the autonomous driving program installation interface. The program installation request can be generated after the user triggers the installation control of the target program and can encapsulate the program information of the target program.
[0052] The program information of the target program may include, for example, the program name, version number, and the corresponding target program image.
[0053] Alternatively, an autonomous driving program can refer to an application that assists the driver of a vehicle in performing driving actions, or an application that automatically controls the driving of a vehicle.
[0054] The in-vehicle device can run and launch a preset autonomous driving program. This autonomous driving program, as the front-end interaction and service management unit of the in-vehicle system, generates corresponding program installation requests through various means, such as user-triggered program installation operations on the in-vehicle central control interface, voice command issuance of installation instructions, background service proactively pushing installation tasks, or remote issuance of installation instructions by the vehicle networking platform. The autonomous driving program captures, receives, and parses the program installation request through the in-vehicle system's internal process communication interface, service call interface, or message bus, extracting key information such as the identifier, type, version, and source of the program to be installed, completing the acquisition and preprocessing of the program installation request, and providing triggering basis and input data for subsequent image matching and containerized installation processes.
[0055] 202: Based on the program information of the target program, determine the target program image corresponding to the program information of the target program.
[0056] 203: Start the target program image to identify the installation package of the target program in the target program image.
[0057] Optionally, the target program image (target program image) can refer to a read-only, portable, and distributable standard software package that encapsulates the target program, dependent libraries, configuration files, and runtime environment, used for quickly creating, starting, and running containers. The file format of the target program image can include any of the following formats: tar (tape archive), IOS (Isolation), BIN (binary, 7457), IMG, etc. In this embodiment, no specific limitations are made on the specific file format of the target program image.
[0058] Optionally, the installation package of the target program can be obtained from the target program image. Files in the target program image can be read to obtain the installation package. The target program can be a program to be installed, or any application that provides software services to external users. The target program is placed within the target program image.
[0059] Step 201 may include: in response to the startup request of the target program image, starting the container corresponding to the target program image, and determining the installation package of the target program in the target program image through the container.
[0060] The computing device can generate a container and a target program image corresponding to the target program, and can copy the container and target program image to the vehicle device for installation and operation via a storage device. During the installation process, the target program image can isolate the target program installation package configured in the container, ensuring the security of the target program installation package.
[0061] 204: The target program's installation package is run through the container corresponding to the target program image to perform the installation operation and obtain the installation result of the target program.
[0062] A container can be a runtime instance of a target application image, which serves as a template for the container. Containers can be started based on a target application image to automate the installation of the target application. When you create a target application image, Docker creates a read-write container layer on top of the image's read-only layer.
[0063] Within the container layer, the installation package of the target program is run, which may specifically include the following steps:
[0064] The Docker client (docker command) for the vehicle-mounted equipment sends the installation request for the target program image to the Docker daemon (dockerd) via a REST (Representational State Transfer) interface. dockerd checks if the specified target program image exists locally. If not, it pulls the target program image from the configured image repository.
[0065] dockerd does not create containers directly, but delegates the task of container creation to a higher-level runtime (such as containerd). containerd is responsible for managing the entire lifecycle of a container, including image decompression and storage.
[0066] Next, containerd decompresses the pulled image (which consists of multiple read-only image layers) and combines these read-only layers with a newly created, empty read-write layer through a storage driver in a union mount manner to form a complete container root file system.
[0067] During container creation: containerd creates a dedicated shim process for the container to be created. Each container has a corresponding shim process, which takes over the container, allowing containerd to restart or upgrade without affecting the running container. The shim process calls the lower-level runtime (such as calling runC (the container command-line tool)) to actually start the container.
[0068] Among them, runC utilizes the operating system's kernel capabilities to create an isolated environment for the process that is about to start:
[0069] 1. Namespace: Creates isolated copies of various namespaces for container processes. For example, MountNamespace gives the container an independent view of the file system; PID Namespace makes processes within the container think they are process number 1; Network Namespace gives the container an independent network stack (IP, ports, etc.).
[0070] 2. Cgroups (Control Groups): Create and configure Cgroups to limit the amount of resources that a container process can use, such as CPU, memory, disk I / O, etc., to prevent it from exhausting the host machine's resources.
[0071] After configuring isolation and restrictions, runc starts the process in the isolated environment according to the image configuration. At this point, the container is truly running.
[0072] After the container starts, its main process acquires the PID 1 status within the container. The runc process exits after starting, and the shim process becomes the parent process of the container, responsible for collecting state information, keeping file descriptors open, etc.
[0073] PID 1 is responsible for receiving and processing signals from the Docker engine. When `docker stop` is executed, the Docker engine sends a signal to the PID 1 process inside the container via the shim to shut it down.
[0074] In other words, the image provides static "programs and data". A higher-level runtime (such as containerd) is responsible for managing and transporting the image. A lower-level runtime (such as runc) is responsible for utilizing the kernel's namespaces (isolation), cgroups (restriction), and union file system to "decompress" the image and run it in isolation. After the container starts, its main process runs as PID 1 in the isolated environment, and a shim process is responsible for monitoring and signal forwarding.
[0075] 205: Output the installation result of the target program through the autopilot program.
[0076] Optionally, step 205 may include: generating a result output page based on the installation result of the target program, and displaying the result output page through the autonomous driving program. The installation result of the target program can be used as the page content of the result output page.
[0077] In this embodiment, the target program's program information is extracted to accurately match the corresponding target program image. The built-in program installation package is quickly located using the boot image. Then, the isolated deployment and automated installation of the installation package are completed using a container-based independent runtime environment, generating installation results. Finally, the autonomous driving program outputs unified installation feedback, achieving a closed loop of program image matching, containerized isolated installation, automated installation process, and result visualization. This not only leverages container characteristics to avoid environmental dependency conflicts, system permission interference, and file compatibility issues during installation, ensuring stable and controllable installation operations and a clean and independent runtime environment, but also accurately associates image resources based on program information, simplifying program deployment and matching logic, improving the installation efficiency and adaptability of the target program in vehicle scenarios. Furthermore, the installation results are aggregated and output by the autonomous driving program, facilitating real-time perception of the installation status and rapid anomaly detection by the vehicle system, enhancing the security, standardization, and ease of maintenance of iterative deployment of vehicle programs.
[0078] In practical applications, in-vehicle devices have limited memory space and can be connected to external storage devices via interfaces such as USB. Therefore, in-vehicle devices can be electrically connected to external storage devices, allowing them to utilize the storage space. Furthermore, when program security is required, the corresponding program image can be retrieved from the storage device, and the corresponding application can be installed. Since storage devices typically have large storage capacity, they can store program images of multiple applications, forming a program image repository. Directly downloading all program images from the repository to the in-vehicle device might waste storage resources and result in insufficient responsiveness of the autonomous driving program. Therefore, this embodiment employs a targeted download method. Specifically, before downloading the target program image, it is necessary to first identify the program image to be downloaded. Therefore, based on the program information of the target program, the target program image corresponding to the program information is determined, including:
[0079] Obtain the metadata tags carried by multiple target program images from the program image repository stored in the storage device that is electrically connected to the vehicle equipment;
[0080] Convert the target program's program information into image tags;
[0081] Query the target metadata tags that match the image tags from the metadata tags carried by multiple target program images;
[0082] The program image associated with the target metadata tag is identified as the target program image.
[0083] Optionally, converting the target program's program information into image tags can include: converting the target program's program information into image tags according to a preset image tag structure. Specifically, a preset image tag structure can be obtained, and the target program's program information can be filled into the tag structure to obtain image tags.
[0084] Specifically, the preset image tag structure can include one or more fields, such as program name, program version, etc. Content from the program information corresponding to each field can be filled into the corresponding fields. For example, {app: mysql, version: 8.0.32, vendor: oracle}. Here, app, version, vendor, etc., are fields, and mysql, 8.0.32, and oracle are the program information filled into the corresponding fields.
[0085] In this embodiment, metadata tags attached to each program image are read in batches from the program image repository of an externally interconnected storage device. The native program information of the target program is then standardized and converted into a matching image tag. By comparing the tags, the matching target metadata tags are retrieved, and the program image associated with them is accurately identified as the required target program image. The unified collection and management of image resources is achieved by relying on an external centralized image repository. The lightweight and structured features of metadata tags are used to complete the fast and accurate mapping and matching of program information and images, avoiding the retrieval delay and computing power consumption caused by directly comparing large-capacity image bodies. At the same time, the standardized tag conversion eliminates the matching deviation caused by differences in program information format, improves the accuracy and retrieval efficiency of image selection, and ensures the efficiency, adaptability and reliability of program image calling in the vehicle scenario, providing accurate and compliant image support for subsequent containerized deployment and installation.
[0086] Furthermore, in practical applications, upon detecting a startup request for the target program image, the installation-related operations within the target program image can be automatically initiated, resulting in the corresponding installation. During the target program installation process, the user does not interact with the installation process; the installation is automated, effectively improving installation efficiency.
[0087] Furthermore, based on any of the above embodiments, launching the target program image includes:
[0088] Display the login page of the target program image;
[0089] Detect the login information entered by the user on the login page;
[0090] If the login information verification is successful, then start the target program image.
[0091] Optionally, the login page of the target program image can be the login page displayed after the target program image starts, and the login page may include a pop-up window. Furthermore, the login information entered by the user through the login page can be detected.
[0092] Login information verification may include: verifying the login information using a preset verification algorithm, obtaining the verification result, and if the verification result is successful, determining the installation package of the target program in the target program image. If the verification result is unsuccessful, outputting a verification failure message.
[0093] The preset verification algorithm may include, for example, a login information comparison algorithm, which compares the login information entered by the user with the login information already stored in the database. The comparison result can be used as the verification result. The comparison result can be the same or different; if the comparison result is the same, the verification is successful; if the comparison result is different, the verification fails.
[0094] The preset verification algorithm may also include a data verification algorithm, such as parity check algorithm, cumulative check algorithm, CRC check algorithm (Cyclic Redundancy Check), etc. In this embodiment, the specific type of data verification algorithm is not limited.
[0095] In this embodiment, during the startup process of the target program image, a login page of the target program image can be displayed. This login page prompts the user to log in, and the login information entered by the user on the login page can be detected. After successful login information verification, the installation package of the target program can be determined from the target program image. The interaction on the login page enables the acquisition of the user's login information. Verification of the login information verifies the security of the user's identity, thus providing a security check for the installation of the target program and improving its installation security.
[0096] like Figure 3 The flowchart shown is for another embodiment of a program installation method provided by this disclosure. The difference from the previous embodiments is that the target program image may contain an installer for the target program. Step 204: Execute the installation operation of the target program through the container corresponding to the target program image to obtain the installation result. This may include:
[0097] 301: Execute the system registration program in the target program image within the container.
[0098] Optionally, the image may include, for example, an LXC (Linux Container, kernel virtualization technology) container, which can provide lightweight virtualization to isolate processes and resources. The target program image may include an LXC image (Linux Container image, kernel virtualization image), which can retain private LXC login information, including username and password. The system registry may include an automatic installation service set up in the target program image, which can initiate software registration and begin software installation.
[0099] 302: The installer in the target program image is launched via the system registration program.
[0100] Optionally, the installer can be an automatic installer for the target program, and starting the installer can complete the automatic installation of the target program.
[0101] 303: The installer performs the installation operation on the installation package of the target program in the target program image to obtain the installation result of the target program.
[0102] Optionally, if the target program is installed and tested normally, the installation can be considered successful. If the installation process is interrupted or fails, the installation can be considered unsuccessful.
[0103] In this embodiment of the disclosure, the installation process of the target program can be performed by executing a system registration program for the target program image within a container. The system registration program then starts the installation program within the target program image, initiating the installation of the target program. After starting the installation program, the installation program can perform installation operations on the installation package of the target files in the target program image, resulting in the installation of the target program. Starting the installation program through the system registration program enables automatic installation of the target program, ensuring that the installation process is unaffected by other applications, thus improving the installation efficiency and stability of the target program.
[0104] Furthermore, before executing the system registration program in the target program image within the container, the following steps are also included:
[0105] If the bus interface detects a hardware access operation, the target program image and its container are copied from a storage device electrically connected to the vehicle device to the vehicle device.
[0106] Optionally, copying the container and target program image to the vehicle-mounted device may include copying the container and target program image from the storage device to the vehicle-mounted device. Hardware access operations may include hardware access operations to the storage device. The bus interface may include any hardware interface such as a USB (Universal Serial Bus) interface, a Lightning interface, or a Type-C interface; this embodiment does not impose excessive limitations on the interface type.
[0107] When the onboard equipment detects a bus interface access operation, it can receive the container and target program image through the bus interface.
[0108] Of course, in practical applications, the computing device used to generate the container and target program image can establish a communication connection with the in-vehicle device, such as a wired or wireless network connection. Before executing the system registration program in the target program image within the container, the process also includes: if a program push request from the computing device is detected, obtaining the container and target program image pushed by the computing device. That is, after the computing device generates the container and target program image, it can push the container and target program image to the point device.
[0109] In this embodiment of the disclosure, by detecting the hardware access operation performed on the bus interface, the vehicle-mounted device can quickly detect the copying operation of the container and the target program image, realize the automatic acquisition of the container and the target program image, and improve the installation efficiency of the target program.
[0110] Furthermore, based on any of the above embodiments, the target program image is configured with a bus interface detection command; the hardware access operation detection steps may include:
[0111] The system registration service calls the bus interface detection command to detect the hardware access operation of the bus interface.
[0112] Optionally, the target program image can also be configured with bus interface detection commands. These commands can be, for example, the ADB (Android Debug Bridge) command set, which can be configured with bus interface detection commands. The ADB command set can be used to detect bus interface access operations, thus confirming the existence of hardware access operations on the bus interface. The vehicle-mounted device can invoke the bus interface detection commands through the system registration service to detect hardware access operations on the bus interface.
[0113] In this embodiment of the disclosure, the detection command of the bus interface is called through the system registration service to detect the interface between the storage device and the vehicle device's USB. When the vehicle device detects that the bus interface is connected, it can quickly detect the hardware access operation and trigger the copying of the target program image and container, thereby improving the timeliness of copying the container and the target program image.
[0114] Furthermore, based on any of the above embodiments, determining the target program in the target program image may include:
[0115] Based on the program information of the target program, determine the storage address of the target program in the target program image;
[0116] Obtain the installation package of the target program from the storage address.
[0117] Optionally, the storage address can be the storage location of the target program's installation package within the target program image. Setting the storage address allows for quick and accurate retrieval of the target program's installation package. Determining the target program's storage address based on its program information can include: reading the target program's name from the program information and determining the target program's storage address based on the program name; for example, querying the target program's address from the target program image.
[0118] In this embodiment of the disclosure, the storage address of the target program can be determined based on the program information of the target program, such as the program name, and the installation package of the target program can be obtained from the storage address. The installation package of the target program in the target program image can be located by using the program information, so as to obtain the installation package quickly and accurately.
[0119] like Figure 4 The flowchart shown is a further embodiment of a program installation method provided in this disclosure, applied to a computing device. The method includes:
[0120] 401. In response to a user-triggered container build request, generate an empty container.
[0121] 402. Configure the system registration program, the target program's installation package, and the installer in an empty container to obtain the configured container.
[0122] 403. Convert the configured container into the corresponding target container image.
[0123] Optionally, the configured container is converted into the corresponding target container image, including: extracting the writable layer data generated by the configured container during operation; solidifying the writable layer data into a new read-only image layer; constructing a layered file structure based on the read-only image layer and the original image layer; and generating the corresponding target container image according to the layered file structure and container configuration information.
[0124] Specifically, building a layered file structure based on a read-only image layer and a raw image layer can include generating a new Manifest file or configuration file that records the composition structure of this new image. The structure is as follows:
[0125] New image = [Original image layer A] + [Original image layer B] + ... + [The newly solidified layer N you just created]
[0126] The metadata of the new image will point to its parent image (the original image you started). This way, when downloading, if the underlying layer is already available locally, only the new layer needs to be downloaded.
[0127] 404. Store the target container image to the storage device. After the storage device is electrically connected to the vehicle device, the target container image is used to start after the vehicle device receives the program installation request and determines the container image corresponding to the program information of the target program, so as to determine the installation package of the target program and perform the installation operation of the target program based on the container of the container image.
[0128] It also includes storing the container of the target container image to a storage device.
[0129] For ease of understanding, Figure 5 A sample diagram of container construction is shown. (Reference) Figure 5 In the software provider's computing device A, an empty container 501 can be created for the user. The system registration program 502, the target program's installation package 503, and the installer 504 can be configured within container 501 to obtain the configured container. The configured container is then converted into a container image. The configured target container image and container 505 can be copied to storage device C. Multiple container images and their containers form a container image library in storage device C. After an electrical connection is established between storage device C and vehicle-mounted device B, the target program is automatically installed in vehicle-mounted device B using the target container image and its containers.
[0130] Optionally, after step 403, the computing device can also be used to push the container and container image to the vehicle-mounted device. Alternatively, the computing device can also be used to: if a copy request for the container and container image is detected, copy the container and container image to the storage address corresponding to the copy request, until the copying of the container and container image is complete.
[0131] Optionally, in addition to configuring the system registry, the installation package and installer of the target program, a command set, such as the adb command set, can also be configured in the container to detect commands through the interface in the adb command set.
[0132] In this embodiment of the disclosure, the software provider can respond to a container build request, generate an empty container, and then configure the system registration program, the installation package of the target program, and the installation program in the empty container according to the configuration request of the empty container, thereby configuring the container. After that, the configured container is converted into a container image to obtain a container image of a container, thereby building the container and the container image. Then, the installation package of the target program is determined through the container and the container image, and the installation operation of the target program is performed based on the container, thereby achieving isolated installation of the target program and protecting the target program.
[0133] Furthermore, based on any of the above embodiments, after generating an empty container in response to a container build request, the following may also be included:
[0134] Display the container registration page;
[0135] In response to an account input request executed on the container registration page, the user's login information is obtained and stored. The login information is used for login security verification of the container image when the user logs in.
[0136] Optionally, the container registration page can be a user registration page, such as a pop-up window displaying account registration information. The computing device can detect the registration information entered on the registration page, and after successful registration, the account and password in the registration information can be used as the user's login information. Of course, the registration information can also include other types of information such as email, which will not be described in detail here.
[0137] In this embodiment of the disclosure, user account registration can be achieved by displaying the container registration page, thereby enabling the management of user login information and improving the efficiency of security management of the target program image.
[0138] like Figure 6 The diagram shown is a structural schematic of one embodiment of an autonomous driving program installation device for an in-vehicle device provided in this disclosure. The autonomous driving program installation device 600 for an in-vehicle device may include the following units:
[0139] The request receiving unit 601 is used to obtain a program installation request through the autonomous driving program installed on the vehicle-mounted equipment. The program installation request includes program information of the target program.
[0140] The image determination unit 602 is used to determine the target program image corresponding to the program information of the target program based on the program information of the target program.
[0141] The image startup unit 603 is used to start the target program image to determine the installation package of the target program in the target program image;
[0142] The container installation unit 604 is used to run the installation package of the target program through the container corresponding to the target program image, so as to perform the installation operation of the target program and obtain the installation result of the target program.
[0143] The result output unit 605 is used to output the installation result of the target program through the automatic driving program.
[0144] As one embodiment, the request-response unit includes:
[0145] The page display module is used to display the login page of the target program image;
[0146] The information input module is used to detect the login information entered by the user on the login page;
[0147] The information verification module is used to start the target program image if the login information is successfully verified.
[0148] As another embodiment, the target program image is configured with an installer for the target program and a container installation unit, including:
[0149] The registration execution module is used to execute the system registration program in the target program image within the container;
[0150] The program startup module is used to launch the installer of the target program image through the system registration program;
[0151] The program installation module is used to perform installation operations on the installation package of the program to be installed in the target program image through the installer, and obtain the installation result of the target program.
[0152] As yet another embodiment, it also includes:
[0153] The file copying unit is used to copy the target program image and its container from a storage device electrically connected to the vehicle device to the vehicle device if it is determined that the bus interface has detected a hardware access operation.
[0154] As another embodiment, the target program image is configured with a bus interface detection command; the file copying unit includes:
[0155] The interface detection module is used to call the detection command of the bus interface through the system registration service to detect the hardware access operation of the bus interface.
[0156] As another embodiment, the request response unit includes:
[0157] The address determination module is used to determine the storage address of the target program in the target program image based on the program information of the target program.
[0158] The program acquisition module is used to obtain the installation package of the target program from the storage address.
[0159] like Figure 7 The diagram shown is a structural schematic of another embodiment of a program installation device provided in this disclosure. The vehicle-mounted device's autonomous driving program installation device 700 may include the following units:
[0160] Container building unit 701 is used to generate an empty container in response to a user-triggered container building request;
[0161] The container configuration unit 702 is used to configure the system registration program, the installation package of the target program and the installation program in an empty container to obtain the configured container;
[0162] Image generation unit 703 is used to convert the configured container into the corresponding target container image;
[0163] The image sending unit 704 is used to store the target container image to the storage device. After the storage device is electrically connected to the vehicle device, the target container image is used to start after the vehicle device receives the program installation request and determines the container image corresponding to the program information of the target program, so as to determine the installation package of the target program and perform the installation operation of the target program based on the container of the container image.
[0164] As one embodiment, it also includes:
[0165] The registration display unit is used to display the container registration page;
[0166] The account registration unit is used to respond to the account input request executed on the container registration page, obtain the user's login information and store it. The login information is used for login security verification of the container image when the user logs in.
[0167] The apparatus provided in this disclosure can be used to implement the above-described program installation method. For details on the specific execution of the apparatus, please refer to the relevant description of the method, which will not be repeated here.
[0168] The aforementioned in-vehicle equipment or computing device can be a wireless terminal or a wired terminal, and the type of device is not limited here. Optional devices include computers, laptops, smartwatches, tablets, etc.
[0169] Figure 8 This is a block diagram illustrating an in-vehicle device according to an exemplary embodiment. The device may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0170] The device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.
[0171] Processing component 802 typically controls the overall operation of device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 802 may include one or more processors 820 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
[0172] Memory 804 is configured to store various types of data to support the operation of device 800. Examples of this data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0173] Power supply component 806 provides power to various components of device 800. Power supply component 906 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to device 800.
[0174] Multimedia component 808 includes a screen that provides an output interface between device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0175] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
[0176] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0177] Sensor assembly 814 includes one or more sensors for providing state assessments of various aspects of device 800. For example, sensor assembly 814 may detect the on / off state of device 800, the relative positioning of components such as the display and keypad of device 800, changes in the position of device 800 or a component of device 800, the presence or absence of user contact with device 800, the orientation or acceleration / deceleration of device 800, and temperature changes of device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.
[0178] Communication component 816 is configured to facilitate wired or wireless communication between device 800 and other devices. Device 800 can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0179] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0180] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, which can be executed by a processor 820 of the device 800 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0181] A non-transitory computer-readable storage medium, when the instructions in the storage medium are executed by the processor of an in-vehicle device, enables the in-vehicle device to perform the aforementioned screen splitting method.
[0182] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0183] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for installing an autonomous driving program on a vehicle-mounted device, characterized in that, Applied to in-vehicle equipment, the method includes: The program installation request is obtained by the autonomous driving program installed on the vehicle device, and the program installation request includes program information of the target program; From the storage device electrically connected to the vehicle-mounted device, the metadata tags carried by multiple target program images stored in the program image repository of the storage device are obtained; the program information of the target program is converted into image tags; the target metadata tags that match the image tags are queried from the metadata tags carried by the multiple target program images; the program image associated with the target metadata tags is identified as the target program image. The process of obtaining the program image includes: generating an empty container in response to a user-triggered container build request; configuring the system registration program, the installation package of the target program, and the installation program in the empty container to obtain the configured container; converting the configured container into a corresponding container image to obtain the target program image; the target program image is configured with a bus interface detection command, and the bus interface detection command is called through the system registration service to detect the interface between the storage device and the vehicle-mounted device's USB. When the vehicle-mounted device detects that the bus interface is connected, it detects the hardware access operation and triggers the copying of the target program image and the container. Start the target program image to determine the installation package of the target program in the target program image; The target program image and its container are copied from a storage device electrically connected to the vehicle device to the vehicle device; the system registration program in the target program image is executed within the container; the installation program of the target program image is started through the system registration program; the installation program is used to perform an installation operation on the installation package to be installed in the target program image to obtain the installation result of the target program. The installation result of the target program is output through the autonomous driving program.
2. The method according to claim 1, characterized in that, Determining the target program in the target program image includes: Based on the program information of the target program, determine the storage address of the target program in the target program image; Obtain the installation package of the target program from the storage address.
3. A method for installing an autonomous driving program on a vehicle-mounted device, characterized in that, Applied to a computing device, the method includes: In response to a user-triggered container build request, an empty container is generated; The system registration program, the target program's installation package, and the installer are configured in the empty container to obtain the configured container; Convert the configured container into the corresponding container image; The container image is stored in a storage device, wherein, after the storage device is electrically connected to the vehicle-mounted device, the container image is used for: when the vehicle-mounted device receives a program installation request, the program installation request including program information of the target program; obtaining metadata tags carried by multiple target program images stored in the program image repository of the storage device; converting the program information of the target program into image tags; querying the target metadata tags that match the image tags from the metadata tags carried by the multiple target program images; identifying the program image associated with the target metadata tags as the target container image; and starting the target container image to determine the installation package of the target program in the target container image. The target container image is configured with a bus interface detection command. This command is invoked via the system registration service to detect the USB interface between the storage device and the vehicle device. When the vehicle device detects that the bus interface is connected, it detects a hardware access operation and triggers the copying of the target container image and its container. The target container image and its container are copied from the storage device electrically connected to the vehicle device to the vehicle device. The system registration program within the target container image is executed within the container. The installation program for the target container image is launched through the system registration program. Finally, the installation package for the installation program in the target container image is installed.
4. The method according to claim 3, characterized in that, After generating the empty container, the process also includes: Display the container registration page; In response to an account input request executed on the container registration page, the user's login information is obtained and stored, wherein the login information is used for login security verification of the container image during user login.
5. An automatic driving program installation device for an in-vehicle device, characterized in that, include: A request receiving unit is configured to obtain a program installation request through an autonomous driving program installed on the vehicle-mounted device, wherein the program installation request includes program information of the target program; The image determination unit is used to obtain the metadata tags carried by multiple target program images in the program image repository stored in the storage device, which are electrically connected to the vehicle-mounted device; The program information of the target program is converted into image tags; Query the target metadata tags that match the image tags from the metadata tags carried by the multiple target program images respectively; The program image associated with the target metadata tag is identified as the target program image. The process of obtaining the target program image includes: generating an empty container in response to a user-triggered container build request; configuring the system registration program, the installation package of the target program, and the installation program in the empty container to obtain the configured container; converting the configured container into a corresponding container image to obtain the target program image; the target program image is configured with a bus interface detection command, which is called through the system registration service to detect the interface between the storage device and the vehicle device's USB; when the vehicle device detects that the bus interface is connected, it detects the hardware access operation and triggers the copying of the target program image and the container. The image startup unit is used to start the target program image to determine the installation package of the target program in the target program image; The container installation unit is used to copy a target program image and a container of the target program image from a storage device electrically connected to the vehicle-mounted device to the vehicle-mounted device; execute a system registration program in the target program image within the container; start the installation program of the target program image through the system registration program; and perform an installation operation on the installation package to be installed in the target program image through the installation program to obtain the installation result of the target program.
6. An automatic driving program installation device for an in-vehicle device, characterized in that, include: A container building unit, used to generate an empty container in response to a user-triggered container build request; The container configuration unit is used to configure the system registration program, the installation package of the target program, and the installation program in the empty container to obtain the configured container; The image generation unit is used to convert the configured container into the corresponding target container image; An image sending unit is configured to store the target container image to a storage device. After the storage device is electrically connected to the vehicle-mounted device, the target container image is used to: receive a program installation request from the vehicle-mounted device, the program installation request including program information of the target program; obtain metadata tags carried by multiple target program images stored in the program image repository on the storage device; convert the program information of the target program into image tags; query the metadata tags carried by the multiple target program images to find a target metadata tag that matches the image tag; identify the program image associated with the target metadata tag as the target container image; and start the target container image to determine the target in the target container image. The program's installation package includes a target container image configured with a bus interface detection command. This command is invoked via a system registration service to detect the USB interface between the storage device and the vehicle device. When the vehicle device detects the bus interface being connected, it detects a hardware access operation, triggering the copying of the target container image and its container. The target container image and its container are copied from the storage device electrically connected to the vehicle device to the vehicle device. The system registration program within the target container image is executed within the container. The installation program for the target container image is then launched through the system registration program. Finally, the installation program performs the installation operation on the installation package to be installed within the target container image.
Citation Information
Patent Citations
CI / CD service deployment method and device based on container technology, equipment and medium
CN114035890A