WO2022188043A1 - 一种通过空中下载ota技术获取文件的方法及相关设备 - Google Patents
一种通过空中下载ota技术获取文件的方法及相关设备 Download PDFInfo
- Publication number
- WO2022188043A1 WO2022188043A1 PCT/CN2021/079834 CN2021079834W WO2022188043A1 WO 2022188043 A1 WO2022188043 A1 WO 2022188043A1 CN 2021079834 W CN2021079834 W CN 2021079834W WO 2022188043 A1 WO2022188043 A1 WO 2022188043A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- vehicle
- file
- server
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 238000005516 engineering process Methods 0.000 title claims abstract description 97
- 230000006870 function Effects 0.000 claims description 512
- 238000009434 installation Methods 0.000 claims description 166
- 238000012795 verification Methods 0.000 claims description 91
- 230000015654 memory Effects 0.000 claims description 42
- 230000003993 interaction Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 8
- 239000000306 component Substances 0.000 description 49
- 238000007726 management method Methods 0.000 description 43
- 238000004891 communication Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000010267 cellular communication Effects 0.000 description 3
- 239000008358 core component Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/108—Source integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/103—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for protecting copyright
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
Definitions
- the present application relates to the field of vehicle technology, and in particular, to a method and related equipment for obtaining files through over-the-air downloading OTA technology.
- the vehicle when the vehicle needs to implement a certain business function, the vehicle needs to obtain the file corresponding to the business function from an external dedicated file server, and since the vehicle includes multiple components, and each component can be installed with multiple Each software can implement different business functions, resulting in high complexity and low efficiency when the file server manages files corresponding to different business functions of the vehicle.
- a license file (a file used for software protection) can be used to activate a certain business function of the vehicle.
- the server provides the user with a target file, and the target file controls the operation of the software, thereby controlling the software in the authorization process. It can be used within the range to make the vehicle realize a personalized function.
- the generation, distribution and management of the target file of the entire vehicle are completed by a special license server, and due to the complex internal structure of the vehicle, rich business function modules and different resource permissions, the license file management of the entire vehicle is a Very complicated project.
- the embodiments of the present application provide a method and related equipment for acquiring files based on the over-the-air download OTA technology, which can realize the acquisition of files based on the OTA technology and simplify the management of the files associated with vehicle functions.
- an embodiment of the present application provides a method for obtaining a file based on an over-the-air download OTA technology, the method comprising:
- the first vehicle obtains a target request, the target request includes target service information, and the target service information is used to obtain a target file associated with the target function;
- the first vehicle sends the target request to the server
- the first vehicle receives the target file obtained by the target request request, and the target file is used to instruct the first vehicle to implement the target function.
- a vehicle when a vehicle needs to implement a certain business function, the vehicle needs to obtain a file corresponding to the business function from an external dedicated file server, and since the vehicle includes multiple components, and each component can be installed with multiple Software, each software can implement different business functions, resulting in high complexity and low efficiency when the file server manages the files corresponding to different business functions of the vehicle.
- a remote upgrade channel is established between the server and the vehicle (including the master on-board control unit and one or more slave on-board units).
- the master vehicle-mounted control unit manages hardware information of each slave vehicle-mounted control unit and software version information corresponding to at least one software installed on each slave vehicle-mounted control unit, and distributes software upgrade packages on each slave vehicle-mounted control unit, etc.
- the vehicle receives the target request including the target service information, it initiates a relevant request to the server by reusing the OTA remote upgrade channel between the above-mentioned server and the vehicle, and receives the target file associated with the target function sent by the server through the OTA technology.
- the target file realizes the target function, thereby realizing the acquisition of business related files based on OTA technology.
- this application by reusing the OTA remote upgrade channel between the server and the vehicle, it avoids the need to create a new file management channel and the need for a special file server to complete the generation, distribution and management of the function-related files of the entire vehicle.
- the function of associated file management is complex.
- users can purchase corresponding services for vehicles according to their personal needs, so as to meet the individual needs of users, reduce purchase costs, and improve user experience.
- the sending, by the first vehicle, the target request to the server includes: the first vehicle sending the target request to the server through an OTA technology.
- the receiving, by the first vehicle, the target file requested by the target request includes: receiving, by the first vehicle, the target file requested by the target request by using an OTA technology.
- the method further includes: the first vehicle performs signature verification on the target file; if the signature verification of the target file is successful, the first vehicle performs a signature verification on the target file according to the target file.
- the file implements the stated target function.
- the first vehicle in the embodiment of the present application may include a master vehicle-mounted control unit and one or more slave vehicle-mounted control units, and the target function is a function implemented by the target slave vehicle-mounted control unit in the one or more slave vehicle-mounted control units , specifically, the main vehicle-mounted control unit can perform signature verification on the target file; in the case that the signature verification of the target file is successful, the main vehicle-mounted control unit sends the target file to the target from the on-board control unit.
- the first vehicle in the embodiment of the present application implements the target function according to the target file inside the first vehicle after verifying the signed target file obtained from the outside of the vehicle, so as to ensure the realization of the target function of the first vehicle security.
- the method further includes: verifying, by the first vehicle, the legality of the target file; in the case that the legality verification of the target file is successful, the first vehicle The target function is implemented according to the target file.
- the first vehicle in the embodiment of the present application can verify the validity of the target file through the main vehicle-mounted control unit or the target slave vehicle-mounted control unit.
- the target file implements the target function, so as to avoid the situation that the target function cannot be realized due to the received target file not being the target file corresponding to the target function, and ensure the efficiency and safety of the first vehicle target function realization.
- the target request further includes hardware information of the first vehicle; the target file includes a device feature code generated according to the hardware information; the first vehicle verifies the The legitimacy of the target file includes: the first vehicle determines whether the hardware information and the device feature code match; if the hardware information matches the device feature code, determining that the target file is legal document.
- the hardware information of the first vehicle included in the target request may be the hardware information of the target slave vehicle control unit in the first vehicle; the target file includes a device feature code generated according to the hardware information of the slave vehicle control unit; the first vehicle Whether the target file is legal is judged by judging whether the hardware information of the target slave vehicle-mounted control unit matches the device feature code.
- the first vehicle in the embodiment of the present application implements the target function according to the target file after verifying the legitimacy of the target file obtained from outside the vehicle, so as to avoid that the received target file is not the target corresponding to the target function The occurrence of the situation that the target function cannot be realized due to the document, ensures the efficiency and safety of the realization of the target function of the first vehicle.
- the method further includes: detecting, by the first vehicle, whether the first vehicle has installed the software according to the target service information and at least one software version information corresponding to the first vehicle The software corresponding to the target function.
- the at least one piece of software version information corresponding to the first vehicle may be at least one piece of software version information corresponding to at least one piece of software installed on the vehicle-mounted control unit of the target.
- the first vehicle can determine the target slave vehicle control unit based on at least one software version information corresponding to at least one software installed on the target slave vehicle control unit and the target service information after acquiring the target service information through the main vehicle control unit. Whether to install the software corresponding to the target function, so as to further ensure the smooth realization of the target function.
- the method further includes: if the software corresponding to the target function is not installed on the first vehicle, sending, by the first vehicle, the software corresponding to the target function to the server Software installation package acquisition request.
- the first vehicle may send the installation of the software corresponding to the target function to the server through the main vehicle-mounted control unit package acquisition request, so as to further ensure that the vehicle can successfully implement the target function after installing the software corresponding to the target function.
- the method further includes:
- the first vehicle receives the installation package sent by the server according to the installation package acquisition request, and verifies the signature of the installation package; if the signature verification of the installation package is successful, the first vehicle
- the installation package installs the software corresponding to the target function, and implements the target function based on the software and the target file.
- the first vehicle may receive, through the main vehicle-mounted control unit, the installation package sent by the server according to the installation package acquisition request, and perform signature verification on the installation package; if the signature verification is successful, the The master vehicle-mounted control unit sends the installation package to the target slave vehicle-mounted control unit; the target slave vehicle-mounted control unit installs the corresponding software of the target function according to the installation package, and based on the software and the target The file implements the stated target function.
- the target slave vehicle control unit after installing the corresponding software of the target function, implements the target function based on the software, thereby ensuring the smooth realization of the target function.
- the target request further includes at least one software version information corresponding to the first vehicle
- the method further includes: the first vehicle receives the target function corresponding to the target function sent by the server.
- the installation package of the software and perform signature verification on the installation package, the installation package corresponds to the server detecting that the target function is not installed in the first vehicle according to the target service information and the software version information
- the software is sent when the installation package is successfully signed; the first vehicle installs the software corresponding to the target function according to the installation package, and implements the software based on the software and the target file. target function.
- the target request when the target request further includes at least one software version information corresponding to the first vehicle, the target request is further used to instruct the server to
- the target service information detects whether the target slave vehicle control unit of the vehicle has installed the software corresponding to the target function; when it is detected that the software corresponding to the target function is not installed in the first vehicle, the target function is sent to the vehicle.
- the installation package of the corresponding software the first vehicle installs the software corresponding to the target function according to the installation package, and implements the target function based on the software corresponding to the target function and the target file, thereby ensuring the smooth operation of the target function accomplish.
- the target file can be issued, and the firmware/software remote upgrade channel between the server and the first vehicle can be reused, so as to avoid the need to create a new file management channel and cause complicated file management.
- the first vehicle includes a master vehicle-mounted control unit and one or more slave vehicle-mounted control units
- the target function is the target slave vehicle-mounted control unit in the one or more slave vehicle-mounted control units
- the function implemented by the unit; the first vehicle receiving the target file requested by the target request includes: the main vehicle-mounted control unit receiving the target file requested by the target request; the main vehicle-mounted control unit
- the target file is sent to the target slave vehicle-mounted control unit, where the target file is used to instruct the target slave vehicle-mounted control unit to implement the target function according to the target file.
- a remote upgrade channel is established between the server and the vehicle (including the master on-board control unit and one or more slave on-board units).
- the master vehicle-mounted control unit manages hardware information of each slave vehicle-mounted control unit and software version information corresponding to at least one software installed on each slave vehicle-mounted control unit, and distributes software upgrade packages on each slave vehicle-mounted control unit, etc.
- the vehicle receives the target request including the target service information, it initiates a relevant request to the server by multiplexing the OTA remote upgrade channel between the server and the vehicle, and receives the target file associated with the target function sent by the server through the OTA technology.
- the control unit After receiving the target file sent by the server, the control unit distributes the target file based on the internally managed hardware information of each slave vehicle control unit and software version information corresponding to at least one software installed on each slave vehicle control unit, so that the target The on-board control unit realizes the target function based on the target file, thereby realizing the acquisition of the business related file based on the OTA technology.
- the control unit by reusing the OTA remote upgrade channel between the server and the vehicle, it avoids the need to create a new file management channel and the need for a special file server to complete the generation, distribution and management of the function-related files of the entire vehicle.
- the function of associated file management is complex.
- users can purchase corresponding services for vehicles according to their personal needs to meet the individual needs of users, reduce purchase costs, and improve user experience.
- the first vehicle further includes a human-machine interface (Human Machine Interface, HMI), and the first vehicle obtains the target request, including: the first vehicle obtains the target request through the HMI the target request.
- HMI Human Machine Interface
- the user can subscribe to the target function through the HMI, which is convenient for the user to operate.
- the method further includes: the first vehicle sending the status of the target function to the server, where the status of the target function includes whether the target function is implemented and/or all the validity period of the stated target function.
- the target slave vehicle-mounted control unit may periodically send the status of the target function to the master vehicle-mounted control unit, and the master vehicle-mounted control unit sends the status of the target function to the server for convenience
- the target file issued to the first vehicle is managed by the server management.
- the main vehicle-mounted control unit will display the status of the target function to the user, so that the user can know the usage of the target function and the validity period of the target function through the HMI.
- the target request further includes one or more of the validity period of the target function, hardware information of the first vehicle, and at least one software version information corresponding to the first vehicle;
- the target file is generated by the server according to one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information.
- the target file delivered by the server is not for the current version information of the software corresponding to the target slave control unit or the target function, thereby avoiding the phenomenon that the target function cannot be realized.
- the server receives the target request, based on the hardware information of the first vehicle in the target request (that is, the hardware information of the target slave onboard control unit) and at least one software version information corresponding to the first vehicle (that is, the target slave onboard control unit installed At least one software version information corresponding to at least one piece of software) generates a target file that matches the target function, hardware information, and software corresponding to the target function, so that the target function can be implemented efficiently and pertinently.
- the target file includes a license file for the use permission of the target function.
- the server provides a license file to the user, and the license file controls the running of the software, so as to control the software to be used within the authorized scope, so that the vehicle can realize a certain personalized function.
- an embodiment of the present application provides a method for obtaining a file based on an over-the-air download OTA technology, the method comprising:
- the server receives a target request sent by the first vehicle, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function;
- the server generates the corresponding target file according to the target request
- the server sends the target file to the first vehicle, where the target file is used to instruct the first vehicle to implement the target function.
- a vehicle when a vehicle needs to implement a certain business function, the vehicle needs to obtain a file corresponding to the business function from an external dedicated file server, and since the vehicle includes multiple components, and each component can be installed with multiple Software, each software can implement different business functions, resulting in high complexity and low efficiency when the file server manages the files corresponding to different business functions of the vehicle.
- a remote upgrade channel is established between the server and the vehicle (including the master on-board control unit and one or more slave on-board units).
- the master vehicle-mounted control unit manages hardware information of each slave vehicle-mounted control unit and software version information corresponding to at least one software installed on each slave vehicle-mounted control unit, and distributes software upgrade packages on each slave vehicle-mounted control unit, etc.
- the vehicle receives the target request including the target service information, it initiates a relevant request to the server by multiplexing the OTA remote upgrade channel between the above-mentioned server and the vehicle, and the server sends the target file associated with the target function to the first vehicle through the OTA technology.
- the first vehicle implements the target function based on the target file, thereby realizing the acquisition of the business associated file based on the OTA technology.
- this application by reusing the OTA remote upgrade channel between the server and the vehicle, it avoids the need to create a new file management channel and the need for a special file server to complete the generation, distribution and management of the function-related files of the entire vehicle.
- the function of associated file management is complex.
- users can purchase corresponding services for vehicles according to their personal needs to meet the individual needs of users, reduce purchase costs, and improve user experience.
- the server receiving the target request sent by the first vehicle includes: receiving, by the server, the target request sent by the first vehicle through an OTA technology.
- the sending, by the server, the target file to the first vehicle includes: the server sending the target file to the first vehicle through an OTA technology.
- the method further includes: signing, by the server, the target file.
- the target request further includes at least one software version information corresponding to the first vehicle; the method further includes: the server according to the at least one software version information and the target service information to detect whether the software corresponding to the target function is installed in the first vehicle; if the software corresponding to the target function is not installed in the first vehicle, the server sends the target function to the first vehicle An installation package of the corresponding software, where the installation package is used for the first vehicle to install the software corresponding to the target function according to the installation package.
- the target request further includes one or more of the validity period of the target function, hardware information of the first vehicle, and at least one software version information corresponding to the first vehicle.
- the server generating the corresponding target file according to the target request includes:
- the server generates a device feature code according to the hardware information of the first vehicle; the server generates resource control items and function control items according to at least one software version information corresponding to the first vehicle; the server generates a resource control item and a function control item according to the target service
- the target file is generated from the information, the validity period of the target function, the device feature code, the resource control item and the function control item.
- the target file delivered by the server is not the target file for the current version information of the software corresponding to the first vehicle or the target function, thereby avoiding the phenomenon that the target function cannot be realized.
- the server receives the target request, based on the hardware information of the first vehicle in the target request (that is, the hardware information of the target slave onboard control unit) and at least one software version information corresponding to the first vehicle (that is, the target slave onboard control unit installed At least one software version information corresponding to at least one software) generates a target file that matches the target function, hardware information and the software installed on the target control unit corresponding to the target function, thereby ensuring the high efficiency of target function realization and targeted.
- the method further includes: receiving, by the server, the status of the target function sent by the first vehicle, where the status of the target function includes whether the target function is enabled and/or the validity period of the stated target function.
- the target file includes a license file for use of the target function.
- an embodiment of the present application provides a method for obtaining a file based on an over-the-air download OTA technology, which is applied to a first vehicle, where the first vehicle includes a master vehicle-mounted control unit and one or more slave vehicle-mounted control units, the Methods include:
- the main vehicle-mounted control unit obtains a target request, the target request includes target service information, and the target service information is used to obtain a target file associated with a target function, and the target function is the one or more slave vehicle control units.
- the objective is to realize the function from the on-board control unit;
- the main vehicle-mounted control unit sends the target request to the server
- the main vehicle-mounted control unit receives the target file obtained by the target request request
- the master vehicle-mounted control unit sends the target file to the target-slave vehicle-mounted control unit, where the target file is used to instruct the target-slave vehicle-mounted control unit to implement the target function according to the target file.
- the method further includes:
- the main vehicle-mounted control unit performs signature verification on the target file
- the master vehicle-mounted control unit performs the operation of sending the target file to the target slave vehicle-mounted control unit.
- the method further includes:
- the target verifies the validity of the target file from the vehicle-mounted control unit
- the target slave vehicle control unit implements the target function according to the target file.
- the target request further includes hardware information of the target slave vehicle control unit;
- the target file includes a device feature code generated according to the hardware information;
- the target slave vehicle control unit Verify the validity of the target file, including:
- the target from the vehicle-mounted control unit judges whether the hardware information and the device feature code match; if the hardware information matches the device feature code, it is determined that the target file is a legal file.
- the method further includes:
- the master vehicle-mounted control unit detects whether the target slave vehicle-mounted control unit has installed the target according to the target service information and at least one software version information corresponding to at least one software installed by the target slave vehicle-mounted control unit in the first vehicle. function corresponding software.
- the method further includes:
- the master vehicle-mounted control unit sends an installation package acquisition request of the software corresponding to the target function to the server.
- the method further includes:
- the main vehicle-mounted control unit receives the installation package sent by the server according to the installation package acquisition request, and performs signature verification on the installation package; in the case that the signature verification of the installation package is successful, the main vehicle-mounted control unit Sending the installation package to the target slave vehicle control unit; the target slave vehicle control unit installs the software corresponding to the target function according to the installation package, and realizes the target based on the software and the target file Function.
- the target request further includes at least one software version information corresponding to the first vehicle
- the method further includes:
- the main vehicle-mounted control unit receives the installation package of the software corresponding to the target function sent by the server, and performs signature verification on the installation package.
- the software version information is sent when it is detected that the software corresponding to the target function is not installed in the first vehicle; in the case that the signature verification of the installation package is successful, the main vehicle-mounted control unit sends the installation package to the The target slave vehicle control unit; the target slave vehicle control unit installs the software corresponding to the target function according to the installation package, and implements the target function based on the software and the target file.
- the first vehicle further includes a human-computer interaction interface
- the main vehicle-mounted control unit acquires the target request, including:
- the main vehicle-mounted control unit acquires the target request through the human-computer interaction interface.
- the method further includes:
- the main vehicle-mounted control unit sends the status of the target function to the server and/or the human-computer interaction interface, and the status of the target function includes whether the target function is implemented and/or the validity period of the target function.
- the target request further includes the validity period of the target function, hardware information of the first vehicle, and at least one piece of software corresponding to at least one piece of software installed by the target from the vehicle-mounted control unit in the first vehicle.
- One or more of a piece of software version information; the target file is one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information, according to the server. generated.
- the target file includes a license file for use of the target function.
- an embodiment of the present application provides a vehicle, including:
- an obtaining unit configured to obtain a target request, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function;
- a sending unit configured to send the target request to the server
- a receiving unit configured to receive the target file obtained by the target request request, where the target file is used to instruct the vehicle to implement the target function.
- the obtaining unit is specifically configured to obtain a target request through an OTA technology, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function.
- the sending unit is specifically configured to send the target request to the server through the OTA technology.
- the vehicle further includes:
- a signature verification unit configured to perform signature verification on the target file; in the case that the signature verification of the target file is successful, the vehicle implements the target function according to the target file.
- the vehicle further includes:
- a legality verification unit configured to verify the legality of the target file; in the case that the legality verification of the target file is successful, the vehicle implements the target function according to the target file.
- the target request further includes hardware information of the vehicle; the target file includes a device feature code generated according to the hardware information; the legality verification unit is specifically used for: Determine whether the hardware information and the device feature code match; if the hardware information and the device feature code match, determine that the target file is a legal file.
- the vehicle further includes:
- An installation detection unit configured to detect whether the vehicle has installed software corresponding to the target function according to the target service information and at least one software version information corresponding to the vehicle.
- the sending unit is further configured to send an installation package of the software corresponding to the target function to the server when the vehicle does not have the software corresponding to the target function installed ask.
- the vehicle further includes:
- a first installation unit configured to receive an installation package sent by the server according to the installation package acquisition request, and perform signature verification on the installation package; in the case of successful signature verification of the installation package, according to the installation package
- Software corresponding to the target function is installed, and the target function is implemented based on the software and the target file.
- the target request further includes at least one software version information corresponding to the vehicle
- the vehicle further includes:
- a second installation unit configured to receive an installation package of the software corresponding to the target function sent by the server, and perform signature verification on the installation package, where the installation package is the server based on the target service information and the The software version information is sent when it is detected that the software corresponding to the target function is not installed on the vehicle; if the installation package signature verification is successful, the software corresponding to the target function is installed according to the installation package, and based on The software and the target file implement the target function.
- the vehicle includes a master vehicle-mounted control unit and one or more slave vehicle-mounted control units, and the target function is implemented by the target slave vehicle-mounted control unit in the one or more slave vehicle-mounted control units function; the receiving unit is specifically used for:
- the target file obtained by the target request request is received by the master vehicle-mounted control unit; the target file is sent to the target slave vehicle-mounted control unit through the master vehicle-mounted control unit, and the target file is used to indicate the The target implements the target function from the vehicle-mounted control unit according to the target file.
- the vehicle further includes a human-computer interaction interface
- the acquiring unit is specifically configured to acquire the target request through the human-computer interaction interface.
- the sending unit is further configured to send the status of the target function to the server, where the status of the target function includes whether the target function is implemented and/or the target function validity period.
- the target request further includes one or more of the validity period of the target function, hardware information of the vehicle, and at least one software version information corresponding to the vehicle;
- the target file is generated by the server according to one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information.
- the target file includes a license file for use of the target function.
- an embodiment of the present application provides a server, where the server includes:
- a receiving unit configured to receive a target request sent by the first vehicle, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function;
- a generating unit configured to generate the corresponding target file according to the target request
- a sending unit configured to send the target file to the first vehicle, where the target file is used to instruct the first vehicle to implement the target function.
- the receiving unit is specifically configured to receive the target request sent by the first vehicle through the OTA technology.
- the sending unit is specifically configured to send the target file to the first vehicle through OTA technology.
- the server further includes:
- a signature unit used to sign the target file.
- the target request further includes at least one software version information corresponding to the first vehicle;
- the server further includes: an installation detection unit, configured to The target service information detects whether the first vehicle has installed software corresponding to the target function;
- the sending unit is further configured to send an installation package of the software corresponding to the target function to the first vehicle when the software corresponding to the target function is not installed in the first vehicle, the installation package using The software corresponding to the target function is installed on the first vehicle according to the installation package.
- the target request further includes one or more of the validity period of the target function, hardware information of the first vehicle, and at least one software version information corresponding to the first vehicle.
- the generating unit is specifically used for:
- the target file is generated according to the target service information, the validity period of the target function, the device feature code, the resource control item and the function control item.
- the receiving unit is further configured to receive the state of the target function sent by the first vehicle, where the state of the target function includes whether the target function is enabled and/or the The validity period of the target function.
- the target file includes a license file for use of the target function.
- an embodiment of the present application provides a system for acquiring files based on OTA technology, the system includes a server and a vehicle; the vehicle is any one of the vehicles provided in the fourth aspect above; the The server is any one of the servers provided in the fifth aspect above.
- the present application provides a device for obtaining files based on OTA technology
- the device for obtaining files based on OTA technology has the function of implementing the method in any of the foregoing method embodiments for obtaining files based on OTA technology.
- This function can be implemented by hardware or by executing corresponding software by hardware.
- the hardware or software includes one or more modules corresponding to the above functions.
- the present application provides a vehicle, the vehicle includes a processor, and the processor is configured to support the vehicle to perform corresponding functions in the method for obtaining a file based on the OTA technology provided in the first aspect.
- the vehicle may also include a memory for coupling with the processor that holds program instructions and data necessary for the vehicle.
- the vehicle may also include a communication interface for the vehicle to communicate with other devices or a communication network.
- the present application provides a main vehicle-mounted control unit, the main vehicle-mounted control unit includes a processor, and the processor is configured to support the main vehicle-mounted control unit to execute a method for obtaining a file based on the OTA technology provided by the third aspect The corresponding functions of the main vehicle control unit.
- the main on-board control unit may also include a memory for coupling with the processor, which stores program instructions and data necessary for the main on-board control unit.
- the main vehicle-mounted control unit may further include a communication interface for the main vehicle-mounted control unit to communicate with other devices or a communication network.
- the present application provides a slave vehicle control unit, the slave vehicle control unit includes a processor, and the processor is configured to support the slave vehicle control unit to execute a method for obtaining a file based on the OTA technology provided in the third aspect
- the corresponding function of the slave vehicle control unit (or target slave vehicle control unit).
- the slave onboard control unit may also include a memory for coupling with the processor, which stores necessary program instructions and data for the slave onboard control unit.
- the slave onboard control unit may also include a communication interface for the slave onboard control unit to communicate with other devices or a communication network.
- the present application provides a server, which includes a processor, and the processor is configured to support the server to perform corresponding functions in the method for controlling acquisition of files based on OTA technology provided in the second aspect.
- the server may also include memory, coupled to the processor, which holds program instructions and data necessary for the server.
- the server may also include a communication interface for the server to communicate with other devices or communication networks.
- the present application provides a computer storage medium for storing computer software instructions used for the vehicle provided in the eighth aspect, which includes a program designed to execute the above aspect.
- the present application provides a computer storage medium for storing computer software instructions used by the server provided in the eleventh aspect, including the program designed for executing the above aspect.
- an embodiment of the present application provides a computer program, the computer program includes instructions, when the computer program is executed by a computer, the computer can perform any one of the above-mentioned first aspect. process in the method.
- an embodiment of the present application provides a computer program, the computer program includes instructions, when the computer program is executed by a computer, the computer can execute any one of the above-mentioned second aspects of the OTA technology-based file acquisition process. process in the method.
- the present application provides a chip system, the chip system includes a processor for supporting a vehicle or a server to implement the functions involved in the above aspects, for example, for example, receiving or processing the data involved in the above method and / or information.
- the chip system further includes a memory for storing necessary program instructions and data of the vehicle or the server.
- the chip system may be composed of chips, or may include chips and other discrete devices.
- FIG. 1 is a schematic diagram of an application scenario for obtaining files based on OTA technology provided by an embodiment of the present application
- FIG. 2 is a schematic diagram of an application scenario of obtaining files based on OTA technology provided by an embodiment of the present application
- FIG. 3 is a schematic diagram of an application scenario of obtaining files based on OTA technology provided by an embodiment of the present application
- FIG. 4 is an architecture diagram of a system for obtaining files based on OTA technology provided by an embodiment of the present application
- FIG. 5 is a schematic structural diagram of a main vehicle-mounted control unit provided by an embodiment of the present application.
- FIG. 6 is a schematic structural diagram of a slave vehicle control unit according to an embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
- FIG. 8 is an architecture diagram of another system for obtaining files based on OTA technology provided by an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of a vehicle provided by an embodiment of the present application.
- FIG. 11 is a schematic flowchart of a method for obtaining files based on OTA technology provided by an embodiment of the present application
- FIG. 12 is a schematic flowchart of another method for obtaining files based on OTA technology provided by an embodiment of the present application.
- FIG. 13 is a schematic flowchart of another method for obtaining files based on OTA technology provided by an embodiment of the present application.
- FIG. 14 is a schematic flowchart of yet another method for obtaining files based on OTA technology provided by an embodiment of the present application.
- 15 is a schematic flowchart of yet another method for obtaining files based on OTA technology provided by an embodiment of the present application.
- 16 is a schematic structural diagram of a vehicle provided by an embodiment of the present application.
- 17 is a schematic structural diagram of a vehicle provided by an embodiment of the present application.
- FIG. 18 is a schematic structural diagram of a server provided by an embodiment of the present application.
- FIG. 19 is a schematic structural diagram of a device provided by an embodiment of the present application.
- a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a computing device and the computing device may be components.
- One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between 2 or more computers.
- these components can execute from various computer readable media having various data structures stored thereon.
- a component may, for example, be based on a signal having one or more data packets (eg, data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet interacting with other systems via signals) Communicate through local and/or remote processes.
- data packets eg, data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet interacting with other systems via signals
- OTA Over the Air Technology
- T-Box Telematics Box
- T-Box is a compound word of Telecommunications and Informatics for long-distance communication. It can be literally defined as a built-in A service system that provides information on the computer system, wireless communication technology, satellite navigation device, Internet technology for exchanging text, voice and other information on vehicles, aviation, ships, trains and other means of transportation. Simply put, the vehicle is connected to the Internet through a wireless network to provide the owner with all kinds of information necessary for driving and life.
- ECU Electronic Control Unit
- ECU Electronic Control Unit
- CPU central processing unit
- ROM read-only memory
- RAM random access memory
- I/O input/output interface
- A/D analog-to-digital converter
- the slave vehicle control unit in the embodiment of the present application is the electronic control unit.
- VCU Vehicle control unit
- the work of the components has the effect of improving the dynamic performance, safety performance and economy of the vehicle. It is the core component of the electric vehicle control system, and is used to control the start, operation, advance and retreat, speed, stop of the electric vehicle motor and the core control device of other electronic devices of the electric vehicle. As the core component of the pure electric vehicle control system, the VCU undertakes the tasks of data exchange, safety management, driver intention interpretation, and energy flow management.
- the VCU collects the motor control system signal, accelerator pedal signal, brake pedal signal and other component signals, comprehensively analyzes and makes a response judgment according to the driver's driving intention, and monitors the actions of the lower-level component controllers to ensure the normal driving,
- the functions of battery energy braking feedback, network management, fault diagnosis and processing, vehicle status monitoring and other functions play a key role.
- Human-machine interface Human-Machine Interface, HMI
- human-machine interface also known as human-machine interface, user interface or user interface
- HMI Human-Machine Interface
- CAN Controller Area Network
- CAN bus is one of the most widely used field buses in the world. Its high reliability and good error detection ability are valued, and are widely used in automotive computer control systems and industrial environments with harsh ambient temperature, strong electromagnetic radiation and large vibration.
- CAN bus is a widely used field bus, which has great application prospects in the fields of industrial measurement and control and industrial automation.
- CAN is a bus-type serial communication network.
- CAN bus has the advantages of reliability, real-time and flexibility in data communication. In order to make the design transparent and implement flexible, following the ISO/OSI standard model, the CAN bus structure is divided into two layers, the physical layer and the data link layer (including the logical link control sublayer LLC and the media access control sublayer MAC).
- Transport Layer Security Transport Layer Security, TLS
- TLS Transport Layer Security
- TLS Record and TLS Handshake.
- TLS Transport Layer Security
- Terminal equipment which can be user equipment (User Equipment, UE), station (STAION, ST) in wireless local area network (Wireless Local Area Networks, WLAN), cellular phone, wireless local loop (Wireless Local Loop, WLL) ) station, Personal Digital Assistant (PDA) device, handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, wearable device, etc.
- UE User Equipment
- STAION ST
- WLAN Wireless Local Area Networks
- WLL wireless Local Loop
- PDA Personal Digital Assistant
- the license file that is, the use license file, is used to authorize the use of a certain business in the software, and to limit the use of the software, such as the period of use, the maximum number of users, etc.
- Software piracy and illegal use have plagued software product developers for a long time.
- software protection technology is required to control unauthorized use of software.
- a commonly used software protection technology is to provide a license file to the user, and the license file controls the running of the software, thereby controlling the use of the software within the authorized scope.
- some service function modules or the number of loadable resource items in the device can also be controlled by license rights.
- the following exemplarily enumerates the application scenarios of the method for obtaining files based on the OTA technology in the present application, which may include the following three scenarios.
- Scenario 1 the user manages the vehicle one-to-one through the terminal device:
- FIG. 1 is a schematic diagram of an application scenario of obtaining files based on OTA technology provided by an embodiment of the present application
- the application scenario includes a terminal device (in FIG.
- the server, the terminal device and the vehicle can communicate through Bluetooth, NFC, Wi-Fi and mobile network, and the server and the terminal device or vehicle can communicate through Wi-Fi and mobile network.
- a one-to-one matching relationship can be established between the smartphone and the vehicle.
- the license plate or unique identifier of the vehicle is matched with the identification card or legal account number of the terminal device.
- the smartphone and the vehicle can be matched.
- Scenario 2 the user performs one-to-many management of the vehicle through the terminal device:
- FIG. 2 is a schematic diagram of another application scenario of obtaining files based on the OTA technology provided by an embodiment of the present application.
- This application scenario includes a terminal device (the terminal device smartphone is taken as an example in FIG. 2 ), multiple vehicles and servers.
- the communication mode in this application scenario refer to the communication mode in FIG. 1 , which will not be repeated here.
- a one-to-many matching relationship can be established between smartphones and vehicles. For example, one user can own and manage multiple vehicles at the same time, or one user can manage vehicles of multiple different users.
- an employee of a 4S store can upgrade the system of multiple vehicles of the same model in the store through a dedicated terminal device, or a user can provide target files for nearby vehicles that have established a matching relationship with him through his own terminal device.
- Management, etc. to realize the application scenario of one device managing multiple vehicles at the same time, saving time, network transmission bandwidth and storage resources. It can be understood that, in one-to-many management, the terminal device needs to pre-store the relevant information of the multiple vehicles, or the multiple vehicles must prove to the terminal device their legitimacy and the existence of the relationship with the terminal device. service relationship.
- FIG. 3 is a schematic diagram of another application scenario of obtaining a file based on the OTA technology provided by an embodiment of the present application.
- the application scenario includes the vehicle and the server, and the server and the vehicle can communicate through Wi-Fi and mobile networks. Users view new services through the vehicle's HMI and subscribe to services, so that the vehicle can meet the user's personalized needs.
- FIG. 1 , FIG. 2 , and FIG. 3 are only several exemplary implementations in the embodiments of the present application, and the application scenarios in the embodiments of the present application include but are not limited to the above application scenarios.
- FIG. 4 is a schematic diagram of the architecture of a system for acquiring files based on OTA technology provided by an embodiment of the present application (referred to as architecture one), and the method for acquiring files based on OTA technology proposed in the present application can be applied to the system architecture.
- the system architecture includes a server 300, a vehicle 100, and a terminal device 200 (in FIG.
- the terminal device is a smartphone as an example), wherein the vehicle 100 includes a main vehicle-mounted control unit (also called update master or OTA master) 101 and One or more slave vehicle control units (also known as update slaves or OTA slaves) 102, wherein one or more slave vehicle control units 102 may include electronic control units (Electronic Control Unit, ECU) 1 and ECU2, etc., and
- the main vehicle control unit can be located in a certain part of the car, such as the gateway (Gateway) and the car box (Telematics Box, T-BOX).
- the system architecture shown in Figure 4 takes the main vehicle-mounted unit located at the gateway as an example. Among them, the gateway is the core component in the electronic and electrical architecture of the vehicle.
- the gateway can connect the Controller Area Network (CAN), Local Interconnect Network (LIN), Multimedia transmission system (Media Oriented System Transport, MOST), FlexRay (ie FlexRay vehicle network standard) and other network data are routed in different networks.
- CAN Controller Area Network
- LIN Local Interconnect Network
- MOST Multimedia transmission system
- FlexRay ie FlexRay vehicle network standard
- the car box is mainly used to communicate with the outside of the car, the background system and the mobile phone application (Application, APP).
- the master vehicle-mounted control unit 101 is used for managing and assisting the realization of a plurality of functions of installing software on the slave vehicle-mounted control unit 102 .
- the server 300 can be used to obtain an object file or a software installation package from the developer, where the object file can be used for the vehicle to implement a certain function (or activate a certain service), and the installation package is used to install a certain software.
- the master vehicle-mounted control unit 101 is mainly responsible for communicating with multiple slave vehicle-mounted control units 102 or with the terminal device 200 in this application, and its main function is to manage and assist the realization of a personalized function.
- the main in-vehicle control unit 101 is a logical entity, which can be physically deployed on any powerful unit or module, such as the telematics of the car box (also known as in-vehicle information service), the gateway, the vehicle control unit VCU, and so on.
- FIG. 5 is a schematic structural diagram of a main vehicle-mounted control unit 101 provided by an embodiment of the present application.
- the main vehicle-mounted control unit 101 may include a processor CPU and a related volatile memory (Random Access Memory, RAM) and a non-volatile memory (Read-Only Memory, ROM), which are used to store files obtained based on OTA technology.
- RAM Random Access Memory
- ROM Read-Only Memory
- Memory for programs, and a network interface for communication with other in-vehicle devices via CAN bus or other in-vehicle networks. It can be understood that if the main vehicle-mounted control unit 101 is implemented on the car box, it also needs to have a network interface for communicating with the external network.
- the master vehicle-mounted control unit 101 should have strong computing power and more resources to assist the slave vehicle-mounted control unit to complete the service subscription, and be trusted by other vehicle-mounted devices.
- the main vehicle-mounted control unit 101 divides the architecture into an external communication part and an in-vehicle communication part.
- the composition of any slave vehicle control unit 102 can be as shown in FIG. 6 , which is a slave vehicle control unit 102 provided by an embodiment of the present application. Schematic diagram of the structure.
- the slave vehicle control unit 102 may include a microcontroller (Micro controller), a CAN controller (CAN controller) and a transceiver (Transceiver).
- the on-board control unit 102 communicates with the in-vehicle network such as the CAN bus (CAN bus) through the transceiver Transceiver, the CAN controller (CAN controller) is used to implement the CAN protocol, and the microcontroller is used to implement pending application and post-application
- the relevant calculation processing for example, the relevant procedures in the method for obtaining files based on the OTA technology performed by the target from the vehicle-mounted control unit in this application can be implemented.
- the target file sent by the main vehicle-mounted control unit 101 is received from the on-board control unit 102 based on the in-vehicle network such as CAN bus through the transceiver (Transceiver), and is used by the microcontroller (Micro Controller)
- the target file implements the target function.
- the target slave control unit 102 for more specific functions, reference may be made to the description of the related functions of the target slave control unit 102 in the subsequent embodiments.
- the terminal device 200 may include a processor CPU and a related volatile memory RAM and a non-volatile memory ROM; a memory for storing a program for acquiring files based on the OTA technology, and the program for acquiring files based on the OTA technology is used to realize the on-board Service subscription; wireless communication module for communicating with other devices (including vehicles and OTA servers, etc.); for providing users with the display and input of interactive control interfaces based on OTA technology to obtain files, such as audio input and output modules, buttons Or touch input modules and displays, etc.
- the terminal device 200 may correspond to the application scenarios in FIG. 1 and FIG. 2 .
- FIG. 4 is only an exemplary implementation in the embodiment of the present application.
- the communication system architecture in the embodiment of the present application includes but is not limited to the above communication system architecture.
- FIG. 8 is another system architecture diagram (referred to as architecture 2 for short) provided by an embodiment of the present application.
- the difference from the system architecture provided in FIG. 1 is that the server 300 in the system architecture further includes a file server 300 -1 and OTA server 300-2. in,
- the file server 300-1 is used to obtain the target file from the developer and send it to the OTA server 300-2.
- the OTA server 300-2 is configured to receive the target file sent by the file server 300-1 and perform data interaction with the vehicle 100.
- system architecture in this application may also include a developer, and the developer delivers the target file to the file server or 300-1 and the OTA server 300-2 after developing and testing the target file for firmware/software release.
- the developer delivers the target file to the file server or 300-1 and the OTA server 300-2 after developing and testing the target file for firmware/software release.
- system architectures in FIG. 4 and FIG. 8 are only two exemplary implementations in the embodiments of the present application, and the communication system architectures in the embodiments of the present application include but are not limited to the above system architectures.
- FIG. 9 is a functional block diagram of a vehicle 100 provided by an embodiment of the present application.
- the vehicle 100 may include various subsystems, such as a travel system 110 , a sensor system 120 , a control system 130 , one or more peripherals 140 and a power supply 150 , a computer system 160 and a user interface 170 .
- vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple elements. Additionally, each of the subsystems and elements of the vehicle 100 may be interconnected by wire or wirelessly.
- the travel system 110 may include components that provide powered motion for the vehicle 100 .
- propulsion system 110 may include engine 111 , transmission 112 , energy source 113 , and wheels/tires 114 .
- the engine 111 may be an internal combustion engine, an electric motor, an air compression engine, or other types of engine combinations, such as a hybrid engine composed of a gasoline engine and an electric motor, and a hybrid engine composed of an internal combustion engine and an air compression engine.
- Engine 111 converts energy source 113 into mechanical energy. Examples of energy sources 113 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electricity.
- the energy source 113 may also provide energy to other systems of the vehicle 100 .
- Transmission 112 may transmit mechanical power from engine 111 to wheels 114 .
- the transmission 112 may include a gearbox, a differential, and a driveshaft.
- the transmission 112 may also include other devices, such as clutches.
- the drive shafts may include one or more axles that may be coupled to one or more of the wheels 114 .
- the sensor system 120 may include several sensors that sense information about the environment surrounding the vehicle 100 .
- the sensor system 120 may include a positioning system 121 (the positioning system may be a GPS system, a Beidou system or other positioning systems), an inertial measurement unit (Inertial Measurement Unit, IMU) 122, a radar 123, a laser rangefinder 124, and Camera 125.
- the sensor system 120 may also include sensors that monitor the internal systems of the vehicle 100 (eg, an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). Sensor data from one or more of these sensors can be used to detect objects and their corresponding characteristics (position, shape, orientation, velocity, etc.). This detection and identification is a critical function for the safe operation of the vehicle 100 .
- the positioning system 121 may be used to estimate the geographic location of the vehicle 100 .
- the IMU 122 is used to sense position and orientation changes of the vehicle 100 based on inertial acceleration.
- IMU 122 may be a combination of an accelerometer and a gyroscope.
- Radar 123 may utilize radio signals to sense objects within the surrounding environment of vehicle 100 .
- radar 123 may be used to sense the speed and/or heading of objects.
- the laser rangefinder 124 may utilize laser light to sense objects in the environment in which the vehicle 100 is located.
- the laser rangefinder 124 may include one or more laser sources, laser scanners, and one or more detectors, among other system components.
- Camera 125 may be used to capture multiple images of the surrounding environment of vehicle 100 .
- Camera 125 may be a still camera or a video camera.
- the control system 130 controls the operation of the vehicle 100 and its components.
- Control system 130 may include various elements, which may include steering system 131 , throttle 132 , braking unit 133 , computer vision system 134 , route control system 135 , and obstacle avoidance system 136 .
- the steering system 131 is operable to adjust the heading of the vehicle 100 .
- it may be a steering wheel system.
- the throttle 132 is used to control the operating speed of the engine 111 and thus the speed of the vehicle 100 .
- the braking unit 133 is used to control the deceleration of the vehicle 100 .
- the braking unit 133 may use friction to slow the wheels 114 . In other embodiments, the braking unit 133 may convert the kinetic energy of the wheels 114 into electrical current.
- the braking unit 133 may also take other forms to slow the wheels 114 to control the speed of the vehicle 100 .
- Computer vision system 134 may be operable to process and analyze images captured by camera 125 in order to identify objects and/or features in the environment surrounding vehicle 100 .
- the objects and/or features may include traffic signals, road boundaries and obstacles.
- Computer vision system 134 may use object recognition algorithms, Structure from Motion (SFM) algorithms, video tracking, and other computer vision techniques.
- SFM Structure from Motion
- the computer vision system 134 may be used to map the environment, track objects, estimate the speed of objects, and the like.
- the route control system 135 is used to determine the travel route of the vehicle 100 .
- the route control system 135 may combine data from the sensor system 120 and one or more predetermined maps to determine a driving route for the vehicle 100 .
- the obstacle avoidance system 136 is used to identify, evaluate and avoid or otherwise traverse potential obstacles in the environment of the vehicle 100 .
- control system 130 may additionally or alternatively include components other than those shown and described. Alternatively, some of the components shown above may be reduced.
- Vehicle 100 interacts with external sensors, other vehicles, other computer systems, or users through external devices 140 .
- the external device 140 may include a wireless communication system 141 , an in-vehicle computer 142 , a microphone 143 and/or a speaker 144 .
- the external device 140 provides a means for a user of the vehicle 100 to interact with the user interface 170 .
- the onboard computer 142 may provide information to a user of the vehicle 100 .
- the user interface 170 may also operate the onboard computer 142 to receive user input.
- the on-board computer 142 can be operated through a touch screen.
- external device 140 may provide a means for vehicle 100 to communicate with other devices located within the vehicle.
- microphone 143 may receive audio (eg, voice commands or other audio input) from a user of vehicle 100 .
- speakers 144 may output audio to a user of vehicle 100 .
- Wireless communication system 141 may communicate wirelessly with one or more devices, either directly or via a communication network.
- the wireless communication system 141 may use 3G cellular communication, such as Code Division Multiple Access (CDMA), Evolution-Data Optimized (EVD), Global System for Mobile Communications (GSM) )/General packet radio service (GPRS), or the 4th generation mobile networks (4G) cellular communication, such as Long Term Evolution (LTE), or the 5th generation mobile Communication technology (the 5th generation mobile networks or 5th generation wireless systems, 5th-Generation, 5G) cellular communication.
- the wireless communication system 141 may communicate with a wireless local area network (WLAN) using Wi-Fi.
- the wireless communication system 141 may communicate directly with the device using an infrared link, Bluetooth, or ZigBee.
- Other wireless protocols, such as various vehicle communication systems, for example, wireless communication system 141 may include one or more Dedicated Short Range Communications (DSRC) devices, which may include communication between vehicles and/or roadside stations public and/or private data communications.
- DSRC Dedicated Short Range Communications
- Power supply 150 may provide power to various components of vehicle 100 .
- the power source 150 may be a rechargeable lithium-ion or lead-acid battery.
- One or more battery packs of such a battery may be configured as a power source to provide power to various components of the vehicle 100 .
- power source 150 and energy source 113 may be implemented together, such as in some all-electric vehicles.
- Computer system 160 may include at least one processor 161 that executes instructions 163 stored in a non-transitory computer readable medium such as data storage device 162.
- Computer system 160 may also be multiple computing devices that control individual components or subsystems of vehicle 100 in a distributed fashion.
- the processor 161 may be any conventional processor, such as a commercially available central processing unit (Central Processing Unit, CPU). Alternatively, the processor may be a dedicated device such as an Application Specific Integrated Circuit (ASIC) or other hardware-based processor.
- FIG. 9 functionally illustrates a processor, memory, and other elements of the computer system 160 in the same block, one of ordinary skill in the art will understand that the processor, computer system, or memory may actually include either or Multiple processors, computers, or memories may not be stored within the same physical enclosure.
- the memory may be a hard drive or other storage medium located within an enclosure other than computer system 160 .
- reference to a processor or computer will be understood to include reference to a collection of processors or computers or memories that may or may not operate in parallel. Rather than using a single processor to perform the steps described herein, some components such as the steering and deceleration components may each have their own processor that only performs computations related to component-specific functions .
- a processor may be located remotely from the vehicle and in wireless communication with the vehicle. In other aspects, some of the processes described herein are performed on a processor disposed within the vehicle while others are performed by a remote processor, including taking steps necessary to perform a single maneuver.
- memory 162 may include instructions 163 (eg, program logic) executable by processor 161 to perform various functions of vehicle 100 , including those described above.
- Memory 162 may also contain additional instructions, including instructions to send data to, receive data from, interact with, and/or control one or more of travel system 110 , sensor system 120 , control system 130 , and peripherals 140 . instruction.
- data storage 162 may also store data, such as software installation packages, object files, and other information. Such information may be used by vehicle 100 and computer system 160 when vehicle 100 installs software or implements a target function.
- User interface 170 for providing information to or receiving information from a user of vehicle 100 .
- user interface 170 may include one or more input/output devices within the set of peripheral devices 140 , such as wireless communication system 141 , onboard computer 142 , microphone 143 and speaker 144 .
- Computer system 160 may control functions of vehicle 100 based on input received from various subsystems (eg, travel system 110 , sensor system 120 , and control system 130 ) and from user interface 170 .
- computer system 160 may utilize target service information from external device 108 to generate target requests.
- computer system 160 is operable to provide control of various aspects of vehicle 100 and its subsystems.
- one or more of these components described above may be installed or associated with the vehicle 100 separately.
- memory 162 may exist partially or completely separate from vehicle 100 .
- the above-described components may be communicatively coupled together in a wired and/or wireless manner.
- FIG. 9 should not be construed as a limitation on the embodiments of the present application.
- the above-mentioned vehicle 100 can be a car, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, a recreational vehicle, a playground vehicle, construction equipment, a tram, a golf cart, a train, a cart, etc.
- the application examples are not particularly limited.
- the master vehicle-mounted control unit 101 and the slave vehicle-mounted unit 102 in the embodiment of the present application may be located in any one of the subsystems in the vehicle 100 shown in FIG. 9 , respectively.
- the firmware/software upgrade of traditional in-vehicle equipment adopts the method of vehicle recall, that is, the vehicle is recalled to a designated location, such as a maintenance factory/4S shop, and then the firmware/software upgrade is performed by the following method: There are the following options one and two:
- Solution 1 Use the Joint Test Action Group (JTAG) interface or the (Debug Mode Background Debugging Mode, BDM) interface to program online or disassemble and program the in-vehicle device, which can include the following methods 1 and 2.
- JTAG Joint Test Action Group
- BDM Background Debugging Mode
- the first way is to download the software to be upgraded to the program burner through a personal computer (PC), then connect the program burner to the burner tool, and then connect the printed circuit board (Printed circuit board) of the automotive electronic control system. Circuit Board, PCB) into the programming tool and align with the download interface, and finally power on the programming software.
- PC personal computer
- the second method is to connect the PC, the MCU program download data line and the PCB board of the automotive electronic control system in series, and directly download the program to the MCU by operating the PC.
- Option 2 Flash programming is performed according to the on-board diagnostic system (OBD) of the CAN line.
- OBD on-board diagnostic system
- Step 1 Enter the refresh mode from the normal application running state of the automotive electronic system; (interrupt or diagnostic trigger);
- Step 2 check the memory of the automotive electronic controller chip, and judge whether the correct application is stored in the memory
- Step 3 If there is no correct application program in the memory, download the application program software from the diagnostic device, transmit it through the CAN bus, and refresh the application program in the Flash (the refresh module is used to start booting and software programming).
- the original equipment manufacturer (Original Equipment Manufacturer, OEM) regularly or regularly upgrades the relevant firmware/software of all vehicles, OTA
- the server signs the upgrade package, and issues the signed upgrade package through the Transport Layer Security (TLS) secure channel;
- the main vehicle control unit downloads the upgrade package through the TLS secure channel, and after verifying the signature of the upgrade package, sends
- the upgrade package is disassembled and distributed to the corresponding slave vehicle control units.
- the slave vehicle control unit receives the upgrade package from the master vehicle control unit.
- the master vehicle control unit will only install the upgrade packages from the slave vehicle control units according to certain dependencies and sequences. , to complete the remote upgrade of the software.
- the vehicle contains multiple components, and the OTA upgrade of the entire vehicle involves the upgrade of multiple components.
- a main vehicle-mounted control unit (or OTA Master module) is required to coordinate the upgrade of each component.
- the main on-board control unit runs on a certain part of the car (GW, Tbox%), coordinates and controls the upgrade modules of other components (slave on-board control unit, or OTA Slave module), and jointly completes the entire vehicle upgrade.
- a license file (a file used for software protection) can be used to activate a certain business function of the vehicle.
- the server provides the user with a target file, and the target file controls the operation of the software, thereby controlling the software in the authorization process. It can be used within the range to make the vehicle realize a personalized function.
- the generation, distribution and management of the target file of the entire vehicle are completed by a special license server, and due to the complex internal structure of the vehicle, rich business function modules and different resource permissions, the management of the target file of the entire vehicle is a Very complicated project.
- FIG. 11 is a schematic flowchart of a method for obtaining files based on OTA technology provided by an embodiment of the present application, which can be applied to the system architecture described in FIG. 4 or FIG. 8 above.
- the interaction side of the first vehicle is described, wherein the server, the first vehicle, and the terminal device in this embodiment of the present application may be the server 300, the vehicle 100, and the terminal device 200 described in FIG. 1 to FIG. 10 .
- the method may include the following steps S201-S203.
- the first vehicle obtains a target request, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function.
- the first vehicle further includes a human-computer interaction interface HMI, and the first vehicle can receive the target service information through the HMI.
- the target function may be a certain service function to be applied for activation of the first vehicle.
- the target service information is used to describe a certain service function to be applied for activation of the first vehicle, for example, the target service information includes a service identifier and the like.
- the first vehicle sends the target request to a server.
- the server receives the target request sent by the first vehicle.
- the first vehicle and the server may perform some configurations, such as configuring a certificate, a private key, and the like.
- a secure channel is established between the first vehicle and the server, such as a secure socket layer hypertext transfer protocol (Hyper Text Transfer Protocol over Secure socket Layer, HTTPs) secure channel, transport layer security protocol (Transport Layer Security, TLS) A secure channel or a Datagram Transport Layer Security (DTLS) secure channel, etc., so that information can be securely transmitted between the first vehicle and the server.
- a secure socket layer hypertext transfer protocol Hyper Text Transfer Protocol over Secure socket Layer, HTTPs
- transport layer security protocol Transport Layer Security, TLS
- TLS Transport Layer Security
- DTLS Datagram Transport Layer Security
- the first vehicle may send the target request to the server through OTA technology.
- sending the target request to the server through the OTA technology can be understood as that the OTA remote upgrade channel between the first vehicle multiplexing server and the first vehicle sends the target request to the server.
- the first vehicle receives the target file obtained by the target request request, where the target file is used to instruct the first vehicle to implement the target function.
- the server may generate a corresponding target file according to the target request, and then send the target file to the first vehicle.
- the first vehicle may receive the target file obtained by the target request request through OTA technology.
- receiving the target file obtained by the target request request through the OTA technology can be understood as receiving the target file through an OTA remote upgrade channel between the first vehicle multiplexing server and the first vehicle.
- a vehicle when a vehicle needs to implement a certain business function, the vehicle needs to obtain a file corresponding to the business function from an external dedicated file server, and since the vehicle includes multiple components, and each component can be installed with multiple Software, each software can implement different business functions, resulting in high complexity and low efficiency when the file server manages the files corresponding to different business functions of the vehicle.
- a remote upgrade channel is established between the server and the vehicle (including the master on-board control unit and one or more slave on-board units).
- the master vehicle-mounted control unit manages hardware information of each slave vehicle-mounted control unit and software version information corresponding to at least one software installed on each slave vehicle-mounted control unit, and distributes software upgrade packages on each slave vehicle-mounted control unit, etc.
- the vehicle receives the target request including the target service information, it initiates a relevant request to the server by reusing the OTA remote upgrade channel between the above-mentioned server and the vehicle, and receives the target file associated with the target function sent by the server through the OTA technology.
- the target file realizes the target function, thereby realizing the acquisition of business related files based on OTA technology.
- this application by reusing the OTA remote upgrade channel between the server and the vehicle, it avoids the need to create a new file management channel and the need for a special file server to complete the generation, distribution and management of the function-related files of the entire vehicle.
- the function of associated file management is complex.
- users can purchase corresponding services for vehicles according to their personal needs to meet the individual needs of users, reduce purchase costs, and improve user experience.
- the method further includes:
- the server generates a corresponding target file according to the target request.
- the server after receiving the target request sent by the first vehicle, the server generates a target file corresponding to the target function according to the target request.
- the server in this embodiment of the present application may include an OTA server and a file server, and the server may generate a corresponding target file according to the target request in the following manners. For example, after receiving the target request sent by the first vehicle, the OTA server directly generates a corresponding target file according to the target request; or, after receiving the target request sent by the first vehicle, the OTA server forwards the target request to another A file server, the file server generates a corresponding target file according to the target request and sends the generated target file to the OTA server, and then the OTA server sends the target file to the first vehicle.
- the method further includes:
- the first vehicle implements the target function based on the target file.
- the first vehicle before the first vehicle implements the target function based on the target file, it may also be detected whether the first vehicle has installed software corresponding to the target function, and when it is detected that the first vehicle is installed with software corresponding to the target function, based on the target
- the file implements the stated target function.
- the software corresponding to the target function When it is detected that the software corresponding to the target function is not installed on the first vehicle, the software corresponding to the target function needs to be installed first, and then the target function is implemented based on the target file.
- the method further includes:
- step S205 the target function is implemented according to the target file.
- the server may perform security processing on the target file, wherein the security processing may be signature processing, encryption processing or other security processing, etc., to prevent illegal modification of the target file.
- the first vehicle implements the target function according to the target file inside the vehicle after verifying the signed target file obtained from the outside of the vehicle, so as to ensure the safety of vehicle service opening.
- the method further includes:
- the first vehicle executes step S205, that is, the target function is implemented according to the target file. Specifically, the first vehicle may further verify the validity of the target file if the signature verification of the target file is successful, and if the validity of the target file is verified successfully, the first vehicle The target function is implemented according to the target file.
- the first vehicle may first perform signature verification on the target file. In the case of successful signature verification of the target file, import the target file, read the unique identification field of the hardware information of the first vehicle, and compare the unique identification field included in the target file to determine whether the target file is legal.
- the first vehicle implements the target function according to the target file after verifying the legitimacy of the target file obtained from outside the first vehicle, so as to avoid that the received target file does not correspond to the target function The target function cannot be achieved due to the target file of the vehicle, ensuring the efficiency and safety of vehicle business opening.
- the target request further includes hardware information of the first vehicle;
- the target file includes a device feature code generated according to the hardware information;
- the first vehicle verifies the The legality of the target file, including:
- the first vehicle determines whether the hardware information and the device feature code match; if the hardware information matches the device feature code, it is determined that the target file is a legal file.
- the first vehicle in the embodiment of the present application implements the target function according to the target file after verifying the legitimacy of the target file obtained from outside the vehicle, so as to avoid that the received target file is not the target corresponding to the target function
- the target function caused by the file cannot be realized, which ensures the efficiency and safety of vehicle business opening.
- the target file includes a license file for use of the target function.
- the content of the license file may include software manufacturer, product name, product version, device feature code, expiration date, resource control items, function control items, signatures, etc.
- the license file includes some control policies (such as license control items) for Control the operation of the software, wherein the device feature code, expiration date, resource control item, and function control item included in the above target file belong to the license control item.
- the first vehicle or the server will determine whether the first vehicle is installed with software corresponding to the target function, that is, whether it is necessary to download the installation package of the software corresponding to the target function.
- the foregoing embodiment is executed when the first vehicle or the server determines that the first vehicle is installed with software corresponding to the target function.
- the following describes the operations to be performed by the server or the first vehicle when it is determined that the software corresponding to the target function is not installed in the first vehicle with reference to steps S209 to S213.
- steps S209 to S213 describe that judging whether the first vehicle is installed with software corresponding to the target function is executed by the first vehicle; optionally, when judging whether the first vehicle is installed with software corresponding to the target function, the server In the case of execution, the target request further includes at least one software version information corresponding to the first vehicle. In this case, steps S209 and S210 do not need to be executed, and the method may include the following steps S211 to S213.
- the first vehicle determines whether the target slave vehicle-mounted control unit has software corresponding to the target function installed.
- the method also includes:
- the first vehicle detects, according to the target service information and at least one software version information corresponding to the first vehicle, whether the first vehicle has installed software corresponding to the target function.
- the method further includes:
- the first vehicle sends an installation package acquisition request of the software corresponding to the target function to the server.
- the above-mentioned installation package acquisition request may include a software identifier, software version information, and hardware information of the first vehicle.
- the method further includes:
- the first vehicle receives the installation package sent by the server.
- the server may acquire the installation package from the developer, and perform security processing such as signing or encryption on the installation package to prevent the installation package from being illegally modified.
- the first vehicle installs the software corresponding to the target function according to the installation package.
- the first vehicle implements the target function based on the software and the target file.
- the target request further includes at least one software version information corresponding to the first vehicle
- the method includes the above steps S211 to S213. That is, when the target request further includes at least one software version information corresponding to the first vehicle, the server detects whether the first vehicle has installed the target function corresponding to the target service information and the software version information. when the server detects that the first vehicle does not install the software corresponding to the target function according to the target service information and the software version information, the server sends the first vehicle the corresponding software of the target function
- the installation package of the software the first vehicle receives the installation package of the software corresponding to the target function, and performs signature verification on the installation package. In the case that the signature verification of the installation package is successful, the first vehicle Install the software corresponding to the target function according to the installation package, and implement the target function based on the software and the target file.
- the first vehicle includes a master vehicle-mounted control unit and one or more slave vehicle-mounted control units, and the target function is the target slave vehicle-mounted control unit in the one or more slave vehicle-mounted control units The function implemented by the unit; the first vehicle receives the target file requested by the target request, including:
- the master vehicle-mounted control unit receives the target file obtained by the target request request; the master vehicle-mounted control unit sends the target file to the target slave vehicle-mounted control unit, and the target file is used to indicate the target
- the target function is realized from the vehicle-mounted control unit according to the target file.
- the operations performed by the master vehicle-mounted control unit and one or more slave vehicle-mounted control units may refer to FIG. 12 to FIG. The description of the relevant steps in the embodiment corresponding to 15 is not repeated here.
- the first vehicle further includes a human-computer interaction interface
- acquiring the target request by the first vehicle includes: acquiring the target request by the first vehicle through the human-computer interaction interface.
- the method further includes:
- the first vehicle sends the status of the target function to the server.
- the status of the target function includes whether the target function is implemented and/or the validity period of the target function.
- the first vehicle may periodically send the status of the target function to the server, so as to facilitate the management of the issued target file by the server management.
- the first vehicle will display the status of the target function to the user, so that the user can know the usage of the target function and the validity period of the target function through the HMI of the first vehicle.
- the target request further includes one or more of the validity period of the target function, hardware information of the first vehicle, and at least one software version information corresponding to the first vehicle;
- the target file is generated by the server according to one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information.
- the target request may further include an identification code of the vehicle.
- FIG. 12 is a schematic flowchart of a method for obtaining files based on OTA technology provided by an embodiment of the present application, which can be applied to the system architecture described in FIG. 4 or FIG. 8 above.
- the main on-board control unit of the first vehicle and the target of the first vehicle are described from the interaction side of the on-board control unit, wherein the server in this embodiment of the application, the main on-board control unit of the first vehicle, and the target of the first vehicle are
- the vehicle-mounted control unit and the terminal device may be the server 300 , the vehicle 100 , the master vehicle-mounted control unit 101 , the target slave vehicle-mounted control unit 102 , and the terminal device 300 described in FIGS. 1 to 10 .
- the method may include the following steps S301-S305.
- the master vehicle-mounted control unit obtains a target request, the target request includes target service information, and the target service information is used to obtain a target file associated with a target function, and the target function is the one or more slave vehicle-mounted control units
- the target in the unit implements the function from the on-board control unit.
- the vehicle further includes a human-computer interaction interface HMI
- the user triggers the use or purchase of a certain service or function through the HMI
- the HMI receives the target service information.
- the HMI sends the user target service information to the main vehicle-mounted control unit, and the target service information may include service identifiers and the like.
- the user can also trigger the use or purchase of a certain service through a terminal device such as a smartphone.
- the smartphone After receiving the user's purchase request for a certain service, the smartphone obtains the target service information and sends the target service information to The HMI, the HMI then forwards the target service information to the main vehicle-mounted control unit; or the smartphone may directly send the target service information to the main vehicle-mounted control unit, which is not limited in this embodiment of the application.
- the main vehicle-mounted control unit sends the target request to the server.
- the main vehicle-mounted control unit and the server may perform some configurations, such as configuring a certificate, a private key, and the like.
- a secure channel is established between the main vehicle control unit and the server, such as the secure socket layer hypertext transfer protocol (Hyper Text Transfer Protocol over SecuresocketLayer, HTTPs) secure channel, transport layer security protocol (Transport Layer Security, TLS) security Channel or Datagram Transport Layer Security (DTLS) secure channel, etc., so that information can be securely transmitted between the main vehicle control unit and the server.
- the target request may further include the identification code of the vehicle, which is not limited in this embodiment of the present application.
- the server generates a corresponding target file according to the target request.
- the server after receiving the target request sent by the main vehicle-mounted control unit, the server generates a corresponding target file according to the target request, and the target file is used to instruct the target slave vehicle-mounted control unit to implement the target function according to the target file.
- the server in this embodiment of the present application may include an OTA server and a license server, and the server may generate a corresponding target file according to the target request in the following manners.
- the OTA server after receiving the target request sent by the main vehicle control unit, the OTA server directly generates a corresponding target file according to the target request; or, after receiving the target request sent by the main vehicle control unit, the OTA server forwards the target request to A file server, where the file server generates a corresponding target file according to the target request and sends the generated target file to the OTA server.
- the main vehicle-mounted control unit receives the target file obtained by the target request request.
- the server Before sending the target file to the main vehicle control unit, the server can perform security processing on the target, wherein the security processing can be signature processing, encryption processing or other security processing to prevent illegal modification of the target file.
- the main vehicle-mounted control unit After receiving the target file, the main vehicle-mounted control unit can perform signature verification on the received target file.
- the master vehicle-mounted control unit sends the target file to the target slave vehicle-mounted control unit, where the target file is used to instruct the target slave vehicle-mounted control unit to implement the target function according to the target file.
- the master vehicle-mounted control unit After receiving the target file sent by the server, the master vehicle-mounted control unit sends the target file to the target slave vehicle-mounted control unit where the software corresponding to the target function is located.
- the target file implements the target function.
- a vehicle when a vehicle needs to implement a certain business function, the vehicle needs to obtain a file corresponding to the business function from an external dedicated file server, and since the vehicle includes multiple components, and each component can be installed with multiple Software, each software can implement different business functions, resulting in high complexity and low efficiency when the file server manages the files corresponding to different business functions of the vehicle.
- a remote upgrade channel is established between the server and the vehicle (including the master on-board control unit and one or more slave on-board units).
- the master vehicle-mounted control unit manages hardware information of each slave vehicle-mounted control unit and software version information corresponding to at least one software installed on each slave vehicle-mounted control unit, and distributes software upgrade packages on each slave vehicle-mounted control unit, etc.
- the vehicle receives the target request including the target service information, it initiates a relevant request to the server by reusing the OTA remote upgrade channel between the above-mentioned server and the vehicle, and receives the target file associated with the target function sent by the server through the OTA technology.
- the target file realizes the target function, thereby realizing the acquisition of business related files based on OTA technology.
- this application by reusing the OTA remote upgrade channel between the server and the vehicle, it avoids the need to create a new file management channel and the need for a special file server to complete the generation, distribution and management of the function-related files of the entire vehicle.
- the function of associated file management is complex.
- users can purchase corresponding services for vehicles according to their personal needs to meet the individual needs of users, reduce purchase costs, and improve user experience.
- the method further includes:
- the main vehicle-mounted control unit performs signature verification on the target file.
- the master vehicle-mounted control unit performs the operation of sending the target file to the target slave vehicle-mounted control unit, that is, operation S305 is performed.
- the server may perform security processing on the target file, wherein the security processing may be signature processing, encryption processing or other security processing, etc., to prevent the target file from being illegally modified.
- the master vehicle-mounted control unit can directly perform signature verification on the target file, or send the target file to the target slave vehicle-mounted control unit, and the target vehicle-mounted control unit performs signature verification,
- the embodiments of the present application are not limited.
- the main vehicle-mounted control unit in the vehicle in the embodiment of the present application sends the target file to the target slave vehicle-mounted control unit inside the vehicle after verifying the signed target file obtained from outside the vehicle, so as to ensure that the vehicle The security of business opening.
- the method further includes:
- the target verifies the validity of the target file from the vehicle-mounted control unit.
- the target slave vehicle control unit implements the target function according to the target file.
- the target slave vehicle control unit imports the target file after receiving the target file sent by the master vehicle control unit, reads the unique identification field in the hardware information of the target slave vehicle control unit and compares the unique identification field included in the target file , so as to determine whether the target file is legal. If the unique identification field in the hardware information of the target slave on-board control unit is consistent with or matched with the unique identification field included in the target file, the validity of the target file is verified successfully; if the unique identification field in the hardware information of the target slave on-board control unit If the identification field is inconsistent with or does not match the unique identification field included in the target file, the validity check of the target file fails.
- the validity verification of the target file can also be performed by the main vehicle-mounted control unit, that is, after the main vehicle-mounted control unit performs signature verification on the target file, if the signature verification is successful, the main vehicle-mounted control unit verifies the signature.
- the validity of the target file if the validity verification of the target file is successful, the master vehicle control unit executes the operation of sending the target file to the target slave vehicle control unit, and the target slave vehicle After receiving the target file, the control unit directly implements the target function according to the target file.
- the vehicle in the embodiment of the present application activates the target function according to the target file, and uses the target function within the validity period of the service to avoid If the received target file is not the target file corresponding to the target function, the service activation fails due to the failure to ensure the efficiency and safety of the vehicle function realization.
- the target request further includes hardware information of the target slave vehicle control unit;
- the target file includes a device feature code generated according to the hardware information of the slave vehicle control unit;
- the target slave vehicle control unit The vehicle-mounted control unit can verify the validity of the target file in the following manner.
- the target slave vehicle control unit determines whether the hardware information of the target slave vehicle control unit matches the device feature code, and in the case that the hardware information of the target slave vehicle control unit matches the device feature code, it is determined that the The target file is legal.
- the target request sent by the master vehicle-mounted control unit to the server includes the hardware information of the slave vehicle-mounted control unit corresponding to the target function.
- the server After receiving the target request, the server will generate device features according to the hardware information of the slave vehicle-mounted control unit included in the target request. code.
- the target slave vehicle control unit verifies whether the target file is legal by judging whether the hardware information of the target slave vehicle control unit matches the device feature code.
- the vehicle in the embodiment of the present application implements the target function according to the target file after verifying the legitimacy of the target file obtained from the outside of the vehicle, so as to avoid the received target file that is not the target file corresponding to the target function.
- the target function cannot be realized, which ensures the efficiency and safety of vehicle service opening.
- the target file includes a license file for use of the target function.
- the content of the license file may include software manufacturer, product name, product version, device feature code, expiration date, resource control items, function control items, signatures, etc.
- the license file includes some control policies (such as license control items) for Control the operation of the software, wherein the device feature code, expiration date, resource control item, and function control item included in the above-mentioned license file belong to the license control item.
- control policies such as license control items
- the target slave vehicle control unit may run the software according to the control items of the license file, so as to activate the service to be activated corresponding to the software.
- the method further includes:
- the target slave vehicle-mounted control unit sends the status of the target function to the master vehicle-mounted control unit, where the status of the target function includes whether the target function is implemented and/or the validity period of the target function.
- the main vehicle-mounted control unit sends the status of the target function to the server.
- the main vehicle-mounted control unit sends the state of the target function to the human-computer interaction interface.
- the target slave vehicle-mounted control unit may periodically send the status of the target function to the master vehicle-mounted control unit, and the master vehicle-mounted control unit sends the status of the target function to the server, so as to facilitate the use of the server Manage Manage the issued target files.
- the main vehicle control unit will send the status of the target function to the human-computer interaction interface HMI, so that the user can know the usage of the service and the validity period of the service through the HMI.
- the method further includes:
- the master vehicle-mounted control unit acquires hardware information of the target slave vehicle-mounted control unit and software version information corresponding to at least one piece of software installed by the target slave vehicle-mounted control unit.
- the target request further includes the validity period of the target function, hardware information of the first vehicle, and at least one piece of software corresponding to at least one piece of software installed by the target from the vehicle-mounted control unit in the first vehicle.
- One or more of a piece of software version information; the target file is one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information, according to the server. generated.
- the main on-board control unit queries the hardware information of the target from the on-board control unit and at least one software version information corresponding to at least one software installed by the target from the on-board control unit, and then sends to the server.
- a target request carrying the hardware information of the target slave vehicle-mounted control unit and software version information corresponding to at least one software installed by the target slave vehicle-mounted control unit.
- the server receives the target request, based on the hardware information of the target slave vehicle control unit in the target request and at least one software version information corresponding to at least one software installed by the target slave vehicle control unit The hardware information and the target file matched to the software installed on the target control unit corresponding to the target function.
- the server when the target request further includes hardware information of the target slave onboard control unit and software version information corresponding to at least one piece of software installed by the target slave onboard control unit, the server will The target request to generate a corresponding target file includes: the server generates a device feature code according to the hardware information of the on-board control unit of the target; the server is based on a software version corresponding to at least one software installed from the on-board control unit of the target.
- the information generates resource control items and function control items; the server generates the target file according to the service information of the target function, the device feature code, the resource control item and the function control item.
- a typical target file for example, a license file
- Table 1 An example of a typical target file (for example, a license file) can be shown in Table 1.
- the target file delivered by the server is not the target file for the current version information of the software corresponding to the target slave control unit or the target function, thereby avoiding the phenomenon that the target function cannot be realized.
- the server receives the target request, based on the hardware information of the target slave vehicle control unit in the target request and at least one software version information corresponding to at least one software installed by the target slave vehicle control unit The hardware information and the target file matched to the software installed on the target control unit corresponding to the target function, thereby ensuring the efficiency and pertinence of service provisioning.
- the master vehicle-mounted control unit or the server will determine whether the target slave vehicle-mounted control unit is installed with software corresponding to the target function, that is, whether it is necessary to download the installation of the software corresponding to the target function.
- the above embodiment is executed when the main vehicle-mounted control unit or the server determines that the target has software corresponding to the target function installed from the vehicle-mounted control unit. 13 and 14 , when it is determined that the target slave vehicle control unit does not have software corresponding to the target function installed, the operations that the server or the master vehicle control unit or the target slave vehicle control unit need to perform.
- steps S314 to S319 that is, Fig. 13 describe whether the software corresponding to the target function is installed in the target slave vehicle control unit is executed by the master vehicle control unit.
- the software corresponding to the target function is executed by the server.
- the master vehicle-mounted control unit determines whether the target slave vehicle-mounted control unit has software corresponding to the target function installed.
- the interaction side of the slave server, the main vehicle control unit of the vehicle, and the target slave vehicle control unit of the vehicle will be described below with reference to FIG. 12.
- the method may further include the following steps S314-S319.
- the method also includes:
- the master vehicle-mounted control unit detects whether the target slave vehicle-mounted control unit has installed software corresponding to the target function according to the target service information and software version information corresponding to at least one software installed by the target slave vehicle-mounted control unit .
- the master vehicle control unit determines the target based on the software version information and the target service information. Whether the software corresponding to the target function is installed from the in-vehicle control unit.
- the master vehicle-mounted control unit sends an installation package acquisition request of the software corresponding to the target function to the server.
- the installation package acquisition request may include a software identifier, software version information, and hardware information of the target slave vehicle-mounted control unit.
- the main vehicle-mounted control unit receives the installation package sent by the server according to the installation package acquisition request.
- the server After receiving the installation package acquisition request sent by the main vehicle control unit, the server can acquire the installation package from the developer, and perform security processing such as signing or encryption on the installation package to prevent the installation package from being illegally modified.
- the main vehicle-mounted control unit performs signature verification on the installation package.
- the master vehicle-mounted control unit sends the installation package to the target slave vehicle-mounted control unit.
- the target installs the corresponding software of the target function from the vehicle-mounted control unit according to the installation package.
- the main vehicle-mounted control unit after acquiring the target service information, the main vehicle-mounted control unit will acquire at least one software version information corresponding to at least one software installed on the vehicle-mounted control unit of the target corresponding to the target function.
- the business information and at least one software version information determine whether the target slave vehicle control unit has installed the software corresponding to the target function, and when it is determined that the target slave vehicle control unit does not have the software corresponding to the target function installed, send the information to the server. Send an installation package acquisition request of the software corresponding to the target function.
- the target slave vehicle control unit realizes the target function based on the software and the target file, thereby ensuring the smooth opening and use of the service function subscribed by the user.
- the server determines whether the target slave vehicle control unit is installed with software corresponding to the target function.
- the method may further include the following steps S320-S325.
- S320 The server detects, according to the software version information and the target service information, whether the target slave vehicle-mounted control unit has installed software corresponding to the target function.
- the target request further includes hardware information of the target slave vehicle-mounted control unit and software version information corresponding to at least one piece of software installed by the target slave vehicle-mounted control unit, and the target request is further used to instruct the server according to the The software version information and the target service information detect whether the target slave vehicle-mounted control unit has installed software corresponding to the target function.
- the server executes the operation of sending the target file to the main vehicle-mounted control unit
- the master vehicle-mounted control unit executes the operation of sending the target file to the main vehicle-mounted control unit.
- the operation of receiving the target file sent by the server is to execute step S304. For specific operations, reference may be made to the relevant description of step S304, which will not be repeated here.
- the server sends the installation package and target file of the software corresponding to the target function to the main vehicle-mounted control unit, wherein the server sends the main vehicle-mounted control unit
- the server sending the installation package of the software corresponding to the target function to the main vehicle-mounted control unit may include steps S321-S323.
- the server sends to the main vehicle-mounted control unit a policy package corresponding to the service information of the target function and the target file, the policy package It includes the download address of the installation package of the software corresponding to the target function, and the policy package is used by the main vehicle-mounted control unit to download the installation package according to the policy package.
- the server After detecting that the software version information package corresponding to at least one software installed by the target from the vehicle-mounted control unit does not include the software corresponding to the target function, the server will obtain the corresponding installation package of the target function, generate the target file and the policy package, and The corresponding installation package, target file and policy package of the target function are processed separately.
- the security processing may be signature processing, encryption processing, or other security processing, etc., to prevent illegal modification of the target file.
- the policy package may include the download address of the corresponding installation package of the target function, the implementation conditions of the target function, the size of the installation package or the target file, etc., which are not limited in this embodiment of the present application.
- the server For the manner in which the server generates the target file, reference may be made to step S303 and the related description of the generation of the target file in other embodiments, which will not be repeated here.
- the main vehicle-mounted control unit performs signature verification on the policy package.
- the main vehicle-mounted control unit downloads the installation package according to the policy package.
- the main vehicle-mounted control unit receives the target file sent by the server together with the policy package and downloads the installation package according to the policy package.
- the main vehicle-mounted control unit may download the installation package and receive the target file. For example, the installation package and the target file are downloaded and received at the same time; or, the main vehicle control unit first downloads the installation package, and then sends the installation package to the target slave vehicle control unit.
- the target slave vehicle unit installation package After the target slave vehicle unit installation package is installed, it notifies the main vehicle control unit and then After downloading and receiving the target file, the main vehicle-mounted control unit downloads and receives the target file and sends the target file to the target slave vehicle-mounted control unit, and the target slave vehicle-mounted control unit controls the operation of the software and the target function based on the target file; or, the master vehicle-mounted control unit first receives the target After the signature of the target file and the validity check are passed, the main vehicle-mounted control unit downloads the installation package. Subsequent operations in this embodiment of the present application, namely steps S322 and S323, are described by taking the simultaneous downloading of the installation package and the license as an example. When the installation package and the target file are not downloaded at the same time, the corresponding steps may be split, which will not be repeated here.
- the master vehicle-mounted control unit sends the installation package and the target file to the target slave vehicle-mounted control unit.
- the main vehicle control unit may further perform signature verification on the installation package and the target file respectively. If the signature verification is successful, the main vehicle The control unit sends the installation package and the target file to the target slave vehicle-mounted control unit.
- the target installs the corresponding software of the target function from the vehicle-mounted control unit according to the installation package, and implements the target function according to the target file.
- the target slave vehicle-mounted control unit After receiving the target file sent by the master vehicle-mounted control unit, the target slave vehicle-mounted control unit will further verify the validity of the target file. If the validity of the target file is verified successfully, the target slave vehicle-mounted control unit will The target file implements the target function.
- verifying the validity of the target file from the onboard control unit of the target reference may be made to the relevant descriptions of S308-S309 and other embodiments for verifying the validity of the target file from the onboard control unit of the target, which will not be repeated here.
- the server after receiving the target request sent by the main control unit, the server will determine whether the target slave vehicle control unit has installed the target function corresponding to the target service information and at least one software version information included in the target request. When it is determined that the software corresponding to the target function is not installed on the target slave onboard control unit, the target file and a policy package including the download address of the installation package are sent to the master onboard control unit. After installing the corresponding software of the target function, the target slave vehicle control unit activates the target function, thereby ensuring the smooth activation and use of the service subscribed by the user.
- the vehicle may further include a file management unit, and the file management unit may be located in the slave vehicle control unit, or may be located in other components of the vehicle.
- the file management unit can check the validity of the target file, and when the validity check of the target file is successful, the file management unit notifies the target slave vehicle control unit according to the The target file implements the target function.
- the file management unit can periodically send the status of the target function to the main vehicle-mounted control unit, and the main vehicle-mounted control unit sends the status of the target function to the server, so as to facilitate the server to manage the issued target files. to manage.
- the file management unit can send the status of the target function to the main vehicle-mounted control unit, and the main vehicle-mounted control unit sends the status of the target function to the HMI, so that the user can know the use of the service through the HMI. circumstances and the validity period of the business, etc. Therefore, in conjunction with FIG. 12 and FIG. 14 , when the vehicle may further include a file management unit, the difference is that the method further includes the following steps:
- the target sends the received target file from the vehicle-mounted control unit to the file management unit.
- the file management unit verifies the validity of the target file, and when the validity check is successful, notifies the target to perform step S309 from the vehicle-mounted control unit, that is, activate the target function according to the target file, and use it within a limited period of business the target function.
- the embodiments corresponding to Figures 12 to 14 can be regarded as the file management unit located in the vehicle's slave vehicle control unit, namely the ECU, and the embodiment corresponding to Figure 15 can be regarded as the file management unit located in the vehicle except the slave vehicle control unit. of other components.
- FIG. 16 is a schematic structural diagram of a vehicle 100 provided by an embodiment of the present application, where the vehicle 100 includes a master vehicle-mounted control unit 101 and one or more slave vehicle-mounted control units 102 .
- the vehicle 100 may be the vehicle 100 in the above-mentioned system
- the master vehicle-mounted control unit 101 may be the master vehicle-mounted control unit 101 in the above-mentioned system
- the slave vehicle-mounted control unit 102 may be the slave vehicle-mounted control unit 102 in the above-mentioned system.
- the detailed description of the unit is as follows.
- the main vehicle-mounted control unit 101 is used to obtain a target request, the target request includes target service information, and the target service information is used to obtain a target file associated with a target function, and the target function is the one or more slaves.
- the target file is used to instruct the target slave vehicle control unit to implement the target function according to the target file.
- the main vehicle-mounted control unit 101 is further configured to perform signature verification on the target file; in the case of successful signature verification of the target file, the main vehicle-mounted control unit 101 executes the The operation of sending the target file to the target slave vehicle control unit 102 is described.
- the target slave 102 is also used to verify the validity of the target file; if the validity of the target file is verified successfully, the target slave The vehicle-mounted control unit 102 implements the target function according to the target file.
- the target request further includes hardware information of the target slave vehicle control unit;
- the target file includes a device feature code generated according to the hardware information;
- the target slave vehicle control unit 102 when used to verify the validity of the target file, specifically for: judging whether the hardware information and the device feature code match; in the case that the hardware information and the device feature code match, It is determined that the target file is a legal file.
- the main vehicle-mounted control unit 101 is further configured to, according to the target service information and at least one software version information corresponding to at least one software installed by the target slave vehicle-mounted control unit in the first vehicle , to detect whether the target slave vehicle control unit 102 has installed software corresponding to the target function.
- the master vehicle control unit 101 is further configured to send the target to the server The request for obtaining the installation package of the software corresponding to the function.
- the main vehicle-mounted control unit 101 is further configured to receive an installation package sent by the server according to the installation package acquisition request, and perform signature verification on the installation package; In the case of successful package signature verification, the installation package is sent to the target slave vehicle control unit 102; the target slave vehicle control unit 102 is also used to install the software corresponding to the target function according to the installation package, And realize the target function based on the software and the target file.
- the target request further includes at least one software version information corresponding to the first vehicle
- the main vehicle control unit 101 is further configured to receive the target function corresponding to the target function sent by the server.
- the installation package of the software, and the signature verification is performed on the installation package the installation package is that the server detects that the target in the first vehicle (in unit) is sent when the software corresponding to the target function is not installed; in the case that the signature verification of the installation package is successful, the installation package is sent to the target slave vehicle control unit 102; the target slave vehicle control unit 102, for installing software corresponding to the target function according to the installation package, and implementing the target function based on the software and the target file.
- the first vehicle further includes a human-computer interaction interface 103 ; when the main vehicle-mounted control unit 101 is used to acquire the target request, it is specifically used to acquire through the human-computer interaction interface 103 the target request.
- the main vehicle-mounted control unit 101 is further configured to send the status of the target function to the server and/or the human-computer interaction interface 103, where the status of the target function includes the target function Whether the function is implemented and/or the validity period of the target function.
- the target request further includes the validity period of the target function, hardware information of the first vehicle, and at least one piece of software corresponding to at least one piece of software installed by the target from the vehicle-mounted control unit in the first vehicle.
- One or more of a piece of software version information; the target file is one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information, according to the server. generated.
- the target file includes a license file for use of the target function.
- vehicle 100 can also use technologies such as computer, modern sensing, information fusion, communication, artificial intelligence and automatic control to integrate intelligent driving system, life service system, safety protection system, location service system and car service system. and other functions, which are not specifically limited in this application, and will not be described again.
- technologies such as computer, modern sensing, information fusion, communication, artificial intelligence and automatic control to integrate intelligent driving system, life service system, safety protection system, location service system and car service system. and other functions, which are not specifically limited in this application, and will not be described again.
- FIG. 17 is a schematic structural diagram of another vehicle 100 provided by an embodiment of the present application.
- the vehicle 100 may be the vehicle 100 in the above-mentioned system, and the vehicle 100 may include an acquisition unit 401, a sending unit 402 and a receiving unit 402. Unit 403, wherein the detailed description of each unit is as follows.
- an obtaining unit 401 configured to obtain a target request, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function;
- a sending unit 402 configured to send the target request to a server
- the receiving unit 403 is configured to receive the target file obtained by the target request request, where the target file is used to instruct the vehicle to implement the target function.
- the obtaining unit 401 is specifically configured to obtain a target request through the OTA technology, where the target request includes target service information, and the target service information is used to obtain a target file associated with the target function.
- the sending unit 402 is specifically configured to send the target request to the server through the OTA technology.
- the vehicle further includes:
- the signature verification unit 404 is configured to perform signature verification on the target file; if the signature verification of the target file is successful, the vehicle implements the target function according to the target file.
- the vehicle 100 further includes:
- the legitimacy verification unit 405 is configured to verify the legitimacy of the target file; in the case that the legitimacy verification of the target file is successful, the vehicle implements the target function according to the target file.
- the target request further includes hardware information of the vehicle; the target file includes a device feature code generated according to the hardware information; the legality verification unit 405 is specifically configured to : determine whether the hardware information and the device feature code match; if the hardware information and the device feature code match, determine that the target file is a legal file.
- the vehicle 100 further includes:
- An installation detection unit 406 is configured to detect whether the vehicle has installed software corresponding to the target function according to the target service information and at least one software version information corresponding to the vehicle.
- the sending unit 402 is further configured to send an installation package of the software corresponding to the target function to the server when the vehicle does not have the software corresponding to the target function installed Get request.
- the vehicle 100 further includes:
- the first installation unit 407 is configured to receive the installation package sent by the server according to the installation package acquisition request, and perform signature verification on the installation package; in the case of successful signature verification of the installation package, according to the installation package
- the package installs software corresponding to the target function, and implements the target function based on the software and the target file.
- the target request further includes at least one software version information corresponding to the vehicle
- the vehicle further includes:
- the second installation unit 408 is configured to receive an installation package of the software corresponding to the target function sent by the server, and perform signature verification on the installation package.
- the software version information is sent when it is detected that the software corresponding to the target function is not installed on the vehicle; in the case that the signature verification of the installation package is successful, the software corresponding to the target function is installed according to the installation package, and The target function is implemented based on the software and the target file.
- the vehicle includes a master vehicle-mounted control unit and one or more slave vehicle-mounted control units, and the target function is implemented by the target slave vehicle-mounted control unit in the one or more slave vehicle-mounted control units
- the receiving unit 403 is specifically configured to: receive the target file obtained by the target request through the main vehicle-mounted control unit; send the target file to the target through the main vehicle-mounted control unit From the on-board control unit, the target file is used to instruct the target from the on-board control unit to implement the target function according to the target file.
- the vehicle further includes a human-computer interaction interface
- the acquiring unit 401 is specifically configured to acquire the target request through the human-computer interaction interface.
- the sending unit 402 is further configured to send the status of the target function to the server, where the status of the target function includes whether the target function is achieved and/or the target The validity period of the feature.
- the target request further includes one or more of the validity period of the target function, hardware information of the vehicle, and at least one software version information corresponding to the vehicle;
- the target file is generated by the server according to one or more of the target service information, the validity period of the target function, the hardware information and the at least one software version information.
- the target file includes a license file for use of the target function.
- FIG. 18 is a schematic structural diagram of a server 300 provided by an embodiment of the present application; the server 300 may be the server 300 in the above system, and the server may include a receiving unit 501 , a generating unit 502 and a sending unit 503 , where the detailed description of each unit is as follows.
- a receiving unit 501 configured to receive a target request sent by a first vehicle, where the target request includes target service information, and the target service information is used to obtain a target file associated with a target function;
- a generating unit 502 configured to generate the corresponding target file according to the target request
- the sending unit 503 is configured to send the target file to the first vehicle, where the target file is used to instruct the first vehicle to implement the target function.
- the receiving unit 501 is specifically configured to receive the target request sent by the first vehicle through the OTA technology.
- the sending unit 503 is specifically configured to send the target file to the first vehicle through OTA technology.
- the server 300 further includes: a signing unit 504, configured to sign the target file.
- the target request further includes at least one piece of software version information corresponding to the first vehicle;
- the server 300 further includes: an installation detection unit 505 configured to, according to the at least one piece of software version information and the target service information to detect whether the first vehicle has installed software corresponding to the target function;
- the sending unit 503 is further configured to send an installation package of the software corresponding to the target function to the first vehicle when the software corresponding to the target function is not installed in the first vehicle, the installation package for the first vehicle to install the software corresponding to the target function according to the installation package.
- the target request further includes one or more of the validity period of the target function, hardware information of the first vehicle, and at least one software version information corresponding to the first vehicle.
- the generating unit 502 is specifically configured to:
- the target file is generated according to the target service information, the validity period of the target function, the device feature code, the resource control item and the function control item.
- the receiving unit 501 is further configured to receive the status of the target function sent by the first vehicle, where the status of the target function includes whether the target function is enabled and/or all the validity period of the stated target function.
- the target file includes a license file for use of the target function.
- FIG. 19 is a schematic structural diagram of a device provided by an embodiment of the present application. Both the vehicle and the server can be implemented in the structure shown in FIG. 19 .
- the device 60 includes at least one processor 601 , at least one memory 602 , and at least one communication interface 603 .
- the device may also include general components such as an antenna, which will not be described in detail here.
- the processor 601 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the above programs.
- CPU central processing unit
- ASIC application-specific integrated circuit
- the communication interface 603 is used to communicate with other devices or communication networks, such as an OTA server, a key server, and a device inside the vehicle.
- devices or communication networks such as an OTA server, a key server, and a device inside the vehicle.
- the memory 602 may be read-only memory (ROM) or other type of static storage device that can store static information and instructions, random access memory (RAM) or other type of static storage device that can store information and instructions It can also be an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being executed by a computer Access any other medium without limitation.
- the memory can exist independently and be connected to the processor through a bus.
- the memory can also be integrated with the processor.
- the memory 602 is used for storing the application code for executing the above solution, and the execution is controlled by the processor 601 .
- the processor 601 is configured to execute the application code stored in the memory 602 .
- the code stored in the memory 602 can execute the methods for obtaining files based on the OTA technology provided in FIG. 11 to FIG. 15, such as obtaining a target request, where the target request includes target service information, and the The target service information is used to obtain the target file associated with the target function; send the target request to the server; receive the target file obtained by the target request request, and the target file is used to instruct the first vehicle to achieve the target Function.
- the code stored in the memory 602 can execute the methods for obtaining files based on the OTA technology provided in FIG. 11 to FIG. 15, such as receiving a target request sent by the first vehicle, where the target request includes target service information, the target service information is used to obtain the target file associated with the target function; generate the corresponding target file according to the target request; send the target file to the first vehicle, and the target file uses to instruct the first vehicle to implement the target function.
- An embodiment of the present application further provides a computer storage medium, wherein the computer storage medium may store a program, and when the program is executed, the program includes part or all of the steps of any method for obtaining a file based on the OTA technology described in the above method embodiments .
- the embodiments of the present application further provide a computer program, the computer program includes instructions, when the computer program is executed by the computer, the computer can execute part or all of the steps of any method for obtaining a file based on the OTA technology.
- An embodiment of the present application also provides a system for acquiring files based on OTA technology, the system includes a server and a vehicle; the vehicle is any one of the vehicles provided in the embodiment corresponding to FIG. 16 or FIG. 17 ; The server is any one of the servers provided in the embodiment corresponding to FIG. 18 .
- Embodiments of the present application also provide a chip system, where the chip system includes a processor for supporting a vehicle or a server to implement the functions involved in the above aspects, for example, for example, receiving or processing the data involved in the above method and/or information.
- the chip system further includes a memory for storing necessary program instructions and data of the vehicle or the server.
- the chip system may be composed of chips, or may include chips and other discrete devices.
- the disclosed apparatus may be implemented in other manners.
- the device embodiments described above are only illustrative.
- the division of the above-mentioned units is only a logical function division.
- multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical or other forms.
- the units described above as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
- the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
- the integrated units are implemented in the form of software functional units and sold or used as independent products, they may be stored in a computer-readable storage medium.
- the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art, or all or part of the technical solution, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device) to execute all or part of the steps of the foregoing methods in the various embodiments of the present application.
- a computer device which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device
- the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (Read-Only Memory, ROM) or random access memory (Random Access Memory, RAM) and other various programs that can store programs medium of code.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种通过空中下载OTA技术获取文件的方法及相关设备,其中的方法包括:第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;所述第一车辆向服务器发送所述目标请求;所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。采用本申请,可以实现基于OTA技术实现文件的获取,简化文件的管理。
Description
本申请涉及车载技术领域,尤其涉及一种通过空中下载OTA技术获取文件的方法及相关设备。
在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部的专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。
举例来说,使用许可license文件(一种用于软件保护的文件)可以用于实现车辆某个业务功能的开通,服务器向用户提供目标文件,由目标文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。其中,整个车辆的目标文件的生成、下发和管理是由专门的license服务器完成,且由于车辆复杂的内部结构以及丰富的业务功能模块和各异的资源权限导致整个车辆的license文件管理是一个很复杂的工程。
发明内容
本申请实施例提供一种基于空中下载OTA技术获取文件的方法及相关设备,可以实现基于OTA技术实现文件的获取,简化车辆功能关联文件的管理。
第一方面,本申请实施例提供了一种基于空中下载OTA技术获取文件的方法,所述方法包括:
第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
所述第一车辆向服务器发送所述目标请求;
所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。
在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关OTA技术中,车辆在进行固件/软件的OTA远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的OTA远程升级通道向服务器发起相关请求并通过OTA技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于OTA技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的OTA远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时, 用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。
在一种可能的实现方式中,所述第一车辆向服务器发送所述目标请求,包括:所述第一车辆通过OTA技术向服务器发送所述目标请求。
在一种可能的实现方式中,所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:所述第一车辆通过OTA技术接收所述目标请求请求获取的所述目标文件。
在一种可能的实现方式中,所述方法还包括:所述第一车辆对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。
本申请实施例中的第一车辆可包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能,具体地,所述主车载控制单元可以对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述主车载控制单元所述将所述目标文件发送至所述目标从车载控制单元。本申请实施例中的第一车辆通过在验证了从车辆外部获取的经过签名的目标文件之后,再在第一车辆内部根据所述目标文件实现所述目标功能,以保证第一车辆目标功能实现的安全性。
在一种可能的实现方式中,所述方法还包括:所述第一车辆校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。
本申请实施例中的第一车辆可通过主车载控制单元或目标从车载控制单元校验所述目标文件的合法性,通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现的情况的出现,保证第一车辆目标功能实现的高效性和安全性。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述第一车辆校验所述目标文件的合法性,包括:所述第一车辆判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
所述目标请求包括的第一车辆的硬件信息可以是第一车辆中目标从车载控制单元的硬件信息;所述目标文件中包括根据从车载控制单元的硬件信息生成的设备特征码;第一车辆通过判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配判断所述目标文件是否合法。本申请实施例中的第一车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现的情况的出现,保证第一车辆目标功能实现的高效性和安全性。
在一种可能的实现方式中,所述方法还包括:所述第一车辆根据所述目标业务信息和所述第一车辆对应的至少一个软件版本信息,检测所述第一车辆是否安装所述目标功能对应的软件。
本申请实施例中,第一车辆对应的至少一个软件版本信息可以是目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息。所述第一车辆可通过主车载控制单元在获取目标业务信息后,基于目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息以及目标业务信息,判断所述目标从车载控制单元是否安装所述目标功能对应的软件,从而进一步保证目标功能的顺利实现。
在一种可能的实现方式中,所述方法还包括:在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆向所述服务器发送所述目标功能对应的软件的安装包获取请求。
本申请实施例中,在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆可通过主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求,从而进一步保证车辆在安装目标功能对应的软件后顺利实现该目标功能。
在一种可能的实现方式中,所述方法还包括:
所述第一车辆接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
本申请实施例中,所述第一车辆可以通过主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;若签名验证成功,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件,并基于所述软件和所述目标文件实现所述目标功能。本申请实施例中,目标从车载控制单元在安装了目标功能的对应的软件后,再基于该软件实现所述目标功能,进而保证目标功能的顺利实现。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述方法还包括:所述第一车辆接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
本申请实施例中,在所述目标请求还包括所述第一车辆对应的至少一个软件版本信息的情况下,所述目标请求还用于指示所述服务器根据所述至少一个软件版本信息和所述目标业务信息检测所述车辆的目标从车载控制单元是否安装所述目标功能对应的软件;在检测到所述第一车辆未安装所述目标功能对应的软件的情况下,向车辆发送目标功能对应的软件的安装包,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于目标功能对应的软件和所述目标文件实现所述目标功能,进而保证目标功能的顺利实现。基于OTA技术实现对目标文件的下发,复用服务器和第一车辆之间的固件/软件的远程升级通道,避免需要新建文件管理通道而导致文件管理复杂。
在一种可能的实现方式中,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:所述主车载控制 单元接收所述目标请求请求获取的所述目标文件;所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
本申请实施例中,基于相关OTA技术中,车辆在进行固件/软件的OTA远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的OTA远程升级通道向服务器发起相关请求并通过OTA技术接收服务器发送的目标功能关联的目标文件,主车载控制单元在接收到服务器发送的目标文件后,基于内部管理的各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息对目标文件进行分发,以使得目标从车载控制单元基于目标文件实现目标功能,从而实现了基于OTA技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的OTA远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。
在一种可能的实现方式中,所述第一车辆还包括人机交互接口(Human Machine Interface,HMI),所述第一车辆获取目标请求,包括:所述第一车辆通过所述HMI获取所述目标请求。
本申请实施例中,用户可以通过HMI订阅目标功能,方便用户操作。
在一种可能的实现方式中,所述方法还包括:所述第一车辆将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
本申请实施例中,目标从车载控制单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述服务器以方便用服务器管理对下发给第一车辆的目标文件进行管理。同时,主车载控制单元会将所述目标功能的状态显示给用户,以方便用户通过HMI知晓该目标功能的使用情况以及该目标功能的有效期等。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
本申请实施例中,可以避免服务器下发的目标文件不是针对目标从控制单元或目标功能对应的软件的当前版本信息的,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中第一车辆的硬件信息(即目标从车载控制单元的硬件信息)和第一车辆对应的至少一个软件版本信息(即目标从车载控制单元安装的至少一 个软件对应的至少一个软件版本信息)生成与所述目标功能、硬件信息以及所述目标功能对应的软件均匹配的目标文件,从而目标功能实现的高效性和针对性。
本申请实施例中,所述目标文件包括所述目标功能的使用许可license文件。
本申请实施例中,服务器向用户提供license文件,由license文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。
第二方面,本申请实施例提供了一种基于空中下载OTA技术获取文件的方法,所述方法包括:
服务器接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
所述服务器根据所述目标请求生成对应的所述目标文件;
所述服务器将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关OTA技术中,车辆在进行固件/软件的OTA远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的OTA远程升级通道向服务器发起相关请求,服务器通过OTA技术向第一车辆发送目标功能关联的目标文件,第一车辆基于目标文件实现目标功能,从而实现了基于OTA技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的OTA远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。
在一种可能的实现方式中,所述服务器接收第一车辆的发送的目标请求,包括:所述服务器通过OTA技术接收所述第一车辆的发送的目标请求。
在一种可能的实现方式中,所述服务器将所述目标文件发送至所述第一车辆包括:所述服务器通过OTA技术将所述目标文件发送至所述第一车辆。
在一种可能的实现方式中,所述方法还包括:所述服务器对所述目标文件进行签名。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述方法还包括:所述服务器根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;在所述第一车辆未安装所述目标功能对应的软件的情况下,所述服务器向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。
在一种可能的实现方式中,所述服务器根据所述目标请求生成对应的目标文件包括:
所述服务器根据所述第一车辆的硬件信息生成设备特征码;所述服务器根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;所述服务器根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
本申请实施例中,可以防止服务器下发的目标文件不是针对第一车辆或目标功能对应的软件的当前版本信息的目标文件,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中第一车辆的硬件信息(即目标从车载控制单元的硬件信息)和第一车辆对应的至少一个软件版本信息(即目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息)生成与所述目标功能、硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件均匹配的目标文件,从而保证目标功能实现的高效性和针对性。
在一种可能的实现方式中,所述方法还包括:所述服务器接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
第三方面,本申请实施例提供了一种基于空中下载OTA技术获取文件的方法,应用于第一车辆,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述方法包括:
所述主车载控制单元获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;
所述主车载控制单元向服务器发送所述目标请求;
所述主车载控制单元接收所述目标请求请求获取的所述目标文件;
所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述方法还包括:
所述主车载控制单元对所述目标文件进行签名验证;
在所述目标文件签名验证成功的情况下,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作。
在一种可能的实现方式中,所述方法还包括:
所述目标从车载控制单元校验所述目标文件的合法性;
在所述目标文件的合法性校验成功的情况下,所述目标从车载控制单元根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述目标从车载控制单元校验所述目标文件的合法性,包括:
所述目标从车载控制单元判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
在一种可能的实现方式中,所述方法还包括:
所述主车载控制单元根据所述目标业务信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,检测所述目标从车载控制单元是否安装所述目标功能对应的软件。
在一种可能的实现方式中,所述方法还包括:
在所述目标从车载控制单元未安装所述目标功能对应的软件的情况下,所述主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求。
在一种可能的实现方式中,所述方法还包括:
所述主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述方法还包括:
所述主车载控制单元接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元;所述目标从车载控制单元根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述第一车辆还包括人机交互接口,所述主车载控制单元获取目标请求,包括:
所述主车载控制单元通过所述人机交互接口获取所述目标请求。
在一种可能的实现方式中,所述方法还包括:
所述主车载控制单元所述目标功能的状态发送至所述服务器和/或人机交互接口,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
第四方面,本申请实施例提供了一种车辆,包括;
获取单元,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
发送单元,用于向服务器发送所述目标请求;
接收单元,用于接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述车辆实现所述目标功能。
在一种可能的实现方式中,所述获取单元,具体用于通过OTA技术获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。
在一种可能的实现方式中,所述发送单元,具体用于通过OTA技术向服务器发送所述目标请求。
在一种可能的实现方式中,所述车辆还包括:
签名验证单元,用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆还包括:
合法性验证单元,用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述合法性验证单元,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
在一种可能的实现方式中,所述车辆还包括:
安装检测单元,用于根据所述目标业务信息和所述车辆对应的至少一个软件版本信息,检测所述车辆是否安装所述目标功能对应的软件。
在一种可能的实现方式中,所述发送单元,还用于在所述车辆未安装所述目标功能对应的软件的情况下,向所述服务器发送所述目标功能对应的软件的安装包获取请求。
在一种可能的实现方式中,所述车辆还包括:
第一安装单元,用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述车辆对应的至少一个软件版本信息,所述车辆还包括:
第二安装单元,用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述接收单元,具体用于:
通过所述主车载控制单元接收所述目标请求请求获取的所述目标文件;通过所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆还包括人机交互接口,所述获取单元,具体用于通过所述人机交互接口获取所述目标请求。
在一种可能的实现方式中,所述发送单元,还用于将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述车辆的硬件信息和所述车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
第五方面,本申请实施例提供了一种服务器,所述服务器包括:
接收单元,用于接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
生成单元,用于根据所述目标请求生成对应的所述目标文件;
发送单元,用于将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
在一种可能的实现方式中,所述接收单元,具体用于通过OTA技术接收所述第一车辆的发送的目标请求。
在一种可能的实现方式中,发送单元,具体用于通过OTA技术将所述目标文件发送至所述第一车辆。
在一种可能的实现方式中,所述服务器还包括:
签名单元,用于对所述目标文件进行签名。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述服务器还包括:安装检测单元,用于根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;
所述发送单元,还用于在所述第一车辆未安装所述目标功能对应的软件的情况下,向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。
在一种可能的实现方式中,所述生成单元具体用于:
根据所述第一车辆的硬件信息生成设备特征码;
根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;
根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
在一种可能的实现方式中,所述接收单元,还用于接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
第六方面,本申请实施例提供了一种基于OTA技术获取文件的系统,所述系统包括服务器和车辆;所述车辆,为上述第四方面中提供的任意一种所述的车辆;所述服务器,为上述第五方面中提供的任意一种所述的服务器。
第七方面,本申请提供一种基于OTA技术获取文件的装置,该基于OTA技术获取文件的装置具有实现上述任意一种基于OTA技术获取文件的方法实施例中方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第八方面,本申请提供一种车辆,该车辆中包括处理器,处理器被配置为支持该车辆执行第一方面提供的一种基于OTA技术获取文件的方法中相应的功能。该车辆还可以包括存储器,存储器用于与处理器耦合,其保存车辆必要的程序指令和数据。该车辆还可以包括通信接口,用于车辆与其他设备或通信网络通信。
第九方面,本申请提供一种主车载控制单元,该主车载控制单元中包括处理器,处理器被配置为支持该主车载控制单元执行第三方面提供的一种基于OTA技术获取文件的方法中主车载控制单元相应的功能。该主车载控制单元还可以包括存储器,存储器用于与处理器耦合,其保存主该车载控制单元必要的程序指令和数据。该主车载控制单元还可以包括通信接口,用于主该车载控制单元与其他设备或通信网络通信。
第十方面,本申请提供一种从车载控制单元,该从车载控制单元中包括处理器,处理器被配置为支持该从车载控制单元执行第三方面提供的一种基于OTA技术获取文件的方法中从车载控制单元(或目标从车载控制单元)相应的功能。该从车载控制单元还可以包括存储器,存储器用于与处理器耦合,其保存该从车载控制单元必要的程序指令和数据。该从车载控制单元还可以包括通信接口,用于该从车载控制单元与其他设备或通信网络通信。
第十一方面,本申请提供一种服务器,该服务器中包括处理器,处理器被配置为支持该服务器执行第二方面提供的一种控制基于OTA技术获取文件的方法中相应的功能。该服务器还可以包括存储器,存储器用于与处理器耦合,其保存该服务器必要的程序指令和数据。该服务器还可以包括通信接口,用于该服务器与其他设备或通信网络通信。
第十二方面,本申请提供一种计算机存储介质,用于储存为上述第八方面提供的车辆所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十三方面,本申请提供一种计算机存储介质,用于储存为上述第十一方面提供的服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十四方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面中任意一项的基于OTA技术获取文件的方法中的流程。
第十五方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计 算机程序被计算机执行时,使得计算机可以执行上述第二方面中任意一项的基于OTA技术获取文件的方法中的流程。
第十六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持车辆或服务器实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存车辆或服务器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种基于OTA技术获取文件的应用场景的示意图;
图2是本申请实施例提供的一种基于OTA技术获取文件的应用场景的示意图;
图3是本申请实施例提供的一种基于OTA技术获取文件的应用场景的示意图;
图4是本申请实施例提供的一种基于OTA技术获取文件的系统的架构图;
图5是本申请实施例提供的一种主车载控制单元的结构示意图;
图6为本申请实施例提供的一种从车载控制单元的结构示意图;
图7为本申请实施例提供的一种终端设备的结构示意图;
图8是本申请实施例提供的另一种基于OTA技术获取文件的系统的架构图;
图9是本申请实施例提供的一种车辆的结构示意图;
图10是本申请实施例提供的相关技术中OTA升级架构图;
图11是本申请实施例提供的一种基于OTA技术获取文件的方法的流程示意图;
图12是本申请实施例提供的另一种基于OTA技术获取文件的方法的流程示意图;
图13是本申请实施例提供的又一种基于OTA技术获取文件的方法的流程示意图;
图14是本申请实施例提供的再一种基于OTA技术获取文件的方法的流程示意图;
图15是本申请实施例提供的再一种基于OTA技术获取文件的方法的流程示意图;
图16是本申请实施例提供的一种车辆的结构示意图;
图17是本申请实施例提供的一种车辆的结构示意图;
图18是本申请实施例提供的一种服务器的结构示意图;
图19是本申请实施例提供的一种设备的结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单 元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)、空中下载(OvertheAir Technology,OTA)技术。是通过移动通信的空中接口进行远程固件或软件远程升级的技术。OTA现已被广泛应用于智能电视、手机、平板电脑、机顶盒等设备的网络升级中。随着智能网联汽车的发展,OTA在线升级成为了汽车的重要功能。
(2)、车载信息盒子(Telematics Box)也可以称之为汽车盒子(T-Box),是远距离通信的电信(Telecommunications)与信息科学(Informatics)的合成词,按字面可定义为通过内置在汽车、航空、船舶、火车等运输工具上的计算机系统、无线通信技术、卫星导航装置、交换文字、语音等信息的互联网技术而提供信息的服务系统。简单的说就通过无线网络将车辆接入互联网,为车主提供驾驶、生活所必需的各种信息。
(3)、电子控制单元(Electronic Control Unit,ECU),从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。本申请实施例中的从车载控制单元即为电子控制单元。
(4)、车辆控制单元(Vehiclecontrolunit,VCU),也可以称之为电动汽车整车控制器VCU是电动汽车动力系统的总成控制器,负责协调发动机、驱动电机、变速箱、动力电池等各部件的工作,具有提高车辆的动力性能、安全性能和经济性等作用。是电动汽车整车控制系统的核心部件,是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件。VCU作为纯电动汽车控制系统最核心的部件,其承担了数据交换、安全管理、驾驶员意图解释、能量流管理的任务。VCU采集电机控制系统信号、加速踏板信号、制动踏板信号及其他部件信号,根据驾驶员的驾驶意图综合分析并作出响应判断后,监控下层的各部件控制器的动作,对汽车的正常行驶、电池能量的制动回馈、网络管理、故障诊断与处理、车辆状态监控等功能起着关键作用。
(5)、人机交互接口(Human Machine Interface,HMI),简称人机接口,也称人机界 面、用户界面或使用者界面,是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。
(6)、控制器局域网络(Controller Area Network,CAN)总线,是国际上应用最广泛的现场总线之一。其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。CAN总线是一种应用广泛的现场总线,在工业测控和工业自动化等领域有很大的应用前景。CAN属于总线式串行通信网络。CAN总线在数据通信方面具有可靠、实时和灵活的优点。为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN总线结构划分为两层物理层和数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)。
(7)、传输层安全协议(Transport Layer Security,TLS),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
(8)、终端设备,可以为用户设备(User Equipment,UE)、无线局域网(Wireless Local Area Networks,WLAN)中的站点(STAION,ST)、蜂窝电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备等。
(9)、license文件,即使用许可文件,用于来授权软件中某项业务的使用,对软件的使用进行限制,比如使用期限、最多使用人数等。长期以来,软件的盗版和非法使用一直困扰着软件产品开发商。为了保护知识产权,遏制软件盗版和非法使用,需要使用软件保护技术用以控制软件的非授权使用。目前,一种普遍应用的软件保护技术是:向用户提供license文件,由license文件控制软件的运行,从而控制软件在授权的范围内使用。同时,设备中一些业务功能模块或者可加载的资源项数量也可以通过license权限控制的。
为了便于理解本申请实施例,以下示例性列举本申请中基于OTA技术获取文件的方法所应用的场景,可以包括如下三个场景。
场景一,用户通过终端设备对车辆进行一对一管理:
请参见图1,图1是本申请实施例提供的一种基于OTA技术获取文件的应用场景的示意图,该应用场景中包括终端设备(图1中以终端设备为智能手机为例)、车辆和服务器,终端设备和车辆之间可以通过蓝牙、NFC、Wi-Fi和移动网络等进行通信,而服务器和终端设备或车辆之间则可以通过Wi-Fi和移动网络等进行通信。其中,智能手机和车辆之间可以建立一对一的匹配关系,例如通过车辆的车牌或唯一标识与终端设备的身份识别卡或者合法账号进行匹配,匹配完成后,智能手机和车辆之间便可以合作执行本申请中提供的基于OTA技术获取文件的方法的流程。从而实现用户通过智能手机对驾驶的车辆进行业务的订阅,满足用户的个性化需求。
场景二,用户通过终端设备对车辆进行一对多管理:
请参见图2,图2是本申请实施例提供的另一种基于OTA技术获取文件的应用场景的示意图。该应用场景中包括终端设备(图2中以终端设备智能手机为例),多个车辆和服务 器,该应用场景中的通信方式可以参考图1中的通信方式,在此不再赘述。其中,智能手机和车辆之间可以建立一对多的匹配关系,例如一个用户可以同时拥有并管理多个车辆,也可以是一个用户对多个不同用户的车辆进行管理。比如4S店的员工,通过专用的终端设备对店内的多个同一个型号的车辆进行系统升级,或者某个用户通过自己的终端设备对附近的与其建立了匹配关系的车辆进行目标文件的提供或管理等,以实现一个设备同时管理多个车辆的应用场景,节省时间、节省网络传输带宽以及存储资源。可以理解的是,在一对多的管理中,需要该终端设备中预先存储有该多个车辆的相关信息,或者是该多个车辆向终端设备证明其合法性以及与该终端设备之间存在服务关系。
场景三,用户直接对车辆进行一对一管理:
请参见图3,图3是本申请实施例提供的又一种基于OTA技术获取文件的应用场景的示意图。该应用场景中包括车辆和服务器,服务器和车辆之间则可以通过Wi-Fi和移动网络等进行通信。用户通过车辆的HMI查看新的业务并进行业务的订阅,从而使车辆满足用户的个性化需求。
可以理解的是,图1、图2和图3中的应用场景的只是本申请实施例中的几种示例性的实施方式,本申请实施例中的应用场景包括但不仅限于以上应用场景。
结合上述应用场景,下面先对本申请实施例所基于的其中一种系统架构进行描述。请参见图4,图4是本申请实施例提供的一种基于OTA技术获取文件的系统的架构示意图(简称为架构一),本申请提出的基于OTA技术获取文件的方法可以应用于该系统架构。该系统架构中包含了服务器300、车辆100和终端设备200(图4中以终端设备为智能手机为例),其中车辆100包括主车载控制单元(也可称为update master或OTA master)101和一个或多个从车载控制单元(也可称为update slave或OTA slave)102,其中,一个或多个从车载控制单元102可以包括电子控制单元(Electronic Control Unit,ECU)1和ECU2等,而主车载控制单元可以位于汽车的某个部件,例如网关(Gateway)和汽车盒子(Telematics Box,T-BOX)中。图4所示的系统架构以主车载单元位于网关为例。其中,网关是整车电子电气架构中的核心部件,其作为整车网络的数据交互枢纽,可将控制器局域网络(Controller Area Network,CAN)、局域互联网络(Local Interconnect Network,LIN)、多媒体传输系统(Media Oriented System Transport,MOST)、FlexRay(即FlexRay车载网络标准)等网络数据在不同网络中进行路由。汽车盒子,主要用于和汽车外部,后台系统和手机应用程序(Application,APP)通信。
主车载控制单元101用于管理和辅助多个从车载控制单元102上安装软件的功能的实现。
服务器300,可以用于从开发者处获取目标文件或者软件的安装包,该目标文件可用于车辆实现某个功能(或开通某个业务),该安装包用于安装某一软件。
其中,主车载控制单元101主要负责与多个从车载控制单元102或负责与本申请中的终端设备200进行通信,其主要功能是管理和辅助某一个性化的功能的实现。主车载控制单元101是个逻辑实体,物理上可以部署任何功能强大的单元或模块上,例如汽车盒子Telematics(又称为车载信息服务)、网关Gateway、车辆控制单元VCU等。
主车载控制单元101的结构可以如图5所示,图5是本申请实施例提供的一种主车载控制单元101的结构示意图。其中,主车载控制单元101可以包括处理器CPU以及相关的易失性存储器(Random Access Memory,RAM)和非易时性存储器(Read-Only Memory,ROM),用于存放基于OTA技术获取文件的程序的存储器,以及用于通过CAN bus或其他车内网络与其他车载设备通信的网络接口。可以理解的是,如果主车载控制单元101实现在汽车盒子上,它还需有与外部网络通信的网络接口。即主车载控制单元101应有较强的计算能力和较多资源辅助从车载控制单元完成业务的订阅,并被其他车载设备信任。从逻辑架构上划分,主车载控制单元101把该架构分为车外通信部分和车内通信部分。
从车载控制单元102,任意一个从车载控制单元102(包括本申请中的目标从车载控制单元)的构成可以如图6所示,图6是本申请实施例提供的一种从车载控制单元102的结构示意图。从车载控制单元102可以包括微型控制器(Micro controller),CAN控制器(CAN controller)和收发器(Transceiver)。其中,从车载控制单元102通过收发器Transceiver与车内网络如CAN总线(CAN bus)通信,CAN控制器(CAN controller)则用于实现CAN协议,微型控制器则用于实现待申请以及申请后的相关的计算处理,例如可以实现本申请中关于目标从车载控制单元所执行的基于OTA技术获取文件的方法中的相关流程。结合上述结构示意图,在本申请中,从车载控制单元102基于车内网络如CAN bus,通过收发器(Transceiver)接收主车载控制单元101发送的目标文件,并通过微型控制器(Micro Controller)利用所述目标文件实现目标功能。更具体的功能可以参照后续实施例中关于目标从控制单元102相关功能的描述。
终端设备200的构成可以参考图7,图7是本申请实施例提供的一种终端设备的结构示意图。该终端设备200可包括处理器CPU以及相关的易失性存储器RAM和非易时性存储器ROM;用于存储基于OTA技术获取文件的程序的存储器,该基于OTA技术获取文件的程序用于实现车载业务的订阅;用于与其它设备(包括车辆以及OTA服务器等)进行通信的无线通信模块;用于为用户提供基于OTA技术获取文件的交互控制界面的显示及输入,如音频输入输出模块、按键或触摸输入模块以及显示器等。该终端设备200可以对应图1和图2中的应用场景。
可以理解的是,上述图4中的系统架构只是本申请实施例中的一种示例性的实施方式本申请实施例中的通信系统架构包括但不仅限于以上通信系统架构。
请参见图8,图8是本申请实施例提供的另一种系统架构图(简称为架构二),与图1提供的系统架构不同之处在于,该系统架构中服务器300进一步包括文件服务器300-1和OTA服务器300-2。其中,
文件服务器300-1,用于从开发者处获取目标文件并发送至OTA服务器300-2。
OTA服务器300-2,用于接收文件服务器300-1发送的目标文件,并与车辆100进行数据交互。
可以理解的是其它关于主车载控制单元101和多个从车载控制单元102的具体功能,请参照上述图4对应的系统架构中的各个功能实体或单元的描述,在此不再赘述。
还以理解的是,本申请中的系统架构还可以包括开发者,开发者在固件/软件发布的开 发和测试目标文件后,将目标文件交付给文件服务器或300-1和OTA服务器300-2。后续会详细描述对应实施例。
需要说明的是,图4和图8中的系统架构只是本申请实施例中的两种示例性的实施方式,本申请实施例中的通信系统架构包括但不仅限于以上系统架构。
图9是本申请实施例提供的车辆100的功能框图。该车辆100可包括各种子系统,例如行进系统110、传感器系统120、控制系统130、一个或多个外围设备140以及电源150、计算机系统160和用户接口170。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
行进系统110可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统110可包括引擎111、传动装置112、能量源113和车轮/轮胎114。引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111将能量源113转换成机械能量。能量源113的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他系统提供能量。传动装置112可以将来自引擎111的机械动力传送到车轮114。传动装置112可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮114的一个或多个轴。
传感器系统120可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统120可包括定位系统121(定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(Inertial Measurement Unit,IMU)122、雷达123、激光测距仪124以及相机125。传感器系统120还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆100的安全操作的关键功能。定位系统121可用于估计车辆100的地理位置。IMU 122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 122可以是加速度计和陀螺仪的组合。雷达123可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。激光测距仪124可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机125可用于捕捉车辆100的周边环境的多个图像。相机125可以是静态相机或视频相机。
控制系统130为控制车辆100及其组件的操作。控制系统130可包括各种元件,其中可包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍物避免系统136。转向系统131可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。油门132用于控制引擎111的操作速度并进而控制车辆100的速度。制动单元133用于控制车辆100减速。制动单元133可使用摩擦力来减慢车轮114。 在其他实施例中,制动单元133可将车轮114的动能转换为电流。制动单元133也可采取其他形式来减慢车轮114转速从而控制车辆100的速度。计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。该物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统134可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。路线控制系统135用于确定车辆100的行驶路线。在一些实施例中,路线控制系统135可结合来自传感器系统120和一个或多个预定地图的数据以为车辆100确定行驶路线。障碍物避免系统136用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
当然,在一个实例中,控制系统130可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
车辆100通过外部设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外部设备140可包括无线通信系统141、车载电脑142、麦克风143和/或扬声器144。
在一些实施例中,外部设备140提供车辆100的用户与用户接口170交互的手段。例如,车载电脑142可向车辆100的用户提供信息。用户接口170还可操作车载电脑142来接收用户的输入。车载电脑142可以通过触摸屏进行操作。在其他情况中,外部设备140可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可向车辆100的用户输出音频。无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统141可使用3G蜂窝通信,例如码分多址(Code Division Multiple Access,CDMA)、数据优化(Evolution-Data Optimized,EVD)0、全球移动通信系统(Global System for Mobile Communications,GSM)/通用无线分组业务(General packet radio service,GPRS),或者第四代移动通信技术(the 4th generation mobile networks,4G)蜂窝通信,例如长期演进(Long Term Evolution,LTE),或者第五代移动通信技术(the 5th generation mobile networks或5th generation wireless systems、5th-Generation,5G)蜂窝通信。无线通信系统141可利用Wi-Fi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统141可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统141可包括一个或多个专用短程通信(Dedicated Short Range Communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源150可向车辆100的各种组件提供电力。在一个实施例中,电源150可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源150和能量源113可一起实现,例如一些全电动车中那样。
车辆100的部分或所有功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如数据存储装置162这样的非暂态计算机可读介质 中的指令163。计算机系统160还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
处理器161可以是任何常规的处理器,诸如商业可获得的中央处理器(Central Processing Unit,CPU)。替选地,该处理器可以是诸如专用集成电路(Application Specific Integrated Circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图9功能性地图示了处理器、存储器、和在相同块中的计算机系统160的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统160的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器162可包含指令163(例如,程序逻辑),指令163可被处理器161执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器162也可包含额外的指令,包括向行进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令163以外,数据存储装置162还可存储数据,例如软件的安装包、目标文件以及其他信息。这种信息可在车辆100安装软件或实现目标功能时被车辆100和计算机系统160使用。
用户接口170,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可包括在外围设备140的集合内的一个或多个输入/输出设备,例如无线通信系统141、车载电脑142、麦克风143和扬声器144。
计算机系统160可基于从各种子系统(例如,行进系统110、传感器系统120和控制系统130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机系统160可利用来自外部设备108的目标业务信息生成目标请求。在一些实施例中,计算机系统160可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器162可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图9不应理解为对本申请实施例的限制。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
本申请实施例中的主车载控制单元101和从车载单元102可以分别位于图9所示的车 辆100中的任何一个子系统当中。
首先,提出本申请需要解决的技术问题及应用场景。在相关技术中,传统车载设备的固件/软件升级是采用车辆招回的方式,即将车招回到指定的地点,如维修厂/4S店,然后采用下述方法进行固件/软件升级:具体实现有如下方案一和方案二:
方案一:借助联合测试工作组(Joint Test Action Group,JTAG)接口或(调试模式Background Debugging Mode,BDM)接口在线烧写或者将车载设备拆卸烧写,具体可以包括如下方式一和方式二。
方式一,先把要升级的软件通过个人计算机(personal computer,PC)下载到程序烧录仪,然后将程序烧录仪连接到烧录工装,接着将汽车电子控制系统的印制电路板(Printed Circuit Board,PCB)放入烧录工装对准下载接口,最后通电烧录软件。
方式二,将PC机、单片机程序下载数据线和汽车电子控制系统的PCB板串联起来,通过操作PC机直接将程序下载到单片机中。
上述方式一和方式二的问题是需要专业人员,增加成本,操作起来非常不方便。
方案二:根据CAN线的车载诊断系统(On-Board Diagnostic,OBD)进行Flash烧写。
步骤1:从汽车电子系统正常的应用程序运行状态进入到刷新模式;(中断或诊断触发);
步骤2:对汽车电子控制器芯片的存储器进行检验,并判断存储器中是否保存有正确的应用程序;
步骤3:如果存储器中没有正确的应用程序,从诊断设备下载应用程序软件,通过CAN总线传输,并刷新Flash中的应用程序(刷新模块用于启动引导和软件烧写)。
上述方案二的问题是需要专业人员,且周期长。
除了上述方案一和方案二,现在一些车辆也实现了远程升级,例如如图10所示,原始设备厂商(Original Equipment Manufacturer,OEM)定时或定期地统一地升级所有车辆的相关固件/软件,OTA服务器对升级包进行签名,通过传输层安全协议(Transport Layer Security,TLS)安全通道等下发签名的升级包;主车载控制单元通过TLS安全通道下载升级包,对升级包进行签名验证后,将升级包进行拆解然后分发给相应的从车载控制单元,从车载控制单元从主车载控制单元出接收升级包,主车载控制单元只会各个从车载控制单元按照一定的依赖关系和顺序安装升级包,以完成软件的远程升级。车辆包含多个部件,在整车OTA升级中涉及到多个部件的升级,需要一个主车载控制单元(或称为OTA Master模块)来协调各个部件的升级。主车载控制单元运行在汽车的某个部件(GW、Tbox…)上,协调控制其他部件的升级模块(从车载控制单元,或称为OTA Slave模块),共同完成整车升级。
但是,当车辆需要实现某个业务功能时,需要车辆从外部的专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。举例来说,使用许可license文件(一种用于软件保护的文件)可以用于实现车辆某个业务功能的开通,服务器向用户提供目标文件,由目标文件控制软件的运行,从而控制软件在授权的范围内使用,以使得车辆实现某个个性化的功能。 其中,整个车辆的目标文件的生成、下发和管理是由专门的license服务器完成,且由于车辆复杂的内部结构以及丰富的业务功能模块和各异的资源权限导致整个车辆的目标文件管理是一个很复杂的工程。
下面结合本申请中提供的基于OTA技术获取文件的方法的实施例,对本申请中提出的技术问题进行具体分析和解决。
请参见图11,是本申请实施例提供的一种基于OTA技术获取文件的方法的流程示意图,可应用于上述图4或者图8中所述的系统架构,下面将结合附图11从服务器和第一车辆的交互侧进行描述,其中本申请实施例中的服务器、第一车辆以及终端设备可以为图1至图10中所述描述的服务器300、车辆100、以及终端设备200。该方法可以包括以下步骤S201-步骤S203。
S201,第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。
具体地,所述第一车辆还包括人机交互接口HMI,第一车辆可以通过HMI接收所述目标业务信息。目标功能可以是第一车辆待申请开通的某个业务功能。目标业务信息用于描述第一车辆待申请开通的某个业务功能,例如,目标业务信息包括业务标识等。
S202,所述第一车辆向服务器发送所述目标请求。
对应地,所述服务器接收所述第一车辆发送的所述目标请求。
其中,第一车辆和服务器在进行数据交互之前,第一车辆和服务器可以进行一些配置,比如配置证书、私钥等。基于配置的信息,第一车辆和服务器之间建立安全通道,比如安全套接层超文本传输协议(Hyper Text Transfer Protocol over Secure socket Layer,HTTPs)安全通道,传输层安全协议(Transport Layer Security,TLS)安全通道或数据传输层安全协议(Datagram Transport Layer Security,DTLS)安全通道等,以便在第一车辆和服务器之间可以安全的传输信息。
可选地,所述第一车辆可以通过OTA技术向服务器发送所述目标请求。其中,通过OTA技术向服务器发送所述目标请求可以理解为,所述第一车辆复用服务器和第一车辆之间的OTA远程升级通道向服务器发送目标请求。
S203,所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。
对应地,所述服务器在接收到所述第一车辆发送的所述目标请求后,可以根据所述目标请求生成对应的目标文件,进而将目标文件发送至所述第一车辆。
可选地,所述第一车辆可以通过OTA技术接收所述目标请求请求获取的所述目标文件。其中,通过OTA技术接收所述目标请求请求获取的所述目标文件可以理解为,所述第一车辆复用服务器和第一车辆之间的OTA远程升级通道接收所述目标文件。
在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关OTA技术中,车辆在 进行固件/软件的OTA远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的OTA远程升级通道向服务器发起相关请求并通过OTA技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于OTA技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的OTA远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。
在一种可能的实现方式中,所述方法还包括:
S204,所述服务器根据所述目标请求生成对应的目标文件。
具体地,服务器在接收到第一车辆发送的目标请求后,根据该目标请求生成目标功能对应的目标文件。其中,本申请实施例中的服务器可以包括OTA服务器和文件服务器,所述服务器根据所述目标请求生成对应的目标文件可以有如下多种方式。例如,OTA服务器接收到第一车辆发送的目标请求后,直接根据所述目标请求生成对应的目标文件;或者,OTA服务器接收到第一车辆发送的目标请求后,将该目标请求转发至另一文件服务器,文件服务器根据所述目标请求生成对应的目标文件后将生成的目标文件发送至OTA服务器,进而由OTA服务器发送至第一车辆。
在一种可能的实现方式中,所述方法还包括:
S205,第一车辆基于所述目标文件实现所述目标功能。
其中,第一车辆基于所述目标文件实现所述目标功能之前,还可以检测第一车辆是否安装目标功能对应的软件,在检测到第一车辆安装有目标功能对应的软件时,基于所述目标文件实现所述目标功能。在检测到第一车辆未安装目标功能对应的软件时,需要先安装目标功能对应的软件,进而再基于所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述方法还包括:
S206,所述服务器对所述目标文件进行签名。
S207,所述第一车辆对所述目标文件进行签名验证。
其中,在所述目标文件签名验证成功的情况下,所述第一车辆执行步骤S205,即根据所述目标文件实现所述目标功能。
具体地,服务器在向第一车辆发送目标文件之前,可以对目标文件进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件被非法修改。本申请实施例中,第一车辆通过在验证了从车辆外部获取的经过签名的目标文件之后,再在车辆内部根据所述目标文件实现所述目标功能,以保证车辆业务开通的安全性。
在一种可能的实现方式中,所述方法还包括:
S208,所述第一车辆校验所述目标文件的合法性。
其中,在所述目标文件的合法性校验成功的情况下,所述第一车辆执行步骤S205,即根据所述目标文件实现所述目标功能。具体地,第一车辆可以在所述目标文件签名验证成功的情况下,进一步校验所述目标文件的合法性,在所述目标文件的合法性校验成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。其中,第一车辆在接收到服务器发送的目标文件后,可以先对目标文件进行签名验证。在目标文件签名验证成功的情况下,导入目标文件,读取第一车辆的硬件信息的唯一标识字段与目标文件中包括的唯一标识字段进行比较,从而判断目标文件是否合法。若第一车辆的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段一致或者匹配,则所述目标文件合法性校验成功;若第一车辆的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段不一致或者不匹配,则所述目标文件合法性校验失败。本申请实施例中的第一车辆通过在验证了从第一车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述第一车辆校验所述目标文件的合法性,包括:
所述第一车辆判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
本申请实施例中的第一车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
其中,license文件的内容可包括软件生产厂商、产品名称、产品版本、设备特征码、截止日期、资源控制项、功能控制项、签名等,license文件包括一些控制策略(例如license控制项)用于对软件的运行进行控制,其中,上述目标文件中包括的设备特征码、截止日期、资源控制项、功能控制项就属于license控制项。通过license技术,可以灵活地控制软件功能、可供使用的资源的数量等。在所述目标文件合法性校验成功后,第一车辆可以根据目标文件的控制项运行软件,以实现该软件对应的目标功能。
可选地,所述第一车辆在获取目标功能的业务信息后,第一车辆或是服务器会判断第一车辆是否安装有目标功能对应的软件,即是否需要下载目标功能对应软件的安装包,上述实施例是在第一车辆或是服务器判断第一车辆安装有目标功能对应的软件时执行的。下面将结合步骤S209至S213,阐述在判断第一车辆未安装目标功能对应的软件时,服务器或第一车辆所需要执行的操作。可选地,步骤S209至S213描述了判断第一车辆是否安装有目标功能对应的软件是由第一车辆执行的;可选地,当判断第一车辆是否安装有目标功能对应的软件是由服务器执行的情况下,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,此时步骤S209和步骤S210无需执行,该方法可以包括以下步骤S211至S213。
在一种可能的实现方式中,第一车辆判断目标从车载控制单元是否安装有目标功能对 应的软件。所述方法还包括:
S209,所述第一车辆根据所述目标业务信息和所述第一车辆对应的至少一个软件版本信息,检测所述第一车辆是否安装所述目标功能对应的软件。
在一种可能的实现方式中,所述方法还包括:
S210,在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆向所述服务器发送所述目标功能对应的软件的安装包获取请求。
其中,上述安装包获取请求可以包括软件标识、软件的版本信息以及第一车辆的硬件信息。
在一种可能的实现方式中,所述方法还包括:
S211,所述第一车辆接收所述服务器发送的安装包。
具体地,服务器在接收到第一车辆发送的安装包获取请求后,可以从开发者处获取安装包,并对安装包进行签名或加密等安全处理,以防止安装包被非法修改。
S212,所述第一车辆对所述安装包进行签名验证。
S213,在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件。
其中,在第一车辆安装好目标功能对应的软件后,第一车辆基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,此时,所述方法包括上述步骤S211至S213。即当所述目标请求还包括所述第一车辆对应的至少一个软件版本信息时,所述服务器根据所述目标业务信息和所述软件版本信息检测所述第一车辆是否安装所述目标功能对应的软件,在所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时,所述服务器向第一车辆发送所述目标功能对应的软件的安装包,所述第一车辆接收所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:
所述主车载控制单元接收所述目标请求请求获取的所述目标文件;所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
其中,当所述第一车辆包括主车载控制单元和一个或多个从车载控制单元时,所述主车载控制单元和一个或多个从车载控制单元所执行的操作可以具体参考图12至图15所对应的实施例中相关步骤的描述,此处不做赘述。
在一种可能的实现方式中,所述第一车辆还包括人机交互接口,所述第一车辆获取目标请求,包括:所述第一车辆通过所述人机交互接口获取所述目标请求。
在一种可能的实现方式中,所述方法还包括:
S214,所述第一车辆将所述目标功能的状态发送至所述服务器。
其中,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
具体地,第一车辆可以定期地将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,第一车辆会将所述目标功能的状态显示给用户,以方便用户通过第一车辆的HMI知晓该目标功能的使用情况以及该目标功能的有效期等。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
可选地,目标请求还可以包括所述车辆的识别码。
请参见图12,是本申请实施例提供的一种基于OTA技术获取文件的方法的流程示意图,可应用于上述图4或者图8中所述的系统架构,下面将结合附图12从服务器、第一车辆的主车载控制单元、和第一车辆的目标从车载控制单元的交互侧进行描述,其中,本申请实施例中的服务器、第一车辆的主车载控制单元、第一车辆的目标从车载控制单元以及终端设备可以为图1至图10中所述描述的服务器300、车辆100、主车载控制单元101、目标从车载控制单元102以及终端设备300。该方法可以包括以下步骤S301-步骤S305。
S301,所述主车载控制单元获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能。
具体地,所述车辆还包括人机交互接口HMI,用户通过HMI触发使用或购买某项业务或功能,HMI接收所述目标业务信息。HMI将用户目标业务信息发送给主车载控制单元,所述目标业务信息可包括业务标识等。可选地,用户也可以通过智能手机等终端设备触发使用或购买某项业务,智能手机在接收到用户针对某项业务的购买请求后,获取该目标业务信息,并将该目标业务信息发送至HMI,HMI再将该目标业务信息转发给主车载控制单元;或者智能手机也可以直接将目标业务信息发送至主车载控制单元,本申请实施例不作限制。
S302,所述主车载控制单元向所述服务器发送所述目标请求。
其中,主车载控制单元和服务器在进行数据交互之前,主车载控制单元和服务器可以进行一些配置,比如配置证书、私钥等。基于配置的信息,主车载控制单元和服务器之间建立安全通道,比如安全套接层超文本传输协议(Hyper Text Transfer Protocol over SecuresocketLayer,HTTPs)安全通道,传输层安全协议(Transport Layer Security,TLS)安全通道或数据传输层安全协议(Datagram Transport Layer Security,DTLS)安全通道等,以便在主车载控制单元和服务器之间可以安全的传输信息。可选地,目标请求还可以包括所述车辆的识别码,本申请实施例不作限制。
S303,所述服务器根据所述目标请求生成对应的目标文件。
具体地,服务器在接收到主车载控制单元发送的目标请求,根据该目标请求生成对应的目标文件,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。其中,本申请实施例中的服务器可以包括OTA服务器和license服务器,所述服务器根据所述目标请求生成对应的目标文件可以有如下多种方式。例如,OTA服务器接收到主车载控制单元发送的目标请求后,直接根据所述目标请求生成对应的目标文件;或者,OTA服务器接收到主车载控制单元发送的目标请求后,将该目标请求转发至文件服务器,文件服务器根据所述目标请求生成对应的目标文件后将生成的目标文件发送至OTA服务器。
S304,所述主车载控制单元接收所述目标请求请求获取的目标文件。
其中,服务器在向主车载控制单元发目标文件之前,可以对目标进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件的非法修改。主车载控制单元在接收到目标文件之后,可以对接收到的目标文件进行签名验证。
S305,所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
具体地,所述主车载控制单元接收所述服务器发送的目标文件后,将目标文件发送至目标功能对应的软件所位于的目标从车载控制单元,目标车载控制单元在接收到目标文件后,基于该目标文件实现所述目标功能。
在相关技术中,当车辆需要实现某个业务功能时,需要车辆从外部专用的文件服务器处获得该业务功能对应的文件,且由于车辆内部包括多个部件,而且每个部件均可以安装多个软件,每个软件又可以实现不同的业务功能,导致文件服务器在管理车辆的不同的业务功能对应的文件时复杂度高、效率低。本申请实施例中,基于相关OTA技术中,车辆在进行固件/软件的OTA远程升级过程中,服务器和车辆(包括主车载控制单元和一个或多个从车载单元)之间搭建远程升级通道,主车载控制单元管理各个从车载控制单元的硬件信息和各个从车载控制单元上安装的至少一个软件对应的软件版本信息,并对各个从车载控制单元上软件的升级包进行分发等的相关特性,当车辆在接收到包括目标业务信息的目标请求后,通过复用上述服务器和车辆之间的OTA远程升级通道向服务器发起相关请求并通过OTA技术接收服务器发送的目标功能关联的目标文件,进而基于目标文件实现目标功能,从而实现了基于OTA技术的业务关联文件的获取。综上,本申请中通过复用服务器和车辆之间的OTA远程升级通道,避免需要新建文件管理通道且需要由专门的文件服务器完成整个车辆的功能关联文件的生成、下发和管理,而导致的功能关联文件管理复杂。同时,用户可以根据个人的需求为车辆购买相应的业务,满足用户的个性化需求,降低购买成本,提升用户体验。
在一种可能的实现方式中,所述方法还包括:
S306,所述服务器对所述目标文件进行签名。
S307,所述主车载控制单元对所述目标文件进行签名验证。
其中,若签名验证成功,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作,即执行操作S305。
具体地,服务器在向主车载控制单元发目标文件之前,可以对目标文件进行安全处理,其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件被非法修改。可选地,主车载控制单元在接收到目标文件之后,可以直接对所述目标文件进行签名验证,也可以将目标文件发送至所述目标从车载控制单元,由目标车载控制单元进行签名验证,本申请实施例不作限制。
本申请实施例中的车辆中的主车载控制单元,通过在验证了从车辆外部获取的经过签名的目标文件之后,再在车辆内部将所述目标文件发送至目标从车载控制单元,以保证车辆业务开通的安全性。
在一种可能的实现方式中,所述方法还包括:
S308,所述目标从车载控制单元校验所述目标文件的合法性。
S309,若所述目标文件合法性校验成功,所述目标从车载控制单元根据所述目标文件实现所述目标功能。
其中,目标从车载控制单元在接收到主车载控制单元发送的目标文件后,导入目标文件,读取目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段进行比较,从而判断目标文件是否合法。若目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段一致或者匹配,则所述目标文件合法性校验成功;若目标从车载控制单元的硬件信息中的唯一标识字段与目标文件中包括的唯一标识字段不一致或者不匹配,则所述目标文件合法性校验失败。可选地,目标文件的合法性校验也可以有主车载控制单元执行,即所述主车载控制单元对所述目标文件进行签名验证后,若签名验证成功,所述主车载控制单元校验所述目标文件的合法性,若所述目标文件合法性校验成功,所述主车载控制单元执行所述将所述目标文件发送至所述目标从车载控制单元的操作,所述目标从车载控制单元在接收到目标文件后,直接根据所述目标文件实现所述目标功能。
本申请实施例中的车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件开通所述目标功能,并在所述业务有效期内使用所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的业务开通失败,保证车辆功能实现的高效性和安全性。
在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据从车载控制单元的硬件信息生成的设备特征码;所述目标从车载控制单元可以通过如下方式校验所述目标文件的合法性。所述目标从车载控制单元判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配,在目标从车载控制单元的硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法。
具体地,主车载控制单元向服务器发送的目标请求包括目标功能对应的从车载控制单元的硬件信息,服务器在接收到目标请求后会根据目标请求中包括的从车载控制单元的硬件信息生成设备特征码。目标从车载控制单元通过判断所述目标从车载控制单元的硬件信息和所述设备特征码是否匹配进而验证所述目标文件是否合法。
本申请实施例中的车辆通过在验证了从车辆外部获取的目标文件的合法性之后,再根据所述目标文件实现所述目标功能,以避免所接收到目标文件不是目标功能对应的目标文件而导致的目标功能无法实现,保证车辆业务开通的高效性和安全性。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
其中,license文件的内容可包括软件生产厂商、产品名称、产品版本、设备特征码、截止日期、资源控制项、功能控制项、签名等,license文件包括一些控制策略(例如license控制项)用于对软件的运行进行控制,其中,上述license文件中包括的设备特征码、截止日期、资源控制项、功能控制项就属于license控制项。通过license技术,可以灵活地控制软件功能、可供使用的资源的数量等。在所述license文件合法性校验成功后,目标从车载控制单元可以根据license文件的控制项运行软件,以开通该软件对应的待开通业务。
在一种可能的实现方式中,所述方法还包括:
S310,所述目标从车载控制单元将所述目标功能的状态发送至所述主车载控制单元,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
S311,所述主车载控制单元将所述目标功能的状态发送至所述服务器。
S312,所述主车载控制单元将所述目标功能的状态发送至人机交互接口。
具体地,目标从车载控制单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,主车载控制单元会将所述目标功能的状态发送至人机交互接口HMI,以方便用户通过HMI知晓该业务的使用情况以及该业务的有效期等。
在一种可能的实现方式中,所述方法还包括:
S313,主车载控制单元获取所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
可选地,在主车载控制单元发送目标请求之前,主车载控制单元查询目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,然后向服务器发送携带该目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的软件版本信息的目标请求。服务器在接收到目标请求后,基于该目标请求中目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息生成与所述目标功能、目标车载控制单元硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件匹配的目标文件。
在一种可能的实现方式中,在所述目标请求还包括所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息时,所述服务器根据所述目标请求生成对应的目标文件包括:所述服务器根据所述目标从车载控制单元的硬件信息生成设备特征码;所述服务器根据所述目标从车载控制单元安装的至少一个软件对 应的软件版本信息生成资源控制项和功能控制项;所述服务器根据所述目标功能的业务信息、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
具体地,一个典型的目标文件(例如,license文件)示例可以如表1所示。
表1
本申请实施例中,可以防止服务器下发的目标文件不是针对目标从控制单元或目标功能对应的软件的当前版本信息的目标文件,从而避免目标功能无法实现这一现象的出现。服务器在接收到目标请求后,基于该目标请求中目标从车载控制单元的硬件信息和目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息生成与所述目标功能、目标车载控制单元硬件信息以及对所述目标功能对应的安装在目标控制单元上的软件均匹配的目标文件,从而保证业务开通的高效性和针对性。
可选地,所述主车载控制单元获取目标业务信息后,主车载控制单元或是服务器会判断目标从车载控制单元是否安装有目标功能对应的软件,即是否需要下载目标功能对应的软件的安装包,上述实施例是在主车载控制单元或是服务器判断目标从车载控制单元安装有目标功能对应的软件时执行的。下面将结合图13和图14阐述在判断出目标从车载控制单元未安装目标功能对应的软件时,服务器或主车载控制单元或目标从车载控制单元所需要执行的操作。其中,步骤S314至S319即图13描述了判断目标从车载控制单元是否安装有目标功能对应的软件是由主车载控制单元执行的,S320至S325即图13描述了判断目标从车载控制单元是否安装有目标功能对应的软件是由服务器执行的。
在一种可能的实现方式中,主车载控制单元判断目标从车载控制单元是否安装有目标功能对应的软件。下面将结合附图12从服务器、车辆的主车载控制单元、和车辆的目标从车载控制单元的交互侧进行描述,该方法还可以包括以下步骤S314-步骤S319。
所述方法还包括:
S314,所述主车载控制单元根据所述目标业务信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息,检测所述目标从车载控制单元是否安装所述目标功能对应的软件。
具体地,主车载控制单元在获取到所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息后,基于软件版本信息与目标业务信息判断目标从车载控制单元是否安装有目标功能对应的软件。
S315,在所述目标从车载控制单元未安装所述目标功能对应的软件的情况下,所述主车载控制单元向所述服务器发送所述目标功能对应的软件的安装包获取请求。
具体地,上述安装包获取请求可以包括软件标识、软件的版本信息以及目标从车载控制单元的硬件信息。
S316,所述主车载控制单元接收所述服务器根据所述安装包获取请求发送的安装包。
服务器在接收到主车载控制单元发送的安装包获取请求后,可以从开发者处获取安装包,并对安装包进行签名或加密等安全处理,以防止安装包被非法修改。
S317,所述主车载控制单元并对所述安装包进行签名验证。
S318,若签名验证成功,所述主车载控制单元将所述安装包发送至所述目标从车载控制单元。
S319,所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件。
本申请实施例中,主车载控制单元获取目标业务信息后,会获取该目标功能对应的目标从车载控制单元上安装的至少一个软件对应的至少一个软件版本信息,基于该业务信息所包括的目标业务信息和至少一个软件版本信息判断所述目标从车载控制单元是否安装所述目标功能对应的软件,并在判断出所述目标从车载控制单元未安装所述目标功能对应的软件时,向服务器发送所述目标功能对应的软件的安装包获取请求。目标从车载控制单元在安装了目标功能的对应的软件后,基于软件和目标文件实现所述目标功能,进而保证用户订购的业务功能的顺利开通和使用。
在一种可能的实现方式中,服务器判断目标从车载控制单元是否安装有目标功能对应的软件,下面将结合附图14从服务器、车辆的主车载控制单元、和车辆的目标从车载控制单元的交互侧进行描述,该方法还可以包括以下步骤S320-步骤S325。
S320,所述服务器根据所述软件版本信息和所述目标业务信息检测所述目标从车载控制单元是否安装所述目标功能对应的软件。
具体地,所述目标请求还包括所述目标从车载控制单元的硬件信息和所述目标从车载控制单元安装的至少一个软件对应的软件版本信息,所述目标请求还用于指示所述服务器根据所述软件版本信息和所述目标业务信息检测所述目标从车载控制单元是否安装所述目标功能对应的软件。
其中,若检测到所述目标从车载控制单元安装所述目标功能对应的软件,所述服务器执行所述将所述目标文件发送至所述主车载控制单元的操作,所述主车载控制单元执行接收所述服务器发送的目标文件的操作,即执行步骤S304。具体操作可以参考步骤S304的相关描述,此处不在赘述。
若检测到所述车辆未安装所述目标功能对应的软件,所述服务器向主车载控制单元发送所述目标功能对应的软件的安装包和目标文件,其中,所述服务器向主车载控制单元发送目标文件的操作可以参考步骤S304的相关描述,此处不在赘述。可以可选地,所述服务 器向主车载控制单元发送所述目标功能对应的软件的安装包可以包括步骤S321-S323。
S321,若检测到所述车辆未安装所述目标功能对应的软件,所述服务器向所述主车载控制单元发送所述目标功能的业务信息对应的策略包和所述目标文件,所述策略包包括所述目标功能对应的软件的安装包的下载地址,所述策略包用于所述主车载控制单元根据所述策略包下载所述安装包。
具体地,服务器在检测到目标从车载控制单元安装的至少一个软件对应的软件版本信息包不包括目标功能对应的软件后,会获取目标功能的对应的安装包、生成目标文件和策略包,并对目标功能的对应的安装包、目标文件和策略包分别进行安全处理。其中该安全处理可以为签名处理、加密处理或其它安全处理等,以防止对目标文件的非法修改。其中,策略包可以包括目标功能的对应的安装包的下载地址,目标功能的实现条件以及安装包或目标文件的大小等,本申请实施例不作限制。其中服务器生成目标文件的方式可以参考步骤S303以及其它实施例中生成目标文件的相关描述,此处不再赘述。
S322,所述主车载控制单元对所述策略包进行签名验证。
具体地,所述主车载控制单元对所述策略包进行签名验证的过程可以参考S307中对目标文件进行签名验证的相关描述,此处不在赘述。
S323,若签名验证成功,所述主车载控制单元根据所述策略包下载所述安装包。
具体地,若签名验证成功,所述主车载控制单元接收服务器随同策略包一起发送的目标文件以及根据策略包下载所述安装包。其中主车载控制单元下载安装包和接收目标文件可能有多种实现方法。例如,安装包和目标文件同时下载接收;或者,主车载控制单元先下载安装包,然后将安装包发送给目标从车载控制单元,目标从车载单元安装包安装好之后,通知主车载控制单元再下载接收目标文件,主车载控制单元下载接收目标文件后将目标文件发送至目标从车载控制单元,目标从车载控制单元基于目标文件控制软件和目标功能的运行;或者,主车载控制单元先接收目标文件,待目标文件的签名和合法性校验通过之后,主车载控制单元再下载安装包。本申请实施例的后续操作即步骤S322和S323以安装包和license同时下载为例进行说明,当安装包和目标文件不同时下载时,相应步骤进行拆分即可,此处不再赘述。
S324,所述主车载控制单元将所述安装包和所述目标文件发送至所述目标从车载控制单元。
其中,所述主车载控制单元在接收所述目标文件以及根据所述策略包下载所述安装包后,还可以进一步分别对安装包和目标文件进行签名验证,若签名验证成功,所述主车载控制单元将所述安装包和所述目标文件发送至所述目标从车载控制单元。
S325,所述目标从车载控制单元根据所述安装包安装所述目标功能的对应的软件,并根据所述目标文件实现所述目标功能。
具体地,目标从车载控制单元在接收到主车载控制单元发送的目标文件后,会进一步校验目标文件的合法性,若所述目标文件合法性校验成功,所述目标从车载控制单元根据所述目标文件实现所述目标功能。其中,目标从车载控制单元校验目标文件的合法性的操作可以参考S308-S309和其它实施例中目标从车载控制单元校验目标文件的合法性的相关描述,此处不再赘述。
本申请实施例中,服务器在接收到主控制单元发送的目标请求后,会基于目标请求中包括的目标业务信息和至少一个软件版本信息判断所述目标从车载控制单元是否安装所述目标功能对应的软件,并在判断出所述目标从车载控制单元未安装所述目标功能对应的软件时,向主车载控制单元发送目标文件和包括安装包的下载地址的策略包。目标从车载控制单元在安装了目标功能的对应的软件后,再开通所述目标功能,进而保证用户订购的业务的顺利开通和使用。
在一些其它实施例中,如图15所示,车辆还可以进一步包括文件管理单元,该文件管理单元可以位于从车载控制单元中,也可以位于车辆的其它部件中。当车辆包括文件管理单元时,可以由文件管理单元校验所述目标文件的合法性,并在所述目标文件合法性校验成功时,文件管理单元通知所述目标从车载控制单元根据所述目标文件实现所述目标功能。文件管理单元可以定期地将所述目标功能的状态发送至所述主车载控制单元,主车载控制单元将所述目标功能的状态发送至所述服务器,以方便用服务器管理对下发的目标文件进行管理。同时,文件管理单元可以将所述目标功能的状态发送至所述主车载控制单元,所述主车载控制单元将所述目标功能的状态发送至所述HMI,方便用户通过HMI知晓该业务的使用情况以及该业务的有效期等。因此结合图12和图14来看,当车辆还可以进一步包括文件管理单元时,区别在于所述方法还包括以下步骤:
S326,目标从车载控制单元将接收到目标文件发送至文件管理单元。
S327,文件管理单元校验目标文件的合法性,并在合法性校验成功时,通知目标从车载控制单元执行步骤S309,即,根据目标文件开通所述目标功能,并在业务有限期内使用所述目标功能。
其中,图12至图14所对应的实施例可以看作为文件管理单元位于车辆的从车载控制单元即ECU中,图15所对应的实施例可以看作为文件管理单元位于车辆中除从车载控制单元的其他部件中。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的相关装置。
请参见图16,图16是本申请实施例提供的一种车辆100的结构示意图,所述车辆100包括主车载控制单元101和一个或多个从车载控制单元102。该车辆100可以为上述系统中的车辆100,该主车载控制单元101可以为上述系统中的主车载控制单元101,该从车载控制单元102可以为上述系统中的从车载控制单元102其中,各个单元的详细描述如下。
所述主车载控制单元101,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件,所述目标功能为所述一个或多个从车载控制单元102中的目标从车载控制单元102实现的功能;向服务器发送所述目标请求;接收所述目标请求请求获取的所述目标文件;将所述目标文件发送至所述目标从车载控制单元102,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述主车载控制单元101,还用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述主车载控制单元101执行所述将所述目标文件发送至所述目标从车载控制单元102的操作。
在一种可能的实现方式中,所述目标从车载控制单元102,还用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述目标从车载控制单元102根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述目标从车载控制单元的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述目标从车载控制单元102,在用于校验所述目标文件的合法性时,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
在一种可能的实现方式中,所述主车载控制单元101,还用于根据所述目标业务信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息,检测所述目标从车载控制单元102是否安装所述目标功能对应的软件。
在一种可能的实现方式中,在所述目标从车载控制单元102未安装所述目标功能对应的软件的情况下,所述主车载控制单元101,还用于向所述服务器发送所述目标功能对应的软件的安装包获取请求。
在一种可能的实现方式中,所述主车载控制单元101,还用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,将所述安装包发送至所述目标从车载控制单元102;所述目标从车载控制单元102,还用于根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述主车载控制单元101,还用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆(中的目标从车载控制单元)未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,将所述安装包发送至所述目标从车载控制单元102;所述目标从车载控制单元102,用于根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述第一车辆还包括人机交互接口103;所述主车载控制单元101,在用于获取目标请求时,具体用于通过所述人机交互接口103获取所述目标请求。
在一种可能的实现方式中,所述主车载控制单元101,还用于所述目标功能的状态发送至所述服务器和/或人机交互接口103,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆中目标从车载控制单元安装的至少一个软件对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
需要说明的是,本申请实施例中所描述的车辆100中的主车载控制单元101和目标从车载控制单元102可参见上述图12-图15中所述的方法实施例中的主车载控制单元和从车载控制单元相关描述,此处不再赘述。
可以理解的是,车辆100还可以运用计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,集成智能驾驶系统、生活服务系统、安全防护系统、位置服务系统以及用车服务系统等功能,本申请对此不作具体限定,也不再赘述。
请参见图17,图17是本申请实施例提供的另一种车辆100的结构示意图,该车辆100可以为上述系统中的车辆100,所述车辆100可以包括获取单元401,发送单元402和接收单元403,其中,各个单元的详细描述如下。
获取单元401,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
发送单元402,用于向服务器发送所述目标请求;
接收单元403,用于接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述车辆实现所述目标功能。
在一种可能的实现方式中,所述获取单元401,具体用于通过OTA技术获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件。
在一种可能的实现方式中,所述发送单元402,具体用于通过OTA技术向服务器发送所述目标请求。
在一种可能的实现方式中,所述车辆还包括:
签名验证单元404,用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆100还包括:
合法性验证单元405,用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述合法性验证单元405,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
在一种可能的实现方式中,所述车辆100还包括:
安装检测单元406,用于根据所述目标业务信息和所述车辆对应的至少一个软件版本信息,检测所述车辆是否安装所述目标功能对应的软件。
在一种可能的实现方式中,所述发送单元402,还用于在所述车辆未安装所述目标功能对应的软件的情况下,向所述服务器发送所述目标功能对应的软件的安装包获取请求。
在一种可能的实现方式中,所述车辆100还包括:
第一安装单元407,用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述目标请求还包括所述车辆对应的至少一个软件版本信息,所述车辆还包括:
第二安装单元408,用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述接收单元403,具体用于:通过所述主车载控制单元接收所述目标请求请求获取的所述目标文件;通过所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
在一种可能的实现方式中,所述车辆还包括人机交互接口,所述获取单元401,具体用于通过所述人机交互接口获取所述目标请求。
在一种可能的实现方式中,所述发送单元402,还用于将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述车辆的硬件信息和所述车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
需要说明的是,本申请实施例中所描述的车辆中各功能单元的功能可参见上述图11至图15所述的方法实施例的相关描述,此处不再赘述。
请参见图18,图18是本申请实施例提供的一种服务器300的结构示意图;该服务器300可以为上述系统中的服务器300,所述服务器可以包括接收单元501,生成单元502和发送单元503,其中,各个单元的详细描述如下。
接收单元501,用于接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;
生成单元502,用于根据所述目标请求生成对应的所述目标文件;
发送单元503,用于将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
在一种可能的实现方式中,所述接收单元501,具体用于通过OTA技术接收所述第一车辆的发送的目标请求。
在一种可能的实现方式中,发送单元503,具体用于通过OTA技术将所述目标文件发送至所述第一车辆。
在一种可能的实现方式中,所述服务器300还包括:签名单元504,用于对所述目标文件进行签名。
在一种可能的实现方式中,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述服务器300还包括:安装检测单元505,用于根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;
所述发送单元503,还用于在所述第一车辆未安装所述目标功能对应的软件的情况下,向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。
在一种可能的实现方式中,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。
在一种可能的实现方式中,所述生成单元502具体用于:
根据所述第一车辆的硬件信息生成设备特征码;
根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;
根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
在一种可能的实现方式中,所述接收单元501,还用于接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。
在一种可能的实现方式中,所述目标文件包括所述目标功能的使用许可license文件。
需要说明的是,本申请实施例中所描述的服务器中各功能单元的功能可参见上述图11-图15所述的方法实施例的相关描述,此处不再赘述。
如图19所示,图19是本申请实施例提供的一种设备的结构示意图。车辆和服务器,均可以以图19中的结构来实现,该设备60包括至少一个处理器601,至少一个存储器602、至少一个通信接口603。此外,该设备还可以包括天线等通用部件,在此不再详述。
处理器601可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口603,用于与其他设备或通信网络通信,如OTA服务器、密钥服务器、车载内部的设备等。
存储器602可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有 指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器602用于存储执行以上方案的应用程序代码,并由处理器601来控制执行。所述处理器601用于执行所述存储器602中存储的应用程序代码。
图19所示的设备为车辆100时,存储器602存储的代码可执行以上图11至图15提供的基于OTA技术获取文件的方法,比如获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;向服务器发送所述目标请求;接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。
需要说明的是,本申请实施例中所描述的车辆中各功能单元的功能可参见上述图11至图15所述的方法实施例中第一车辆所执行的操作相关描述,此处不再赘述。
图19所示的设备为服务器300时,存储器602存储的代码可执行以上图11至图15提供的基于OTA技术获取文件的方法,比如接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;根据所述目标请求生成对应的所述目标文件;将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
需要说明的是,本申请实施例中所描述的服务器中各功能单元的功能可参见上述图11至图15所述的方法实施例中服务器所执行操作的相关描述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种基于OTA技术获取文件的方法的部分或全部步骤。
本申请实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种基于OTA技术获取文件的方法的部分或全部步骤。
本申请实施例还提供一种基于OTA技术获取文件的系统,所述系统包括服务器和车辆;所述车辆,为图16或图17对应的实施例中提供的任意一种所述的车辆;所述服务器,为图18对应的实施例中提供的任意一种所述的服务器。
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持车辆或服务器实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存车辆或服务器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的 动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。根据这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,ROM)或者随机存取存储器(Random Access Memory,RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (39)
- 一种基于空中下载OTA技术获取文件的方法,其特征在于,所述方法包括:第一车辆获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;所述第一车辆向服务器发送所述目标请求;所述第一车辆接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述第一车辆实现所述目标功能。
- 如权利要求1所述的方法,其特征在于,所述方法还包括:所述第一车辆对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。
- 如权利要求1或2所述的方法,其特征在于,所述方法还包括:所述第一车辆校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述第一车辆根据所述目标文件实现所述目标功能。
- 如权利要求3所述的方法,其特征在于,所述目标请求还包括所述第一车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述第一车辆校验所述目标文件的合法性,包括:所述第一车辆判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
- 如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:所述第一车辆根据所述目标业务信息和所述第一车辆对应的至少一个软件版本信息,检测所述第一车辆是否安装所述目标功能对应的软件。
- 如权利要求5所述的方法,其特征在于,所述方法还包括:在所述第一车辆未安装所述目标功能对应的软件的情况下,所述第一车辆向所述服务器发送所述目标功能对应的软件的安装包获取请求。
- 如权利要求6所述的方法,其特征在于,所述方法还包括:所述第一车辆接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
- 如权利要求1至4任一项所述的方法,其特征在于,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息,所述方法还包括:所述第一车辆接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述第一车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,所述第一车辆根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
- 如权利要求1至8任一项所述的方法,其特征在于,所述第一车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述第一车辆接收所述目标请求请求获取的所述目标文件,包括:所述主车载控制单元接收所述目标请求请求获取的所述目标文件;所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
- 如权利要求1至9任一项所述的方法,其特征在于,所述第一车辆还包括人机交互接口,所述第一车辆获取目标请求,包括:所述第一车辆通过所述人机交互接口获取所述目标请求。
- 如权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:所述第一车辆将所述目标功能的状态发送至所述服务器,所述目标功能的状态包括所述目标功能是否实现和/或所述目标功能的有效期。
- 如权利要求1至11任一项所述的方法,其特征在于,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
- 如权利要求1至12任一项所述的方法,其特征在于,所述目标文件包括所述目标功能的使用许可license文件。
- 一种基于空中下载OTA技术获取文件的方法,其特征在于,所述方法包括:服务器接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;所述服务器根据所述目标请求生成对应的所述目标文件;所述服务器将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
- 如权利要求14所述的方法,其特征在于,所述方法还包括:所述服务器对所述目标文件进行签名。
- 如权利要求14或15所述的方法,其特征在于,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述方法还包括:所述服务器根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;在所述第一车辆未安装所述目标功能对应的软件的情况下,所述服务器向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。
- 如权利要求14至16任一项所述的方法,其特征在于,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。
- 如权利要求17所述的方法,其特征在于,所述服务器根据所述目标请求生成对应的所述目标文件包括:所述服务器根据所述第一车辆的硬件信息生成设备特征码;所述服务器根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;所述服务器根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
- 如权利要求14至18任一项所述的方法,其特征在于,所述方法还包括:所述服务器接收所述第一车辆发送的所述目标功能的状态,所述目标功能的状态包括所述目标功能是否开通和/或所述目标功能的有效期。
- 如权利要求14至19任一项所述的方法,其特征在于,所述目标文件包括所述目标功能的使用许可license文件。
- 一种车辆,其特征在于,包括;获取单元,用于获取目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;发送单元,用于发送所述目标请求;接收单元,用于接收所述目标请求请求获取的所述目标文件,所述目标文件用于指示所述车辆实现所述目标功能。
- 如权利要求21所述的车辆,其特征在于,所述车辆还包括:签名验证单元,用于对所述目标文件进行签名验证;在所述目标文件签名验证成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
- 如权利要求21或22所述的车辆,其特征在于,所述车辆还包括:合法性验证单元,用于校验所述目标文件的合法性;在所述目标文件的合法性校验成功的情况下,所述车辆根据所述目标文件实现所述目标功能。
- 如权利要求23所述的车辆,其特征在于,所述目标请求还包括所述车辆的硬件信息;所述目标文件中包括根据所述硬件信息生成的设备特征码;所述合法性验证单元,具体用于:判断所述硬件信息和所述设备特征码是否匹配;在所述硬件信息和所述设备特征码匹配的情况下,判定所述目标文件为合法文件。
- 如权利要求21至24任一项所述的车辆,其特征在于,所述车辆还包括:安装检测单元,用于根据所述目标业务信息和所述车辆对应的至少一个软件版本信息,检测所述车辆是否安装所述目标功能对应的软件。
- 如权利要求25所述的车辆,其特征在于,所述发送单元,还用于在所述车辆未安装所述目标功能对应的软件的情况下,向所述服务器发送所述目标功能对应的软件的安装包获取请求。
- 如权利要求26所述的车辆,其特征在于,所述车辆还包括:第一安装单元,用于接收所述服务器根据所述安装包获取请求发送的安装包,并对所述安装包进行签名验证;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
- 如权利要求21至24任一项所述的车辆,其特征在于,所述目标请求还包括所述车辆对应的至少一个软件版本信息,所述车辆还包括:第二安装单元,用于接收所述服务器发送的所述目标功能对应的软件的安装包,并对所述安装包进行签名验证,所述安装包是所述服务器根据所述目标业务信息和所述软件版本信息检测到所述车辆未安装所述目标功能对应的软件时发送的;在所述安装包签名验证成功的情况下,根据所述安装包安装所述目标功能对应的软件,并基于所述软件和所述目标文件实现所述目标功能。
- 如权利要求21至28任一项所述的车辆,其特征在于,所述车辆包括主车载控制单元和一个或多个从车载控制单元,所述目标功能为所述一个或多个从车载控制单元中的目标从车载控制单元实现的功能;所述接收单元具体用于:通过所述主车载控制单元接收所述目标请求请求获取的所述目标文件;通过所述主车载控制单元将所述目标文件发送至所述目标从车载控制单元,所述目标文件用于指示所述目标从车载控制单元根据所述目标文件实现所述目标功能。
- 如权利要求21至29任一项所述的车辆,其特征在于,所述目标请求还包括所述目标功能的有效期、所述车辆的硬件信息和所述车辆对应的至少一个软件版本信息中的一个或多个;所述目标文件是所述服务器根据所述目标业务信息、所述目标功能的有效期、所述硬件信息和所述至少一个软件版本信息中的一个或多个生成的。
- 一种服务器,其特征在于,所述服务器包括:接收单元,用于接收第一车辆的发送的目标请求,所述目标请求包括目标业务信息,所述目标业务信息用于获取目标功能关联的目标文件;生成单元,用于根据所述目标请求生成对应的所述目标文件;发送单元,用于将所述目标文件发送至所述第一车辆,所述目标文件用于指示所述第一车辆实现所述目标功能。
- 如权利要求31所述的服务器,其特征在于,所述服务器还包括:签名单元,用于对所述目标文件进行签名。
- 如权利要求31或32所述的服务器,其特征在于,所述目标请求还包括所述第一车辆对应的至少一个软件版本信息;所述服务器还包括:安装检测单元,用于根据所述至少一个软件版本信息和所述目标业务信息检测所述第一车辆是否安装所述目标功能对应的软件;所述发送单元,还用于在所述第一车辆未安装所述目标功能对应的软件的情况下,向所述第一车辆发送所述目标功能对应的软件的安装包,所述安装包用于所述第一车辆根据所述安装包安装所述目标功能对应的软件。
- 如权利要求31至33任一项所述的服务器,其特征在于,所述目标请求还包括所述目标功能的有效期、所述第一车辆的硬件信息和所述第一车辆对应的至少一个软件版本信息中的一个或多个。
- 如权利要求34所述的服务器,其特征在于,所述生成单元具体用于:根据所述第一车辆的硬件信息生成设备特征码;根据所述第一车辆对应的至少一个软件版本信息生成资源控制项和功能控制项;根据所述目标业务信息、所述目标功能的有效期、所述设备特征码、资源控制项和功能控制项生成所述目标文件。
- 一种基于空中下载OTA技术获取文件的系统,其特征在于,所述系统包括服务器和车辆;所述服务器,为如权利要求31-34任意一项所述的服务器;所述车辆,为如权利要求21-30任意一项所述的车辆。
- 一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,使得权利要求1-13中任意一项所述的方法,或如权利要求14-20中任意一项所述的方法得以实现。
- 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,实现如权利要求1-13中任意一项所述的方法,或实现如权利要求14-20任意一项所述的方法。
- 一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1-13中任意一项所述的方法,或如权利要求14-20中任意一项所述的方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21929524.3A EP4297370A4 (en) | 2021-03-09 | 2021-03-09 | METHOD FOR OBTAINING A FILE USING OVER-THE-AIR (OTA) TECHNOLOGY AND ASSOCIATED APPARATUS |
JP2023555389A JP2024513679A (ja) | 2021-03-09 | 2021-03-09 | 無線ota技術に基づいてファイルを取得するための方法および関連デバイス |
CN202211073287.1A CN115622991A (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
PCT/CN2021/079834 WO2022188043A1 (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
CN202211073374.7A CN115665124A (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
CN202180000442.4A CN113170003B (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
US18/464,062 US20230421571A1 (en) | 2021-03-09 | 2023-09-08 | Method for obtaining file based on over-the-air ota technology and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/079834 WO2022188043A1 (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/464,062 Continuation US20230421571A1 (en) | 2021-03-09 | 2023-09-08 | Method for obtaining file based on over-the-air ota technology and related device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022188043A1 true WO2022188043A1 (zh) | 2022-09-15 |
Family
ID=76875926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/079834 WO2022188043A1 (zh) | 2021-03-09 | 2021-03-09 | 一种通过空中下载ota技术获取文件的方法及相关设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230421571A1 (zh) |
EP (1) | EP4297370A4 (zh) |
JP (1) | JP2024513679A (zh) |
CN (3) | CN113170003B (zh) |
WO (1) | WO2022188043A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389467A (zh) * | 2023-06-07 | 2023-07-04 | 北京集度科技有限公司 | 数据传输装置、车辆的检验方法、车辆和计算机程序产品 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504931B (zh) * | 2021-07-29 | 2022-08-16 | 中国第一汽车股份有限公司 | 一种控制器测试方法、装置、设备及存储介质 |
CN117195216A (zh) * | 2022-06-01 | 2023-12-08 | 华为技术有限公司 | 车辆校验方法、相关装置及系统 |
CN115412436A (zh) * | 2022-08-30 | 2022-11-29 | 重庆长安新能源汽车科技有限公司 | 车窗开关的升级方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110868406A (zh) * | 2019-11-06 | 2020-03-06 | 南京酷沃智行科技有限公司 | 一种基于升级状态许可的终端系统的安全升级系统 |
US20200174778A1 (en) * | 2018-11-30 | 2020-06-04 | Paccar Inc | Systems and methods for using a mobile device to manage an over-the-air vehicle software update |
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436456B2 (en) * | 2014-04-17 | 2016-09-06 | Myine Electronics, Inc. | System and method for management of software updates at a vehicle computing system |
US9747096B2 (en) * | 2014-07-07 | 2017-08-29 | Harman Connected Services, Inc. | Remote embedded device update platform apparatuses, methods and systems |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
US20170344355A1 (en) * | 2016-05-27 | 2017-11-30 | GM Global Technology Operations LLC | Updating vehicle system modules |
EP4152144A1 (en) * | 2017-10-24 | 2023-03-22 | Huawei International Pte. Ltd. | Vehicle-mounted device upgrade method and related device |
US10409585B2 (en) * | 2018-02-14 | 2019-09-10 | Micron Technology, Inc. | Over-the-air (OTA) update for firmware of a vehicle component |
CN109445810A (zh) * | 2018-09-07 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的信息升级方法、装置及存储介质 |
US11204751B2 (en) * | 2018-09-07 | 2021-12-21 | International Business Machines Corporation | Mitigating incompatibilities due to code updates in a system containing multiple networked electronic control units |
FR3096153B1 (fr) * | 2019-05-17 | 2021-04-23 | Psa Automobiles Sa | Procédé et dispositif de retour à un état précédent une mise à jour logicielle d’un calculateur d’un véhicule à distance |
CN110290223A (zh) * | 2019-07-18 | 2019-09-27 | 上海擎感智能科技有限公司 | 主动升级方法及系统 |
CN111724232A (zh) * | 2020-05-31 | 2020-09-29 | 上海智目科技有限公司 | 一种智能汽车自动驾驶功能付费使用方法及系统 |
CN112333659A (zh) * | 2020-10-13 | 2021-02-05 | 联通智网科技有限公司 | 基于车联网的空中下载方法、系统、设备和介质 |
-
2021
- 2021-03-09 EP EP21929524.3A patent/EP4297370A4/en active Pending
- 2021-03-09 CN CN202180000442.4A patent/CN113170003B/zh active Active
- 2021-03-09 CN CN202211073374.7A patent/CN115665124A/zh active Pending
- 2021-03-09 CN CN202211073287.1A patent/CN115622991A/zh active Pending
- 2021-03-09 JP JP2023555389A patent/JP2024513679A/ja active Pending
- 2021-03-09 WO PCT/CN2021/079834 patent/WO2022188043A1/zh active Application Filing
-
2023
- 2023-09-08 US US18/464,062 patent/US20230421571A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200174778A1 (en) * | 2018-11-30 | 2020-06-04 | Paccar Inc | Systems and methods for using a mobile device to manage an over-the-air vehicle software update |
CN110868406A (zh) * | 2019-11-06 | 2020-03-06 | 南京酷沃智行科技有限公司 | 一种基于升级状态许可的终端系统的安全升级系统 |
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4297370A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389467A (zh) * | 2023-06-07 | 2023-07-04 | 北京集度科技有限公司 | 数据传输装置、车辆的检验方法、车辆和计算机程序产品 |
CN116389467B (zh) * | 2023-06-07 | 2023-08-11 | 北京集度科技有限公司 | 数据传输装置、车辆的检验方法、车辆和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115622991A (zh) | 2023-01-17 |
US20230421571A1 (en) | 2023-12-28 |
EP4297370A1 (en) | 2023-12-27 |
JP2024513679A (ja) | 2024-03-27 |
EP4297370A4 (en) | 2024-03-20 |
CN113170003B (zh) | 2022-09-09 |
CN115665124A (zh) | 2023-01-31 |
CN113170003A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022188043A1 (zh) | 一种通过空中下载ota技术获取文件的方法及相关设备 | |
EP3619602B1 (en) | Update courier for vehicular computing devices | |
JP2020517001A (ja) | 制御システム動作を検証するための技術 | |
WO2022134965A1 (zh) | 一种算力资源的配置方法及设备 | |
WO2022268127A1 (zh) | 一种ota升级方法、装置及计算机可读存储介质 | |
US20230034996A1 (en) | Data verification method and apparatus | |
KR20170041466A (ko) | 자동차용 통합데이터 처리 제어 시스템 및 방법 | |
WO2019201218A1 (zh) | 第三方应用的开发系统及方法 | |
US11420656B2 (en) | Security system and method for disabling vehicle functions | |
WO2024020234A1 (en) | Providing recorded data related to an event | |
US12079616B2 (en) | Real-time modifications for vehicles | |
CN115730340A (zh) | 一种数据处理方法及相关装置 | |
CN114827108B (zh) | 车辆升级方法、装置、存储介质、芯片及车辆 | |
WO2023087330A1 (zh) | 一种应用显示方法和电子设备 | |
WO2024055654A1 (zh) | 一种进程启动方法、进程管理方法以及管理装置 | |
EP4439413A1 (en) | Decentralized power exchange | |
US20240126535A1 (en) | Vehicle and software update system | |
US20240118885A1 (en) | User equipment, software update system, control method, and non-transitory storage medium | |
US20240326597A1 (en) | Battery management system communication | |
US20240272892A1 (en) | Vehicle ota security validation | |
WO2024227578A1 (en) | Over-the-air update edges for vehicle content provision | |
CN112078519A (zh) | 车载全息投影仪控制系统及车载全息投影仪 | |
JP2024066068A (ja) | モバイル端末、および、ソフトウェア更新システム | |
CN117492782A (zh) | 车辆升级方法、装置、车辆、存储介质及芯片 | |
WO2024081094A1 (en) | Bluetooth rf signature for active security countermeasure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2023555389 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2021929524 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2021929524 Country of ref document: EP Effective date: 20230922 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |