WO2022227755A1 - 车辆远程升级方法、装置及服务器 - Google Patents

车辆远程升级方法、装置及服务器 Download PDF

Info

Publication number
WO2022227755A1
WO2022227755A1 PCT/CN2022/074733 CN2022074733W WO2022227755A1 WO 2022227755 A1 WO2022227755 A1 WO 2022227755A1 CN 2022074733 W CN2022074733 W CN 2022074733W WO 2022227755 A1 WO2022227755 A1 WO 2022227755A1
Authority
WO
WIPO (PCT)
Prior art keywords
upgrade
vehicle
software
software applications
upgraded
Prior art date
Application number
PCT/CN2022/074733
Other languages
English (en)
French (fr)
Inventor
王超
Original Assignee
奇瑞汽车股份有限公司
芜湖雄狮汽车科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 奇瑞汽车股份有限公司, 芜湖雄狮汽车科技有限公司 filed Critical 奇瑞汽车股份有限公司
Publication of WO2022227755A1 publication Critical patent/WO2022227755A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present disclosure relates to the technical field of vehicles, and in particular, to a method, device and server for remote upgrading of vehicles.
  • the present disclosure provides a vehicle remote upgrade method, device and server.
  • a method for remotely upgrading a vehicle including: determining a software application set to be upgraded according to the model of the vehicle to be upgraded, where the software application set includes a plurality of software applications;
  • generating the upgrade strategy file of the vehicle to be upgraded based on the dependencies between the multiple software applications including:
  • DAG Directed Acyclic Graph
  • the upgrade policy file is generated based on the upgrade order.
  • the determining an upgrade sequence of the multiple software applications based on the DAG includes:
  • an upgrade sequence of the plurality of software applications is determined according to a layer order traversal algorithm.
  • the method further includes:
  • the upgrade policy file includes: a plurality of upgrade instructions, each of the upgrade instructions corresponds to one of the software applications, and the arrangement order of the plurality of upgrade instructions is consistent with the upgrade order of the plurality of software applications;
  • the fallback policy file includes: multiple fallback instructions, each of the fallback instructions corresponds to one of the software applications, and the arrangement order of the multiple fallback instructions is the reverse order of the arrangement order of the multiple upgrade instructions .
  • the upgrade policy file includes download addresses of upgrade software packages of the multiple software applications, and the upgrade software packages include atomic installation packages and differential packages.
  • a method for remotely upgrading a vehicle including: receiving an upgrade policy file, in the upgrade policy file, the upgrade sequence of multiple software applications satisfies the dependencies between the multiple software applications, and the multiple software applications
  • Each software application belongs to a software application set to be upgraded, and the software application set to be upgraded is determined according to the model of the vehicle to be upgraded; and the software application is upgraded according to the upgrade policy file.
  • the upgrading of the software application according to the upgrade policy file includes: downloading upgrade software packages of the multiple software applications according to the upgrade policy file; installing the upgrade software according to the upgrade sequence Upgrade packages for multiple software applications.
  • a vehicle remote upgrade device including:
  • a determining module configured to determine a software application set to be upgraded according to the model of the vehicle to be upgraded, where the software application set includes a plurality of software applications;
  • a generating module configured to generate an upgrade strategy file of the vehicle to be upgraded based on the dependencies among the multiple software applications, where the upgrade sequence of the multiple software applications in the upgrade strategy file satisfies the dependencies;
  • a sending module configured to send the upgrade strategy file to the vehicle to be upgraded.
  • the generation module includes:
  • a first generation submodule for generating a DAG, where the DAG is used to describe the dependencies between the multiple software applications;
  • the second generating submodule is configured to generate the upgrade policy file based on the upgrade sequence.
  • the determining submodule is configured to generate a tree structure based on the DAG; and based on the tree structure, determine an upgrade sequence of the plurality of software applications according to a layer order traversal algorithm.
  • the determining module is further configured to determine, based on the upgrading sequence, a degrading sequence of the multiple software applications; the generating module is further configured to generate a rollback policy file based on the degrading sequence; the The sending module is further configured to send the rollback policy file to the vehicle to be upgraded.
  • the upgrade policy file includes: a plurality of upgrade instructions, each of the upgrade instructions corresponds to one of the software applications, and the arrangement order of the plurality of upgrade instructions is consistent with the upgrade order of the plurality of software applications;
  • the fallback policy file includes: multiple fallback instructions, each of the fallback instructions corresponds to one of the software applications, and the arrangement order of the multiple fallback instructions is the reverse order of the arrangement order of the multiple upgrade instructions .
  • the upgrade policy file includes download addresses of upgrade software packages of the multiple software applications, and the upgrade software packages include atomic installation packages and differential packages.
  • a vehicle remote upgrade device including:
  • a receiving module configured to receive an upgrade policy file, in the upgrade policy file, the upgrade sequence of multiple software applications satisfies the dependency relationship between the multiple software applications, and the multiple software applications belong to the software application set to be upgraded , the software application set to be upgraded is determined according to the model of the vehicle to be upgraded;
  • An upgrade module configured to upgrade the software application according to the upgrade policy file.
  • the upgrade module includes:
  • a download submodule configured to download the upgrade software packages of the multiple software applications according to the upgrade policy file
  • An upgrade submodule configured to install upgrade software packages of the multiple software applications according to the upgrade sequence.
  • a computer device comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement any of the instructions provided in the first aspect A method for remotely upgrading a vehicle, or, implementing any of the methods for remotely upgrading a vehicle provided in the second aspect.
  • a sixth aspect provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements any of the methods for remote vehicle upgrade provided in the first aspect, or implements the method provided in the second aspect. Any of the vehicle remote upgrade methods.
  • a computer program comprising: computer program code, wherein the program code includes instructions for implementing any one of the methods for remote vehicle upgrade provided in the first aspect, or includes instructions for implementing the method provided in the second aspect Instructions for any of the vehicle remote upgrade methods.
  • a vehicle remote upgrade system including:
  • the server is configured to determine a software application set to be upgraded according to the model of the vehicle to be upgraded, the software application set includes multiple software applications; based on the dependencies between the multiple software applications, generate a an upgrade policy file, where the upgrade sequence of the multiple software applications in the upgrade policy file satisfies the dependency relationship; sending the upgrade policy file to the vehicle to be upgraded;
  • the vehicle to be upgraded is used to receive the upgrade policy file; and the software application is upgraded according to the upgrade policy file.
  • a method for remote vehicle upgrade comprising: determining the software application definitions to which one or more control domains of the vehicle to be upgraded belong according to the software definitions of multiple control domains divided based on the vehicle type and the whole vehicle;
  • the release version identifier of the PID determines the installation package, the difference package and/or the rollback package; the software corresponding to the upgrade instruction is upgraded according to the installation package, the difference package and/or the rollback package.
  • the step of upgrading the software corresponding to the upgrade instruction according to the installation package, the differential package and/or the rollback package includes: generating a vehicle software upgrade strategy of the vehicle to be upgraded according to the upgrade instruction;
  • the vehicle software upgrade strategy configures at least one software to be upgraded, and configures the version identifier, upgrade operation, and the installation package of each software to be upgraded;
  • Upgrade the upgrade order and rollback order of the software calculate the storage size occupied by all software upgrade packages, and generate upgrade command messages and rollback command messages to form upgrade data; send the upgrade data to the vehicle to be upgraded, to perform an upgrade operation based on the upgrade data.
  • the method of the embodiment of the present disclosure further includes: generating a DAG according to the upgrade order and the fallback order, and converting the DAG into a tree structure, so as to visualize the upgrade order and the rollback order .
  • the method of the embodiment of the present disclosure further includes: receiving a current upgrade process and an upgrade result fed back by the vehicle to be upgraded; and determining a final upgrade result of the vehicle to be upgraded according to the current upgrade process and the upgrade result.
  • the method of the embodiment of the present disclosure further includes: detecting whether the vehicle to be upgraded performs an installation operation of the rollback software package according to the return message when an abnormality occurs; if the installation operation is not performed, then The upgrade failure reminder is performed at the same time as the failure reminder.
  • a vehicle remote upgrade device comprising: a division module configured to determine software application definitions to which one or more control domains of the vehicle to be upgraded belong according to software definitions of multiple control domains divided based on vehicle models and complete vehicles; a module for determining an installation package, a differential package and/or a rollback package according to the release version identifier defined by the software application to which it belongs; an upgrade module for updating an upgrade instruction according to the installation package, the differential package and/or the rollback package The corresponding software is upgraded.
  • the upgrade module includes: a generating unit for generating a vehicle software upgrade strategy of the vehicle to be upgraded according to the upgrade instruction; a first configuration unit for configuring at least the vehicle software upgrade strategy according to the vehicle software upgrade strategy. a software to be upgraded, and configure the version identifier, upgrade operation, and the installation package of each software to be upgraded; a second configuration unit, configured to configure each software to be upgraded according to the differential package and the rollback package
  • the upgrade order and rollback order are calculated, and the storage size occupied by all software upgrade packages is calculated, and the upgrade command message and the rollback command message are generated to form the upgrade data; the upgrade unit is used to send the upgrade data to the to-be-to-be
  • the vehicle is upgraded to perform an upgrade operation based on the upgrade data.
  • the apparatus of this embodiment of the present disclosure further includes: a visualization module, configured to generate a DAG according to the upgrade sequence and the rollback sequence, and convert the DAG into a tree structure, so as to visualize the upgrade sequence and the rollback sequence. the fallback sequence.
  • a visualization module configured to generate a DAG according to the upgrade sequence and the rollback sequence, and convert the DAG into a tree structure, so as to visualize the upgrade sequence and the rollback sequence. the fallback sequence.
  • the apparatus of the embodiment of the present disclosure further includes: a receiving module, configured to receive a current upgrade process and an upgrade result fed back by the vehicle to be upgraded, and determine the to-be-upgraded vehicle according to the current upgrade process and the upgrade result The final upgrade result of the vehicle; the reminder module is used to detect whether the vehicle to be upgraded performs the installation operation of the rollback software package according to the return report when an abnormality occurs, and if the installation operation is not performed, the upgrade is performed A failure reminder is also performed at the same time as the failure reminder.
  • a server which includes the above-mentioned vehicle remote upgrade device.
  • FIG. 1 is a schematic structural diagram of a vehicle remote upgrade system provided according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a method for remotely upgrading a vehicle according to an embodiment of the present disclosure
  • FIG. 3 is a flowchart of another vehicle remote upgrade method provided according to an embodiment of the present disclosure.
  • FIG. 4 is an example diagram of converting a DAG diagram provided according to an embodiment of the present disclosure into an upgrade sequence
  • FIG. 5 is a flowchart of yet another method for remotely upgrading a vehicle according to an embodiment of the present disclosure
  • FIG. 6 is a flowchart of yet another method for remotely upgrading a vehicle according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart of a vehicle terminal downloading upgrade package strategy provided according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart of a vehicle-end executing an upgrade strategy according to an embodiment of the present disclosure
  • FIG. 9 is a schematic block diagram of a vehicle remote upgrade apparatus provided according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic block diagram of another vehicle remote upgrade apparatus provided according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic block diagram of still another vehicle remote upgrade apparatus according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of a computer device according to an embodiment of the present disclosure.
  • the upgrade system includes a server end and a vehicle end. Server-side and vehicle-side communication connection.
  • the server side includes application server, database, service gateway and file server.
  • the service gateway is the server that directly provides the service interface to the outside world;
  • the application server provides the actual program and logic implementation of the service interface, and provides the realization of the timing execution program;
  • the database stores the model, vehicle information, upgrade application version information, vehicle version information, and upgrade strategy configuration Information, application upgrade real vehicle test records, vehicle upgrade session log flow information, various data reports, etc.;
  • the file server stores the atomic software package, differential package, rollback package and other software package files of each application.
  • the vehicle end includes a software package download agent, a package restoration unit, an upgrade management unit, an upgrade instruction execution unit and a data embedding unit.
  • the software package download agent is responsible for downloading all atomic packages or differential packages that need to be downloaded in the upgrade instruction.
  • the package restoration unit is responsible for merging the differential package and the old atomic package into a new atomic package according to the differential algorithm.
  • the upgrade management unit is used to upgrade the policy file and the rollback policy file according to the request to the server.
  • the upgrade instruction execution unit is configured to execute the upgrade instruction according to the upgrade policy file.
  • the data embedment unit is used to report the embedment of the user's operation behavior and/or the data embedment of the key operation of the program, and is mainly used for problem location and troubleshooting after the upgrade fails.
  • the atomic software package may refer to an original software installation package that has not been digitally encrypted and signed.
  • the present disclosure provides a vehicle remote upgrade method.
  • the unified upgrade management of the whole vehicle software is realized in a software-defined manner, so that all software versions of the vehicle and the dependencies between the software can be accurately determined, and multiple software upgrades can be avoided at the same time.
  • multiple software can be remotely and reliably upgraded at the same time, which effectively improves the reliability and efficiency of remote upgrades and improves user experience.
  • the remote upgrade solution in the related art can not accurately determine all software versions and dependencies between software, and is prone to upgrade configuration errors and cannot upgrade, resulting in reduced upgrade reliability and efficiency, and poor user experience.
  • FIG. 2 is a schematic flowchart of a method for remotely upgrading a vehicle according to an embodiment of the present disclosure. This method can be executed by the server. As shown in Figure 2, the vehicle remote upgrade method includes:
  • a software application set to be upgraded is determined according to the model of the vehicle to be upgraded, and the software application set includes a plurality of software applications.
  • the entire vehicle may be divided into multiple control domains in advance according to the vehicle type, and each control domain corresponds to one or more controllers (for example, BCM (Body Control Module, body control module)) or ECU.
  • BCM Body Control Module, body control module
  • Each control domain corresponds to a software definition.
  • Each software definition corresponds to one or more software applications and each software definition has a unique identification (eg, a version number).
  • the multiple software applications included in the software application set to be upgraded may be selected from software applications corresponding to multiple control domains divided in advance, and may be all or part of the software applications corresponding to multiple control domains.
  • step 102 an upgrade strategy file of the vehicle to be upgraded is generated based on the dependencies among the multiple software applications.
  • the dependency relationship between multiple software applications means that whether one software application can be successfully installed depends on whether another software application has been successfully installed.
  • the multiple software applications include a first software application and a second software application, and the first software application may be successfully installed only on the basis of the successful installation of the second software application, that is, the successful installation of the first software application depends on the second software application. The successful installation of the software application.
  • the upgrade sequence of the multiple software applications in the upgrade policy file corresponds to the dependencies between the multiple software applications. That is, in the upgrade sequence, the dependent software application is ranked before the software application that depends on the software application, so that the dependent software application is upgraded before the software application that depends on the software application.
  • step 103 the upgrade strategy file is sent to the vehicle to be upgraded.
  • the vehicle to be upgraded After receiving the upgrade policy file, the vehicle to be upgraded performs upgrade according to the upgrade policy file.
  • the embodiments of the present disclosure generate an upgrade policy file based on the dependencies between multiple software applications to be upgraded, and the upgrade sequence of the multiple software applications in the upgrade policy file corresponds to the dependencies among the multiple software applications.
  • the vehicle to be upgraded is upgraded according to the upgrade sequence in the upgrade policy file, which can avoid the problem of configuration errors caused by not considering dependencies when upgrading multiple software applications at the same time, so that multiple software can be remotely upgraded reliably and effectively improve the efficiency of remote upgrade. Reliability and efficiency, improve user experience.
  • FIG. 3 is a schematic flowchart of a method for remotely upgrading a vehicle according to an embodiment of the present disclosure.
  • the method may be executed jointly by the server and the vehicle to be upgraded (eg, a vehicle-mounted terminal).
  • the vehicle remote upgrade method includes:
  • step 201 the server determines a software application set to be upgraded according to the model of the vehicle to be upgraded, where the software application set includes a plurality of software applications.
  • the server may pre-store the association relationship between the vehicle model and the software application.
  • each vehicle type corresponds to multiple software applications, and the software applications corresponding to different vehicle types may be the same, partially different, or completely different.
  • the association relationship can be established in the following manner: first, multiple software applications are defined, and each software application has a unique identifier. Then, according to the model, the whole vehicle is divided into multiple control domains, each control domain has a centralized controller, one centralized controller corresponds to multiple control units (such as BCM or ECU), and each control unit corresponds to one or more software application. Finally, according to the control domain of each vehicle type, the software application corresponding to the vehicle type is determined, thereby establishing the association relationship between the vehicle type and the software application.
  • the unified upgrade management of the whole vehicle software is realized by means of software definition, which is beneficial to accurately determine the dependencies between all software applications of the vehicle.
  • This step 201 may include: determining a software application set to be upgraded according to the model of the vehicle to be upgraded and the association relationship, and the multiple software applications included in the software application set may be corresponding to the model of the vehicle to be upgraded in the association relationship all or part of the software application.
  • step 202 the server obtains upgrade packages of multiple software applications.
  • the upgrade package of each software application includes an atomic installation package, at least one differential package, and at least one rollback package.
  • different differential packages correspond to different versions of old atomic installation packages.
  • the server may receive the atomic installation package, the differential package and the rollback package uploaded by the user through the terminal. In other embodiments, the server may receive the atomic installation package uploaded by the user through the terminal, and generate a corresponding differential package and a rollback package based on the atomic installation package and the old atomic installation package.
  • the server After the server obtains the upgrade package of the software application, it saves it in the server.
  • step 203 the server generates a DAG, and the DAG is used to describe the dependencies between multiple software applications.
  • Dependencies between software applications in a DAG can be manually annotated, for example by arrows. It is assumed that the software application set to be upgraded includes five software applications, corresponding to BCM and ECU1 to ECU4 respectively.
  • the generated DAG is shown in part (a) of Fig. 4.
  • the arrows are used to indicate the dependencies between the two software applications at both ends of the arrows, and the starting point of the arrows is the dependent software application.
  • the software application of the BCM is a software application that is depended on by the software applications of ECU1 and ECU2.
  • the software applications of ECU1 and ECU2 are both software applications that are depended on by the software application of ECU3.
  • the software application of the ECU 2 is a software application dependent on the software application of the ECU 4 .
  • the dependencies between multiple software applications are displayed through the DAG diagram, so as to visually check whether the dependencies are correct.
  • step 204 the server determines an upgrade order of the plurality of software applications based on the DAG.
  • this step 204 includes:
  • the first step is to generate a tree structure based on DAG
  • the upgrade sequence of the multiple software applications is determined according to the layer order traversal algorithm.
  • a deep traversal algorithm can be used to convert the DAG into a tree structure.
  • the traversal process of the deep traversal algorithm is: starting from the starting node v, visit any of its adjacent nodes w1; starting from w1, visit the node w2 that is adjacent to w1 but has not been visited; and so on, until reaching all The adjacent nodes of u have been visited until the node u. Take a step back and go back to the previously visited node to see if there are other adjacent nodes that have not been visited.
  • the layer-order traversal algorithm refers to starting from the root node of the tree structure, visiting layer by layer in the order from top to bottom, and visiting each node in the order from left to right in each layer.
  • take the hierarchical traversal of the tree structure shown in part (b) of Figure 4 as an example take BCM as the root node, and access the first layer in the order from top to bottom, that is, the layer where ECU1 and ECU2 are located. Then visit the layer where ECU3 and ECU4 are located; in each layer, the access is completed in the order from left to right to the next layer, thereby obtaining the queue in part (b) of FIG. 3 .
  • step 205 the server generates an upgrade policy file and a rollback policy file based on the upgrade sequence.
  • the upgrade policy file includes: multiple upgrade instructions, each upgrade instruction corresponds to a software application, and the arrangement order of the multiple upgrade instructions is consistent with the upgrade order of the multiple software applications.
  • the fallback policy file includes: multiple fallback instructions, each fallback instruction corresponds to a software application, and the arrangement order of the multiple fallback instructions is the reverse order of the arrangement order of the multiple upgrade instructions.
  • the upgrade policy file further includes a vehicle version number, an identifier of a control domain corresponding to the software application, and upgrade conditions.
  • the upgrade condition may be a condition that needs to be satisfied to start the upgrade program, such as the gear position and ignition state of the vehicle.
  • the upgrade policy file further includes a download address of an upgrade software package corresponding to each software application.
  • the upgrade strategy file further includes a vehicle version number, and the vehicle version number corresponds to the software application set and is used to indicate the version of the vehicle upgrade.
  • the upgrade policy file further includes the size of the required storage capacity, which is used to indicate the maximum storage capacity occupied by the upgrade software package that needs to be downloaded for this upgrade.
  • Step 205 may include: writing an upgrade instruction into an upgrade policy file according to the upgrade sequence; determining a downgrade sequence of multiple software applications based on the upgrade sequence; and generating a rollback policy file based on the downgrade sequence.
  • the server may use the reverse order of the upgrade order as the downgrade order of the plurality of software applications.
  • the upgrade instruction may include the following information: original version number, target version number, atomic installation package download address, differential package download address (there may be multiple, corresponding to different original version numbers), rollback package download address ( Corresponding to the differential package), upgrade package signature string, upgrade package encryption algorithm number (optional), target hardware version number, parallel refresh number (the refresh numbers of the two records are the same, indicating that the refresh can be performed at the same time) , flash sequence number, target ECU command number, UDS (Unified Diagnostic Services, unified diagnostic services) flash command set number, other extended domain fields.
  • the original version number may be an actual version number or a wildcard character, and the wildcard character is used to indicate multiple old versions.
  • an upgrade strategy file of the vehicle to be upgraded can be generated based on the dependencies between multiple software applications.
  • step 206 the server pushes an upgrade message to the vehicle to be upgraded, where the upgrade message is used to instruct the vehicle to be upgraded to download the upgrade policy file.
  • the server may push the upgrade message according to the grayscale publishing policy.
  • the grayscale publishing strategy refers to pushing an upgrade message to a designated upgrade vehicle.
  • the designated upgrade vehicle may be a vehicle within the designated upgrade area.
  • the server may push the upgrade message through the push pipeline of the MQTT (Message Queuing Telemetry Transport, Message Queuing Telemetry Transport) protocol service.
  • MQTT Message Queuing Telemetry Transport, Message Queuing Telemetry Transport
  • step 207 the vehicle to be upgraded downloads an upgrade policy file according to the upgrade message.
  • the server can send the upgrade policy file to the vehicle to be upgraded, and the vehicle to be upgraded receives the upgrade policy file.
  • step 208 the vehicle to be upgraded is upgraded according to the upgrade policy file.
  • this step 208 includes: downloading the upgrade packages of multiple software applications according to the upgrade policy file; and installing the upgrade packages of multiple software applications according to the upgrade sequence.
  • the downloaded upgrade packages include atomic packages and/or differential packages.
  • the upgrade package further includes a fallback package corresponding to the differential package.
  • the differential packages all correspond to the software application version before the upgrade in the vehicle to be upgraded.
  • the method further includes: the vehicle to be upgraded sends an upgrade result to the server; and the server receives the upgrade result sent by the vehicle to be upgraded.
  • the method further includes: when the vehicle to be upgraded fails to upgrade, rolling back according to the rollback policy file.
  • the embodiments of the present disclosure generate an upgrade policy file based on the dependencies between multiple software applications to be upgraded, and the upgrade sequence of the multiple software applications in the upgrade policy file satisfies the dependencies among the multiple software applications.
  • the vehicle to be upgraded is upgraded according to the upgrade sequence in the upgrade policy file, which can avoid the problem of configuration errors caused by not considering dependencies when upgrading multiple software applications at the same time, so that multiple software can be remotely upgraded reliably and effectively improve the efficiency of remote upgrade. Reliability and efficiency, improve user experience.
  • the DAG diagram is used to intuitively display the dependencies between various software applications, which is conducive to timely detection of errors in the dependencies.
  • the dependencies are incorrect, they can be modified in time by adjusting the arrow points until the dependencies are correct. Therefore, by determining the upgrade sequence of multiple software applications based on the DAG graph, errors generated when configuring the upgrade sequence of the software applications can be reduced.
  • FIG. 5 is a schematic flowchart of a method for remotely upgrading a vehicle according to an embodiment of the present disclosure. As shown in Figure 5, the vehicle remote upgrade method includes the following steps:
  • step S301 according to the software definitions of multiple control domains divided based on the vehicle type and the whole vehicle, the application software definitions to which one or more control domains of the vehicle to be upgraded belong are determined.
  • the vehicle to be upgraded may be understood as a designated vehicle model that needs to be upgraded in the embodiment of the present disclosure.
  • the entire vehicle to be upgraded is divided into a plurality of control domain software definitions in the software upgrade application service platform, and the application software belonging to each control domain is used as the application definition.
  • the application software belonging to each control domain is used as the application definition.
  • define software applications define a vehicle software or partial domain controller software through software application identification information; configure the relationship between software applications and vehicle models, and specify the range of software application packages that can be upgraded by vehicle models.
  • step S302 the installation package, the differential package and/or the rollback package are determined according to the release version identifier defined by the application software to which it belongs.
  • the release version identifier may be a release version number.
  • the present disclosure maintains the release version number defined by each application after the definition.
  • Each application version corresponds to a set of software atomic installation packages, software differential packages, and software rollback packages.
  • step S303 the software corresponding to the upgrade instruction is upgraded according to the installation package, the difference package and/or the rollback package.
  • upgrading the software corresponding to the upgrade instruction according to the installation package, the differential package and/or the rollback package includes: generating a vehicle software upgrade strategy for the vehicle to be upgraded according to the upgrade instruction; configuring the vehicle software upgrade strategy according to the upgrade instruction At least one software to be upgraded, and configure the version identifier, upgrade operation, and installation package of each software to be upgraded; configure the upgrade sequence and rollback sequence of each software to be upgraded according to the differential package and rollback package, and calculate all software upgrade packages
  • the storage size occupied, and the upgrade command message and the rollback command message are generated to form the upgrade data; the upgrade data is sent to the vehicle to be upgraded, and the upgrade operation is performed based on the upgrade data.
  • the configuration upgrade strategy is: generate DAG according to the upgrade order and rollback order, and convert the DAG into a tree structure to visualize the upgrade order and rollback order.
  • the sequence of converting a graphically configured DAG graph into an executable upgrade strategy in this embodiment of the present disclosure may be as shown in FIG. 4 , and the DAG graph in part (a) is converted into part (b) through a deep traversal algorithm.
  • the tree-like data structure in part (c) is obtained based on the tree-like data structure in part (b) through the layer-order traversal algorithm.
  • the embodiment of the present disclosure configures the DAG of the software upgrade order and the rollback order, calculates the storage size occupied by all software upgrade packages, generates upgrade command messages, generates rollback command messages, sets the upgrade vehicle list, and passes
  • the push pipeline of the MQTT protocol service pushes messages to the OTA (Over-the-Air) upgrade agent service of the vehicle to be upgraded.
  • the method of the embodiment of the present disclosure further includes: receiving a current upgrade process and an upgrade result fed back by the vehicle to be upgraded; and determining a final upgrade result of the vehicle to be upgraded according to the current upgrade process and the upgrade result.
  • the vehicle terminal downloads the upgrade command message and the rollback command message, and determines whether the command can be executed according to the upgrade command message.
  • the upgrade command message includes the execution of software package download, software package merging, software package installation and other instructions to determine the final upgrade. result.
  • the vehicle end after receiving the upgrade message, the vehicle end first requests the server-side gateway service through the upgrade management unit to obtain the target version that the vehicle application needs to be upgraded, and requests the server-side gateway to obtain the upgrade policy file and the rollback policy according to the local version and the target version.
  • the vehicle-side software package download agent cyclically downloads the upgrade software package according to the upgrade policy file
  • the package restoration unit cyclically downloads the upgrade software package according to the differential package and the local old atom
  • the installation package is merged into a new atomic installation package, the validity of the differential package is verified, and the legality of the new atomic installation package is verified; finally, after completing the preparation of all software packages required for the upgrade tasks, the vehicle end is defined according to the upgrade strategy file.
  • the upgrade instructions are executed sequentially, and the software installation process and results are displayed in sequence when the vehicle end executes the upgrade instructions.
  • the method of the embodiments of the present disclosure further includes: detecting whether the vehicle to be upgraded performs an installation operation of the rollback software package according to the return message when an abnormality occurs; if the installation operation is not performed, while performing an upgrade failure reminder Troubleshooting.
  • the car end executes the rollback software package installation operation in sequence according to the rollback command, and the car end executes the upgrade task through the data embedding unit in the entry and exit steps of the step of executing the upgrade command.
  • Logs are sent to the service gateway.
  • the whole vehicle software or local domain controller software can be used as a distributed system to perform unified software application management, and the vehicle software upgrade strategy and the related strategy execution status can be configured and tracked in a visual graph. , which is convenient for operation and maintenance personnel, technicians, and testers to realize the remote upgrade operation of vehicle software.
  • the vehicle remote upgrade method will be described below through specific embodiments. As shown in FIG. 6 , the method includes the following steps:
  • the software application information includes software part numbers available for remote upgrade, application code, application name, description and other information.
  • the software part number may be used to uniquely identify a software application.
  • Each software part number corresponds to a part, and the part is a domain controller or an ECU.
  • the ECU is a controller dedicated to a certain device, such as a controller corresponding to a radar device;
  • the domain controller is a domain controller in a certain field, for example, the controller in the power domain includes an engine control unit and a transmission control unit, etc.
  • the information of the model includes the model code, model name, model year, brand and other information.
  • the software application to which the component number to be upgraded belongs constitutes the software application set to be upgraded.
  • the software application set to be upgraded can be determined according to the model of the vehicle to be upgraded.
  • Atomic install packages and differential packages can be called upgrade packages. Accordingly, the server receives the upgrade package.
  • one atomic installation package may correspond to multiple differential packages, and the multiple differential packages respectively correspond to different versions of the old atomic installation package.
  • S1-6 according to the configured version number of the model application, configure the upgrade sequence of the software application of the components that need to be upgraded.
  • the upgrade sequence is marked with arrows in a DAG visual way.
  • Annotated upgrade order is used to indicate dependencies between software applications.
  • the server automatically generates an upgrade instruction list according to the configured DAG graph, and writes the upgrade instruction into the upgrade policy file according to the format specification.
  • the server automatically generates a rollback order list according to the order of the upgrade order list, and writes the rollback order into the rollback policy file in a format.
  • the upgrade instructions in the upgrade instruction list may be reversely sorted to obtain a rollback instruction list (which may also be referred to as a downgrade instruction list).
  • test report passes the review if it passes the review, executes S1-14, and if it fails to pass the review, executes S1-5.
  • S1-14 generate an upgrade task for the approved vehicle application version, and define the range of vehicles that can be upgraded.
  • the reviewer reviews the upgrade task to be released, and the reviewer can choose to pass or fail.
  • the task execution system records a new timed task record.
  • the task execution system regularly checks whether there is a scheduled task that needs to be executed, if the execution time is satisfied, S1-20 is executed, and if the execution time is not satisfied, the system sleeps and waits to wake up.
  • the vehicle end executes the sub-process of the upgrade strategy.
  • the vehicle terminal requests the server terminal to check the interface, so as to check whether there is a vehicle application package that needs to be updated for the vehicle, and obtain the upgrade policy information of the vehicle application package that needs to be updated.
  • the vehicle application package is a set of software applications to be upgraded.
  • the vehicle side will request a specific interface on the server side (ie, the server side check interface).
  • the request can carry parameters such as the vehicle VIN, the version number of each ECU (list type).
  • the server receives this interface, and obtains the upgrade policy information of the vehicle application package according to the push range matching of the upgrade task in the interface.
  • Vehicle application package upgrade policy information such as the link to the upgrade policy file. Different push ranges correspond to different upgrade policy file connections.
  • S2-7 Generate alarm prompt information, display it on a visual screen, and send the alarm information to the server.
  • S2-10 use the package restoration unit to merge the differential packages through the local atomic installation package to generate the upgrade target atomic installation package.
  • the process of the vehicle terminal executing the upgrade strategy sub-process is shown in FIG. 8 , including the following steps:
  • S3-7 it is judged whether the upgrade strategy list has been completely executed. If not, S3-1 is executed. If it has been completed, S3-12 is executed.
  • S3-8 wake up and upgrade the main execution task by timing or other specific events.
  • the vehicle software rollback conditions include, but are not limited to: whether it is specified in the upgrade policy file that rollback is required after the upgrade fails; whether the maximum number of retries is exceeded; and whether a rollback package exists, and the like.
  • the upgrade success prompt is displayed on the vehicle screen.
  • S3-13 the system judges whether the maximum number of retries is exceeded. If the maximum number of retries is not exceeded, S3-8 is performed. If the maximum number of retries is exceeded, S3-21 is performed.
  • S3-14 request the server-side interface service to obtain a rollback execution policy list, and cyclically execute a rollback operation according to the rollback execution policy list.
  • the rollback execution policy list is the aforementioned rollback policy file.
  • rollback and rollback have the same meaning.
  • the unified upgrade management of the whole vehicle software is realized by means of software definition, and all software versions of the vehicle and the direct dependencies of the software can be accurately determined, so as to avoid inconsistent dependencies when upgrading multiple softwares at the same time. Knowing the problems that cause configuration errors, you can remotely upgrade multiple software at the same time and reliably, effectively improve the reliability and efficiency of remote upgrades, and improve user experience.
  • FIG. 9 is a schematic structural diagram of a vehicle remote upgrade device according to an embodiment of the present disclosure.
  • the vehicle remote upgrade device 900 includes: a determining module 901 , a generating module 902 and a sending module 903 .
  • the determining module 901 is configured to determine a software application set to be upgraded according to the model of the vehicle to be upgraded, and the software application set includes multiple software applications; the generating module 902 is configured to generate a software application based on the dependencies between the multiple software applications. In the upgrade policy file of the vehicle to be upgraded, the upgrade sequence of the multiple software applications in the upgrade policy file satisfies the dependency relationship; the sending module 903 is configured to send the upgrade policy file to the vehicle to be upgraded.
  • the generating module 902 includes: a first generating sub-module 9021 , a determining sub-module 9022 and a second generating sub-module 9023 .
  • the first generating sub-module 9021 is used to generate a DAG, the DAG is used to describe the dependencies between the multiple software applications;
  • the determining sub-module 9022 is used to determine the upgrade sequence of the multiple software applications based on the DAG;
  • the second generating sub-module 9023 is configured to generate the upgrade policy file based on the upgrade sequence.
  • the determining submodule 9022 is configured to generate a tree structure based on the DAG; and based on the tree structure, determine an upgrade order of the multiple software applications according to a layer order traversal algorithm.
  • the determining module 901 is further configured to determine the downgrade sequence of the multiple software applications based on the upgrade sequence; the generating module 902 is further configured to generate a rollback policy file based on the downgrade sequence; The sending module 903 is further configured to send the rollback policy file to the vehicle to be upgraded.
  • the upgrade policy file includes: a plurality of upgrade instructions, each of the upgrade instructions corresponds to one of the software applications, and the arrangement order of the plurality of upgrade instructions is consistent with the upgrade order of the plurality of software applications;
  • the fallback policy file includes: multiple fallback instructions, each of the fallback instructions corresponds to one of the software applications, and the arrangement order of the multiple fallback instructions is the reverse order of the arrangement order of the multiple upgrade instructions .
  • the upgrade policy file includes download addresses of upgrade software packages of the multiple software applications, and the upgrade software packages include atomic installation packages and differential packages.
  • FIG. 10 is a schematic structural diagram of a vehicle remote upgrade device according to an embodiment of the present disclosure.
  • the vehicle remote upgrading apparatus 1000 includes: a receiving module 1001 and an upgrading module 1002 .
  • the receiving module 1001 is configured to receive an upgrade policy file.
  • the upgrade policy file the upgrade sequence of multiple software applications satisfies the dependencies between the multiple software applications, and the multiple software applications belong to the software application set to be upgraded.
  • the software application set to be upgraded is determined according to the model of the vehicle to be upgraded; the upgrade module 1002 is used to upgrade the software application according to the upgrade policy file.
  • the upgrade module 1002 includes: a download sub-module 10021 and an upgrade sub-module 10022, the download sub-module 10021 is used to download the upgrade software packages of the multiple software applications according to the upgrade policy file; the upgrade sub-module 10022 An upgrade package for installing the plurality of software applications according to the upgrade sequence.
  • vehicle remote upgrade device provided in the above embodiment performs remote upgrade of the vehicle
  • only the division of the above functional modules is used as an example for illustration.
  • the above functions can be assigned to different functions as required Module completion means dividing the internal structure of the device into different functional modules to complete all or part of the functions described above.
  • vehicle remote upgrade apparatus provided in the above embodiments and the vehicle remote upgrade method embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiments, which will not be repeated here.
  • FIG. 11 is a schematic block diagram of another vehicle remote upgrade apparatus provided by an embodiment of the present disclosure.
  • the vehicle remote upgrade apparatus 1100 includes: a division module 1110 , a determination module 1120 and an upgrade module 1130 .
  • the dividing module 1110 is used to determine the software application definition to which one or more control domains of the vehicle to be upgraded belong according to the multiple control domain software definitions divided based on the vehicle type and the whole vehicle; the determining module 1120 is used to identify the release version defined by the software application Determine the installation package, the difference package and/or the rollback package; the upgrade module 1130 is configured to upgrade the software corresponding to the upgrade instruction according to the installation package, the difference package and/or the rollback package.
  • the upgrade module 1130 includes: a generation unit, a first configuration unit, a second configuration unit and an upgrade unit.
  • the generating unit is used to generate a vehicle software upgrade strategy of the vehicle to be upgraded according to the upgrade instruction;
  • the first configuration unit is used to configure at least one software to be upgraded according to the vehicle software upgrade strategy, and configure the version of each software to be upgraded Identification, upgrade operation, and installation package;
  • the second configuration unit is used to configure the upgrade order and rollback order of each software to be upgraded according to the differential package and the rollback package, calculate the storage size occupied by all software upgrade packages, and generate an upgrade
  • the command message and the rollback command message form the upgrade data;
  • the upgrade unit is used to send the upgrade data to the vehicle to be upgraded, so as to perform the upgrade operation based on the upgrade data.
  • the apparatus 1100 in this embodiment of the present disclosure further includes: a visualization module.
  • the visualization module is used to generate the DAG according to the upgrade order and the rollback order, and convert the DAG into a tree structure to visualize the upgrade order and rollback order.
  • the apparatus 1100 in the embodiment of the present disclosure further includes: a receiving module and a reminding module.
  • the receiving module is used to receive the current upgrade process and the upgrade result fed back by the vehicle to be upgraded, and determine the final upgrade result of the vehicle to be upgraded according to the current upgrade process and the upgrade result;
  • the reminder module is used to detect whether the vehicle to be upgraded is abnormal Execute the installation operation of the rollback software package according to the return report. If the installation operation is not performed, the upgrade failure reminder will be given as well as the failure reminder.
  • the unified upgrade management of the whole vehicle software can be realized in a software-defined manner, and all software versions of the vehicle and the direct dependencies of the software can be accurately determined, so as to avoid inconsistent dependencies when upgrading multiple softwares at the same time. Knowing the problems that cause configuration errors, you can remotely upgrade multiple software at the same time and reliably, effectively improve the reliability and efficiency of remote upgrades, and improve user experience.
  • an embodiment of the present disclosure also provides a server, where the server includes the above-mentioned vehicle remote upgrade device.
  • the server can realize the unified upgrade management of the whole vehicle software through the software-defined method, and can accurately determine all the software versions of the vehicle and the direct dependencies of the software, avoiding the problem of unclear dependencies leading to configuration errors when upgrading multiple software at the same time. Reliable remote upgrade of multiple software, effectively improve the reliability and efficiency of remote upgrade, and improve user experience.
  • An embodiment of the present disclosure further provides a computer device, comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement any of the foregoing remote vehicle upgrades method.
  • the computer device 1200 may be a server or an in-vehicle computer or the like.
  • the computer device 1200 includes: a processor 1201 and a memory 1202 .
  • the processor 1201 may include one or more processing cores, such as a 7-core processor, an 8-core processor, and the like.
  • the processor 1201 can use at least one hardware form among DSP (Digital Signal Processing, digital signal processing), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, programmable logic array) accomplish.
  • the processor 1201 may also include a main processor and a coprocessor.
  • the main processor is a processor used to process data in the wake-up state, also called CPU (Central Processing Unit, central processing unit); the coprocessor is A low-power processor for processing data in a standby state.
  • the processor 1201 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used for rendering and drawing the content that needs to be displayed on the display screen.
  • the processor 1201 may further include an AI (Artificial Intelligence, artificial intelligence) processor, where the AI processor is used to process computing operations related to machine learning.
  • AI Artificial Intelligence, artificial intelligence
  • Memory 1202 may include one or more computer-readable media, which may be non-transitory. Memory 1202 may also include high-speed random access memory, as well as non-volatile memory, such as one or more disk storage devices, flash storage devices. In some embodiments, a non-transitory computer-readable medium in the memory 1202 is used to store at least one instruction for execution by the processor 1201 to implement the methods provided in the embodiments of the present disclosure.
  • FIG. 12 does not constitute a limitation on the computer device 1200, and may include more or less components than the one shown, or combine some components, or adopt different component arrangements.
  • Embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, implements any of the foregoing methods for remote vehicle upgrade.
  • Embodiments of the present disclosure further provide a computer program, including: computer program code, where the program code includes instructions for implementing any of the foregoing methods for remotely upgrading a vehicle.
  • An embodiment of the present disclosure further provides a vehicle remote upgrade system, including: a server and a vehicle to be upgraded.
  • the server is configured to determine a software application set to be upgraded according to the model of the vehicle to be upgraded, the software application set includes multiple software applications; based on the dependencies between the multiple software applications, generate an upgrade of the vehicle to be upgraded a strategy file, wherein the upgrade sequence of the multiple software applications in the upgrade strategy file satisfies the dependency relationship; the upgrade strategy file is sent to the vehicle to be upgraded; the vehicle to be upgraded is used to receive the upgrade strategy file; according to The upgrade policy file performs the upgrade of the software application.
  • first and second are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature delimited with “first”, “second” may expressly or implicitly include at least one of that feature.
  • N means at least two, such as two, three, etc., unless expressly and specifically defined otherwise.
  • Any process or method description in the flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or N more executable instructions for implementing custom logical functions or steps of the process , and the scope of the preferred embodiments of the present disclosure includes alternative implementations in which the functions may be performed out of the order shown or discussed, including performing the functions substantially concurrently or in the reverse order depending upon the functions involved, which should It is understood by those skilled in the art to which the embodiments of the present disclosure pertain.
  • portions of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof.
  • the N steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if implemented in hardware, as in another embodiment, it can be implemented by any one of the following techniques known in the art, or a combination thereof: discrete with logic gates for implementing logic functions on data signals Logic circuits, application specific integrated circuits with suitable combinational logic gates, Programmable Gate Arrays (PGA), Field Programmable Gate Arrays (FPGA), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开公开了一种车辆远程升级方法、装置及服务器。该方法包括:根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;向所述待升级车辆发送所述升级策略文件。该方法能够提高升级的可靠性及升级效率。

Description

车辆远程升级方法、装置及服务器
本公开要求于2021年04月29日提交的申请号为202110472386.6、发明名称为“车辆远程升级方法、装置及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及车辆技术领域,特别涉及一种车辆远程升级方法、装置及服务器。
背景技术
随着车辆技术的不断升级,汽车电子电器的架构升级,相关域控制器和ECU(Electronic Control Unit,电子控制单元)软件应用的升级更新更加频繁。
发明内容
本公开提供一种车辆远程升级方法、装置及服务器。
第一方面,提供一种车辆远程升级方法,包括:根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;
基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;
向所述待升级车辆发送所述升级策略文件。
可选地,所述基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,包括:
生成DAG(Directed Acyclic Graph,有向无环图),所述DAG用于描述所述多个软件应用之间的依赖关系;
基于所述DAG确定所述多个软件应用的升级顺序;
基于所述升级顺序生成所述升级策略文件。
可选地,所述基于所述DAG确定所述多个软件应用的升级顺序,包括:
基于所述DAG,生成树形结构;
基于所述树形结构,按照层序遍历算法确定所述多个软件应用的升级顺序。
可选地,所述方法还包括:
基于所述升级顺序,确定所述多个软件应用的降级顺序;
基于所述降级顺序,生成回退策略文件;
将所述回退策略文件发送给所述待升级车辆。
可选地,所述升级策略文件包括:多个升级指令,每个所述升级指令对应一个所述软件应用,所述多个升级指令的排列顺序与所述多个软件应用的升级顺序一致;
所述回退策略文件包括:多个回退指令,每个所述回退指令对应一个所述软件应用,所述多个回退指令的排列顺序为所述多个升级指令的排列顺序的逆序。
可选地,所述升级策略文件包括所述多个软件应用的升级软件包的下载地址,所述升级软件包包括原子安装包和差分包。
第二方面,提供了一种车辆远程升级方法,包括:接收升级策略文件,所述升级策略文件中,多个软件应用的升级顺序满足所述多个软件应用之间的依赖关系,所述多个软件应用属于待升级的软件应用集合,所述待升级的软件应用集合是根据待升级车辆的车型确定的;根据所述升级策略文件进行所述软件应用的升级。
可选地,所述根据所述升级策略文件进行所述软件应用的升级,包括:根据所述升级策略文件,下载所述多个软件应用的升级软件包;按照所述升级顺序,安装所述多个软件应用的升级软件包。
第三方面,提供了一种车辆远程升级装置,包括:
确定模块,用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;
生成模块,用于基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;
发送模块,用于向所述待升级车辆发送所述升级策略文件。
可选地,所述生成模块,包括:
第一生成子模块,用于生成DAG,所述DAG用于描述所述多个软件应用之间的依赖关系;
确定子模块,用于基于所述DAG确定所述多个软件应用的升级顺序;
第二生成子模块,用于基于所述升级顺序生成所述升级策略文件。
可选地,所述确定子模块,用于基于所述DAG,生成树形结构;以及基于所述树形结构,按照层序遍历算法确定所述多个软件应用的升级顺序。
可选地,所述确定模块,还用于基于所述升级顺序,确定所述多个软件应用的降级顺序;所述生成模块,还用于基于所述降级顺序,生成回退策略文件;所述发送模块,还用于将所述回退策略文件发送给所述待升级车辆。
可选地,所述升级策略文件包括:多个升级指令,每个所述升级指令对应一个所述软件应用,所述多个升级指令的排列顺序与所述多个软件应用的升级顺序一致;
所述回退策略文件包括:多个回退指令,每个所述回退指令对应一个所述软件应用,所述多个回退指令的排列顺序为所述多个升级指令的排列顺序的逆序。
可选地,所述升级策略文件包括所述多个软件应用的升级软件包的下载地址,所述升级软件包包括原子安装包和差分包。
第四方面,提供了一种车辆远程升级装置,包括:
接收模块,用于接收升级策略文件,所述升级策略文件中,多个软件应用的升级顺序满足所述多个软件应用之间的依赖关系,所述多个软件应用属于待升级的软件应用集合,所述待升级的软件应用集合是根据待升级车辆的车型确定的;
升级模块,用于根据所述升级策略文件进行所述软件应用的升级。
可选地,所述升级模块,包括:
下载子模块,用于根据所述升级策略文件,下载所述多个软件应用的升级软件包;
升级子模块,用于按照所述升级顺序,安装所述多个软件应用的升级软件包。
第五方面,提供了一种计算机设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令以实现第一方面提供的任一种车辆远程升级方法,或者,实现第二方面提供的任一种车辆远程升级方法。
第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的任一种车辆远程升级方法,或者,实现第二方面提供的任一种车辆远程升级方法。
第七方面,提供了一种计算机程序,包括:计算机程序代码,所述程序代码包括用于实现第一方面提供的任一种车辆远程升级方法的指令,或者,包括用于实现第二方面提供的任一种车辆远程升级方法的指令。
第八方面,提供了一种车辆远程升级系统,包括:
服务器,用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;向所述待升级车辆发送所述升级策略文件;
待升级车辆,用于接收所述升级策略文件;根据所述升级策略文件进行所述软件应用的升级。
第九方面,提供一种车辆远程升级方法,包括:根据基于车型整车划分的多个控制域软件定义确定待升级车辆的一个或多个控制域所属软件应用定义;根据所述所属软件应用定义的发布版本标识确定安装包、差分包和/或回退包;根据所述安装包、差分包和/或回退包对升级指令对应的软件进行升级。
可选地,所述根据所述安装包、差分包和/或回退包对升级指令对应的软件进行升级,包括:根据所述升级指令生成所述待升级车辆的整车软件升级策略;根据所述整车软件升级策略配置至少一个待升级软件,并配置每个待升级软件的版本标识、升级操作、所述安装包;根据所述差分包和所述回退包配置所述每个待升级软件的升级顺序和回退顺序,并计算所有软件升级包所占用存储大小,且生成升级指令报文与回退指令报文,组成升级数据;发送所述升级数据至所述待升级车辆,以基于所述升级数据执行升级操作。
可选地,本公开实施例的方法还包括:根据所述升级顺序和所述回退顺序生成DAG,并将所述DAG转换为树形结构,以可视化所述升级顺序和所述回退顺序。
可选地,本公开实施例的方法还包括:接收所述待升级车辆反馈的当前升级流程和升级结果;根据所述当前升级流程和所述升级结果确定所述待升级车辆的最终升级结果。
可选地,本公开实施例的方法还包括:检测所述待升级车辆是否在出现异常时根据所述退回报文执行所述回退软件包的安装操作;若未执行所述安装操作,则进行升级失败提醒的同时进行故障提醒。
第十方面,提供了一种车辆远程升级装置,包括:划分模块,用于根据基于车型整车划分的多个控制域软件定义确定待升级车辆的一个或多个控制域所属软件应用定义;确定模块,用于根据所述所属软件应用定义的发布版本标识确定安装包、差分包和/或回退包;升级模块,用于根据所述安装包、差分包和/或回退包对升级指令对应的软件进行升级。
可选地,所述升级模块包括:生成单元,用于根据所述升级指令生成所述待升级车辆的整车软件升级策略;第一配置单元,用于根据所述整车软件升级 策略配置至少一个待升级软件,并配置每个待升级软件的版本标识、升级操作、所述安装包;第二配置单元,用于根据所述差分包和所述回退包配置所述每个待升级软件的升级顺序和回退顺序,并计算所有软件升级包所占用存储大小,且生成升级指令报文与回退指令报文,组成升级数据;升级单元,用于发送所述升级数据至所述待升级车辆,以基于所述升级数据执行升级操作。
可选地,本公开实施例的装置还包括:可视化模块,用于根据所述升级顺序和所述回退顺序生成DAG,并将所述DAG转换为树形结构,以可视化所述升级顺序和所述回退顺序。
可选地,本公开实施例的装置还包括:接收模块,用于接收所述待升级车辆反馈的当前升级流程和升级结果,并根据所述当前升级流程和所述升级结果确定所述待升级车辆的最终升级结果;提醒模块,用于检测所述待升级车辆是否在出现异常时根据所述退回报文执行所述回退软件包的安装操作,若未执行所述安装操作,则进行升级失败提醒的同时进行故障提醒。
第十一方面,提供了一种服务器,其包括上述的车辆远程升级装置。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本公开实施例提供的车辆远程升级系统的结构示意图;
图2为根据本公开实施例提供的一种车辆远程升级方法的流程图;
图3为根据本公开实施例提供的另一种车辆远程升级方法的流程图;
图4为根据本公开实施例提供的DAG图转换为升级顺序的示例图;
图5为根据本公开实施例提供的又一种车辆远程升级方法的流程图;
图6为根据本公开实施例提供的又一种车辆远程升级方法的流程图;
图7为根据本公开实施例提供的车端下载升级包策略的流程图;
图8为根据本公开实施例提供的车端执行升级策略的流程图;
图9为根据本公开实施例提供的一种车辆远程升级装置的方框示意图;
图10为根据本公开实施例提供的另一种车辆远程升级装置的方框示意图;
图11为本公开实施例提供的又一种车辆远程升级装置的方框示意图;
图12为本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
在介绍本公开实施例的车辆远程升级方法、装置及服务器之前,先对本公开实施例的升级系统进行阐述。如图1所示,该升级系统包括服务器端和车端。服务器端和车端通信连接。
服务器端包括应用服务器、数据库、服务网关和文件服务器。其中,服务网关为对外直接提供服务接口的服务器;应用服务器提供服务接口的实际程序与逻辑实现,提供定时执行程序实现;数据库存储车型、车辆信息、升级应用版本信息,车辆版本信息、升级策略配置信息、应用升级实车测试记录、车辆升级会话日志流水信息、各种数据报表等;文件服务器存储各应用的原子软件包、差分包、回退包等软件包文件。
车端包括软件包下载代理、包还原单元、升级管理单元、升级指令执行单元和数据埋点单元。软件包下载代理负责下载升级指令中所有需要下载的原子软件包或差分包。包还原单元负责将差分包和旧原子软件包按差分算法合并为新原子软件包。升级管理单元用于根据向服务器端请求升级策略文件和回退策略文件。升级指令执行单元用于根据升级策略文件执行升级指令。数据埋点单元用于将用户操作行为的埋点和/或程序关键性操作的数据埋点上报,主要用于升级失败后的问题定位与排查。
在本公开实施例中,原子软件包可以是指未经过数字加密和加签名的原始软件安装包。
本公开提供了一种车辆远程升级方法,在该方法中,通过软件定义的方式实现整车软件的统一升级管理,可以准确确定车辆所有软件版本以及软件之间的依赖关系,避免同时升级多个软件时因关系不清楚导致配置错误的问题,可以同时可靠的远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。由此,解决了相关技术中的远程升级方案无法准确确定所有软件版本及软件之间的依赖关系,容易出现升级配置错误无法升级,导致升级的可靠性及效率降低,用户体验较差等问题。
下面参考附图描述本公开实施例的车辆远程升级方法、装置及服务器。
图2为本公开实施例所提供的一种车辆远程升级方法的流程示意图。该方法可以由服务器执行。如图2所示,该车辆远程升级方法包括:
在步骤101中,根据待升级车辆的车型,确定待升级的软件应用集合,该 软件应用集合包括多个软件应用。
在本公开实施例中,可以预先根据车型,将整车划分为多个控制域,每个控制域对应一个或多个控制器(例如BCM(Body Control Module,车身控制模块))或者ECU。
每个控制域对应一个软件定义。每个软件定义对应一个或多个软件应用且每个软件定义具有唯一标识(例如版本号)。待升级的软件应用集合所包含的多个软件应用可以从预先划分出的多个控制域对应的软件应用中选择,可以是多个控制域对应的软件应用中的全部或者部分。
在步骤102中,基于多个软件应用之间的依赖关系,生成待升级车辆的升级策略文件。
在本公开实施例中,多个软件应用之间的依赖关系是指一个软件应用是否能够安装成功依赖于另一软件应用是否已安装成功。例如,多个软件应用包括第一软件应用和第二软件应用,第一软件应用需要在第二软件应用安装成功的基础上才可能安装成功,即第一软件应用的安装成功是依赖于第二软件应用的成功安装的。
升级策略文件中多个软件应用的升级顺序与这多个软件应用之间的依赖关系相应。也即是,该升级顺序中,被依赖的软件应用排在依赖该软件应用的软件应用之前,从而使被依赖的软件应用在依赖该软件应用的软件应用之前升级。
在步骤103中,将升级策略文件发送给待升级车辆。
待升级车辆接收该升级策略文件后,根据该升级策略文件进行升级。
本公开实施例通过基于待升级的多个软件应用之间的依赖关系,生成升级策略文件,升级策略文件中多个软件应用的升级顺序与这多个软件应用之间的依赖关系相应。待升级车辆按照该升级策略文件中的升级顺序进行升级,可以避免同时升级多个软件应用时因未考虑依赖关系导致配置错误的问题,从而可以可靠地远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。
图3为本公开实施例所提供的一种车辆远程升级方法的流程示意图。该方法可以由服务器和待升级车辆(例如车载终端)共同执行。如图3所示,该车辆远程升级方法包括:
在步骤201中,服务器根据待升级车辆的车型,确定待升级的软件应用集合,该软件应用集合包括多个软件应用。
在一些示例中,服务器可以预先存储车型和软件应用之间的关联关系。该 关联关系中,每种车型对应多种软件应用,不同车型对应的软件应用可以相同、或者部分不同、或者完全不同。
该关联关系可以采用以下方式建立:首先,定义多个软件应用,每个软件应用具有一个唯一的标识。然后,根据车型,将整车划分为多个控制域,每个控制域有一个集中控制器,一个集中控制器对应多个控制单元(例如BCM或者ECU),每个控制单元对应一个或多个软件应用。最后,根据各个车型的控制域,确定该车型对应的软件应用,从而建立车型和软件应用之间的关联关系。
通过软件定义的方式实现整车软件的统一升级管理,有利于准确确定车辆所有软件应用之间的依赖关系。
该步骤201可以包括:根据待升级车辆的车型和该关联关系,确定待升级的软件应用集合,该软件应用集合所包含的多个软件应用可以是该关联关系中,待升级车辆的车型所对应的软件应用中的全部或者部分。
在步骤202中,服务器获取多个软件应用的升级软件包。
在本公开实施例中,每个软件应用的升级软件包包括一个原子安装包、至少一个差分包和至少一个回退包。在同一软件应用的升级软件包中,不同的差分包对应不同版本的旧原子安装包。
在一些实施例中,服务器可以接收用户通过终端上传的原子安装包、差分包和回退包。在另一些实施例中,服务器可以接收用户通过终端上传的原子安装包,并基于该原子安装包与旧原子安装包生成对应的差分包和回退包。
服务器在获取到软件应用的升级软件包后,会将其保存在服务器中。
在步骤203中,服务器生成DAG,DAG用于描述多个软件应用之间的依赖关系。
DAG中软件应用之间的依赖关系可以是手动标注的,例如通过箭头标注。假设待升级的软件应用集合包括5个软件应用,分别对应BCM、ECU1~ECU4。生成的DAG如图4的(a)部分所示。图4的(a)部分中,箭头用于指示箭头两端的两个软件应用之间的依赖关系,箭头的起点为被依赖的软件应用。例如,BCM的软件应用为被ECU1和ECU2的软件应用所依赖的软件应用。ECU1和ECU2的软件应用均为被ECU3的软件应用所依赖的软件应用。ECU2的软件应用为被ECU4的软件应用所依赖的软件应用。
通过DAG图展示多个软件应用之间的依赖关系,以便于直观地检查该依赖关系是否正确。
在步骤204中,服务器基于DAG确定多个软件应用的升级顺序。
示例性地,该步骤204包括:
第一步、基于DAG,生成树形结构;
第二步、基于树形结构,按照层序遍历算法确定多个软件应用的升级顺序。
在第一步中,可以采用深度遍历算法,将DAG转换为树形结构。深度遍历算法的遍历过程为,从起始节点v出发,访问它的任一邻接节点w1;再从w1出发,访问与w1相邻但还没有被访问过的节点w2;依次类推,直到到达所有的相邻节点都被访问过的节点u为止。退回一步,退回到前一次访问过的节点,看是否还有其他没有被访问过的相邻节点。如果有其他没有被访问过的相邻节点,则访问该节点,然后再从该节点出发,重复前述访问过程;如果没有其他没有被访问过的相邻节点,则再退回一步进行搜索。重复前述过程,直到所有的节点都被访问过为止。
例如,以对图4的(a)部分所示的DAG进行深度遍历为例,以BCM为起始节点,访问BCM的相邻节点ECU1,然后访问ECU1的相邻节点ECU3。ECU3没有其他未被访问过的相邻节点,则退回到ECU1。ECU1也没有其他未被访问的相邻节点,继续退回到BCM,得到新的未访问节点ECU2,由于ECU3已经被访问过,所以继续访问ECU2的未被访问过的ECU4,从而得到图4的(b)部分中的树形结构。
在第二步中,层序遍历算法是指从树形结构的根节点出发,按照从上到下的顺序逐层访问,每一层中按照从左到右的顺序访问各个节点。例如以对图4的(b)部分所示的树形结构进行层序遍历为例,以BCM为根节点,按照从上到下的顺序,先访问第一层,即ECU1和ECU2所在层,然后访问ECU3和ECU4所在层;每一层中均按照从左到右的顺序访问完成后到下一层,从而得到图3的(b)部分中的队列。
在步骤205中,服务器基于升级顺序生成升级策略文件和回退策略文件。
示例性地,升级策略文件包括:多个升级指令,每个升级指令对应一个软件应用,多个升级指令的排列顺序与多个软件应用的升级顺序一致。回退策略文件包括:多个回退指令,每个回退指令对应一个软件应用,多个回退指令的排列顺序为多个升级指令的排列顺序的逆序。
在一些实施例中,该升级策略文件还包括整车版本号、软件应用对应的控制域的标识以及升级条件。该升级条件可以是升级程序启动所需要满足的条件,例如车辆档位和点火状态等。
可选地,该升级策略文件还包括各个软件应用对应的升级软件包的下载地址。
可选地,该升级策略文件还包括整车版本号,该整车版本号与软件应用集 合对应,用于表示整车升级的版本。
可选地,该升级策略文件还包括所需存储容量的大小,用于指示本次升级的需要下载的升级软件包所需要占用的最大存储容量。
该步骤205可以包括:按照升级顺序,将升级指令写入升级策略文件中;基于升级顺序,确定多个软件应用的降级顺序;基于降级顺序,生成回退策略文件。示例性地,服务器可以将升级顺序的逆序作为多个软件应用的降级顺序。
示例性地,升级指令可以包括以下信息:原版本号,目标版本号,原子安装包下载地址,差分包下载地址(可能有多个,分别对应不同的原版本号),回退包下载地址(与差分包对应),升级软件包签名字符串,升级软件包加密算法编号(可选),目标硬件版本号,并行刷写号(两条记录的刷写号相同,说明可以同时执行刷写),刷写顺序编号,目标ECU指令编号,UDS(Unified Diagnostic Services,统一的诊断服务)刷写指令集编号,其它扩展域字段。其中,原版本号可以是实际的版本号,也可以是通配符,该通配符用于指示多个旧版本。
通过步骤203至步骤205,可以实现基于多个软件应用之间的依赖关系,生成待升级车辆的升级策略文件。
在步骤206中,服务器向待升级车辆推送升级消息,该升级消息用于指示待升级车辆下载升级策略文件。
在一些实施例中,服务器可以按照灰度发布策略推送升级消息。这里,灰度发布策略是指对指定升级车辆推送升级消息。指定升级车辆可以是指定升级区域内的车辆。
示例性地,服务器可以通过MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议服务的推送管道推送升级消息。
在步骤207中,待升级车辆根据该升级消息,下载升级策略文件。
通过该步骤206和步骤207,可以实现服务器将升级策略文件发送给待升级车辆,以及待升级车辆接收该升级策略文件。
在步骤208中,待升级车辆根据该升级策略文件进行升级。
示例性地,该步骤208包括:根据升级策略文件,下载多个软件应用的升级软件包;按照升级顺序,安装多个软件应用的升级软件包。
可选地,下载的升级软件包包括原子软件包和/或差分包。在一些示例中,升级软件包还包括差分包对应的回退包。这里,差分包均与待升级车辆中在升级前的软件应用版本对应。
可选地,该方法还包括:待升级车辆向服务器发送升级结果;服务器接收待升级车辆发送的升级结果。
可选地,该方法还包括:待升级车辆在升级失败时,根据回退策略文件进行回退。
本公开实施例通过基于待升级的多个软件应用之间的依赖关系,生成升级策略文件,升级策略文件中多个软件应用的升级顺序满足这多个软件应用之间的依赖关系。待升级车辆按照该升级策略文件中的升级顺序进行升级,可以避免同时升级多个软件应用时因未考虑依赖关系导致配置错误的问题,从而可以可靠地远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。
此外,通过DAG图的方式直观得展示各个软件应用之间的依赖关系,有利于及时发现依赖关系的错误,并且在依赖关系出现错误时,可以通过调整箭头指向及时进行修改,直至依赖关系正确。因此,基于DAG图确定多个软件应用的升级顺序,可以减少配置软件应用的升级顺序时产生的错误。
图5为本公开实施例所提供的一种车辆远程升级方法的流程示意图。如图5所示,该车辆远程升级方法包括以下步骤:
在步骤S301中,根据基于车型整车划分的多个控制域软件定义,确定待升级车辆的一个或多个控制域所属应用软件定义。
其中,待升级车辆可以理解为本公开实施例中需要升级的指定车型。
在本实施例中,在软件升级应用服务平台中将待升级车辆整车划分为多个控制域软件定义,将各控制域所属应用软件做应用定义。具体地:定义软件应用,通过软件应用标识信息定义一个整车软件或局部的域控制器软件;并配置软件应用与车型的关联关系,明确车型可升级软件应用包的范围。
在步骤S302中,根据所属应用软件定义的发布版本标识确定安装包、差分包和/或回退包。
其中,发版本标识可以为发布版本号,本公开在定义之后维护各应用定义的发布版本号,每个应用版本对应一组软件原子安装包、软件差分包、软件回退包。
在本实施例中,在升级指定车型整车软件时,首先生成一个整车软件升级策略号,并根据此策略号配置此次升级包含的ECU软件应用列表清单;然后配置各软件应用的版本号、是否强制升级、软件包文件,并生成版本差分包和回退包。
在步骤S303中,根据安装包、差分包和/或回退包对升级指令对应的软件进行升级。
在本实施例中,根据安装包、差分包和/或回退包对升级指令对应的软件进行升级,包括:根据升级指令生成待升级车辆的整车软件升级策略;根据整车软件升级策略配置至少一个待升级软件,并配置每个待升级软件的版本标识、升级操作、安装包;根据差分包和回退包配置每个待升级软件的升级顺序和回退顺序,并计算所有软件升级包所占用存储大小,且生成升级指令报文与回退指令报文,组成升级数据;发送升级数据至待升级车辆,以基于升级数据执行升级操作。
其中,配置升级策略为:根据升级顺序和回退顺序生成DAG,并将DAG转换为树形结构,以可视化升级顺序和回退顺序。例如,本公开实施例将图形化配置好的DAG图转换为可执行的升级策略的顺序可以如图4所示,通过深度遍历算法将(a)部分中的DAG图通过转换为(b)部分中的树状数据结构,并通过层序遍历算法基于(b)部分中的树状数据结构得到(c)部分中的执行升级任务策略列表。
可以理解的是,本公开实施例配置软件升级顺序和回退顺序的DAG,计算所有软件升级包所占用存储大小、生成升级指令报文、生成回退指令报文,设定升级车辆清单,通过MQTT协议服务的推送管道推送消息给待升级车辆的OTA(Over-the-Air,空中下载)升级代理服务。
具体而言,(1)配置升级策略,通过图形化方式管理多个软件包的升级执行顺序,系统自动将DAG图转换为树形结构,通过层序遍历树节点的方式转换为软件包升级顺序,使用队列遍历的方式得到回退顺序;
(2)配置待升级车辆,通过向待升级车辆推送升级消息的方式触发待升级车辆验证升级策略;
(3)配置灰度发布策略,通过指定升级车辆和升级区域等方式,在一定范围内发布新软件版本;
(4)配置升级定时任务,定时推送升级消息给待升级车辆,以触发并启动车端的升级会话。
在一些实施例中,本公开实施例的方法还包括:接收待升级车辆反馈的当前升级流程和升级结果;根据当前升级流程和升级结果确定待升级车辆的最终升级结果。
车端下载升级指令报文、回退指令报文,并根据升级指令报文判定是否能够执行指令,升级指令报文包括执行软件包下载、软件包合并、软件包安装等指令,以确定最终升级结果。
具体地,车端收到升级消息后,首先,通过升级管理单元请求服务器端网 关服务,获取车辆应用需要升级的目标版本,根据本地版本、目标版本请求服务器端网关获取升级策略文件和回退策略文件,通过数据埋点单元将当前车辆的升级会话记录和执行状态发送到服务网关;然后,车端软件包下载代理根据升级策略文件循环下载升级软件包,包还原单元根据差分包和本地旧原子安装包合并成新原子安装包,校验差分包的合法性,校验新原子安装包的合法性;最后,车端在完成所有升级任务所需要的软件包准备后,根据升级策略文件的定义,顺序执行升级指令,并且车端执行升级指令时顺序显示软件安装流程和结果。
在一些实施例中,本公开实施例的方法还包括:检测待升级车辆是否在出现异常时根据退回报文执行回退软件包的安装操作;若未执行安装操作,则进行升级失败提醒的同时进行故障提醒。
车端在执行升级指令报文中出现异常后,根据回退指令按顺序执行回退软件包安装操作,且车端在执行升级指令步骤的进入和退出步骤通过数据埋点单元将升级任务的执行日志发送到服务网关。
综上,本公开实施例可以将整车软件或者局部的域控制器软件作为一个分布式系统来做统一的软件应用管理,以可视化图形的方式来配置、跟踪车辆软件升级策略以及相关策略执行状态,方便运维人员、技术人员、测试人员实现整车软件的远程升级操作。
下面将通过具体实施例对车辆远程升级方法进行阐述,如图6所示,该方法包括以下步骤:
S1-1,配置软件应用的信息,软件应用的信息包括可供远程升级的软件零部件号,应用编码,应用名称,描述等信息。
在本公开实施例中,软件零部件号可以用于唯一标识一个软件应用。每个软件零部件号对应一个零部件,零部件为域控制器或者ECU。在本公开实施例中,ECU是专用于某器件的控制器,例如雷达设备对应的控制器;域控制器为某个领域的域控制器,例如,动力域的控制器包括发动机控制单元和变速器控制单元等。
S1-2,配置车型的信息,车型的信息包括车型代码,车型名称,车型年款,所属品牌等信息。
S1-3,配置车型与软件应用的关联关系。
根据车型配置可以允许远程升级的软件应用清单。
S1-4,定义车型应用版本/升级策略。
根据车型增加车型整车软件版本号,根据整车版本号配置需要升级的零部件号以及应用配置升级条件,如车辆挡位、点火状态等升级程序启动信息。这里,根据整车版本号配置的需要升级的零部件号所属的软件应用构成待升级的软件应用集合。
通过S1-1~S1-4,能够实现根据待升级车辆的车型,确定待升级的软件应用集合。
S1-5,根据车型应用版本上传各需要升级的零部件软件应用的原子安装包、差分包、回退包,以及升级说明信息等。原子安装包和差分包可以被称为升级软件包。相应地,服务器接收升级软件包。在一些实施例中,一个原子安装包可以对应多个差分包,这多个差分包分别对应不同的旧原子安装包的版本。
S1-6,根据已配置的车型应用版本号,配置需要升级的零部件软件应用的升级顺序。
使用DAG可视图的方式通过箭头标注升级顺序。标注的升级顺序用于指示软件应用之间的依赖关系。
S1-7,服务器自动根据已配置完成的DAG图生成升级指令列表,将升级指令按格式规范写入升级策略文件中。
S1-8,服务器自动根据升级指令列表排序生成回退指令列表,将回退指令按格式写入回退策略文件中。
示例性地,可以将升级指令列表中的升级指令逆排序,得到回退指令列表(也可以被称为降级指令列表)。
S1-9,推送升级消息给测试车辆,让指定测试车辆获取下载指定整车应用版本的升级策略文件。
按照测试策略推送升级消息给测试车辆。
S1-10,通过人工验证测试车辆升级策略的执行是否达到预期,如果已达到预期,执行S1-11;如果未达到预期,执行S1-5。
S1-11,针对指定整车应用版本上传测试报告。
S1-12,审核人员审核整车应用版本的测试报告。
S1-13,判断测试报告是否通过审核,如果通过审核,执行S1-14,如果未通过审核,执行S1-5。
S1-14,针对已通过审核的整车应用版本生成升级任务,定义允许升级的车辆范围。
S1-15,审核人员审核待发布的升级任务,审核人员可以选择通过和不通过。
S1-16,判断升级任务是否通过审核,如果审核人员选择通过,则执行S1-17, 选择不通过,整车升级任务状态修改为初始状态,回退到S1-14进行修改。
S1-17,系统判断是否是指定时间执行的升级任务,如果是定时任务,执行S1-18,如果不是,执行S1-20。
S1-18,任务执行系统记录新的定时任务记录。
S1-19,任务执行系统定时检查是否有需要执行的定时任务,满足执行时间,执行S1-20,不满足执行时间,休眠等待唤醒。
S1-20,按照升级任务指定的升级范围获取需要升级的车辆列表,根据车辆列表调用消息推送接口推送升级任务给执行车辆。
S1-21,车端下载升级包子流程。
S1-22,车端执行升级策略子流程。
在本实施例中,车端下载升级包子流程的过程如图7所示,包括以下步骤:
S2-1,车端请求服务器端检查接口,以检查是否存在车辆需要更新的整车应用包,并获取需要更新的整车应用包升级策略信息。
这里,整车应用包即一个待升级的软件应用集合。
车端会请求服务器端的一个特定接口(即服务器端检查接口),请求中可以携带车辆VIN,各ECU版本号(列表类型)等参数。服务器端收到此接口,根据接口中的升级任务的推送范围匹配获取得到整车应用包升级策略信息。整车应用包升级策略信息例如升级策略文件链接。不同的推送范围对应不同的升级策略文件连接。
S2-2,如果存在需要更新的整车应用包,执行S-3,否则结束本流程。
S2-3,检查本地可用容量是否满足需要下载的升级软件包大小。
S2-4,如果本地可用容量足够下载任务执行,执行S2-5,否则执行S2-7。
S2-5,本地生成升级任务记录ID,用于记录并标识本次升级任务执行行为。
S2-6,根据升级策略文件循环检查下载升级软件包。
例如可以根据升级指令列表循环检查下载升级软件包。
S2-7,生成告警提示信息,通过可视屏幕显示,并将告警信息发送至服务器端。
S2-8,如果本次循环对应的软件包存在差分包,执行S2-9,否则执行S2-11。
S2-9,根据升级策略文件中定义的差分包下载链接,下载指定软件差分包。
S2-10,使用包还原单元,通过本地原子安装包合并差分包,生成升级目标原子安装包。
S2-11,根据升级策略文件中定义的原子安装包下载链接,下载指定原子安 装包。
S2-12,根据升级任务ID,记录升级执行日志。
S2-13,判断是否还有需要执行的下载任务,如果存在,执行S2-6,如果不存在,结束本流程。
在本实施例中,车端执行升级策略子流程的过程如图8所示,包括以下步骤:
S3-1,根据升级策略清单循环执行软件包安装指令。
即进入循环升级任务流程。
S3-2,判断是否满足升级条件,如果满足,执行S3-3,如果不满足,执行S3-9。
S3-3,根据升级任务ID,记录升级执行日志,更新整车升级状态。
S3-4,根据软件包安装要求执行软件包安装指令,启动守护进程。
S3-5,通过守护进程监控软件安装是否出现异常情况,如果守护进程判断出现异常,中断安装指令,执行S3-11,如果安装完成,执行S3-6。
S3-6,根据升级任务ID,记录升级任务执行日志,更新整车升级状态。
S3-7,判断升级策略清单是否全部完成执行,如果未完成,执行S3-1,如果已全部完成,执行S3-12。
S3-8,通过定时或其它特定事件唤醒升级主执行任务。
这里,其它特定事件包括但不限于车辆点火时间和网络连接基站切换等。
S3-9,将升级主任务进程挂起等待。
S3-10,判断是否满足整车软件回退条件,如果满足条件,执行S3-14,如果不满足,执行S3-9。
示例性地,整车软件回退条件包括但不限于:升级策略文件中是否指定需要在升级失败后回退;是否超过最大重试次数;以及回退包是否存在等。
S3-11,根据升级任务ID,记录升级任务异常日志。
S3-12,通过车辆屏幕显示升级成功提示。
S3-13,系统判断是否超过最大重试次数,如果未超过最大重试次数,执行S3-8,如果超过最大重试次数,执行S3-21。
S3-14,请求服务器端接口服务,获取回滚执行策略列表,根据回滚执行策略列表循环执行回滚操作。
这里,回滚执行策略列表即前述回退策略文件。
S3-15,根据升级任务ID,记录升级任务回滚日志。
S3-16,根据回滚策略列表执行软件回退安装指令。
S3-17,根据升级任务ID,记录升级任务回滚日志。
S3-18,判断是否还有下一个回滚操作任务,如果存在,执行S3-14,如果不存在,执行S3-19。
S3-19,根据升级任务策略列表,删除本次升级任务对应的新软件原子包,删除本次升级任务已下载的差分包。
S3-20,根据升级任务策略列表,删除旧软件原子包,删除本次升级任务已下载的差分包。
S3-21,根据升级任务ID,更新本次升级任务状态为升级成功。
在本公开实施例中,回滚和回退含义相同。
根据本公开实施例提出的车辆远程升级方法,通过软件定义的方式实现整车软件的统一升级管理,可以准确确定车辆所有软件版本以及软件直接的依赖关系,避免同时升级多个软件时依关系不清楚导致配置错误的问题,可以同时可靠的远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。
图9为本公开实施例所提供的一种车辆远程升级装置的结构示意图。如图9所示,该车辆远程升级装置900包括:确定模块901、生成模块902和发送模块903。
确定模块901用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;生成模块902用于基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;发送模块903用于向所述待升级车辆发送所述升级策略文件。
可选地,所述生成模块902,包括:第一生成子模块9021、确定子模块9022和第二生成子模块9023。第一生成子模块9021用于生成DAG,所述DAG用于描述所述多个软件应用之间的依赖关系;确定子模块9022用于基于所述DAG确定所述多个软件应用的升级顺序;第二生成子模块9023,用于基于所述升级顺序生成所述升级策略文件。
可选地,所述确定子模块9022用于基于所述DAG,生成树形结构;以及基于所述树形结构,按照层序遍历算法确定所述多个软件应用的升级顺序。
可选地,所述确定模块901还用于基于所述升级顺序,确定所述多个软件应用的降级顺序;所述生成模块902还用于基于所述降级顺序,生成回退策略 文件;所述发送模块903还用于将所述回退策略文件发送给所述待升级车辆。
可选地,所述升级策略文件包括:多个升级指令,每个所述升级指令对应一个所述软件应用,所述多个升级指令的排列顺序与所述多个软件应用的升级顺序一致;所述回退策略文件包括:多个回退指令,每个所述回退指令对应一个所述软件应用,所述多个回退指令的排列顺序为所述多个升级指令的排列顺序的逆序。
可选地,所述升级策略文件包括所述多个软件应用的升级软件包的下载地址,所述升级软件包包括原子安装包和差分包。
图10为本公开实施例所提供的一种车辆远程升级装置的结构示意图。如图10所示,该车辆远程升级装置1000包括:接收模块1001和升级模块1002。
接收模块1001用于接收升级策略文件,所述升级策略文件中,多个软件应用的升级顺序满足所述多个软件应用之间的依赖关系,所述多个软件应用属于待升级的软件应用集合,所述待升级的软件应用集合是根据待升级车辆的车型确定的;升级模块1002用于根据所述升级策略文件进行所述软件应用的升级。
可选地,所述升级模块1002包括:下载子模块10021和升级子模块10022,下载子模块10021用于根据所述升级策略文件,下载所述多个软件应用的升级软件包;升级子模块10022用于按照所述升级顺序,安装所述多个软件应用的升级软件包。
需要说明的是,上述实施例提供的车辆远程升级装置在对车辆进行远程升级时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的车辆远程升级装置与车辆远程升级方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本公开实施例提供的又一种车辆远程升级装置的方框示意图。如图11所示,该车辆远程升级装置1100包括:划分模块1110、确定模块1120和升级模块1130。
其中,划分模块1110用于根据基于车型整车划分的多个控制域软件定义确定待升级车辆的一个或多个控制域所属软件应用定义;确定模块1120用于根据所属软件应用定义的发布版本标识确定安装包、差分包和/或回退包;升级模块1130用于根据安装包、差分包和/或回退包对升级指令对应的软件进行升级。
进一步地,升级模块1130包括:生成单元、第一配置单元、第二配置单元和升级单元。其中,生成单元,用于根据升级指令生成待升级车辆的整车软件 升级策略;第一配置单元,用于根据整车软件升级策略配置至少一个待升级软件,并配置每个待升级软件的版本标识、升级操作、安装包;第二配置单元,用于根据差分包和回退包配置每个待升级软件的升级顺序和回退顺序,并计算所有软件升级包所占用存储大小,且生成升级指令报文与回退指令报文,组成升级数据;升级单元,用于发送升级数据至待升级车辆,以基于升级数据执行升级操作。
进一步地,本公开实施例的装置1100还包括:可视化模块。其中,可视化模块用于根据升级顺序和回退顺序生成DAG,并将DAG转换为树形结构,以可视化升级顺序和回退顺序。
进一步地,本公开实施例的装置1100还包括:接收模块和提醒模块。其中,接收模块用于接收待升级车辆反馈的当前升级流程和升级结果,并根据当前升级流程和升级结果确定待升级车辆的最终升级结果;提醒模块,用于检测待升级车辆是否在出现异常时根据退回报文执行回退软件包的安装操作,若未执行安装操作,则进行升级失败提醒的同时进行故障提醒。
需要说明的是,前述对车辆远程升级方法实施例的解释说明也适用于该实施例的车辆远程升级装置,此处不再赘述。
根据本公开实施例提出的车辆远程升级装置,通过软件定义的方式实现整车软件的统一升级管理,可以准确确定车辆所有软件版本以及软件直接的依赖关系,避免同时升级多个软件时依关系不清楚导致配置错误的问题,可以同时可靠的远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。
此外,本公开实施例还提出了一种服务器,该服务器包括上述的车辆远程升级装置。该服务器可以通过软件定义的方式实现整车软件的统一升级管理,可以准确确定车辆所有软件版本以及软件直接的依赖关系,避免同时升级多个软件时依关系不清楚导致配置错误的问题,可以同时可靠的远程升级多个软件,有效提高远程升级的可靠性及效率,提升用户的使用体验。
本公开实施例还提供了一种计算机设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令以实现前述任一种车辆远程升级方法。
如图12所示,该计算机设备1200可以是服务器或者车载电脑等。该计算机设备1200包括:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如7核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、 FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读介质,该计算机可读介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本公开实施例中提供的方法。
本领域技术人员可以理解,图12中示出的结构并不构成对计算机设备1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述任一种车辆远程升级方法。
本公开实施例还提供了一种计算机程序,包括:计算机程序代码,所述程序代码包括用于实现前述任一种车辆远程升级方法的指令。
本公开实施例还提供了一种车辆远程升级系统,包括:服务器和待升级车辆。服务器用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;向所述待升级车辆发送所述升级策略文件;待升级车辆用于接收所述升级策略文件;根据所述升级策略文件进行所述软件应用的升级。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示 例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

Claims (20)

  1. 一种车辆远程升级方法,包括:
    根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;
    基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;
    向所述待升级车辆发送所述升级策略文件。
  2. 根据权利要求1所述的方法,其中,所述基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,包括:
    生成有向无环图,所述有向无环图用于描述所述多个软件应用之间的依赖关系;
    基于所述有向无环图确定所述多个软件应用的升级顺序;
    基于所述升级顺序生成所述升级策略文件。
  3. 根据权利要求2所述的方法,其中,所述基于所述有向无环图确定所述多个软件应用的升级顺序,包括:
    基于所述有向无环图,生成树形结构;
    基于所述树形结构,按照层序遍历算法确定所述多个软件应用的升级顺序。
  4. 根据权利要求2或3所述的方法,还包括:
    基于所述升级顺序,确定所述多个软件应用的降级顺序;
    基于所述降级顺序,生成回退策略文件;
    将所述回退策略文件发送给所述待升级车辆。
  5. 根据权利要求4所述的方法,其中,所述升级策略文件包括:多个升级指令,每个所述升级指令对应一个所述软件应用,所述多个升级指令的排列顺序与所述多个软件应用的升级顺序一致;
    所述回退策略文件包括:多个回退指令,每个所述回退指令对应一个所述软件应用,所述多个回退指令的排列顺序为所述多个升级指令的排列顺序的逆序。
  6. 根据权利要求1至5任一项所述的方法,其中,所述升级策略文件包括所述多个软件应用的升级软件包的下载地址,所述升级软件包包括原子安装包和差分包。
  7. 一种车辆远程升级方法,包括:
    接收升级策略文件,所述升级策略文件中,多个软件应用的升级顺序满足所述多个软件应用之间的依赖关系,所述多个软件应用属于待升级的软件应用集合,所述待升级的软件应用集合是根据待升级车辆的车型确定的;
    根据所述升级策略文件进行所述软件应用的升级。
  8. 根据权利要求7所述的方法,其中,所述根据所述升级策略文件进行所述软件应用的升级,包括:
    根据所述升级策略文件,下载所述多个软件应用的升级软件包;
    按照所述升级顺序,安装所述多个软件应用的升级软件包。
  9. 一种车辆远程升级装置,包括:
    确定模块,用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;
    生成模块,用于基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的升级顺序满足所述依赖关系;
    发送模块,用于向所述待升级车辆发送所述升级策略文件。
  10. 根据权利要求9所述的装置,其中,所述生成模块,包括:
    第一生成子模块,用于生成有向无环图,所述有向无环图用于描述所述多个软件应用之间的依赖关系;
    确定子模块,用于基于所述有向无环图确定所述多个软件应用的升级顺序;
    第二生成子模块,用于基于所述升级顺序生成所述升级策略文件。
  11. 根据权利要求10所述的装置,其中,所述确定子模块,用于基于所述有向无环图,生成树形结构;以及基于所述树形结构,按照层序遍历算法确定所述多个软件应用的升级顺序。
  12. 根据权利要求10或11所述的装置,其中,所述确定模块,还用于基于所述升级顺序,确定所述多个软件应用的降级顺序;所述生成模块,还用于基于所述降级顺序,生成回退策略文件;所述发送模块,还用于将所述回退策略文件发送给所述待升级车辆。
  13. 根据权利要求12所述的装置,其中,所述升级策略文件包括:多个升级指令,每个所述升级指令对应一个所述软件应用,所述多个升级指令的排列顺序与所述多个软件应用的升级顺序一致;
    所述回退策略文件包括:多个回退指令,每个所述回退指令对应一个所述 软件应用,所述多个回退指令的排列顺序为所述多个升级指令的排列顺序的逆序。
  14. 根据权利要求10至13任一项所述的装置,其中,所述升级策略文件包括所述多个软件应用的升级软件包的下载地址,所述升级软件包包括原子安装包和差分包。
  15. 一种车辆远程升级装置,包括:
    接收模块,用于接收升级策略文件,所述升级策略文件中,多个软件应用的升级顺序满足所述多个软件应用之间的依赖关系,所述多个软件应用属于待升级的软件应用集合,所述待升级的软件应用集合是根据待升级车辆的车型确定的;
    升级模块,用于根据所述升级策略文件进行所述软件应用的升级。
  16. 根据权利要求15所述的装置,其中,所述升级模块,包括:
    下载子模块,用于根据所述升级策略文件,下载所述多个软件应用的升级软件包;
    升级子模块,用于按照所述升级顺序,安装所述多个软件应用的升级软件包。
  17. 一种计算机设备,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为执行所述指令以实现如权利要求1-8中任一项所述的车辆远程升级方法,或者,实现如权利要求9-10中任一项所述的车辆远程升级方法。
  18. 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的车辆远程升级方法,或者,实现如权利要求9-10中任一项所述的车辆远程升级方法。
  19. 一种计算机程序,包括:计算机程序代码,所述程序代码包括用于实现如权利要求1-8中任一项所述的车辆远程升级方法的指令,或者,包括用于实现如权利要求9-10中任一项所述的车辆远程升级方法的指令。
  20. 一种车辆远程升级系统,包括:
    服务器,用于根据待升级车辆的车型,确定待升级的软件应用集合,所述软件应用集合包括多个软件应用;基于所述多个软件应用之间的依赖关系,生成所述待升级车辆的升级策略文件,所述升级策略文件中所述多个软件应用的 升级顺序满足所述依赖关系;向所述待升级车辆发送所述升级策略文件;
    待升级车辆,用于接收所述升级策略文件;根据所述升级策略文件进行所述软件应用的升级。
PCT/CN2022/074733 2021-04-29 2022-01-28 车辆远程升级方法、装置及服务器 WO2022227755A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110472386.6A CN113094073B (zh) 2021-04-29 2021-04-29 车辆远程升级方法、装置及服务器
CN202110472386.6 2021-04-29

Publications (1)

Publication Number Publication Date
WO2022227755A1 true WO2022227755A1 (zh) 2022-11-03

Family

ID=76681457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/074733 WO2022227755A1 (zh) 2021-04-29 2022-01-28 车辆远程升级方法、装置及服务器

Country Status (2)

Country Link
CN (1) CN113094073B (zh)
WO (1) WO2022227755A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094073B (zh) * 2021-04-29 2024-03-12 芜湖雄狮汽车科技有限公司 车辆远程升级方法、装置及服务器
CN114189442A (zh) * 2021-11-30 2022-03-15 深圳市国电科技通信有限公司 一种边缘设备远程升级及电子设备
CN114466098B (zh) * 2022-01-19 2023-12-26 上海黑眸智能科技有限责任公司 基于app交互的ota升级方法、系统、设备端以及app端
CN114980073A (zh) * 2022-05-26 2022-08-30 重庆长安汽车股份有限公司 一种车辆ota状态智能分析处理方法、系统及存储介质
CN114979297B (zh) * 2022-05-26 2023-06-27 重庆长安汽车股份有限公司 一种车辆软件版本大跨度ota升级方法
CN115242633B (zh) * 2022-06-23 2024-04-09 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置
CN115396309A (zh) * 2022-08-23 2022-11-25 浙江吉智新能源汽车科技有限公司 一种软件升级方法、ota功能购买方法及信息交互系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190050217A1 (en) * 2018-03-30 2019-02-14 Intel Corporation Systems, methods and apparatus for distributed software/firmware update and software versioning system for automated vehicles
CN111399884A (zh) * 2020-04-09 2020-07-10 东风小康汽车有限公司重庆分公司 一种车辆组件的升级方法、装置及电子设备
CN112104736A (zh) * 2020-09-17 2020-12-18 广州汽车集团股份有限公司 一种基于ota的多ecu升级方法
CN113094073A (zh) * 2021-04-29 2021-07-09 芜湖雄狮汽车科技有限公司 车辆远程升级方法、装置及服务器
CN113434169A (zh) * 2021-06-22 2021-09-24 重庆长安汽车股份有限公司 一种基于依赖关系生成空中升级并行任务组的方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
CN102722386B (zh) * 2012-05-28 2015-09-30 华为终端有限公司 生成无线固件升级包的方法和装置
CN106325892A (zh) * 2015-06-15 2017-01-11 中兴通讯股份有限公司 差分回退升级方法及装置
US9836300B2 (en) * 2015-06-16 2017-12-05 Lear Corporation Method for updating vehicle ECUs using differential update packages
CN107493186A (zh) * 2016-12-23 2017-12-19 宝沃汽车(中国)有限公司 车辆的远程升级系统及其控制方法
US11237816B2 (en) * 2017-09-25 2022-02-01 Thyssenkrupp Presta Ag Method for remote online software update in motor vehicles
CN109189422A (zh) * 2018-08-13 2019-01-11 北京新能源汽车股份有限公司 一种电子控制单元的远程升级方法及装置
US11449327B2 (en) * 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
CN110489143B (zh) * 2019-07-18 2023-10-13 南京依维柯汽车有限公司 新能源汽车上的fota固件远程升级系统及其方法
CN111090445B (zh) * 2019-12-18 2023-11-03 广东中兴新支点技术有限公司 车辆服务升级方法、装置和系统
WO2021184284A1 (zh) * 2020-03-19 2021-09-23 华为技术有限公司 一种车辆软件升级的方法及相关系统
CN112256315A (zh) * 2020-10-16 2021-01-22 中国第一汽车股份有限公司 一种升级方法、装置、设备及存储介质
CN112328294B (zh) * 2020-11-12 2023-06-06 杭州创想智联科技有限公司 一种车辆ecu的ota升级方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190050217A1 (en) * 2018-03-30 2019-02-14 Intel Corporation Systems, methods and apparatus for distributed software/firmware update and software versioning system for automated vehicles
CN111399884A (zh) * 2020-04-09 2020-07-10 东风小康汽车有限公司重庆分公司 一种车辆组件的升级方法、装置及电子设备
CN112104736A (zh) * 2020-09-17 2020-12-18 广州汽车集团股份有限公司 一种基于ota的多ecu升级方法
CN113094073A (zh) * 2021-04-29 2021-07-09 芜湖雄狮汽车科技有限公司 车辆远程升级方法、装置及服务器
CN113434169A (zh) * 2021-06-22 2021-09-24 重庆长安汽车股份有限公司 一种基于依赖关系生成空中升级并行任务组的方法及系统

Also Published As

Publication number Publication date
CN113094073A (zh) 2021-07-09
CN113094073B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
WO2022227755A1 (zh) 车辆远程升级方法、装置及服务器
CN112513814B (zh) 任务调度方法及装置
CN110377307A (zh) 一种车身控制器固件升级方法、终端、系统
CN108073501B (zh) 一种代码冲突检测方法及设备
WO2021203604A1 (zh) 车辆组件的升级检测方法、装置、计算机设备及存储介质
WO2005045626A2 (en) Method and systems for learning model-based lifecycle diagnostics
Albinet et al. The MeMVaTEx methodology: from requirements to models in automotive application design
US20230071884A1 (en) Method for real-time ecu crash reporting and recovery
KR20130073396A (ko) 차량용 소프트웨어 개발을 지원하는 장치 및 방법
CN111290954A (zh) 一种基于uvm的fpga构件可视化测试框架和方法
CN113885929A (zh) 高精度地图的远程升级方法
Boulanger Requirements engineering in a model-based methodology for embedded automotive software
CN102902852B (zh) 一种汽车ecu诊断软件模型的自动生成系统及方法
CN115437662A (zh) 车机系统的升级方法及装置
US20230071271A1 (en) System and method for enhanced ecu failure detection in vehicle fleet
Butts et al. 15 AUTOMOTIVE POWERTRAIN CONTROLLER DEVELOPMENT USING CACSD
CN115118577A (zh) 远程升级异常原因确定方法、装置、电子设备及存储介质
CN110399157B (zh) 一种用于Ambari工具页面开发的方法和开发机
CN111949295A (zh) 一种燃料电池汽车远程升级控制策略
Drabek et al. Interface Verification Using Executable Reference Models: An Application in the Automotive Infotainment.
US11601303B1 (en) System and method for enabling persistent vehicle software interfaces
US11934812B2 (en) On-target unit testing
US11671278B2 (en) Automotive embedded system timekeeping
CN116775463A (zh) 测试方法、装置、存储介质及电子设备
CN117331565A (zh) 软件生成方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22794236

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22794236

Country of ref document: EP

Kind code of ref document: A1