Vehicle controller OTA upgrade package generation method and device, equipment and medium
Through real-time detection and file matching, the OTA upgrade package for the vehicle controller is generated, and the problem of untimely and incorrect generation of remote upgrade packages of vehicles is solved, and the efficiency and accuracy of OTA upgrade packages are achieved, avoiding losses from vehicles and OEMs.
Patent Information
- Application Number
- CN202411309993.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-19
- Publication Date
- 2025-01-03
AI Technical Summary
As the types and number of controllers for remote upgrades of vehicles increase, the generation of vehicle controller OTA upgrade packages is not timely or incorrect, resulting in increased losses of vehicle controllers and OEMs, and it is difficult for the existing technology to achieve accurate and efficient OTA upgrade package generation.
By real-time detection of whether the target vehicle needs to generate an OTA upgrade package, determine the production files and configuration files required by the target vehicle, compress and generate the OTA upgrade source file, and generate the software based on the OTA upgrade source file, vehicle controller information and preset encryption algorithm information. package, and finally generate an accurate OTA upgrade package.
It improves the timeliness and accuracy of the OTA upgrade package, ensures that the upgrade package can be successfully written to the vehicle controller, avoids economic losses caused by wrong upgrade packages, and improves the upgrade efficiency and accuracy of the vehicle controller.
Smart Images

Figure CN119248314A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of vehicle controllers, and in particular to a method, device, equipment and medium for generating an OTA upgrade package for a vehicle controller. Background Art
[0002] With the rapid development of the four modernizations and one advanced technology of vehicles, vehicle remote upgrade technology (Over-The-Air, OTA) is gradually becoming one of the essential technologies for vehicle manufacturers.
[0003] OEMs use vehicle remote upgrade technology to repair problems in vehicle controllers, or to improve vehicle functions and performance and meet user customization needs.
[0004] However, as the types of vehicle controllers that support remote upgrades, the number and frequency of vehicles that need remote upgrades gradually increase, the OTA upgrade packages for vehicle controllers are not generated in a timely manner, or erroneous OTA upgrade packages are generated and sent to vehicle controllers, which will cause certain losses to the vehicle controllers or OEMs. Summary of the invention
[0005] The present invention provides a method, device, equipment and medium for generating an OTA upgrade package for a vehicle controller, so as to realize automatic creation of an OTA upgrade package for a vehicle controller, and automatically match the OTA upgrade package with the vehicle controller information, so as to ensure the accuracy and efficiency of the upgrade package uploaded to the OTA system.
[0006] According to one aspect of the present invention, a method for generating an OTA upgrade package for a vehicle controller is provided, comprising:
[0007] Real-time detection of whether the target vehicle needs to generate a vehicle controller OTA upgrade package;
[0008] When it is detected that a vehicle controller OTA upgrade package needs to be generated for the target vehicle, a target production file and a target configuration file required by the vehicle controller of the target vehicle are determined, where the target configuration file is a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and the production file type corresponding to the vehicle controller production file indicated by the target production file;
[0009] Compressing the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of a target vehicle;
[0010] Generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information, and the preset encryption algorithm information;
[0011] Generate a vehicle controller OTA upgrade package for the target vehicle based on the vehicle controller software package of the target vehicle and preset encryption algorithm information.
[0012] According to another aspect of the present invention, a device for generating an OTA upgrade package for a vehicle controller is provided, comprising:
[0013] OTA upgrade package detection module, used to detect in real time whether the target vehicle needs to generate a vehicle controller OTA upgrade package;
[0014] A target production file and target configuration file determination module is used to determine the target production file and target configuration file required by the vehicle controller of the target vehicle when it is detected that the target vehicle needs to generate a vehicle controller OTA upgrade package, the target configuration file being a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and the production file type corresponding to the vehicle controller production file indicated by the target production file;
[0015] A target source file acquisition module is used to compress the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of a target vehicle;
[0016] A software package generation module, used to generate a vehicle controller software package of a target vehicle according to an OTA upgrade source file of the vehicle controller, vehicle controller information, and preset encryption algorithm information;
[0017] The OTA upgrade package generation module is used to generate a vehicle controller OTA upgrade package of the target vehicle according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
[0018] According to another aspect of the present invention, there is provided an electronic device, comprising:
[0019] at least one processor; and
[0020] a memory communicatively connected to at least one processor; wherein,
[0021] The memory stores a computer program that can be executed by at least one processor, and the computer program is executed by at least one processor so that the at least one processor can execute the method for generating an OTA upgrade package for a vehicle controller according to any embodiment of the present invention.
[0022] According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions, and the computer instructions are used to enable a processor to implement the method for generating an OTA upgrade package for a vehicle controller according to any embodiment of the present invention when executed.
[0023] The method for generating an OTA upgrade package for a vehicle controller provided by an embodiment of the present invention detects in real time whether a target vehicle needs to generate an OTA upgrade package for the vehicle controller; when it is detected that a target vehicle needs to generate an OTA upgrade package for the vehicle controller, the target production file and the target configuration file required by the vehicle controller of the target vehicle are determined, the target configuration file being a vehicle controller configuration file of a production file type that can adapt to the vehicle controller type of the target vehicle and the vehicle controller production file indicated by the target production file; the target production file and the target configuration file are compressed to obtain a target source file, the target source file being an OTA upgrade source file for the vehicle controller of the target vehicle; a vehicle controller software package of the target vehicle is generated according to the OTA upgrade source file of the vehicle controller, vehicle controller information and preset encryption algorithm information; and a vehicle controller OTA upgrade package of the target vehicle is generated according to the vehicle controller software package and the preset encryption algorithm information of the target vehicle. The technical solution of the embodiment of the present invention detects in real time whether a vehicle controller OTA upgrade package needs to be generated for the target vehicle, thereby avoiding losses to the target vehicle caused by untimely generation of the vehicle controller OTA upgrade package, and improving the timeliness and efficiency of the generation of the vehicle controller OTA upgrade package; determining the target production file and target configuration file required for the vehicle controller of the target vehicle, so that the subsequently generated vehicle controller OTA upgrade package can be successfully flashed into the vehicle controller of the target vehicle, thereby improving the upgrade efficiency of the vehicle controller; generating the vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information, so that the vehicle controller software package can be automatically matched with the vehicle controller information, so as to create an OTA upgrade package that satisfies the vehicle controller and can be used for remote upgrading of the target vehicle, avoiding the erroneous OTA upgrade package being sent to the target vehicle, causing direct or indirect economic losses to the target vehicle and the OEM, and improving the accuracy of the vehicle controller OTA upgrade package.
[0024] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0026] Figure 1 A flowchart of a method for generating an OTA upgrade package for a vehicle controller provided in Embodiment 1 of the present invention;
[0027] Figure 2 A flowchart of automatically triggering and generating an OTA upgrade package for a vehicle controller provided in the first embodiment of the present invention;
[0028] Figure 3 A flowchart of generating a vehicle controller software package provided by Embodiment 1 of the present invention;
[0029] Figure 4 A flowchart of generating an OTA upgrade package for a vehicle controller provided in Embodiment 1 of the present invention;
[0030] Figure 5 A flowchart of a method for generating an OTA upgrade package for a vehicle controller provided in Embodiment 2 of the present invention;
[0031] Figure 6 A flowchart of generating a target configuration file for a vehicle controller provided in Embodiment 2 of the present invention;
[0032] Figure 7 A schematic diagram of the structure of a device for generating an OTA upgrade package for a vehicle controller provided in Embodiment 3 of the present invention;
[0033] Figure 8 A structural diagram of an electronic device for generating an OTA upgrade package for a vehicle controller provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION
[0034] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0035] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0036] Embodiment 1
[0037] Figure 1 This is a flow chart of a method for generating a vehicle controller OTA upgrade package provided in the first embodiment of the present invention. This embodiment is applicable to the case where a vehicle controller OTA upgrade package is automatically created. The method can be executed by a vehicle controller OTA upgrade package generation device, which can be implemented in the form of hardware and / or software and can be configured in an electronic device that generates a vehicle controller OTA upgrade package. Figure 1 As shown, the method includes:
[0038] S101, detecting in real time whether a vehicle controller OTA upgrade package needs to be generated for the target vehicle.
[0039] In an embodiment of the present invention, real-time detection refers to continuous detection of the vehicle controller information of the target vehicle at certain time intervals. The target vehicle refers to any vehicle managed by the OEM management equipment or management system. The vehicle controller refers to an electronic device responsible for managing and coordinating various functions and systems of the target vehicle, such as the engine controller, transmission controller, and body controller of the target vehicle. An OTA upgrade package refers to an upgrade package provided to the vehicle controller of the target vehicle using remote upgrade technology to resolve possible faults in the vehicle controller of the target vehicle.
[0040] Specifically, it is detected in real time whether the target vehicle has a need to generate a vehicle controller OTA upgrade package. If so, a request to generate a vehicle controller OTA upgrade package is initiated to indicate the generation of a vehicle controller OTA upgrade package for the target vehicle; if not, real-time detection continues.
[0041] As an optional method, real-time detection of whether a target vehicle needs to generate a vehicle controller OTA upgrade package includes the following steps A1-A2:
[0042] Step A1: Detect whether the vehicle controller of the target vehicle has a vehicle controller production file that can repair the fault or version change.
[0043] Step A2: When there is a vehicle controller production file with a repairable fault or version change, detect whether the production file corresponding to the target vehicle controller carries a reference identifier, which is used to indicate that an OTA upgrade package needs to be created for the vehicle controller of the target vehicle.
[0044] Specifically, if it is detected that the vehicle controller production file of the target vehicle has a repairable fault, or the OEM has changed the version of the vehicle controller production file, it is further detected whether the target production file of the vehicle controller carries a reference identifier for indicating the automatic creation of the vehicle controller OTA upgrade package. If the reference identifier is carried, the OTA upgrade package of the vehicle controller continues to be generated. If the reference identifier is not carried, the OTA upgrade package of the vehicle controller is stopped from being generated, and real-time detection is continued.
[0045] For example, Figure 2 This is a flow chart of automatically triggering and generating a vehicle controller OTA upgrade package provided by the first embodiment of the present invention. Figure 2 As shown, the problem management system detects the problem fault code of the target vehicle in real time, and based on the detected problem fault code, searches the vehicle controller production file management system for production files that can repair the fault or production files with vehicle controller version changes, so as to promptly initiate a request to generate a vehicle controller OTA upgrade package, instructing the generation of a vehicle controller OTA upgrade package for the target vehicle.
[0046] S102. When it is detected that a vehicle controller OTA upgrade package needs to be generated for the target vehicle, a target production file and a target configuration file required for the vehicle controller of the target vehicle are determined, where the target configuration file is a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and a production file type corresponding to the vehicle controller production file indicated by the target production file.
[0047] In an embodiment of the present invention, the target production file refers to a set of important files used to ensure that each link of the vehicle controller design, production, inspection, etc. meets the specified standards and quality requirements. The target production file is provided by the OEM and is used to flash into the vehicle controller of the target vehicle through different flashing methods. Exemplarily, the target production file can be a production file flashed into a diagnostic flashing controller through a diagnostic flashing protocol. The target production file formats corresponding to different types of vehicle controllers are different. For example, the target production file format of the diagnostic flashing controller is HEX, S19, EOL; the target production file format of the controller flashed by a U disk or USB is ZIP, etc. The target configuration file refers to a configuration file used to initiate relevant commands such as a target production file flashing request to the vehicle controller of the target vehicle. Different types of vehicle controllers require different target configuration files. For example, the target configuration file of the diagnostic flashing vehicle controller needs to include information such as the flashing process and the flashing address block; the target configuration file of the vehicle controller flashed by a U disk, USB or Linux command needs to include field information such as MD5 code and version number.
[0048] Specifically, when it is detected that there is a need to generate an OTA upgrade package for the vehicle controller of the target vehicle, the target production file required for the vehicle controller is determined, and a vehicle controller target configuration file of a production file type that can adapt to the vehicle controller type of the target vehicle and the vehicle controller production file indicated by the target production file is determined.
[0049] S103. Compress the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of a target vehicle.
[0050] In an embodiment of the present invention, the OTA upgrade source file refers to a compressed source file required when upgrading the vehicle controller of the target vehicle using remote upgrade technology, and mainly includes a target production file and a target configuration file required by the vehicle controller.
[0051] Specifically, the target production file and the target configuration file required by the vehicle controller of the target vehicle are compressed to obtain the OTA upgrade source file required by the vehicle controller, which can improve the uniqueness of the OTA upgrade source file and facilitate the search of the OTA upgrade source file.
[0052] S104: Generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information, and the preset encryption algorithm information.
[0053] In an embodiment of the present invention, the preset encryption algorithm information refers to the encryption algorithm information generated by the encryption system according to actual needs by selecting different encryption methods, which is used to protect the security of file information. Exemplarily, the preset encryption information can be MD5 code information generated by a hash algorithm. The vehicle controller software package refers to an encryption software package required for remotely upgrading the vehicle controller of the target vehicle, which mainly includes the OTA upgrade source file of the vehicle controller and the vehicle controller information. The vehicle controller information refers to information such as a detailed description, function, design, working principle, and role in the vehicle system of the vehicle controller of the target vehicle. Exemplarily, the vehicle controller information includes: vehicle controller part number, hardware version number, software version number, calibration version number and other information; vehicle controller manufacturer, car series, expected upgrade time and other information; whether the vehicle controller supports self-rollback.
[0054] Specifically, a vehicle controller software package required for the target vehicle is generated according to preset encryption algorithm information generated by the encryption system, an OTA upgrade source file compressed from a target production file and a target configuration file, and vehicle controller information, and the vehicle controller software package is stored in a vehicle controller software package storage system.
[0055] As an optional method, generating a vehicle controller software package of a target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information includes the following steps B1-B2:
[0056] Step B1: compare the vehicle controller information contained in the OTA upgrade source file of the target vehicle controller with the vehicle controller information in the vehicle information management system.
[0057] Step B2: If the comparison is successful, the OTA upgrade source file of the vehicle controller and the vehicle controller information in the vehicle information management system are encrypted based on the preset encryption algorithm information to generate a vehicle controller software package for the target vehicle.
[0058] Specifically, the vehicle controller information contained in the vehicle controller target production file in the OTA upgrade source file of the vehicle controller is matched with the vehicle controller information provided by the vehicle management system. If the match is successful, the vehicle controller software package of the target vehicle is generated according to the preset encryption information generated by the encryption system, the vehicle controller OTA source file, and the vehicle controller information provided by the vehicle management system. If the match is unsuccessful, the matching vehicle controller information is searched in the vehicle management system, and the vehicle controller software package of the target vehicle is generated again. Comparing the vehicle controller information contained in the OTA upgrade source file with the vehicle controller information provided by the vehicle information management system can enable the subsequently generated vehicle controller OTA upgrade package to match the vehicle controller of the target vehicle, thereby improving the accuracy of the vehicle controller OTA upgrade package.
[0059] For example, Figure 3 This is a flow chart of generating a vehicle controller software package provided by the first embodiment of the present invention. Figure 3 As shown, the OTA upgrade source file of the vehicle controller is generated according to the vehicle controller target production file and the vehicle controller target configuration file determined by the candidate configuration file in the vehicle controller OTA file configuration system. The matching vehicle controller information in the vehicle management system is selected based on the comparison of the vehicle controller information contained in the OTA upgrade source file, including the matching of the vehicle controller part number, hardware version number, software version number, calibration version number and other information, the matching of the vehicle controller manufacturer, the expected upgrade time and other information, to determine whether the vehicle controller supports self-rollback matching. When the vehicle controller information contained in the OTA upgrade source file successfully matches the vehicle controller information provided by the vehicle management system, the vehicle controller software package of the target vehicle is generated according to the encryption information provided by the encryption system, combined with the OTA upgrade source file and the vehicle controller information provided by the vehicle management system.
[0060] S105. Generate a vehicle controller OTA upgrade package for the target vehicle according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
[0061] Specifically, the vehicle controller OTA upgrade package required by the target vehicle is generated according to the preset encryption algorithm information generated by the encryption system and the vehicle controller software package stored in the vehicle controller software package storage system.
[0062] As an option, after generating the vehicle controller OTA upgrade package of the target vehicle, the following steps are also included:
[0063] If it is detected in real time that multiple vehicle controller OTA upgrade packages need to be generated for the target vehicle, vehicle controller OTA upgrade packages corresponding to the multiple vehicle controllers of the target vehicle are generated respectively, wherein the multiple vehicle controllers need to be applicable to the same target vehicle.
[0064] Specifically, if it is detected that the target vehicle has multiple vehicle controllers that all need to generate corresponding vehicle controller OTA upgrade packages, the vehicle controller OTA upgrade package required by each vehicle controller is generated in turn.
[0065] For example, Figure 4 This is a flow chart of generating a vehicle controller OTA upgrade package provided by the first embodiment of the present invention. Figure 4 As shown, determine whether the target vehicle is a multi-vehicle controller upgrade. If so, select the vehicle controller software package files one by one and generate corresponding vehicle controller OTA upgrade package files respectively; if not, select a single vehicle controller software package file and generate the corresponding vehicle controller OTA upgrade package file.
[0066] The method for generating an OTA upgrade package for a vehicle controller provided by an embodiment of the present invention detects in real time whether a target vehicle needs to generate an OTA upgrade package for the vehicle controller; when it is detected that a target vehicle needs to generate an OTA upgrade package for the vehicle controller, the target production file and the target configuration file required by the vehicle controller of the target vehicle are determined, the target configuration file being a vehicle controller configuration file of a production file type that can adapt to the vehicle controller type of the target vehicle and the vehicle controller production file indicated by the target production file; the target production file and the target configuration file are compressed to obtain a target source file, the target source file being an OTA upgrade source file for the vehicle controller of the target vehicle; a vehicle controller software package of the target vehicle is generated according to the OTA upgrade source file of the vehicle controller, vehicle controller information and preset encryption algorithm information; and a vehicle controller OTA upgrade package of the target vehicle is generated according to the vehicle controller software package and the preset encryption algorithm information of the target vehicle. The technical solution of the embodiment of the present invention detects in real time whether a vehicle controller OTA upgrade package needs to be generated for the target vehicle, thereby avoiding losses to the target vehicle caused by untimely generation of the vehicle controller OTA upgrade package, and improving the timeliness and efficiency of the generation of the vehicle controller OTA upgrade package; determining the target production file and target configuration file required for the vehicle controller of the target vehicle, so that the subsequently generated vehicle controller OTA upgrade package can be successfully flashed into the vehicle controller of the target vehicle, thereby improving the upgrade efficiency of the vehicle controller; generating the vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information, so that the vehicle controller software package can be automatically matched with the vehicle controller information, so as to create an OTA upgrade package that satisfies the vehicle controller and can be used for remote upgrading of the target vehicle, avoiding the erroneous OTA upgrade package being sent to the target vehicle, causing direct or indirect economic losses to the target vehicle and the OEM, and improving the accuracy of the vehicle controller OTA upgrade package.
[0067] Embodiment 2
[0068] Figure 5 This is a flow chart of a method for generating an OTA upgrade package for a vehicle controller provided in Embodiment 2 of the present invention. Figure 5 As shown, the method includes:
[0069] S201. Detect in real time whether a vehicle controller OTA upgrade package needs to be generated for the target vehicle.
[0070] S202: When it is detected that a vehicle controller OTA upgrade package needs to be generated for a target vehicle, a target production file required by the vehicle controller of the target vehicle is extracted from a vehicle controller production file system.
[0071] In an embodiment of the present invention, the vehicle controller production file system refers to a system for storing target production files required by the vehicle controller of the target vehicle. When uploading the target production files of the vehicle controller to the vehicle controller production file system, it is necessary to clarify the controller name, controller software version number, data calibration version number, part number, vehicle series, whether it carries a reference identifier for indicating that an OTA upgrade package needs to be created, and whether it carries a differential identifier for indicating that a differential production file needs to be generated.
[0072] Specifically, when it is detected that there is a need to generate an OTA upgrade package for the vehicle controller of the target vehicle, a target production file required by the vehicle controller of the target vehicle is obtained from the vehicle controller production file system.
[0073] As an option, extract the target production files required by the vehicle controller of the target vehicle from the vehicle controller production file system, including:
[0074] If the target production file required for the vehicle controller of the target vehicle extracted from the vehicle controller production file system carries a differential identifier, the target production file extracted from the vehicle controller production file system and the production file corresponding to the current software version of the vehicle controller are used to generate a corresponding differential production file using a differential algorithm, and the generated differential production file is used as the target production file required for the vehicle controller of the target vehicle. The differential identifier is used to indicate that a differential production file of the vehicle controller of the target vehicle needs to be generated.
[0075] Specifically, it is detected whether the target production file extracted from the vehicle controller production file system carries a differential identifier. If it carries a differential identifier, a differential algorithm is used to perform a differential operation on the target production file extracted from the vehicle controller production file system and the production file corresponding to the current software version of the vehicle controller to generate a differential production file of the vehicle controller, and the generated differential production file is used as the target production file required by the vehicle controller in the subsequent steps. By using the differential production file as the target production file required by the vehicle controller, when the target production file extracted from the vehicle controller production file system contains too much information or the file is too large, only the part of the target production file extracted from the vehicle controller production file system that has changed relative to the production file corresponding to the current software version of the vehicle controller is retained, thereby improving the efficiency of flashing the subsequently generated OTA upgrade package into the vehicle controller. If it does not carry a differential identifier, the target production file extracted from the vehicle controller production file system is not modified in any way, and is used as the target production file required by the vehicle controller in the subsequent steps.
[0076] S203: Based on the production file type corresponding to the target production file and the vehicle controller type of the target vehicle, searching from the vehicle controller OTA configuration file system whether there is a candidate configuration file required by the vehicle controller of the target vehicle.
[0077] In an embodiment of the present invention, the vehicle controller OTA configuration file system refers to a system for storing candidate configuration files required by the vehicle controller of the target vehicle, wherein the candidate configuration files are used to determine the target configuration file required by the vehicle controller of the target vehicle.
[0078] Specifically, a target production file is obtained from a vehicle controller production file system, and a required candidate configuration file is searched from a vehicle controller OTA configuration file system according to the type of the target production file and the type of the vehicle controller of the target vehicle.
[0079] S204: If yes, determine the target configuration file required by the vehicle controller of the target vehicle based on the candidate configuration files.
[0080] Specifically, if the required candidate configuration file is found in the vehicle controller OTA configuration file system, the target configuration file required by the vehicle controller of the target vehicle is obtained by modifying the candidate configuration file.
[0081] As an option, determining a target configuration file required by a vehicle controller of a target vehicle based on a candidate configuration file includes the following steps C1-C2:
[0082] Step C1, determining the target production file information corresponding to the target production file.
[0083] Step C2: Based on the vehicle controller type of the target vehicle and the target production file information, the candidate configuration file is configured and adjusted to obtain the target configuration file required by the vehicle controller of the target vehicle.
[0084] Specifically, according to the type of the vehicle controller of the target vehicle and the information contained in the target production file, the candidate configuration file is modified and adjusted to obtain the target configuration file required by the vehicle controller of the target vehicle.
[0085] It is worth noting that different types of controllers require different configuration files, and different configuration methods are used when adjusting the candidate configuration files.
[0086] As an optional method, based on the vehicle controller type of the target vehicle and the target production file information, the candidate configuration file is configured and adjusted, including the following steps D1-D2:
[0087] Step D1: If the vehicle controller type of the target vehicle is not a diagnostic flash controller, the target production file name, MD5 code and software version number information of the vehicle controller associated with the candidate configuration file are configured and adjusted based on the target production file information.
[0088] Step D2: If the vehicle controller type of the target vehicle is a diagnostic flash controller, then based on the target production file information, the target production file name associated with the candidate configuration file, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller and the security algorithm of the vehicle controller are configured and adjusted.
[0089] In the embodiment of the present invention, the diagnostic flashing controller refers to an automotive electronic control unit with diagnostic and software flashing functions. The diagnostic flashing controller flashes the target production file into the vehicle controller of the target vehicle by means of diagnostic flashing.
[0090] Specifically, determine whether the vehicle controller of the target vehicle is similar to a diagnostic flash controller. If it is a diagnostic flash controller, determine whether to modify the target production file name, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller, and the security algorithm of the vehicle controller contained in the candidate configuration file based on the information contained in the target production file. If it is not a diagnostic flash controller, determine whether to modify the target production file name, MD5 code, and software version number information of the vehicle controller contained in the candidate configuration file based on the information contained in the target production file.
[0091] As an optional method, the target production file name, MD5 code and software version number information of the vehicle controller associated with the candidate configuration file are configured and adjusted based on the target production file information, including the following steps E1-E6:
[0092] Step E1: judging whether the target production file name associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0093] Step E2: If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0094] Step E3: Determine whether the MD5 code associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0095] Step E4: If the MD5 code does not match, the MD5 code associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0096] Step E5: Based on the target production file information, determine whether the software version number information of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle.
[0097] Step E6: If the software version number information of the vehicle controller does not match, the software version number information of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0098] Specifically, according to the information contained in the target production file, it is determined whether the target production file name, MD5 code and software version number information of the vehicle controller contained in the candidate configuration file match the vehicle controller of the target vehicle. If the target production file name does not match, the target production file name contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the MD5 code does not match, the MD5 code contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the software version number information of the vehicle controller does not match, the software version number information of the vehicle controller contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle.
[0099] As an optional method, based on the target production file information, the target production file name associated with the candidate configuration file, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller and the security algorithm of the vehicle controller are configured and adjusted, including the following steps F1-F12:
[0100] Step F1: determining whether the target production file name associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0101] Step F2: If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0102] Step F3: determining, based on the target production file information, whether the flash address block of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle.
[0103] Step F4: If the flash address block of the vehicle controller does not match, the flash address block of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0104] Step F5: determining whether the flash diagnostic service of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0105] Step F6: If the flash diagnostic service of the vehicle controller does not match, the flash diagnostic service of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0106] Step F7: determining whether the flash diagnostic request of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0107] Step F8: If the flash diagnostic request of the vehicle controller does not match, the flash diagnostic request of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0108] Step F9: Based on the target production file information, determine whether the information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle.
[0109] Step F10: If the information corresponding to the flash diagnostic response ID of the vehicle controller does not match, the information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0110] Step F11: judging whether the safety algorithm of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information.
[0111] Step F12: If the security algorithm of the vehicle controller does not match, the security algorithm of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0112] Specifically, according to the information contained in the target production file, it is determined whether the target production file name, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, and the flash diagnostic response ID of the vehicle controller contained in the candidate configuration file match the vehicle controller of the target vehicle with the security algorithm of the vehicle controller. If the target production file name does not match, the target production file name contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the flash address block of the vehicle controller does not match, the flash address block of the vehicle controller contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the flash diagnostic service of the vehicle controller does not match, the flash diagnostic service of the vehicle controller contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the flash diagnostic request of the vehicle controller does not match, the flash diagnostic request of the vehicle controller contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the information corresponding to the flash diagnostic response ID of the vehicle controller does not match, the information corresponding to the flash diagnostic response ID of the vehicle controller contained in the candidate configuration file is modified to match the vehicle controller of the target vehicle. If the security algorithm of the vehicle controller does not match, the security algorithm of the vehicle controller included in the candidate configuration file is modified to match the vehicle controller of the target vehicle.
[0113] S205: If it does not exist, create a target configuration file required by the vehicle controller of the target vehicle.
[0114] Specifically, if the candidate configuration file required by the vehicle controller of the target vehicle is not found in the vehicle controller OTA configuration file system, a target configuration file required by the target vehicle controller is newly created.
[0115] For example, Figure 6 A flow chart of generating a target configuration file for a vehicle controller provided in the second embodiment of the present invention. Figure 6As shown, according to the type of the vehicle controller target production file and the vehicle controller information contained in the target production file, the vehicle controller OTA configuration file system is searched for the candidate configuration file required by the vehicle controller. If not, a new target configuration file required by the vehicle controller is created. If it exists, it is determined whether the type of the vehicle controller is a diagnostic flash controller, and the candidate configuration file is modified according to the information in the target production file to determine the target configuration file required by the vehicle controller. If the type of the vehicle controller is a diagnostic flash type controller, determine whether the target production file name associated with the candidate configuration file matches, if not, modify the target production file name associated with the candidate configuration file to match the vehicle controller; determine whether the flash address block of the vehicle controller associated with the candidate configuration file matches, if not, modify the flash address block of the vehicle controller associated with the candidate configuration file to match the vehicle controller; determine whether the vehicle controller flash diagnostic service associated with the candidate configuration file matches, if not, modify the flash diagnostic service of the vehicle controller associated with the candidate configuration file to match the vehicle controller; determine whether the vehicle controller flash diagnostic request associated with the candidate configuration file matches, if not, modify the flash diagnostic request of the vehicle controller associated with the candidate configuration file to match the vehicle controller; determine whether the information corresponding to the vehicle controller flash diagnostic response ID associated with the candidate configuration file matches, if not, modify the information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file to match the vehicle controller; determine whether the vehicle controller security algorithm associated with the candidate configuration file matches, if not, modify the security algorithm of the vehicle controller associated with the candidate configuration file according to the algorithm library file to match the vehicle controller. If the type of the vehicle controller is not a diagnostic flash type controller, determine whether the target production file name associated with the candidate configuration file matches; if not, modify the target production file name associated with the candidate configuration file to match the vehicle controller; determine whether the MD5 code associated with the candidate configuration file matches; if not, modify the MD5 code associated with the candidate configuration file to match the vehicle controller; determine whether the software version number information of the vehicle controller associated with the candidate configuration file matches; if not, modify the software version number information of the vehicle controller associated with the candidate configuration file to match the vehicle controller.
[0116] S206. Compress the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of the target vehicle.
[0117] S207: Generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information, and the preset encryption algorithm information.
[0118] S208. Generate a vehicle controller OTA upgrade package for the target vehicle according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
[0119] The method for generating an OTA upgrade package for a vehicle controller provided in an embodiment of the present invention, when it is detected that a vehicle controller OTA upgrade package needs to be generated for a target vehicle, extracts the target production file required by the vehicle controller of the target vehicle from the vehicle controller production file system; based on the production file type corresponding to the target production file and the vehicle controller type of the target vehicle, searches the vehicle controller OTA configuration file system for a candidate configuration file required by the vehicle controller of the target vehicle; if so, determines the target configuration file required by the vehicle controller of the target vehicle based on the candidate configuration file; if not, creates a new target configuration file required by the vehicle controller of the target vehicle. The technical solution provided in this embodiment, when it is detected that the candidate configuration file does not exist, creates a new target configuration file required by the vehicle controller of the target vehicle; when it is detected that the candidate configuration file exists, the candidate configuration file is modified and adjusted according to the information contained in the target production file to obtain the target configuration file required by the vehicle controller, thereby improving the success rate of flashing the subsequently generated vehicle controller OTA upgrade package into the vehicle controller of the target vehicle, thereby improving the upgrade efficiency of the target vehicle controller.
[0120] Embodiment 3
[0121] Figure 7 This is a schematic diagram of the structure of a device for generating an OTA upgrade package for a vehicle controller provided in Embodiment 3 of the present invention. Figure 7 As shown, the device comprises:
[0122] The OTA upgrade package detection module 301 is used to detect in real time whether the target vehicle needs to generate a vehicle controller OTA upgrade package;
[0123] The target production file and target configuration file determination module 302 is used to determine the target production file and target configuration file required by the vehicle controller of the target vehicle when it is detected that the target vehicle needs to generate a vehicle controller OTA upgrade package, and the target configuration file is a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and the production file type corresponding to the vehicle controller production file indicated by the target production file;
[0124] A target source file acquisition module 303 is used to compress the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of a target vehicle;
[0125] A software package generation module 304 is used to generate a vehicle controller software package of a target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information;
[0126] The OTA upgrade package generation module 305 is used to generate a vehicle controller OTA upgrade package of the target vehicle according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
[0127] As an option, the OTA upgrade package detection module 301 includes:
[0128] A production file detection submodule, used to detect whether the vehicle controller of the target vehicle has a vehicle controller production file with a repairable fault or version change;
[0129] The reference identifier detection submodule is used to detect whether the target production file corresponding to the target vehicle controller carries a reference identifier when there is a vehicle controller production file with a repairable fault or version change. The reference identifier is used to indicate that an OTA upgrade package needs to be created for the vehicle controller of the target vehicle.
[0130] As an option, the target production file and target configuration file determination module 302 includes:
[0131] A target production file determination submodule is used to extract the target production file required by the vehicle controller of the target vehicle from the vehicle controller production file system;
[0132] The target configuration file determination submodule is used to search from the vehicle controller OTA configuration file system whether there is a candidate configuration file required by the vehicle controller of the target vehicle based on the production file type corresponding to the target production file and the vehicle controller type of the target vehicle; if so, the target configuration file required by the vehicle controller of the target vehicle is determined based on the candidate configuration file; if not, a new target configuration file required by the vehicle controller of the target vehicle is created.
[0133] As an option, the target production file determines the submodules used to:
[0134] If the target production file required for the vehicle controller of the target vehicle extracted from the vehicle controller production file system carries a differential identifier, the target production file extracted from the vehicle controller production file system and the production file corresponding to the current software version of the vehicle controller are used to generate a corresponding differential production file using a differential algorithm, and the generated differential production file is used as the target production file required for the vehicle controller of the target vehicle. The differential identifier is used to indicate that a differential production file of the vehicle controller of the target vehicle needs to be generated.
[0135] As an optional, target profile determination submodule includes:
[0136] A target production file information determining unit, used to determine the target production file information corresponding to the target production file;
[0137] The candidate configuration file adjustment unit is used to adjust the candidate configuration file based on the vehicle controller type of the target vehicle and the target production file information to obtain the target configuration file required by the vehicle controller of the target vehicle.
[0138] It is worth noting that different types of controllers require different configuration files, and different configuration methods are used when adjusting the candidate configuration files.
[0139] As an option, the candidate configuration file adjustment unit includes:
[0140] The first adjustment subunit is used for adjusting the target production file name, MD5 code and software version number information of the vehicle controller associated with the candidate configuration file based on the target production file information if the vehicle controller type of the target vehicle is not a diagnostic flash type controller;
[0141] The second adjustment sub-unit is used to configure and adjust the target production file name associated with the candidate configuration file, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller and the security algorithm of the vehicle controller based on the target production file information if the vehicle controller type of the target vehicle is a diagnostic flash type controller.
[0142] As an option, the first adjustment subunit is specifically used for:
[0143] determining whether a target production file name associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information;
[0144] If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0145] Determining whether the MD5 code associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information;
[0146] If the MD5 codes do not match, the MD5 codes associated with the candidate configuration files are adjusted and modified to match the vehicle controller of the target vehicle;
[0147] Determining whether software version number information of a vehicle controller associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information;
[0148] If the software version number information of the vehicle controller does not match, the software version number information of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0149] As an option, the second adjustment subunit is specifically used for:
[0150] determining whether a target production file name associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information;
[0151] If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0152] Determining whether a flash address block of a vehicle controller associated with the candidate configuration file matches a vehicle controller of a target vehicle based on target production file information;
[0153] If the flash address block of the vehicle controller does not match, the flash address block of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0154] Determining whether the flash diagnostic service of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information;
[0155] If the flash diagnostic service of the vehicle controller does not match, the flash diagnostic service of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0156] Determining whether a flash diagnostic request of a vehicle controller associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information;
[0157] If the flash diagnostic request of the vehicle controller does not match, the flash diagnostic request of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0158] Determining, based on the target production file information, whether information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle;
[0159] If the information corresponding to the flash diagnostic response ID of the vehicle controller does not match, the information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle;
[0160] Determining whether a safety algorithm of a vehicle controller associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information;
[0161] If the security algorithm of the vehicle controller does not match, the security algorithm of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
[0162] As an option, the vehicle controller information includes: vehicle controller part number, hardware version number, software version number, calibration version number and other information; vehicle controller manufacturer, car series, expected upgrade time and other information; whether the vehicle controller supports self-rollback.
[0163] As an option, the software package generation module 304 is specifically used for:
[0164] Comparing the vehicle controller information contained in the OTA upgrade source file of the target vehicle controller with the vehicle controller information in the vehicle information management system;
[0165] If the comparison is successful, the OTA upgrade source file of the vehicle controller and the vehicle controller information in the vehicle information management system are encrypted based on the preset encryption algorithm information to generate a vehicle controller software package for the target vehicle.
[0166] As an option, the OTA upgrade package generation module 305 is specifically used for:
[0167] After generating the vehicle controller OTA upgrade package for the target vehicle, it also includes:
[0168] If it is detected in real time that multiple vehicle controller OTA upgrade packages need to be generated for the target vehicle, vehicle controller OTA upgrade packages corresponding to the multiple vehicle controllers of the target vehicle are generated respectively, wherein the multiple vehicle controllers need to be applicable to the same target vehicle.
[0169] The device for generating the OTA upgrade package for a vehicle controller provided in an embodiment of the present invention can execute the method for generating the OTA upgrade package for a vehicle controller provided in any embodiment of the present invention, and has the functional modules and beneficial effects corresponding to the execution method.
[0170] Embodiment 4
[0171] Figure 8A structural diagram of an electronic device for generating an OTA upgrade package for a vehicle controller provided in Embodiment 4 of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0172] like Figure 8 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0173] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0174] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a method for generating an OTA upgrade package for a vehicle controller.
[0175] In some embodiments, the method for generating a vehicle controller OTA upgrade package may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method for generating a vehicle controller OTA upgrade package described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the method for generating a vehicle controller OTA upgrade package by any other appropriate means (e.g., by means of firmware).
[0176] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0177] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0178] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0179] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0180] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0181] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0182] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0183] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for generating an OTA upgrade package for a vehicle controller, characterized in that: The method comprises: Real-time detection of whether the target vehicle needs to generate a vehicle controller OTA upgrade package; When it is detected that a vehicle controller OTA upgrade package needs to be generated for the target vehicle, a target production file and a target configuration file required by the vehicle controller of the target vehicle are determined, wherein the target configuration file is a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and the production file type corresponding to the vehicle controller production file indicated by the target production file; Compressing the target production file and the target configuration file to obtain a target source file, where the target source file is an OTA upgrade source file of a vehicle controller of the target vehicle; Generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information; A vehicle controller OTA upgrade package of the target vehicle is generated according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
2. The method according to claim 1, characterized in that: Real-time detection of whether the target vehicle needs to generate a vehicle controller OTA upgrade package, including: Detecting whether a vehicle controller of the target vehicle has a vehicle controller production file that can repair the fault or version change; When there is a vehicle controller production file with a repairable fault or version change, it is detected whether the target production file corresponding to the target vehicle controller carries a reference identifier, and the reference identifier is used to indicate that an OTA upgrade package needs to be created for the vehicle controller of the target vehicle.
3. The method according to claim 1, characterized in that Determine the target production files and target configuration files required for the vehicle controller of the target vehicle, including: extracting a target production file required by a vehicle controller of a target vehicle from a vehicle controller production file system; Based on the production file type corresponding to the target production file and the vehicle controller type of the target vehicle, searching from a vehicle controller OTA configuration file system whether there is a candidate configuration file required by the vehicle controller of the target vehicle; If so, determining a target profile required by a vehicle controller of the target vehicle based on the candidate profile; If it does not exist, create a target configuration file required by the vehicle controller of the target vehicle.
4. The method according to claim 3, characterized in that Extract the target production files required by the vehicle controller of the target vehicle from the vehicle controller production file system, including: If the target production file required for the vehicle controller of the target vehicle extracted from the vehicle controller production file system carries a differential identifier, the target production file extracted from the vehicle controller production file system and the production file corresponding to the current software version of the vehicle controller are used to generate a corresponding differential production file using a differential algorithm, and the generated differential production file is used as the target production file required for the vehicle controller of the target vehicle. The differential identifier is used to indicate the differential production file for the vehicle controller of the target vehicle that needs to be generated.
5. The method according to claim 3, characterized in that: Determining a target configuration file required by a vehicle controller of a target vehicle based on the candidate configuration files includes: Determining target production file information corresponding to the target production file; Based on the vehicle controller type of the target vehicle and the target production file information, the candidate configuration file is configured and adjusted to obtain the target configuration file required by the vehicle controller of the target vehicle.
6. The method according to claim 5, characterized in that Different types of controllers require different configuration files, and different configuration methods are used when adjusting the candidate configuration files.
7. The method according to claim 5, characterized in that Based on the vehicle controller type of the target vehicle and the target production file information, the candidate configuration file is configured and adjusted, including: If the vehicle controller type of the target vehicle is not a diagnostic flash controller, adjusting the target production file name, MD5 code and software version number information of the vehicle controller associated with the candidate configuration file based on the target production file information; If the vehicle controller type of the target vehicle is a diagnostic flash type controller, the target production file name associated with the candidate configuration file, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller and the security algorithm of the vehicle controller are configured and adjusted based on the target production file information.
8. The method according to claim 7, characterized in that Based on the target production file information, the target production file name, MD5 code and software version number information of the vehicle controller associated with the candidate configuration file are configured and adjusted, including: determining whether a target production file name associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information; If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining whether the MD5 code associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information; If the MD5 codes do not match, the MD5 codes associated with the candidate configuration files are adjusted and modified to match the vehicle controller of the target vehicle; Determining whether software version number information of a vehicle controller associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information; If the software version number information of the vehicle controller does not match, the software version number information of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
9. The method according to claim 7, characterized in that: Based on the target production file information, the target production file name associated with the candidate configuration file, the flash address block of the vehicle controller, the flash diagnostic service of the vehicle controller, the flash diagnostic request of the vehicle controller, the flash diagnostic response ID of the vehicle controller and the security algorithm of the vehicle controller are configured and adjusted, including: determining whether a target production file name associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information; If the target production file name does not match, the target production file name associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining whether a flash address block of a vehicle controller associated with the candidate configuration file matches a vehicle controller of a target vehicle based on target production file information; If the flash address block of the vehicle controller does not match, the flash address block of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining whether the flash diagnostic service of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle based on the target production file information; If the flash diagnostic service of the vehicle controller does not match, the flash diagnostic service of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining whether a flash diagnostic request of a vehicle controller associated with the candidate configuration file matches a vehicle controller of a target vehicle based on the target production file information; If the flash diagnostic request of the vehicle controller does not match, the flash diagnostic request of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining, based on the target production file information, whether information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file matches the vehicle controller of the target vehicle; If the information corresponding to the flash diagnostic response ID of the vehicle controller does not match, the information corresponding to the flash diagnostic response ID of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle; Determining whether a safety algorithm of a vehicle controller associated with the candidate configuration file matches a vehicle controller of the target vehicle based on the target production file information; If the security algorithm of the vehicle controller does not match, the security algorithm of the vehicle controller associated with the candidate configuration file is adjusted and modified to match the vehicle controller of the target vehicle.
10. The method according to claim 1, characterized in that The vehicle controller information includes: vehicle controller part number, hardware version number, software version number, calibration version number and other information; vehicle controller manufacturer, vehicle series, expected upgrade time and other information; whether the vehicle controller supports self-rollback.
11. The method according to claim 1 or 10, characterized in that: Generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information, including: Comparing the vehicle controller information contained in the OTA upgrade source file of the target vehicle controller with the vehicle controller information in the vehicle information management system; If the comparison is successful, the OTA upgrade source file of the vehicle controller and the vehicle controller information in the vehicle information management system are encrypted based on the preset encryption algorithm information to generate a vehicle controller software package for the target vehicle.
12. The method according to claim 1, characterized in that After generating the vehicle controller OTA upgrade package of the target vehicle, the method further includes: If it is detected in real time that the target vehicle needs to generate multiple vehicle controller OTA upgrade packages, vehicle controller OTA upgrade packages corresponding to the multiple vehicle controllers of the target vehicle are generated respectively, and the multiple vehicle controllers need to be applicable to the same target vehicle.
13. A device for generating an OTA upgrade package for a vehicle controller, characterized in that: include: OTA upgrade package detection module, used to detect in real time whether the target vehicle needs to generate a vehicle controller OTA upgrade package; A target production file and target configuration file determination module is used to determine the target production file and target configuration file required by the vehicle controller of the target vehicle when it is detected that the target vehicle needs to generate a vehicle controller OTA upgrade package, wherein the target configuration file is a vehicle controller configuration file that can adapt to the vehicle controller type of the target vehicle and the production file type corresponding to the vehicle controller production file indicated by the target production file; A target source file acquisition module, used for compressing the target production file and the target configuration file to obtain a target source file, wherein the target source file is an OTA upgrade source file of the vehicle controller of the target vehicle; A software package generation module, used to generate a vehicle controller software package of the target vehicle according to the OTA upgrade source file of the vehicle controller, the vehicle controller information and the preset encryption algorithm information; The OTA upgrade package generation module is used to generate an OTA upgrade package for the vehicle controller of the target vehicle according to the vehicle controller software package of the target vehicle and preset encryption algorithm information.
14. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for generating an OTA upgrade package for a vehicle controller according to any one of claims 1-13.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method for generating an OTA upgrade package for a vehicle controller according to any one of claims 1 to 13 when executed.
