WO2024082191A1 - 软件更新方法及装置 - Google Patents

软件更新方法及装置 Download PDF

Info

Publication number
WO2024082191A1
WO2024082191A1 PCT/CN2022/126282 CN2022126282W WO2024082191A1 WO 2024082191 A1 WO2024082191 A1 WO 2024082191A1 CN 2022126282 W CN2022126282 W CN 2022126282W WO 2024082191 A1 WO2024082191 A1 WO 2024082191A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
target
software
control node
version information
Prior art date
Application number
PCT/CN2022/126282
Other languages
English (en)
French (fr)
Inventor
范西超
卢志鹏
李必奇
任亚洲
王亚丽
曲峰
Original Assignee
京东方科技集团股份有限公司
北京京东方技术开发有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京东方科技集团股份有限公司, 北京京东方技术开发有限公司 filed Critical 京东方科技集团股份有限公司
Priority to PCT/CN2022/126282 priority Critical patent/WO2024082191A1/zh
Priority to CN202280003649.1A priority patent/CN118318223A/zh
Publication of WO2024082191A1 publication Critical patent/WO2024082191A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present disclosure relates to the field of computer technology, and in particular to a software updating method and device.
  • a software update method which is applied to a target vehicle, and the method includes: the target vehicle receives a first indication message for indicating reporting version information of the target software; the target vehicle sends the current version information of the target software configured for the target vehicle to a first control node that currently establishes a communication connection; further, the target vehicle receives a second indication message sent by the first control node; the second indication message is used to indicate the updated version information of the target software; the target vehicle updates the target software according to the second indication message.
  • the first control node includes: any one of a server, a first vehicle, and a mobile terminal; wherein the first vehicle includes updated version information of the target software.
  • a distance between the first vehicle and the target vehicle is less than or equal to a preset distance.
  • the above-mentioned "target vehicle receives a first indication message” method specifically includes: the target vehicle receives a first indication message sent by the mobile terminal; the first indication message is generated by the mobile terminal in response to a first operation of the user, and the first operation is an operation in which the user updates the version information of the target software.
  • the second indication information includes a uniform resource location URL, and the URL is associated with the updated version information; the above-mentioned method of "the target vehicle updates the target software according to the second indication information" specifically includes: according to the URL, obtaining the update data corresponding to the target software from the first control node, and updating the target software according to the update data.
  • the above-mentioned method of "the target vehicle updates the target software according to the second indication information" specifically includes: in the process of the target vehicle obtaining the update data corresponding to the target software from the first control node, disconnecting from the first control node, the target vehicle establishes a communication connection with the second control node, and continues to obtain the update data from the second control node according to the second indication information; after obtaining the update data, updating the target software according to the update data.
  • the method further includes: the target vehicle broadcasts the first indication information; the target vehicle receives the current version information of the target software configured for the second vehicle sent by the second vehicle; the second vehicle establishes a communication connection with the target vehicle; the target vehicle determines whether the current version information of the target software configured for the second vehicle is the same as the updated version information of the target software according to the current version information sent by the second vehicle; if the current version information of the target software configured for the second vehicle is different from the updated version information of the target software, the target vehicle sends a third indication information to the second vehicle; the third indication information is used to indicate the updated version information of the target software.
  • the method further includes: sending a first response message to the first control node, where the first response message is used to indicate that the target software configured for the target vehicle is updated successfully.
  • a software update method is provided, which is applied to a first control node, and the method includes: after the first control node obtains the updated version information of the target software, the first control node broadcasts a first indication message; the first indication message is used to indicate the current version information of the target software reported and configured by the vehicle; the first control node receives the current version information sent by the target vehicle; the first control node is communicatively connected with the target vehicle; when it is determined that the current version information of the target software configured for the target vehicle is different from the updated version information of the target software, the first control node sends a second indication message to the target vehicle; the second indication message is used to indicate the updated version information of the target software.
  • the method also includes: the first control node establishes a communication connection with the third vehicle; the first control node receives a first request message from the third vehicle, the first request message is used to request to obtain target data, the target data is all or part of the update data corresponding to the target software; the first control node sends the target data to the third vehicle according to the first request message.
  • the first control node includes: any one of a server, a vehicle, and a mobile terminal.
  • the distance between the vehicle and the target vehicle is less than or equal to a preset distance.
  • a software updating device which is applied to a target vehicle, and the device includes a receiving unit, a sending unit and a processing unit; the receiving unit is configured to receive a first indication message; the first indication message is used to indicate the version information of the target software to be reported; the sending unit is configured to send the current version information of the target software configured for the target vehicle to the first control node that currently establishes a communication connection; the receiving unit is also configured to receive a second indication message sent by the first control node; the second indication message is used to indicate the updated version information of the target software; the processing unit is configured to update the target software according to the second indication message.
  • the first control node includes: any one of a server, a first vehicle, and a mobile terminal; wherein the first vehicle includes updated version information of the target software.
  • a distance between the first vehicle and the target vehicle is less than or equal to a preset distance.
  • the receiving unit when the first control node is a mobile terminal, is specifically configured to: receive a first indication message sent by the mobile terminal; the first indication message is generated by the mobile terminal in response to a first operation of the user, and the first operation is an operation in which the user updates the version information of the target software.
  • the second indication information includes a uniform resource location URL, which is associated with the updated version information; the processing unit is specifically configured to: obtain update data corresponding to the target software from the first control node according to the URL, and update the target software according to the update data.
  • the processing unit is specifically configured to: disconnect from the first control node during the process of obtaining update data corresponding to the target software from the first control node, establish a communication connection with the second control node for the target vehicle, and continue to obtain update data from the second control node according to the second indication information; after obtaining the update data, update the target software according to the update data.
  • the processing unit is configured to update the target software according to the second indication information, and the sending unit is also configured to broadcast the first indication information; the receiving unit is also configured to receive the current version information of the target software configured for the second vehicle sent by the second vehicle; the second vehicle establishes a communication connection with the target vehicle; the processing unit is also configured to determine whether the current version information of the target software configured for the second vehicle is the same as the updated version information of the target software according to the current version information sent by the second vehicle; the sending unit is also configured to send a third indication information to the second vehicle if the current version information of the target software configured for the second vehicle is different from the updated version information of the target software; the third indication information is used to indicate the updated version information of the target software.
  • the sending unit is further configured to: send a first response message to the first control node, the first response message being used to indicate that the target software configured in the target vehicle has been updated successfully.
  • a software updating device which is applied to a first control node, and the device includes a sending unit, a receiving unit and a processing unit; the sending unit is configured to broadcast a first indication message after obtaining the updated version information of the target software; the first indication message is used to indicate the current version information of the target software reported by the vehicle; the receiving unit is configured to receive the current version information sent by the target vehicle; the first control node is communicatively connected with the target vehicle; the processing unit is configured to send a second indication message to the target vehicle when it is determined that the current version information of the target software configured in the target vehicle is different from the updated version information of the target software; the second indication message is used to indicate the updated version information of the target software.
  • the processing unit is further configured to: establish a communication connection with a third vehicle; receive a first request message from the third vehicle, the first request message being used to request acquisition of target data, where the target data is all or part of the update data corresponding to the target software; and send the target data to the third vehicle based on the first request message.
  • the first control node includes: any one of a server, a vehicle, and a mobile terminal.
  • the distance between the vehicle and the target vehicle is less than or equal to a preset distance.
  • a software updating device comprising: a processor and a communication interface; the communication interface and the processor are coupled, and the processor is used to run a computer program or instruction to implement the software updating method as described in the first aspect or the second aspect above.
  • a computer-readable storage medium wherein instructions are stored in the computer-readable storage medium.
  • the computer executes the software update method of the first aspect or the second aspect.
  • the software update method provided in the first aspect above brings at least the following beneficial effects: the target vehicle receives a first indication message for indicating the reporting of the version information of the target software, so as to send the current version information of the target software configured by the target vehicle to the first control node that currently establishes a communication connection. Furthermore, the target vehicle receives a second indication message sent by the first control node for indicating the updated version information of the target software, so as to update the target software according to the second indication message. In this way, it is possible to implement software updates for vehicles distributed in various places without the need for users to go to a designated location for professional technicians to perform software updates, thereby improving the update efficiency of vehicle software.
  • FIG1 is a flow chart of a vehicle software upgrade solution according to some embodiments.
  • FIG2 is a block diagram of a network architecture according to some embodiments.
  • FIG3 is a block diagram of a communication module of a vehicle according to some embodiments.
  • FIG4 is a second structural diagram of a communication module of a vehicle according to some embodiments.
  • FIG5 is a third structural diagram of a communication module of a vehicle according to some embodiments.
  • FIG6 is a diagram of one of the vehicle signal transmission processes according to some embodiments.
  • FIG. 7 is a second diagram of a vehicle signal transmission process according to some embodiments.
  • FIG8 is a flowchart of a software update method according to some embodiments.
  • FIG9 is a second flowchart of a software update method according to some embodiments.
  • FIG10 is a third flowchart of a software update method according to some embodiments.
  • FIG11 is a fourth flowchart of a software updating method according to some embodiments.
  • FIG12 is a fifth flowchart of a software updating method according to some embodiments.
  • FIG13 is a sixth flowchart of a software update method according to some embodiments.
  • FIG14 is a seventh flowchart of a software update method according to some embodiments.
  • FIG15 is a flowchart of an eighth method for updating software according to some embodiments.
  • FIG16 is a structural diagram of a software updating device according to some embodiments.
  • FIG17 is a second structural diagram of a software updating device according to some embodiments.
  • FIG. 18 is a block diagram of an electronic device according to some embodiments.
  • first and second are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features.
  • a feature defined as “first” or “second” may explicitly or implicitly include one or more of the features.
  • plural means two or more.
  • the expressions “coupled” and “connected” and their derivatives may be used.
  • the term “connected” may be used to indicate that two or more components are in direct physical or electrical contact with each other.
  • the term “coupled” may be used to indicate that two or more components are in direct physical or electrical contact.
  • the term “coupled” or “communicatively coupled” may also refer to two or more components that are not in direct contact with each other, but still cooperate or interact with each other. The embodiments disclosed herein are not necessarily limited to the contents of this document.
  • At least one of A, B, and C has the same meaning as “at least one of A, B, or C” and both include the following combinations of A, B, and C: A only, B only, C only, the combination of A and B, the combination of A and C, the combination of B and C, and the combination of A, B, and C.
  • a and/or B includes the following three combinations: A only, B only, and a combination of A and B.
  • the term “if” is optionally interpreted to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
  • the phrases “if it is determined that” or “if [a stated condition or event] is detected” are optionally interpreted to mean “upon determining that” or “in response to determining that” or “upon detecting [a stated condition or event]” or “in response to detecting [a stated condition or event],” depending on the context.
  • Over the air technology is a technology that remotely manages the data and applications of the subscriber identity module (SIM) card through the air interface of mobile communication.
  • the air interface can adopt wireless application protocol (WAP), general packet radio service (GPRS), third-generation mobile communication technology (3rd-Generation, 3G), fourth-generation mobile communication technology (4th-Generation, 4G), fifth-generation mobile communication technology (5th-Generation, 5G) and short message technology, as well as point-to-point transmission in non-public networks.
  • the application of OTA technology enables mobile communications to provide not only voice and data services, but also new business downloads.
  • application and content service providers can be free from the limitations of the platform and continuously develop more personalized services that are close to user needs, such as information on demand, interactive entertainment, location services, and banking transactions.
  • OTA technology users only need to perform simple operations on their mobile phones (such as clicking to download an application).
  • the mobile phone can send a request message for requesting the installation data of the application to the server that can provide the installation data of the application.
  • the mobile phone can parse the data and complete the installation of the application, meeting the needs of the user.
  • OAT technology it is possible to obtain various business data required by users from the network.
  • OTA technology can also customize specific services according to the user's wishes.
  • OTA technology can also be applied in multiple technical fields, such as the field of smart home appliances and the field of Internet of Vehicles.
  • the vehicle's software update can be realized.
  • the vehicle's software update may include the vehicle's firmware upgrade.
  • firmware upgrade refers to the upgrade of the embedded firmware of the vehicle's equipment.
  • the device can be a portable device such as a music player, a video player, a navigation device, a main control device, etc. Based on the firmware upgrade, the system performance of the vehicle terminal can be completed, the system stability of the vehicle terminal can be enhanced, and the system vulnerabilities of the vehicle terminal can be repaired.
  • a vehicle can download a firmware package corresponding to the firmware through OTA technology, and upgrade the firmware according to the firmware package.
  • Firmware usually refers to the software that performs the most basic and lowest-level work of a system (for the sake of unified description, it will be collectively referred to as software in the following). With the continuous development of computer technology, the difference between firmware and general applications has become smaller and smaller. That is, in some descriptions, firmware can be regarded as an application.
  • the firmware package usually refers to the system's image compression package.
  • the firmware package can be directly decompressed to obtain the installation data of the new firmware. In this way, the vehicle can use the installation data to replace the original firmware installation data to complete the firmware upgrade.
  • the vehicle when the vehicle's software needs to be updated, the vehicle can be upgraded by a technician through a maintenance device or a storage device (such as a hard disk, a USB flash drive, a spectrum, etc.).
  • the maintenance device is used to access the on-board diagnostics (OBD) interface to detect the software version.
  • OBD on-board diagnostics
  • the vehicle can respond to the technician's update operation, obtain the installation data of the updated software from the maintenance device, and update the vehicle's software according to the installation data.
  • the update operation may refer to the operation of the technician selecting the version information that matches the vehicle from multiple version information of the software.
  • the maintenance device may refer to a device configured with the installation data of the updated software, for example, a computer, a tablet computer, a mobile phone, etc.
  • the memory when a technician uses a memory to upgrade the vehicle's software, the memory may be configured with installation data for the updated software.
  • the vehicle has an interface for accessing/installing the memory, for example, the vehicle may have an optical drive.
  • the vehicle may compare the version information of the software in the memory with the current version information of the vehicle's software to see if they are consistent. If they are inconsistent, the vehicle may perform a software upgrade. If they are consistent, the vehicle may not perform a software upgrade.
  • the version of the software configured in the maintenance device may include software version 1 to software version n.
  • n is a positive integer.
  • FIG1 shows a vehicle software upgrade solution. After the manufacturer upgrades the vehicle software, it will notify the user to go to a designated location for a professional technician to perform the upgrade. After the user's vehicle arrives at the designated location, the technician connects the maintenance device to the vehicle. Furthermore, the technician compares the current software version of the vehicle with the latest software version in the maintenance device. If the current software version of the vehicle is different from the latest software version, the vehicle software is upgraded.
  • the maintenance device can be connected to the OBD interface on the vehicle to achieve connection with the vehicle.
  • the OBD interface can include a universal serial bus (USB) interface, an RS-485 communication interface, a DB9 serial port connection interface, etc.
  • USB universal serial bus
  • the maintenance device when the maintenance device is a CD, the maintenance device can also be connected to the vehicle by placing it in the vehicle's optical drive.
  • a message indicating the upgrade is complete may be output.
  • the message may be output by voice broadcast.
  • the message may be displayed on the display.
  • an embodiment of the present application provides a software update method based on OTA mode, which is applied to vehicles.
  • the method includes: after receiving an indication message for indicating the version information of the software to be reported, the vehicle can report the current version information of the software configured in the vehicle to the control node currently establishing a connection.
  • the control node can send a message to the vehicle to indicate the version information of the upgraded software when the current version of the software configured in the vehicle is inconsistent with the version information of the upgraded software. In this way, the vehicle can download the update data of the upgraded software according to the message and upgrade the software.
  • the vehicle when the vehicle is moving, it receives a download link for the update data of the software sent by the control node, and the vehicle can download the update data of the software according to the download link, and then update according to the downloaded update data. In this way, the vehicle can update the software in a timely manner, which improves the user experience.
  • the vehicle may refer to a vehicle terminal, or may refer to a device in the vehicle in which the software is installed.
  • FIG. 2 shows a schematic diagram of a network architecture provided by an embodiment of the present application.
  • the network architecture may include vehicles (such as vehicle 1, vehicle 2) and control nodes (such as mobile terminals, servers, and vehicles 3).
  • the vehicle can be connected to the control node in communication.
  • the control node is a server or a mobile terminal
  • the vehicle can communicate with the control node through a mobile communication network (such as a 2G/3G/4G/5G network), or can communicate with the control node through a wireless local area network (WLAN) or Bluetooth.
  • WLAN wireless local area network
  • the vehicles can be connected to each other through vehicle-to-x (V2X) wireless communication technology.
  • V2X vehicle-to-x
  • control node stores the updated version information of the target software.
  • the control node can be used to send a message to the vehicle instructing the vehicle to report the version information of the target software.
  • the mobile terminal may be a UE or a mobile station (MS) or a mobile terminal (MT), etc.
  • the mobile terminal may be a mobile phone, a tablet computer, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), or a computer with a wireless transceiver function.
  • MS mobile station
  • MT mobile terminal
  • a mobile terminal may be a mobile phone, a tablet computer, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), or a computer with a wireless transceiver function.
  • UMPC ultra-mobile personal computer
  • PDA personal digital assistant
  • the server may be a cloud server, an OTA server, or a server cluster.
  • the server may be a single server, or a server cluster consisting of multiple servers.
  • the server cluster may also be a distributed cluster.
  • the embodiments of the present application do not limit the specific implementation of the server.
  • the vehicle is used to send the current version information of the target software configured by itself to the control node. Further, the control node is also used to send second indication information to the vehicle to indicate the updated version information of the target software. Accordingly, the vehicle is used to update the target software according to the second indication information.
  • control node may be a mobile terminal, a server, a vehicle, etc.
  • the vehicle stores updated version information of the target software, and the vehicle may serve as a control node to send the first indication information to other vehicles.
  • the vehicle may include a communication module to enable communication with the control node.
  • the communication module includes an antenna, a radio frequency front end, an analog to digital converter (ADC), a digital to analog converter (DAC), and an application specific integrated circuit (ASIC).
  • ADC analog to digital converter
  • DAC digital to analog converter
  • ASIC application specific integrated circuit
  • the antenna may include a transmitting antenna and a receiving antenna.
  • the transmitting antenna may be used to send signals, and the receiving antenna may be used to receive signals.
  • the transmitting antenna and the receiving antenna may be the same antenna or two different antennas. When the transmitting antenna and the receiving antenna are the same antenna, the basic characteristic parameters of the antenna as a transmitter or a receiver are the same, that is, the reciprocity theorem of the antenna.
  • the RF front end can be used to filter and amplify RF signals.
  • the main components in the RF front end include: power amplifier (PA), filter, switch, low noise amplifier (LNA), tuner, duplexer/multiplexer.
  • PA power amplifier
  • LNA low noise amplifier
  • tuner duplexer/multiplexer.
  • RFIC radio frequency integrated circuit
  • ADC is used to convert analog signals into digital signals.
  • ADC can be an AD chip.
  • DAC is used to convert digital signals into analog signals.
  • DAC can be a DA chip.
  • the ADC and DAC may be integrated on one chip, such as an AD and DA chip.
  • a dedicated integrated circuit can be a chip (such as an artificial intelligence (AI) chip).
  • the AI chip can be a field programmable gate array (FPGA) to increase the processing speed of data signals.
  • FPGA can be divided into a processing system (PS) part and a programmable logic (PL) part.
  • PS is the system-on-chip (SOC) part of the ARM processor (advanced Siemens machines) that is not related to the FPGA
  • PL is the FPGA part.
  • the model of the vehicle's FPGA can be configured as needed.
  • the vehicle can be configured with an FPGA model of FMQL45T900. It can be understood that using FPGA as a dedicated integrated circuit can increase the processing speed of the vehicle's communication module.
  • the signal processing process in the communication module may include: after receiving the initial signal, the FPGA processes the initial signal to obtain a digital signal, and transmits the digital signal to the DAC; after receiving the digital signal, the DAC converts the digital signal into an analog signal; then, the analog signal is amplified by the RF front end and sent out by the transmitting antenna.
  • the analog signal is received by the antenna and transmitted to the RF front end.
  • the RF front end performs noise reduction processing on the received analog signal and then passes it through the ADC to convert it into a digital signal, which is then transmitted to the FPGA for processing.
  • high-speed AD and DA chips YA14D170/210/250 can be used as ADC and DAC in the communication module, that is, ADC and DAC are integrated into the chip YA14D170/210/250.
  • the chip YA14D170/210/250 can be used as an ADC to convert the analog signal into a digital signal and then transmit it to the FPGA for processing.
  • the chip YA14D170/210/250 can be used as a DAC to convert the digital signal received from the FPGA into an analog signal, and then transmit it to the RF front end, which is amplified by the RF front end and sent out by the transmitting antenna.
  • the vehicle may further include a signal processing device.
  • the signal processing device may include one or more of a software defined radio (SDR) unit, a usrp hardware driver (UHD) unit, a system library, a system call interface, and a kernel unit.
  • SDR software defined radio
  • UHD usrp hardware driver
  • the main function of the SDR unit is to process the baseband data of the system.
  • the SDR unit transmits data through multiple layers of network protocols, such as the physical (PHY) layer, the medium access control (MAC) layer, the radio link control (RLC) layer, the packet data convergence protocol (PDCP) layer, the radio resource control (RRC), and the network attached storage (NAS) layer.
  • PHY physical
  • MAC medium access control
  • RLC radio link control
  • PDCP packet data convergence protocol
  • RRC radio resource control
  • NAS network attached storage
  • SDR can be used as a signal source or a signal processing end.
  • the signal source can generate an initial signal (that is, the initial signal received by the above-mentioned FPGA).
  • the signal processing end can be used to parse and process the received signal. For example, the signal from the FPGA can be parsed and processed.
  • SDR is a radio broadcast communication technology that is based on software-defined wireless communication protocols rather than hard-wired.
  • frequency bands, air interface protocols and functions can be upgraded through software downloads and updates without completely replacing the hardware.
  • the signal processing device and the communication module may be connected via Universal Serial Bus 3.0 (USB 3.0).
  • USB 3.0 Universal Serial Bus 3.0
  • the signal transmission process may include: the signal processing device sends the baseband data in the system to the transmission control unit in the FPGA through the USB3.0 interface, and the transmission control unit forwards the baseband data to the digital up-conversion unit (DUC) in the FPGA.
  • the digital up-conversion unit performs frequency conversion processing on the baseband data
  • the DAC converts it into analog domain data to complete the digital-to-analog conversion.
  • the converted analog signal is filtered through a low-pass filter to obtain an intermediate frequency analog domain signal.
  • the intermediate frequency analog domain signal is multiplied by the signal generated by the crystal oscillator so that the intermediate frequency analog domain signal is modulated to a preset RF frequency point to form an RF signal.
  • the RF signal is then transmitted by the antenna through the power amplifier.
  • the signal receiving process may include: the vehicle receives an analog signal through a receiving antenna, and the analog signal is multiplied with the signal generated by the crystal oscillator after a low noise amplifier to convert the frequency of the signal into an intermediate frequency signal, and then filtered through a low-pass filter (filter) to obtain a filtered intermediate frequency signal. Further, the intermediate frequency signal is converted into a digital signal by the ADC and sent to the FPGA. At this time, the digital down-conversion unit (DDC) in the FPGA down-converts the digital signal from the intermediate frequency to a baseband signal, and then the receiving control unit in the FPGA sends the baseband signal to the signal processing device through the USB3.0 interface.
  • DDC digital down-conversion unit
  • the method may include S201 to S204 .
  • the first control node After acquiring updated version information of target software, the first control node broadcasts first indication information. Correspondingly, the target vehicle receives the first indication information from the first control node.
  • the first control node may be the control node in FIG. 2 or a device (such as a chip) in the control node.
  • the first control node may be a server, a vehicle, a mobile terminal, etc.
  • the target vehicle may be a vehicle that establishes a communication connection with the first control node.
  • the target vehicle may be vehicle 1 or vehicle 2 in FIG. 2.
  • the distance between the target vehicle and the first control node is less than or equal to the preset distance, that is, the target vehicle is located within the broadcast range of the first control node.
  • the distance between the target vehicle and the first vehicle is less than or equal to the preset distance.
  • the first vehicle may be vehicle 3 in FIG2 .
  • the preset distance is equivalent to the broadcast distance of the first vehicle broadcasting the first instruction message, that is, when the distance between the target vehicle and the first vehicle is less than or equal to the preset distance, the target vehicle can successfully receive the first instruction message broadcast by the first vehicle.
  • the first indication information is used to indicate the current version information of the target software configured by the vehicle or the first indication information can be used to trigger the vehicle to report the current version information of the target software configured.
  • the first indication information may include the identifier of the target software (such as the name, software serial number).
  • the target software can be any vehicle software, for example, the target software can be an application (APP) on the vehicle terminal of the target vehicle, or a vehicle system configured for the target vehicle.
  • the update of the target software by the technician can be an upgrade of the target software or a repair of a vulnerability (BUG) in the target software.
  • APP application
  • BAG repair of a vulnerability
  • the first control node may broadcast the first indication information.
  • the server may determine that the target software is updated in response to an operation by a technician to update the data of the target software stored in the server.
  • the server may actively broadcast the first indication information or broadcast the first indication information in response to a trigger operation by a technician to notify a vehicle configured with the target software to upgrade.
  • the trigger operation may refer to the technician determining that the data of the target software stored in the server has been updated.
  • the trigger operation may be an operation by the technician to disconnect the connection between the device and the server.
  • a technician can use a maintenance device to store the updated target software data in a server, and when the storage is completed, the technician disconnects the maintenance device from the server. Accordingly, the server broadcasts the first indication information in response to the technician disconnecting the device from the server.
  • the technician can also send the upgrade signaling of the target software to the server through the maintenance equipment.
  • the signaling includes the update data of the target software and the updated version information.
  • the server After receiving the upgrade signaling of the target software, the server broadcasts the update data of the target software and the updated version information to multiple vehicles through the OTA gateway.
  • the vehicle when the first control node is a vehicle, after completing the update of the target software configured in the vehicle, the vehicle broadcasts the updated version information in the form of broadcasting. In this way, vehicles whose distance from the vehicle is less than a preset distance can receive the updated version information.
  • a vehicle after a vehicle completes updating of the target software configured on itself, it can broadcast the updated version information to nearby vehicles via a wireless local area network (WiFi), and it can also broadcast the updated version information to nearby vehicles via Bluetooth.
  • WiFi wireless local area network
  • the user can obtain the installation package corresponding to the APP from the server in response to the user's download operation on the mobile terminal, and install the APP according to the installation package.
  • the target vehicle manufacturer updates the target software
  • the latest version information of the target software is sent to the APP of the mobile terminal through the cloud server.
  • the APP on the mobile terminal reminds the user that there is a new version of the target software to be updated.
  • the user can click OK to update on the APP to trigger the update of the target software.
  • the mobile terminal broadcasts the updated version information of the target software to nearby vehicles (including the user's own vehicle) in the form of a broadcast.
  • the mobile terminal may broadcast the updated version information to the attached vehicle through its own hotspot, may broadcast the updated version information to the attached vehicle through Bluetooth, or may broadcast the updated version information through a communication network.
  • S202 The target vehicle sends the current version information of the configured target software to the first control node.
  • the first control node receives the current version information sent by the target vehicle.
  • the current version information of the target software is used to reflect the version of the target software currently installed in the target vehicle.
  • the version information may include a version number for indicating the target software.
  • the version number may include one or more numbers or characters.
  • the version number may be: the protocol name/product name (A) of the target software, the serial number (B), the major version number (C), the minor version number (D), the sub-version number (E), the date version number (F), the stage version number (G), etc.
  • the first control node can detect whether the version information of the target software reported by the target vehicle is the same as the updated version information of the target software. If the two version information are different, the following S203 is executed; if the two version information are the same, the following S203 is not executed, or the above S201 is executed in a loop. In this way, it is possible to ensure that the broadcast range of the first indication information is expanded, thereby covering more vehicles, so that more vehicles can report their own version information in a timely manner.
  • the method of detecting the software version information is also different.
  • the server compares the software version information sent by the target vehicle with the version information stored in the server after the manufacturer updates the target software, and determines whether the two version information are the same.
  • the first vehicle compares the software version information sent by the target vehicle with the version information of the target software configured by itself to determine whether the two version information are the same.
  • the mobile terminal compares the software version information sent by the target vehicle with the updated version information of the target software sent by the server to determine whether the two version information are the same.
  • the first control node may also send a prompt message to the target vehicle to prompt that the target software of the target vehicle is the latest version.
  • S203 The first control node sends second instruction information to the target vehicle.
  • the target vehicle receives the second instruction information sent by the first control node.
  • the second indication information is used to indicate the updated version information of the target software.
  • the second indication information may include version information and/or uniform resource locator (URL).
  • URL uniform resource locator
  • S204 The target vehicle updates the target software according to the second instruction information.
  • the target vehicle updates the target software according to the second indication information, which may refer to the vehicle acquiring update data corresponding to the target software according to the second indication information, and updating the target software according to the acquired update data.
  • the update data corresponding to the target software may be a firmware package.
  • the second indication information includes the updated version information of the target software.
  • the target vehicle After receiving the second indication information, the target vehicle sends a download request information including the updated version information of the target software to the first control node to request downloading of the update data of the target software corresponding to the version information.
  • the first control node After receiving the download request information from the target vehicle, the first control node sends the update data of the target software corresponding to the version information in the download request information to the target vehicle.
  • the target vehicle updates the target software according to the update data.
  • the download request information may also include the current download progress of the target software by the target vehicle.
  • the current download progress is used to reflect the update data of the target software that has been downloaded by the target vehicle.
  • the first control node After receiving the download request information from the target vehicle, the first control node sends the update data of the target software that has not been downloaded by the target vehicle to the target vehicle.
  • the second indication information includes a URL.
  • the target vehicle can obtain the update data corresponding to the target software from the download address corresponding to the URL according to the URL in the second indication information. Further, the target vehicle updates the target software according to the update data.
  • the download address corresponding to the URL can be the first control node or other control nodes.
  • the target vehicle can continue to download the update data from other control nodes by interrupting the transmission.
  • the following embodiments can be described.
  • the target vehicle After acquiring the update data of the target software, the target vehicle updates the target software according to the update data of the target software. For example, the target vehicle may decompress the firmware package to replace the data of the current version of the target software, thereby completing the update of the target software.
  • the target vehicle receives a first indication message for indicating the reporting of the version information of the target software, so as to send the current version information of the target software configured by the target vehicle to the first control node that currently establishes a communication connection. Furthermore, the target vehicle receives a second indication message sent by the first control node for indicating the updated version information of the target software, so as to update the target software according to the second indication information.
  • a first indication message for indicating the reporting of the version information of the target software
  • the target vehicle receives a second indication message sent by the first control node for indicating the updated version information of the target software, so as to update the target software according to the second indication information.
  • the target vehicle may also feed back a first response message to the first control node to indicate that the target software configured by the target vehicle has been successfully updated. Accordingly, after receiving the first response message sent by the target vehicle, the first control node displays that the target vehicle has been successfully updated.
  • the embodiments of the present application introduce a specific update process when the first control node and the target vehicle perform target software update when the first control node is in different forms.
  • Example 1 shows a process of updating target software of a target vehicle when the first control node is a server.
  • the server stores the version information and firmware package of the target software updated by the manufacturer.
  • the target vehicle reports the current version information of the target software configured by itself to the server through the public network.
  • the server compares the version information of the target software updated by the manufacturer with the current version information of the target software reported by the target vehicle to determine whether the two version information are the same.
  • the server sends a second indication information including a URL to the target vehicle to instruct the target vehicle to update the target software.
  • the target vehicle downloads the updated firmware package of the target software from the server through the public network according to the URL in the second indication information, and the server displays the download progress of the target vehicle.
  • the target vehicle After the target vehicle completes downloading the firmware package, it decompresses the firmware package to overwrite the data of the current version of the target software, completes the update of the target software, and feeds back a first response message to the server. Correspondingly, after receiving the first response message fed back by the target vehicle, the server displays that the target vehicle has successfully updated the target software.
  • the target vehicle obtains the updated target software from the server through the public network, and the target software can be automatically upgraded without notifying the user, and the data transmission rate can be guaranteed.
  • Example 2 shows a process of updating target software of a target vehicle when the first control node is a first vehicle.
  • the first vehicle stores target version information and a firmware package of the target software after the update, and the distance between the first vehicle and the target vehicle is less than or equal to a preset distance.
  • the target vehicle reports the current version information of the target software configured by itself to the first vehicle.
  • the first vehicle receives the current version information of the target software reported by the target vehicle, it compares the updated version information of the target software with the current version information of the target software reported by the target vehicle to determine whether the two version information are the same.
  • the first vehicle sends a second indication information including a URL to the target vehicle to instruct the target vehicle to update the target software.
  • the target vehicle downloads the updated firmware package of the target software from the first vehicle according to the URL in the second indication information, and at the same time, the first vehicle displays the download progress of the target vehicle.
  • the target vehicle After the target vehicle completes downloading the firmware package, it decompresses the firmware package to overwrite the data of the current version of the target software, completes the update of the target software, and feeds back a first response message to the first vehicle. Correspondingly, after receiving the first response message fed back by the target vehicle, the first vehicle displays that the target vehicle has successfully updated the target software.
  • the target vehicle obtains the updated target software from the first vehicle, which is beneficial to the blind-spot coverage of the vehicle software upgrade, which is similar to being contagious.
  • the vehicle software upgrade is beneficial to the blind-spot coverage of the vehicle software upgrade, which is similar to being contagious.
  • all vehicles of the same model have the same time and space overlap, and data transmission can be carried out.
  • the vehicle software is upgraded, which no longer relies on the public network, thereby improving the coverage.
  • Example three shows a process of updating target software of a target vehicle when the first control node is a mobile terminal.
  • the mobile terminal stores the updated target software version information and firmware package, and the distance between the mobile terminal and the target vehicle is less than or equal to the preset distance.
  • the target vehicle reports the current version information of the target software configured by itself to the mobile terminal.
  • the mobile terminal After receiving the current version information reported by the target vehicle, the mobile terminal compares the updated version information of the target software with the current version information of the target software reported by the target vehicle to determine whether the two version information are the same. In the case where the version information is different, the mobile terminal sends a second indication information including a URL to the target vehicle to instruct the target vehicle to update the target software. After the target vehicle receives the second indication information, it downloads the updated firmware package of the target software from the mobile terminal according to the URL in the second indication information, and at the same time, the mobile terminal displays the download progress of the target vehicle.
  • the target vehicle After the target vehicle completes downloading the firmware package, it decompresses the firmware package to overwrite the data of the current version of the target software, completes the update of the target software, and feeds back a first response message to the mobile terminal. Correspondingly, after receiving the first response message fed back by the target vehicle, the mobile terminal displays that the target vehicle has successfully updated the target software.
  • the target vehicle obtains the updated target software from the mobile terminal.
  • the APP on the mobile terminal promptly reminds the user so that the user can upgrade the target software in time. And the user can choose whether to upgrade according to his own wishes, which is more in line with human needs and improves the user experience.
  • the target vehicle in order to avoid the target vehicle being disconnected from the first control node during the download process, the target vehicle cannot continue to download the update data of the target software from the first control node, thereby causing the target software update to fail.
  • the target vehicle can continue to download the update data from other control nodes by interrupting the transmission.
  • the above S204 provided in the embodiment of the present application specifically includes the following S2041-S2043:
  • the target vehicle establishes a communication connection with the second control node.
  • the target vehicle in the process of the target vehicle acquiring the update data corresponding to the target software from the first control node, when the distance between the target vehicle and the first control node is greater than a preset distance, the target vehicle is disconnected from the first control node. Further, when the distance between the target vehicle and the second control node is less than or equal to the preset distance, the target vehicle establishes a communication connection with the second control node.
  • the second control node is a control node configured with the updated installation data of the target software.
  • the second control node can be a server, a vehicle, a mobile terminal, etc.
  • the second control node and the first control node can be the same control node or different control nodes.
  • the second control node and the first control node are the same control node, it can refer to that after the target vehicle is disconnected from the first control node, the target vehicle reconnects with the first control node. For example, when the target vehicle stops driving (such as after the vehicle is turned off), the target vehicle cannot continue to communicate normally and is disconnected from the first control node; subsequently, after the target vehicle is started again, the target vehicle can work normally and can reconnect with the first control node.
  • the target vehicle when the target vehicle moves to the broadcast range or coverage range of the first control node, it disconnects from the first control node, and subsequently, the target vehicle enters the broadcast range or coverage range of the first control node again, and reconnects with the first control node.
  • the distance between the target vehicle and the first control node may change during the process of the target vehicle obtaining the update data corresponding to the target software from the first control node.
  • the target vehicle is disconnected from the first control node, and the target vehicle cannot continue to obtain the update data corresponding to the target software from the first control node.
  • the target vehicle establishes a communication connection with the second control node.
  • the first control node is the first vehicle.
  • the distance between the two is greater than the preset distance, thereby causing the target vehicle to be disconnected from the first vehicle.
  • the distance between the target vehicle and the third vehicle is less than or equal to the preset distance, and the target vehicle establishes a communication connection with the third vehicle. That is, the first control node and the second control node are different control nodes.
  • the first control node is the first vehicle.
  • the distance between the two is greater than the preset distance, thereby causing the target vehicle to be disconnected from the first vehicle.
  • the target vehicle enters the coverage range of the first vehicle again, that is, the distance between the target vehicle and the first vehicle is less than or equal to the preset distance again, and the target vehicle and the first vehicle establish a communication connection again. That is, the first control node and the second control node are the same node.
  • S2042 The target vehicle sends a first request message to the second control node.
  • the first request information is used to request to obtain target data, where the target data is all or part of the update data corresponding to the target software.
  • the target vehicle after the target vehicle establishes a communication connection with the second control node, the target vehicle sends a first request message to the second control node to request to obtain all or part of the update data corresponding to the target software.
  • the first request information is used to request to obtain the update data corresponding to the target software that has not been downloaded by the target vehicle.
  • the first request information may include the current download progress of the update data of the target software by the target vehicle. If the target vehicle has not downloaded the update data corresponding to the target software from the first control node when the target vehicle is disconnected from the first control node, the first request information is used to request to obtain all the update data corresponding to the target software.
  • the second control node receives the first request information sent by the target vehicle, and sends the target data to the target vehicle according to the first request information.
  • the target vehicle After acquiring the update data, the target vehicle updates the target software according to the update data.
  • the target vehicle after the target vehicle obtains the target data from the second control node, the target vehicle obtains all the update data of the target software. Further, the target vehicle updates the target software according to the update data corresponding to the target software.
  • the software update method provided in the embodiment of the present application may further include the following S301 - S304 .
  • the target vehicle broadcasts first instruction information.
  • the target vehicle has completed the update of the target software, that is, the target vehicle has the updated version information of the target software. Therefore, the target vehicle can continue to assist other vehicles in updating the target software as the first control node, thereby expanding the update coverage of the target software.
  • the target vehicle receives current version information of target software configured in the second vehicle sent by the second vehicle.
  • the second vehicle establishes a communication connection with the target vehicle.
  • the distance between the second vehicle and the target vehicle is less than or equal to the preset distance.
  • the target vehicle After completing the update of the target software, the target vehicle broadcasts the first indication information to the surrounding vehicles.
  • the surrounding vehicles after receiving the first indication information of the target vehicle, send the current version information of the target software configured by each of them to the target vehicle.
  • the target vehicle determines whether the current version information of the target software configured in the second vehicle is the same as the updated version information of the target software based on the current version information sent by the second vehicle.
  • the third indication information is used to indicate the updated version information of the target software.
  • the target vehicle since the target vehicle has completed the update of the target software at this time, if the version information of the target software reported by the second vehicle is different from the version information of the target software configured by the target vehicle itself, the target vehicle considers that the target software on the second vehicle needs to be updated. Therefore, the target vehicle will send the third indication information to the second vehicle. Correspondingly, after receiving the third indication information, the second vehicle starts the update process for the target software.
  • the third indication information has the same function as the second indication information, which is to indicate the updated version information of the target software to the vehicle so that the vehicle can start the update process of the target software.
  • the second vehicle after receiving the third indication information, the second vehicle will obtain the update data corresponding to the target software from the target vehicle; after receiving the second indication information, the target vehicle will obtain the update data corresponding to the target software from the first control node.
  • the software update method provided in the embodiment of the present application may also include the following S401 - S403 .
  • a first control node establishes a communication connection with a third vehicle.
  • the first control node can also establish a communication connection with a third vehicle to meet the third vehicle's demand for target software update.
  • the first control node receives first request information from a third vehicle.
  • the first request information is used to request to obtain target data, where the target data is all or part of the update data corresponding to the target software.
  • the first control node sends target data to the third vehicle according to the first request information.
  • the target data is all or part of the update data corresponding to the target software.
  • the embodiment of the present application can divide the software update device into functional modules or functional units according to the above method example.
  • each functional module or functional unit can be divided according to each function, or two or more functions can be integrated into one processing module.
  • the above integrated module can be implemented in the form of hardware or in the form of software functional modules or functional units.
  • the division of modules or units in the embodiment of the present application is schematic, which is only a logical function division. There may be other division methods in actual implementation.
  • FIG. 16 it is a schematic diagram of the structure of a software updating device provided in an embodiment of the present application.
  • the software updating device is applied to a target vehicle, and the device includes: a receiving unit 501 , a sending unit 502 and a processing unit 503 .
  • the receiving unit 501 is configured to receive a first indication message; the first indication message is used to indicate the version information of the target software to be reported; the sending unit 502 is configured to send the current version information of the target software configured for the target vehicle to the first control node that currently establishes a communication connection; the receiving unit 501 is also configured to receive a second indication message sent by the first control node; the second indication message is used to indicate the updated version information of the target software; the processing unit 503 is configured to update the target software according to the second indication message.
  • the first control node includes: any one of a server, a first vehicle, and a mobile terminal; wherein the first vehicle includes updated version information of the target software.
  • a distance between the first vehicle and the target vehicle is less than or equal to a preset distance.
  • the receiving unit 501 is specifically configured to: receive a first indication message sent by the mobile terminal; the first indication message is generated by the mobile terminal in response to a first operation of the user, and the first operation is an operation in which the user updates the version information of the target software.
  • the second indication information includes a uniform resource location URL, which is associated with the updated version information; the processing unit 503 is specifically configured to: obtain update data corresponding to the target software from the first control node according to the URL, and update the target software according to the update data.
  • the processing unit 503 is specifically configured to: disconnect from the first control node during the process of obtaining update data corresponding to the target software from the first control node, establish a communication connection with the second control node for the target vehicle, and continue to obtain update data from the second control node according to the second indication information; after obtaining the update data, update the target software according to the update data.
  • the processing unit 503 is configured to update the target software according to the second indication information, and the sending unit 502 is also configured to broadcast the first indication information; the receiving unit 501 is also configured to receive the current version information of the target software configured for the second vehicle sent by the second vehicle; the second vehicle establishes a communication connection with the target vehicle; the processing unit 503 is also configured to determine whether the current version information of the target software configured for the second vehicle is the same as the updated version information of the target software according to the current version information sent by the second vehicle; the sending unit 502 is also configured to send a third indication information to the second vehicle when the current version information of the target software configured for the second vehicle is different from the updated version information of the target software; the third indication information is used to indicate the updated version information of the target software.
  • the sending unit 502 is further configured to: send a first response message to the first control node, and the first response message is used to indicate that the target software configured in the target vehicle is updated successfully.
  • FIG. 17 it is another structural diagram of a software updating device provided in an embodiment of the present application.
  • the software updating device is applied to a first control node.
  • the device includes: a sending unit 601 , a receiving unit 602 and a processing unit 603 .
  • the sending unit 601 is configured to broadcast a first indication message after acquiring the updated version information of the target software; the first indication message is used to indicate the current version information of the target software reported and configured by the vehicle; the receiving unit 602 is configured to receive the current version information sent by the target vehicle; the first control node is communicatively connected with the target vehicle; the processing unit 603 is configured to send a second indication message to the target vehicle when it is determined that the current version information of the target software configured in the target vehicle is different from the updated version information of the target software; the second indication message is used to indicate the updated version information of the target software.
  • the processing unit 603 is further configured to: establish a communication connection with a third vehicle; receive a first request message from the third vehicle, the first request message being used to request acquisition of target data, where the target data is all or part of the update data corresponding to the target software; and send the target data to the third vehicle based on the first request message.
  • the first control node includes: any one of a server, a vehicle, and a mobile terminal.
  • the distance between the vehicle and the target vehicle is less than or equal to a preset distance.
  • the receiving unit 501 and the sending unit 502 in FIG. 16 can be integrated on the communication interface, and the processing unit 503 can be integrated on the processor.
  • the sending unit 601 and the receiving unit 602 in FIG. 17 can be integrated on the communication interface, and the processing unit 603 can be integrated on the processor.
  • the specific implementation is shown in FIG. 18.
  • FIG18 shows a schematic diagram of the structure of another possible communication device of the software update device involved in the above embodiment.
  • the communication device includes: a processor 1102 and a communication interface 1103.
  • the processor 1102 is used to control and manage the actions of the device, for example, to execute the steps performed by the above processing unit 603, and/or to execute other processes of the technology described herein.
  • the communication interface 1103 is used to support the communication between the device and other network entities, for example, to execute the steps performed by the above receiving unit 602.
  • the device may also include a memory 1101 and a bus 1104, and the memory 1101 is used to store program codes and data of the device.
  • the memory 1101 can be a memory in the device, etc., and the memory can include a volatile memory, such as a random access memory; the memory can also include a non-volatile memory, such as a read-only memory, a flash memory, a hard disk or a solid-state drive; the memory can also include a combination of the above types of memory.
  • a volatile memory such as a random access memory
  • the memory can also include a non-volatile memory, such as a read-only memory, a flash memory, a hard disk or a solid-state drive
  • the memory can also include a combination of the above types of memory.
  • the processor 1102 may be a processor that implements or executes various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application.
  • the processor may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application.
  • the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
  • the bus 1104 may be an Extended Industry Standard Architecture (EISA) bus, etc.
  • EISA Extended Industry Standard Architecture
  • the bus 1104 may be divided into an address bus, a data bus, a control bus, etc.
  • FIG18 only uses one thick line, but does not mean that there is only one bus or one type of bus.
  • the device in FIG18 may also be a chip, which includes one or more than two (including two) processors 1102 and a communication interface 1103 .
  • the chip further includes a memory 1101, which may include a read-only memory and a random access memory, and provides operation instructions and data to the processor 1102.
  • a portion of the memory 1101 may also include a non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the memory 1101 stores the following elements, execution modules or data structures, or a subset thereof, or an extended set thereof.
  • the corresponding operation is performed by calling the operation instruction stored in the memory 1101 (the operation instruction may be stored in the operating system).
  • Some embodiments of the present disclosure provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium), which stores computer program instructions.
  • a computer e.g., an electronic device
  • the computer executes the software update method as described in any of the above embodiments.
  • the above-mentioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or magnetic tapes, etc.), optical disks (e.g., CD (Compact Disk), DVD (Digital Versatile Disk), etc.), smart cards and flash memory devices (e.g., EPROM (Erasable Programmable Read-Only Memory), cards, sticks or key drives, etc.).
  • the various computer-readable storage media described in the present disclosure may represent one or more devices and/or other machine-readable storage media for storing information.
  • the term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and/or carrying instructions and/or data.
  • Some embodiments of the present disclosure also provide a computer program product, for example, the computer program product is stored on a non-transitory computer-readable storage medium.
  • the computer program product includes computer program instructions, and when the computer program instructions are executed on a computer (for example, an electronic device), the computer program instructions cause the computer to execute the software update method as described in the above embodiments.
  • Some embodiments of the present disclosure further provide a computer program.
  • the computer program When the computer program is executed on a computer (eg, an electronic device), the computer program enables the computer to execute the software updating method described in the above embodiments.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit 503, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Landscapes

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

Abstract

本申请关于一种软件更新方法及装置,涉及计算机技术领域。本申请用以解决现有技术中车辆软件更新流程繁琐、更新效率低的问题。该方法包括:目标车辆接收用于指示上报目标软件的版本信息的第一指示消息;目标车辆向当前建立通信连接的第一控制节点发送目标车辆配置的目标软件的当前版本信息;进一步的,目标车辆接收第一控制节点发送的第二指示信息;第二指示信息用于指示目标软件更新后的版本信息;目标车辆根据第二指示信息,更新目标软件。

Description

软件更新方法及装置 技术领域
本公开涉及计算机技术领域,尤其涉及一种软件更新方法及装置。
背景技术
随着智能网联技术在车辆上的应用,车辆软件的更新速度在不断加快。但是,目前对于车辆软件的升级与维护,通常需要用户驾驶车辆到指定地点,由专业的技术人员来完成。这样一来,使得升级车辆软件较为繁琐、升级效率低下。
发明内容
第一方面,提供一种软件更新方法,应用于目标车辆,该方法包括:目标车辆接收用于指示上报目标软件的版本信息的第一指示消息;目标车辆向当前建立通信连接的第一控制节点发送目标车辆配置的目标软件的当前版本信息;进一步的,目标车辆接收第一控制节点发送的第二指示信息;第二指示信息用于指示目标软件更新后的版本信息;目标车辆根据第二指示信息,更新目标软件。
在一些实施例中,第一控制节点包括:服务器、第一车辆以及移动终端中的任意一个;其中,第一车辆包括目标软件的更新后的版本信息。
在一些实施例中,在第一控制节点为第一车辆的情况下,第一车辆与目标车辆之间的距离小于或者等于预设距离。
在一些实施例中,在第一控制节点为移动终端的情况下,上述“目标车辆接收第一指示消息”的方法具体包括:目标车辆接收移动终端发送的第一指示消息;第一指示消息为移动终端响应于用户的第一操作生成的,第一操作为用户更新目标软件的版本信息的操作。
在一些实施例中,第二指示信息包括统一资源定位URL,URL与更新的版本信息关联;上述“目标车辆根据第二指示信息,更新目标软件”的方法具体包括:根据URL,从第一控制节点中获取目标软件对应的更新数据,并根据更新数据更新目标软件。
在一些实施例中,上述“目标车辆根据第二指示信息,更新目标软件”的方法具体包括:在目标车辆从第一控制节点获取目标软件对应的更新数据的过程中,与第一控制节点断开连接,目标车辆建立与第二控制节点的通信连接,并根据第二指示信息,从第二控制节点继续获取更新数据;在获取到更新数据之后,根据更新数据,更新目标软件。
在一些实施例中,目标车辆根据第二指示信息,更新目标软件之后,该方法还包括:目标车辆广播第一指示信息;目标车辆接收第二车辆发送的第二车辆配置的目标软件的当前版本信息;第二车辆与目标车辆建立通信连接;目标车辆根据第二车辆发送的当前版本信息,确定第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息是否相同;在第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,目标车辆向第二车辆发送第三指示信息;第三指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,目标车辆根据第二指示信息,更新目标软件之后,该方法还包括:向第一控制节点发送第一响应消息,第一响应消息用于指示目标车辆配置的目标软件更新成功。
第二方面,提供一种软件更新方法,应用于第一控制节点,该方法包括:第一控制节点在获取到目标软件的更新后的版本信息后,广播第一指示信息;第一指示信息用于指示车辆上报配置的目标软件的当前版本信息;第一控制节点接收目标车辆发送的当前版本信息;第一控制节点与目标车辆通信连接;在确定目标车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,第一控制节点向目标车辆发送第二指示信息;第二指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,该方法还包括:第一控制节点建立与第三车辆的通信连接;第一控制节点接收来自第三车辆的第一请求信息,第一请求信息用于请求获取目标数据,目标数据为目标软件对应的更新数据的全部或部分数据;第一控制节点根据第一请求信息,向第三车辆发送目标数据。
在一些实施例中,第一控制节点包括:服务器、车辆以及移动终端中的任意一个。
在一些实施例中,在第一控制节点为车辆的情况下,车辆与目标车辆之间的距离小于或者等于预设距离。
第三方面,提供一种软件更新装置,应用于目标车辆,装置包括接收单元、发送单元以及处理单元;接收单元,被配置为接收第一指示消息;第一指示消息用于指示上报目标软件的版本信息;发送单元,被配置为向当前建立通信连接的第一控制节点发送目标车辆配置的目标软件的当前版本信息;接收单元,还被配置为接收第一控制节点发送的第二 指示信息;第二指示信息用于指示目标软件更新后的版本信息;处理单元,被配置为根据第二指示信息,更新目标软件。
在一些实施例中,第一控制节点包括:服务器、第一车辆以及移动终端中的任意一个;其中,第一车辆包括目标软件的更新后的版本信息。
在一些实施例中,在第一控制节点为第一车辆的情况下,第一车辆与目标车辆之间的距离小于或者等于预设距离。
在一些实施例中,在第一控制节点为移动终端的情况下,接收单元,具体被配置为:接收移动终端发送的第一指示消息;第一指示消息为移动终端响应于用户的第一操作生成的,第一操作为用户更新目标软件的版本信息的操作。
在一些实施例中,第二指示信息包括统一资源定位URL,URL与更新的版本信息关联;处理单元,具体被配置为:根据URL,从第一控制节点中获取目标软件对应的更新数据,并根据更新数据更新目标软件。
在一些实施例中,处理单元,具体被配置为:从第一控制节点获取目标软件对应的更新数据的过程中,与第一控制节点断开连接,目标车辆建立与第二控制节点的通信连接,并根据第二指示信息,从第二控制节点继续获取更新数据;在获取到更新数据之后,根据更新数据,更新目标软件。
在一些实施例中,处理单元被配置为根据第二指示信息,更新目标软件之后,发送单元,还被配置为广播第一指示信息;接收单元,还被配置为接收第二车辆发送的第二车辆配置的目标软件的当前版本信息;第二车辆与目标车辆建立通信连接;处理单元,还被配置为根据第二车辆发送的当前版本信息,确定第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息是否相同;发送单元,还被配置为在第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,向第二车辆发送第三指示信息;第三指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,处理单元被配置为根据第二指示信息,更新目标软件之后,发送单元还被配置为:向第一控制节点发送第一响应消息,第一响应消息用于指示目标车辆配置的目标软件更新成功。
第四方面,提供一种软件更新装置,应用于第一控制节点,装置包括发送单元、接收单元以及处理单元;发送单元,被配置为在获取到目标软件的更新后的版本信息后,广播第一指示信息;第一指示信息用于 指示车辆上报配置的目标软件的当前版本信息;接收单元,被配置为接收目标车辆发送的当前版本信息;第一控制节点与目标车辆通信连接;处理单元,被配置为在确定目标车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,向目标车辆发送第二指示信息;第二指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,处理单元,还被配置为:建立与第三车辆的通信连接;接收来自第三车辆的第一请求信息,第一请求信息用于请求获取目标数据,目标数据为目标软件对应的更新数据的全部或部分数据;根据第一请求信息,向第三车辆发送目标数据。
在一些实施例中,第一控制节点包括:服务器、车辆以及移动终端中的任意一个。
在一些实施例中,在第一控制节点为车辆的情况下,车辆与目标车辆之间的距离小于或者等于预设距离。
第五方面,提供一种软件更新装置,包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如上述第一方面或者第二方面的软件更新方法。
第六方面,提供一种计算机可读存储介质,其中,计算机可读存储介质中存储有指令,当计算机执行指令时,计算机执行上述第一方面或者第二方面的软件更新方法。
上述第一方面提供的软件更新方法至少带来以下有益效果:目标车辆接收用于指示上报目标软件的版本信息的第一指示消息,以向当前建立通信连接的第一控制节点发送目标车辆配置的目标软件的当前版本信息。进一步,目标车辆接收第一控制节点发送的用于指示目标软件更新后的版本信息第二指示信息,以根据第二指示信息,更新目标软件。如此一来,可以实现对分布在各地的车辆进行软件更新,而无需用户到指定地点由专业的技术人员进行软件更新,进而提高了车辆软件的更新效率。
附图说明
为了更清楚地说明本公开中的技术方案,下面将对本公开一些实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例的附图,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。此外,以下描述中的附图可以视作示意图,并非对本公开实施例所涉及的产品的实际尺寸、方法的实际流 程、信号的实际时序等的限制。
图1为根据一些实施例的车辆软件的升级方案的流程图;
图2为根据一些实施例的网络架构的结构图;
图3为根据一些实施例的车辆的通信模块的结构图之一;
图4为根据一些实施例的车辆的通信模块的结构图之二;
图5为根据一些实施例的车辆的通信模块的结构图之三;
图6为根据一些实施例的车辆信号的发射过程图之一;
图7为根据一些实施例的车辆信号的发射过程图之二;
图8为根据一些实施例的软件更新方法的流程图之一;
图9为根据一些实施例的软件更新方法的流程图之二;
图10为根据一些实施例的软件更新方法的流程图之三;
图11为根据一些实施例的软件更新方法的流程图之四;
图12为根据一些实施例的软件更新方法的流程图之五;
图13为根据一些实施例的软件更新方法的流程图之六;
图14为根据一些实施例的软件更新方法的流程图之七;
图15为根据一些实施例的软件更新方法的流程图之八;
图16为根据一些实施例的软件更新装置的结构图之一;
图17为根据一些实施例的软件更新装置的结构图之二;
图18为根据一些实施例的电子设备的结构图。
具体实施方式
下面将结合附图,对本公开一些实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开所提供的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
除非上下文另有要求,否则,在整个说明书和权利要求书中,术语“包括(comprise)”及其其他形式例如第三人称单数形式“包括(comprises)”和现在分词形式“包括(comprising)”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例(one embodiment)”、“一些实施例(some embodiments)”、“示例性实施例(exemplary embodiments)”、“示例(example)”、“特定示例(specific example)”或“一些示例(some examples)”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本公开的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。此外,所述的特定特征、结 构、材料或特点可以以任何适当方式包括在任何一个或多个实施例或示例中。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在描述一些实施例时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施例时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施例时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”或“通信耦合(communicatively coupled)”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施例并不必然限制于本文内容。
“A、B和C中的至少一个”与“A、B或C中的至少一个”具有相同含义,均包括以下A、B和C的组合:仅A,仅B,仅C,A和B的组合,A和C的组合,B和C的组合,及A、B和C的组合。
“A和/或B”,包括以下三种组合:仅A,仅B,及A和B的组合。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
以下,对本申请实施例涉及的名词进行解释,以方便读者理解。
空中下载技术(over the air technology,OTA):是一种通过移动通信的空中接口对用户身份识别卡(subscriber identity module,SIM)卡数据及应用进行远程管理的技术。空中接口可以采用无线应用协议(wireless application protocol,WAP)、通用分组无线服务(general packet radio service,GPRS)、第三代移动通信技术(3rd-Generation,3G)、第四代移动通信技术(4rd-Generation,4G)、第五代移动通信技术(5rd-Generation,5G)及短消 息技术,以及非公网的点对点传输。
OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。这样一来,应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务,如信息点播、互动娱乐、位置服务以及银行交易等服务。通过OTA技术,用户只需要对手机进行简单操作(如点击下载某个应用程序),响应于用户的操作,手机就可以向能够提供应用程序的安装数据的服务器发送用于请求获取应用程序的安装数据的请求信息。后续,手机在接收到来自服务器的安装数据之后,就可以解析该数据,进而完成应用程序的安装,满足了用户的需求。由此可见,基于OAT技术,可以实现从网络获取与用户所需要的各种业务数据。当然,OTA技术还可以根据用户的意愿定制具体业务。
OTA技术还可以应用在多个技术领域,比如,智能家电领域、车联网领域。当OTA技术应用于车联网领域时,可以实现车辆的软件更新。其中,车辆的软件更新可以包括车辆的固件升级。具体的,固件升级,指的是对车辆的设备的内嵌固件的升级。该设备可以为音乐播放设备、视频播放设备、导航设备、主控设备等便携式设备。基于固件的升级,可以实现对车辆终端的系统性能进行完成,以及增强车辆终端的系统稳定性、修补车辆终端的系统漏洞等。
一种示例中,车辆可以通过OTA技术下载固件对应的固件包,并根据该固件包实现固件的升级。
固件通常指担任着一个系统最基础、最底层工作的软件(为了统一描述,后续统称为软件),随着计算机技术的不断发展,固件与一般的应用程序的区别已经越来越小。也即,在一些描述中,可以将固件作为应用程序。
固件包通常指系统的镜像压缩包。车辆在进行固件升级时,可以将固件包直接解压缩处理,得到新的固件的安装数据。如此,车辆可以使用该安装数据替换原来固件的安装数据,以完成固件升级。
随着智能网联技术在车辆上的应用,车辆的软件的更新速度在不断加快。从近些年的车辆召回问题来看,如今的车辆召回的原因已从传统的硬件故障延展到了系统程序和软件的设计问题。
一种可能的实现方式中,当车辆的软件需要更新时,车辆可以由技术人员通过维护设备或存储器(如硬盘、U盘、光谱等)对车辆进行软件升级操作。比如,利用维护设备接入车载自诊断系统(on-board diagnostics,OBD)接口进行软件版本的检测。若车辆的软件与更新后的软件不同(比如,车辆 当前安装的软件的版本信息与更新后的版本信息不同),车辆可以响应于技术人员的更新操作,从维护设备中获取到更新后的软件的安装数据,并根据该安装数据对车辆的软件进行更新。其中,更新操作可以是指技术人员从软件的多个版本信息中选择与车辆匹配的版本信息的操作。
其中,维护设备可以是指配置有更新后的软件的安装数据的设备。例如,维护设备可以包括计算机、平板电脑、手机等。
在一些场景下,当技术人员使用存储器对车辆的软件升级时,存储器可以配置有更新后的软件的安装数据。车辆具有接入/安装存储器的接口,例如,车辆可以具有光驱。当车辆通过该光驱读取存储器中的数据时,车辆可以对比该存储器中的软件的版本信息与车辆的软件当前的版本信息是否一致。若不一致,则车辆可以进行软件升级。若一致,则车辆可以不进行软件升级。
具体的,如图1所示,维护设备配置的软件的版本可以包括软件版本1~软件版本n。n为正整数。图1示出了一种车辆软件的升级方案。厂家对车辆软件进行升级后,会通知用户到指定地点由专业的技术人员进行升级处理。用户车辆到达指定地点后,技术人员将维护设备与车辆连接。进一步,技术人员将车辆当前的软件版本与维护设备中最新的软件版本进行对比,若车辆当前的软件版与最新的软件版本不同,则对车辆进行软件升级。
其中,维护设备可以接入车辆上的OBD接口,实现与车辆的连接。OBD接口可以包括通用串行总线(universal serial bus,USB)接口、RS-485通信接口、DB9串口连接接口等。另外,在维护设备为光盘的情况下,维护设备还可以通过放置到车辆的光驱中,与车辆进行连接。
一些实施例中,当车辆完成软件升级之后,可以输出升级完成的消息。例如,可以通过语音播报的方式输出该消息。或者,在车辆具有显示器的情况下,可以通过显示器显示该消息。
可见,上述方式对车辆软件的升级与维护,需要用户驾驶车辆到达指定地点,由专业的技术人员来完成。这样一来,使得升级车辆软件较为繁琐、升级效率低下。同时,在车辆距离指定地点较远时,需要浪费用户的时间,且若需要升级的软件与驾驶安全相关,给用户带来了驾驶风险。因此,降低了用户的体验。
鉴于此,本申请实施例提供了一种基于OTA方式的软件更新方法,应用于车辆。该方法包括:车辆在接收用于指示上报软件的版本信息的指示消息后,可以向当前建立连接的控制节点上报车辆配置的软件的当前版本信息。控制节点可以在车辆配置的软件当前版本与升级的软件的版本信息不一致的 情况下,向车辆发送用于指示软件升级后的版本信息的消息。这样一来,车辆可以根据该消息下载升级后的软件的更新数据,并对该软件进行升级。比如,车辆在移动过程中,接收到来自控制节点发送软件的更新数据的下载链接,车辆便可以根据该下载链接下载软件的更新数据,进而根据下载的更新数据进行更新。如此,车辆可以及时更新软件,提高了用户的体验。
需要说明的是,本申请实施例中,车辆可以是指车辆终端,或者可以是指车辆中安装有软件的设备。
下面结合附图对本申请实施例提供的方法进行详细说明。
图2示出了本申请实施例提供的一种网络架构的示意图。如图2所示,该网络架构可以包括车辆(如车辆1、车辆2)以及控制节点(如移动终端、服务器、车辆3)。其中,车辆可以与控制节点通信连接。例如,当控制节点为服务器或移动终端时,车辆可以通过移动通信网络(例如2G/3G/4G/5G网络)与控制节点进行通信,也可以通过无线局域网络(wireless local area networks,WLAN)、蓝牙与控制节点进行通信。又例如,当控制节点为其他车辆时,车辆之间可以通过车用无线通信技术(vehicle to x,V2X)通信连接。本申请实施例对车辆与控制节点之间的通信方式不作限定。
需要说明的,控制节点中存储有目标软件的更新后的版本信息。控制节点可以用于向车辆发送指示车辆上报目标软件的版本信息的消息。
其中,移动终端可以为UE或者移动台(mobile station,MS)或者移动终端(mobile terminal,MT)等。具体的,移动终端可以是手机(mobile phone)、平板电脑、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)或带无线收发功能的电脑。
服务器可以为云服务器、OTA服务器,也可以为服务器集群。服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请实施例对服务器的具体实现方式也不作限制。
其中,车辆用于向控制节点发送自身配置的目标软件的当前版本信息。进一步的,控制节点还用于向车辆发送第二指示信息,以指示目标软件更新后的版本信息。相应的,车辆用于根据第二指示信息,更新目标软件。
在实际应用中,控制节点可以为移动终端、服务器、车辆等。在控制节点为车辆的情况下,该车辆存储有目标软件更新后的版本信息,该车辆可以作为控制节点向其他车辆发送第一指示信息。
车辆可以包括通信模块,以实现与控制节点的通信。通信模块包括天线、射频前端、模数转换器(analog to digital converter,ADC)、数模转换器(digital to analog converter,DAC)以及专用集成电路(application specific integrated circuit,ASIC)。
其中,天线可以包括发射天线和接收天线。发射天线可以用于发送信号,接收天线可以用于接收信号。发射天线和接收天线可以为同一天线,也可以为不同的两个天线。在发射天线和接收天线为同一天线的情况下下,该天线作为发射或接收的基本特性参数是相同的,即天线的互易定理。
射频前端可以用于对射频信号进行过滤和放大。射频前端中主要器件包括:功率放大器(power amplifier,PA)、滤波器(filter)、开关(switch)、低噪音放大器(low noise amplifier,LNA)、调谐器(tuner)、双/多工器(du/multiplexer)。为了使射频前端的尺寸更小,上述器件可以集成在一个电路中,形成射频集成电路(radio frequency integrated circuit,RFIC)。
ADC用于将模拟信号转变为数字信号。例如,ADC可以为AD芯片。
DAC用于将数字信号转变为模拟信号。例如,DAC可以为DA芯片。
在一些实施例中,ADC和DAC可以集成在一个芯片上,如,AD与DA芯片。
专用集成电路,可以为芯片(如人工智能(artificial intelligence,AI)芯片)。AI芯片可以为现场可编程逻辑门阵列(field programmable gate array,FPGA),以提高数据信号的处理速度。FPGA可分为处理系统(processing system,PS)部分以及可编程逻辑(progarmmable logic,PL)部分。其中,PS就是与FPGA无关的ARM处理器(advanced risc machines)的系统级芯片(system on chip,SOC)的部分;PL就是FPGA部分。在实际应用中,车辆的FPGA的型号可以根据需要配置。例如,车辆可以配置型号为FMQL45T900的FPGA。可以理解的,采用FPGA作为专用集成电路,可以提高车辆的通信模块的处理速度。
如图3所示,当通信模块中信号的处理过程可以包括:FPGA在接收到初始信号之后,对该初始信号进行处理,得到数字信号,并向DAC传输该数字信号;DAC在接收到来自数字信号之后,将该数字信号转变为模拟信号;然后,模拟信号经射频前端放大后由发射天线发出。
如图4所示,当车辆接收控制节点发送的信号时,模拟信号由天线接收并传递至射频前端,射频前端对接收到的模拟信号进行降噪处理后经过ADC,转变为数字信号,再传输至FPGA进行处理。
在实际应用中,可以采用高速率的AD与DA芯片YA14D170/210/250,作为通信模块中的ADC与DAC,即将ADC与DAC集成于芯片YA14D170/210/250中。如图5所示,当通信模块通过接收天线接收到接收信号时,芯片YA14D170/210/250可以作为ADC,将模拟信号转变为数字信号再传输至FPGA进行处理。当通信模块发送信号时,芯片YA14D170/210/250可以作为DAC,可以将接收到的来自FPGA的数字信号转变为模拟信号,再传输至射频前端,由射频前端放大后由发射天线发出。
一些实施例中,车辆还可以包括信号处理装置。信号处理装置可以包括软件定义的无线电(software defined radio,SDR)单元、软件无线电驱动(usrp hardware driver,UHD)单元、系统库、系统调用接口、内核(kernel)单元中的一个或多个。
其中,SDR单元的主要功能为处理系统的基带数据。SDR单元内部通过多层网络协议进行数据传输,例如物理(physical,PHY)层、媒体接入控制(medium access control,MAC)层、无线链路控制(radio link control,RLC)层、分组数据汇聚协议(packet data convergence protocol,PDCP)层、无线资源控制(radio resource control,RRC)、网络附属存储(network attached storage,NAS)层。SDR可以作为信号产生源或信号处理端。信号产生源可以产生初始信号(也即,上述FPGA接收到的初始信号)。信号处理端可以用于对接收到的信号进行解析处理。例如,可以对来自FPGA的信号进行解析处理。
需要说明的,SDR是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。换言之,频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。
作为一种实现方式,信号处理装置与通信模块可以通过通用串行总线3.0(USB3.0)连接。
一种示例中,当车辆发射信号时,如图6所示,信号的发射过程可以包括:信号处理装置将系统中的基带数据通过USB3.0接口,发送至FPGA中的发送控制单元,发送控制单元将基带数据转发至FPGA中的数字上变频单元(DUC),数字上变频单元对基带数据进行变频处理后,由DAC转换为模拟域的数据,以完成数模转换。进一步的,转换后的模拟信号经过低通滤波器(filter)进行滤波处理,得到中频模拟域信号。中频模拟域信号在与晶振产生的信号相乘,以使中频模拟域信号调制到预设的射频频点上,形成射频信号。射频信号再经过功率放大器由天线发射出去。
又一种示例中,当车辆接收信号时,如图7所示,信号的接收过程可以包括:车辆通过接收天线接收模拟信号,模拟信号经过低噪放后与晶振产生的信号相乘,以使信号的频率变为中频信号,再经过低通滤波器(filter)进行滤波处理,得到滤波后的中频信号。进一步的,中频信号由ADC转换为数字信号后,被送入FPGA中。此时,FPGA中的数字下变频单元(DDC)将数字信号从中频下变频到基带信号,再由FPGA中的接收控制单元将基带信号通过USB3.0接口发送至信号处理装置。
下面结合图2所示的网络架构,对本申请实施例提供的软件更新方法进行说明。
如图8所示,为本申请实施例提供的一种软件更新方法,该方法可以包括S201~S204。
S201、第一控制节点在获取到目标软件的更新后的版本信息后,广播第一指示信息。相应的,目标车辆接收来自第一控制节点的第一指示信息。
其中,第一控制节点可以为图2中的控制节点或控制节点中的器件(如芯片)。第一控制节点可以为服务器、车辆、移动终端等。目标车辆可以为与第一控制节点建立通信连接的车辆。例如,目标车辆可以为图2中的车辆1或车辆2。
需要说明的,当第一控制节点为车辆时,目标车辆与第一控制节点之间的距离小于或者等于预设距离,即目标车辆位于第一控制节点的广播范围内。
例如,在第一控制节点为第一车辆的情况下,目标车辆与第一车辆之间的距离小于或者等于预设距离。第一车辆可以为图2中的车辆3。该预设距离相当于第一车辆广播第一指示消息的广播距离,即当目标车辆与第一车辆之间的距离小于或者等于预设距离时,目标车辆可以成功接收到第一车辆广播的第一指示消息。
其中,第一指示信息用于指示车辆上报配置的目标软件的当前版本信息或者第一指示信息可以用于触发车辆上报配置的目标软件的当前版本信息。例如,第一指示信息可以包括目标软件的标识(如名称、软件序列号)。
需要说明的,目标软件可以为任意一款车辆软件,例如,目标软件可以为目标车辆上车载终端的应用程序(application,APP),还可以为目标车辆配置的车机系统。技术人员对目标软件的更新,可以是对目标软件的升级,也可以是对目标软件存在的漏洞(BUG)进行的修复。
作为一种可能的实现方式,第一控制节点在确定目标软件更新之后,可以广播第一指示信息。
一种示例中,当第一控制节点为服务器时,服务器可以响应于技术人员更新服务器存储的目标软件的数据的操作,确定目标软件更新。服务器可以主动广播第一指示信息或者响应于技术人员的触发操作广播第一指示信息,用以通知配置有该目标软件的车辆进行升级。触发操作可以是指技术人员确定服务器存储的目标软件的数据已更新完成。例如,触发操作可以为技术人员断开设备与服务器之间的连接的操作。
例如,结合图1的实现方式,技术人员可以利用维护设备将更新的目标软件的数据存储到服务器中,当存储完成后,技术人员断开维护设备与服务器的连接。相应的,服务器响应于技术人员断开设备与服务器之间的连接的操作,广播第一指示信息。
结合图9的实现方式,技术人员还可以通过维护设备向服务器下发目标软件的升级信令,该信令中包含目标软件的更新数据以及更新后的版本信息,服务器在接收到目标软件的升级信令之后,将目标软件的更新数据以及更新后的版本信息通过OTA网关向多个车辆广播。
又一种示例中,当第一控制节点为车辆时,该车辆在完成对自身配置的目标软件的更新后,以广播的形式广播更新后的版本信息。如此,与该车辆之间的距离小于预设距离的车辆便可以接收到该更新后的版本信息。
例如,车辆在完成对自身配置的目标软件的更新后,可以通过无线局域网(WiFi)对附近车辆广播更新后的版本信息,还可以通过蓝牙对附近车辆广播更新后的版本信息。
又一种示例中,当第一控制节点为移动终端时(如智能手机、智能手表等),用户在移动终端可以响应于用户的下载操作,从服务器中获取APP对应的安装包,并根据该安装包实现APP的安装。当目标车辆厂家对目标软件进行更新后,通过云服务器将目标软件的最新版本信息发送至移动终端的APP上。移动终端接收到云服务器发送的目标软件的最新版本信息后,通过移动终端上的APP提醒用户目标软件有新版本待更新。用户可以在该APP上点击确定更新,以触发目标软件的更新。相应的,移动终端在接收到用户点击的确定更新操作后,以广播的形式对附近车辆(包括用户自身的车辆)广播目标软件更新后的版本信息。
例如,移动终端可以通过自身热点对附件车辆广播更新后的版本信息,还可以通过蓝牙对附件车辆广播更新后的版本信息,还可以通过通信网络广播更新后的版本信息。
S202、目标车辆向第一控制节点发送配置的目标软件的当前版本信息。 相应的,第一控制节点接收目标车辆发送的当前版本信息。
其中,目标软件的当前版本信息用于反映目标车辆当前安装的目标软件的版本。比如,版本信息可以包括用于指示目标软件的版本号。例如,版本号可以包括一个或多个数字或字符。比如,版本号可以为:目标软件的协议名/产品名(A)、系列号(B)、主版本号(C)、副版本号(D)、子版本号(E)、日期版本号(F)、阶段版本号(G)等。
一种示例中,第一控制节点在接收到来自目标车辆上报的目标软件的版本信息之后,可以检测目标车辆上报的目标软件的版本信息与目标软件的更新后的版本信息是否相同。若两个版本信息不同,执行下述S203;若两个版本信息相同,则不执行下述S203,或者,循环执行上述S201。如此,可以保证扩大第一指示信息的广播范围,进而覆盖到更多的车辆,使得更多的车辆可以及时上报自身的版本信息。
需要说明的是,当第一控制节点为不同的设备时,检测软件的版本信息的方式也不同。
例如,当第一控制节点为服务器时,服务器将目标车辆发送的软件版本信息与厂家对目标软件更新后存储在服务器中的版本信息进行对比,判断两个版本信息是否相同。
又例如,当第一控制节点为第一车辆时,第一车辆将目标车辆发送的软件版本信息,与自身配置的目标软件的版本信息进行对比,判断两个版本信息是否相同。
又例如,当第一控制节点为移动终端时,移动终端将目标车辆发送的软件版本信息,与服务器下发的目标软件的更新后的版本信息进行对比,判断两个版本信息是否相同。
可选的,若确定目标车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息相同,第一控制节点还可以向目标车辆发送提示信息,以提示目标车辆的目标软件为最新版本。
S203、第一控制节点向目标车辆发送第二指示信息。相应的,目标车辆接收第一控制节点发送的第二指示信息。
其中,第二指示信息用于指示目标软件更新后的版本信息。例如,第二指示信息可以包括版本信息和/或者统一资源定位(uniform resource locator,URL)。
S204、目标车辆根据第二指示信息,更新目标软件。
其中,目标车辆根据第二指示信息,更新目标软件可以是指车辆根据第 二指示信息获取目标软件对应的更新数据,并根据获取到的更新数据更新所述目标软件。目标软件对应的更新数据可以为固件包。目标车辆在接收到第一控制节点发送的第二指示信息后,从第一控制节点中下载目标软件对应的最新版本的固件包。
一种示例中,第二指示信息包括目标软件更新后的版本信息。目标车辆在接收到第二指示信息后,向第一控制节点发送包括目标软件更新后的版本信息的下载请求信息,以请求下载对应版本信息的目标软件的更新数据。第一控制节点在接收到目标车辆的下载请求信息之后,将下载请求信息中版型信息对应的目标软件的更新数据发送至目标车辆。目标车辆接收到目标软件的更新数据后,根据更新数据更新目标软件。
可选的,下载请求信息中还可以包括目标车辆对目标软件的当前下载进度。其中,当前下载进度用于反映目标车辆已下载的目标软件的更新数据。第一控制节点在接收到目标车辆的下载请求信息之后,将目标车辆对目标软件的未下载部分的更新数据发送至目标车辆。
另一种示例中,第二指示信息包括URL。目标车辆在接收到第一控制节点发送的第二指示信息后,可以根据第二指示信息中的URL,从该URL对应的下载地址中获取目标软件对应的更新数据。进一步的,目标车辆根据更新数据更新目标软件。其中,URL对应的下载地址可以为第一控制节点,也可以为其他控制节点。
在目标车辆根据第二指示信息下载目标软件的安装数据的过程中,若目标车辆与第一控制节点断开连接,则目标车辆可以通过中断传输的方式从其他控制节点继续下载更新数据。具体的,可以下述实施例的描述。
目标车辆在获取到目标软件的更新数据之后,依据目标软件的更新数据对目标软件进行更新。例如,目标车辆可以将固件包解压缩,以替换掉目标软件当前版本的数据,从而完成对目标软件的更新。
上述实施例至少带来以下有益效果:目标车辆接收用于指示上报目标软件的版本信息的第一指示消息,以向当前建立通信连接的第一控制节点发送所述目标车辆配置的所述目标软件的当前版本信息。进一步,所述目标车辆接收所述第一控制节点发送的用于指示所述目标软件更新后的版本信息第二指示信息,以根据所述第二指示信息,更新所述目标软件。如此一来,可以实现对分布在各地的车辆进行软件更新,而无需用户驾驶车辆到指定地点由专业的技术人员进行软件更新,进而提高了车辆软件的更新效率。
一些实施例中,目标车辆在完成对目标软件的更新之后,还可以向第一 控制节点反馈第一响应消息,以指示目标车辆配置的目标软件更新成功。相应的,第一控制节点接收到目标车辆发送的第一响应消息之后,显示目标车辆更新成功。
为了方便理解,本申请实施例对第一控制节点为不同形式的情况下,第一控制节点与目标车辆进行目标软件更新时,具体更新流程作出介绍。
示例一,如图10所示,示出了第一控制节点为服务器时,目标车辆进行目标软件更新的流程。
其中,服务器中存储有厂家更新后的目标软件的版本信息以及固件包。
目标车辆通过公网向服务器上报自身配置的目标软件的当前版本信息。服务器接收到目标车辆上报的当前版本信息后,将厂家更新后的目标软件的版本信息与目标车辆上报的目标软件的当前版本信息进行对比,以判断两个版本信息是否相同。在版本信息不同的情况下,服务器向目标车辆发送包括URL的第二指示信息,以指示目标车辆对目标软件进行更新。目标车辆在接收到第二指示信息后,则根据第二指示信息中的URL,通过公网从服务器中下载目标软件更新后的固件包,同时,服务器显示目标车辆的下载进度。目标车辆下载完成固件包后,将该固件包进行解压缩,以覆盖掉目标软件当前版本的数据,完成对目标软件的更新,并向服务器反馈第一响应消息。相应的,服务器在接收到目标车辆反馈的第一响应消息后,显示目标车辆对目标软件更新成功。
可以理解的,上述示例中目标车辆通过公网从服务器中获取更新后的目标软件,无需通知用户,便可进行目标软件的自动升级,且数据传输速率可以得到保障。
示例二,如图11所示,示出了第一控制节点为第一车辆时,目标车辆进行目标软件更新的流程。
其中,第一车辆中存储有目标软件更新后的目版本信息以及固件包,且第一车辆与目标车辆之间的距离小于或者等于预设距离。
目标车辆向第一车辆上报自身配置的目标软件的当前版本信息。第一车辆接收到目标车辆上报的目标软件的当前版本信息后,将更新后的目标软件的版本信息与目标车辆上报的目标软件的当前版本信息进行对比,以判断两个版本信息是否相同。在版本信息不同的情况下,第一车辆向目标车辆发送包括URL的第二指示信息,以指示目标车辆对目标软件进行更新。目标车辆在接收到第二指示信息后,则根据第二指示信息中的URL从第一车辆中下载目标软件更新后的固件包,同时,第一车辆显示目标车辆的下载进度。目标 车辆下载完成固件包后,将该固件包进行解压缩,以覆盖掉目标软件当前版本的数据,完成对目标软件的更新,并向第一车辆反馈第一响应消息。相应的,第一车辆在接收到目标车辆反馈的第一响应消息后,显示目标车辆对目标软件更新成功。
可以理解的,上述示例中目标车辆通过从第一车辆中获取更新后的目标软件,有利于车辆软件升级的无盲点覆盖,类似具有传染性,当部分车辆升级以后,所有的同款车辆有相同的时空重叠时,便可以进行数据传输,当数据传输完成后进行车辆软件升级,不再依赖于公网,提升了覆盖范围。
示例三,如图12所示,示出了第一控制节点为移动终端时,目标车辆进行目标软件更新的流程。
其中,移动终端中存储有目标软件更新后的目版本信息以及固件包,且移动终端与目标车辆之间的距离小于或者等于预设距离。
目标车辆向移动终端上报自身配置的目标软件的当前版本信息。移动终端接收到目标车辆上报的当前版本信息后,将更新后的目标软件的版本信息与目标车辆上报的目标软件的当前版本信息进行对比,以判断两个版本信息是否相同。在版本信息不同的情况下,移动终端向目标车辆发送包括URL的第二指示信息,以指示目标车辆对目标软件进行更新。目标车辆接收到第二指示信息后,则根据第二指示信息中的URL从移动终端中下载目标软件更新后的固件包,同时,移动终端显示目标车辆的下载进度。目标车辆下载完成固件包后,将该固件包进行解压缩,以覆盖掉目标软件当前版本的数据,完成对目标软件的更新,并向移动终端反馈第一响应消息。相应的,移动终端在接收到目标车辆反馈的第一响应消息后,显示目标车辆对目标软件更新成功。
可以理解的,上述示例中目标车辆通过从移动终端中获取更新后的目标软件,当目标软件出现新版本后,通过移动终端上的APP及时提醒用户,以使用户可以及时的对目标软件进行升级。且用户可以根据自己的意愿选择是否升级,更加符合人性化需求,提升了用户体验。
一些实施例中,为了避免出现在下载过程中,目标车辆与第一控制节点断开连接,目标车辆无法继续从第一控制节点中下载目标软件的更新数据进而导致目标软件更新失败。目标车辆可以通过中断传输的方式从其他控制节点继续下载更新数据。如图13所示,本申请实施例提供的上述S204,具体包括下述S2041-S2043:
S2041、目标车辆建立与第二控制节点的通信连接。
作为一种可能的实现方式,在目标车辆从第一控制节点获取目标软件对应的更新数据的过程中,当目标车辆与第一控制节点之间的距离大于预设距离时,目标车辆与第一控制节点断开连接。进一步的,当目标车辆与第二控制节点之间的距离小于或者等于预设距离时,目标车辆建立与第二控制节点的通信连接。第二控制节点为配置有目标软件的更新后的安装数据的控制节点。第二控制节点可以为服务器、车辆、移动终端等。
需要说明的,第二控制节点与第一控制节点可以为同一个控制节点,也可以为不同的控制节点。当第二控制节点与第一控制节点为同一控制节点时,可以是指目标车辆与第一控制节点断开连接之后,目标车辆再次与第一控制节点建立连接。比如,当目标车辆停止驾驶(如车辆熄火后),目标车辆无法继续正常通信,与第一控制节点断开连接;后续,目标车辆再次启动后,目标车辆可以正常工作,可以与第一控制节点再次建立连接。又比如,当目标车辆移动至第一控制节点的广播范围或覆盖范围后,断开与第一控制节点建立连接,后续的,目标车辆再次驶入第一控制节点的广播范围或覆盖范围,并再次建立与第一控制节点的连接。
可以理解的,由于车辆具有移动性,因此在目标车辆从第一控制节点获取目标软件对应的更新数据的过程中,目标车辆与第一控制节点之间的距离存在变化的可能,当目标车辆与第一控制节点之间的距离大于预设距离时,目标车辆与第一控制节点断开连接,此时目标车辆无法继续从第一控制节点中获取目标软件对应的更新数据。当目标车辆与第二控制节点之间的距离小于或者等于预设距离时,目标车辆则建立与第二控制节点的通信连接。
示例性的,第一控制节点为第一车辆,在目标车辆从第一车辆获取目标软件对应的更新数据的过程中,由于目标车辆或者第一车辆的移动,使得二者之间的距离大于预设距离,进而导致目标车辆与第一车辆断开连接。进一步的,目标车辆与第三车辆之间的距离小于或者等于预设距离,目标车辆建立与第三车辆的通信连接。也即,第一控制节点和第二控制节点为不同的控制节点。
又一例性的,第一控制节点为第一车辆,在目标车辆从第一车辆获取目标软件对应的更新数据的过程中,由于目标车辆或者第一车辆的移动,使得二者之间的距离大于预设距离,进而导致目标车辆与第一车辆断开连接。进一步的,目标车辆又驶入了第一车辆的覆盖范围内,即目标车辆与第一车辆之间的距离再次小于或者等于预设距离,此时目标车辆与第一车辆再次建立通信连接。也即,第一控制节点和第二控制节点为同一节点。
S2042、目标车辆向第二控制节点发送第一请求信息。
其中,第一请求信息用于请求获取目标数据,目标数据为目标软件对应的更新数据的全部或部分数据。
作为一种可能的实现方式,目标车辆建立与第二控制节点的通信连接之后,目标车辆向第二控制节点发送第一请求信息,以请求获取目标软件对应的更新数据的全部或部分数据。
可选的,若目标车辆与第一控制节点断开连接时,已经从第一控制节点中下载了部分目标软件对应的更新数据,则第一请求信息则用于请求获取目标车辆未下载部分的目标软件对应的更新数据。例如,第一请求信息可以包括目标车辆对目标软件的更新数据的当前下载进度。若目标车辆与第一控制节点断开连接时,未从第一控制节点中下载目标软件对应的更新数据,则第一请求信息则用于请求获取目标软件对应的全部更新数据。
相应的,第二控制节点接收目标车辆发送的第一请求信息,并根据第一请求信息向目标车辆发送目标数据。
S2043、目标车辆在获取到更新数据之后,根据更新数据,更新目标软件。
作为一种可能的实现方式,目标车辆从第二控制节点获取到目标数据后,目标车辆即得到了目标软件的全部更新数据。进一步的,目标车辆则依据目标软件对应的更新数据,对目标软件进行更新。
在一种设计中,如图14所示,目标车辆在完成对目标软件的更新之后,本申请实施例提供的软件更新方法,还可以包括下述S301-S304。
S301、目标车辆广播第一指示信息。
可以理解的,此时目标车辆已完成了对目标软件的更新,即目标车辆已具备了目标软件的更新后的版本信息,因此目标车辆可以作为第一控制节点继续辅助其他车辆进行目标软件的更新,进而扩大了目标软件的更新覆盖范围。
S302、目标车辆接收第二车辆发送的第二车辆配置的目标软件的当前版本信息。
其中,第二车辆与目标车辆建立通信连接。
可以理解的,第二车辆与目标车辆之间的距离小于或者等于预设距离。目标车辆在完成对目标软件的更新后,向周边车辆广播第一指示信息。相应的,周边车辆在接收到目标车辆的第一指示信息后,则向目标车辆发送各自配置的目标软件的当前版本信息。
S303、目标车辆根据第二车辆发送的当前版本信息,确定第二车辆配置 的目标软件的当前版本信息与目标软件的更新后的版本信息是否相同。
此步骤的具体实现方式可以参考上述S203,此处不再赘述。
S304、在第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,目标车辆向第二车辆发送第三指示信息。
其中,第三指示信息用于指示目标软件更新后的版本信息。
可以理解的,由于目标车辆此时已完成了目标软件的更新,因此若第二车辆上报的目标软件的版本信息与目标车辆自身配置的目标软件的版本信息不同,目标车辆则认为第二车辆上的目标软件需要更新。因此,目标车辆将向第二车辆发送第三指示信息。相应的,第二车辆在接收到第三指示信息后,开启对目标软件的更新流程。
需要说明的,第三指示信息与第二指示信息的作用相同,均是为了向车辆指示目标软件更新后的版本信息,以使车辆开启对目标软件的更新流程。不同之处在于,第二车辆在接收到第三指示信息之后,将从目标车辆中获取目标软件对应的更新数据;目标车辆在接收到第二指示信息之后,将从第一控制节点中获取目标软件对应的更新数据。
在一种设计中,如图15所示,本申请实施例提供的软件更新方法,还可以包括下述S401-S403。
S401、第一控制节点建立与第三车辆的通信连接。
可以理解的,第一控制节点在与目标车辆进行目标软件的更新流程之外,还可以与第三车辆建立通信连接,以满足第三车辆对目标软件的更新需求。
S402、第一控制节点接收来自第三车辆的第一请求信息。
其中,第一请求信息用于请求获取目标数据,目标数据为目标软件对应的更新数据的全部或部分数据。
此步骤的具体实现方式可以参考上述S2052,此处不再赘述。
S403、第一控制节点根据第一请求信息,向第三车辆发送目标数据。
其中,目标数据为目标软件对应的更新数据的全部或部分数据。
此步骤的具体实现方式可以参考上述S2052,此处不再赘述。
需要指出的是,本申请各实施例之间可以相互借鉴或参考,例如,相同或相似的步骤,方法实施例、系统实施例和装置实施例之间,均可以相互参考,不予限制。
本申请实施例可以根据上述方法示例对软件更新装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既 可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图16所示,为本申请实施例提供的一种软件更新装置的结构示意图,该软件更新装置应用于目标车辆,该装置包括:接收单元501、发送单元502以及处理单元503。
接收单元501,被配置为接收第一指示消息;第一指示消息用于指示上报目标软件的版本信息;发送单元502,被配置为向当前建立通信连接的第一控制节点发送目标车辆配置的目标软件的当前版本信息;接收单元501,还被配置为接收第一控制节点发送的第二指示信息;第二指示信息用于指示目标软件更新后的版本信息;处理单元503,被配置为根据第二指示信息,更新目标软件。
在一些实施例中,第一控制节点包括:服务器、第一车辆以及移动终端中的任意一个;其中,第一车辆包括目标软件的更新后的版本信息。
在一些实施例中,在第一控制节点为第一车辆的情况下,第一车辆与目标车辆之间的距离小于或者等于预设距离。
在一些实施例中,在第一控制节点为移动终端的情况下,接收单元501,具体被配置为:接收移动终端发送的第一指示消息;第一指示消息为移动终端响应于用户的第一操作生成的,第一操作为用户更新目标软件的版本信息的操作。
在一些实施例中,第二指示信息包括统一资源定位URL,URL与更新的版本信息关联;处理单元503,具体被配置为:根据URL,从第一控制节点中获取目标软件对应的更新数据,并根据更新数据更新目标软件。
在一些实施例中,处理单元503,具体被配置为:从第一控制节点获取目标软件对应的更新数据的过程中,与第一控制节点断开连接,目标车辆建立与第二控制节点的通信连接,并根据第二指示信息,从第二控制节点继续获取更新数据;在获取到更新数据之后,根据更新数据,更新目标软件。
在一些实施例中,处理单元503被配置为根据第二指示信息,更新目标软件之后,发送单元502,还被配置为广播第一指示信息;接收单元501,还被配置为接收第二车辆发送的第二车辆配置的目标软件的当前版本信息;第二车辆与目标车辆建立通信连接;处理单元503,还被配置为根据第二车辆发送的当前版本信息,确定第二车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息是否相同;发送单元502,还被配置为在第二车辆配置 的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,向第二车辆发送第三指示信息;第三指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,处理单元503被配置为根据第二指示信息,更新目标软件之后,发送单元502还被配置为:向第一控制节点发送第一响应消息,第一响应消息用于指示目标车辆配置的目标软件更新成功。
如图17所示,为本申请实施例提供的软件更新装置的另一种结构示意图,该软件更新装置应用于第一控制节点,该装置包括:发送单元601、接收单元602以及处理单元603。
发送单元601,被配置为在获取到目标软件的更新后的版本信息后,广播第一指示信息;第一指示信息用于指示车辆上报配置的目标软件的当前版本信息;接收单元602,被配置为接收目标车辆发送的当前版本信息;第一控制节点与目标车辆通信连接;处理单元603,被配置为在确定目标车辆配置的目标软件的当前版本信息与目标软件的更新后的版本信息不同的情况下,向目标车辆发送第二指示信息;第二指示信息用于指示目标软件更新后的版本信息。
在一些实施例中,处理单元603,还被配置为:建立与第三车辆的通信连接;接收来自第三车辆的第一请求信息,第一请求信息用于请求获取目标数据,目标数据为目标软件对应的更新数据的全部或部分数据;根据第一请求信息,向第三车辆发送目标数据。
在一些实施例中,第一控制节点包括:服务器、车辆以及移动终端中的任意一个。
在一些实施例中,在第一控制节点为车辆的情况下,车辆与目标车辆之间的距离小于或者等于预设距离。
在通过硬件实现时,上述图16中的接收单元501、发送单元502可以集成在通信接口上,处理单元503可以集成在处理器上。或者,上述图17中的发送单元601、接收单元602可以集成在通信接口上,处理单元603可以集成在处理器上。具体实现方式如图18所示。
图18示出了上述实施例中所涉及的软件更新装置的又一种可能的通信装置的结构示意图。该通信装置包括:处理器1102和通信接口1103。处理器1102用于对装置的动作进行控制管理,例如,执行上述处理单元603执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口1103用于支持装置与其他网络实体的通信,例如,执行上述接收单元602执行的步骤。该 装置还可以包括存储器1101和总线1104,存储器1101用于存储装置的程序代码和数据。
其中,存储器1101可以是该装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器1102可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1104可以是扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图18中的装置还可以为芯片。该芯片包括一个或两个以上(包括两个)处理器1102和通信接口1103。
可选的,该芯片还包括存储器1101,存储器1101可以包括只读存储器和随机存取存储器,并向处理器1102提供操作指令和数据。存储器1101的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器1101存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器1101存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
本公开的一些实施例提供了一种计算机可读存储介质(例如,非暂态计算机可读存储介质),该计算机可读存储介质中存储有计算机程序指令,计算机程序指令在计算机(例如,电子设备)上运行时,使得计算机执行如上述实施例中任一实施例所述的软件更新方法。
示例性的,上述计算机可读存储介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,CD(Compact Disk,压缩盘)、 DVD(Digital Versatile Disk,数字通用盘)等),智能卡和闪存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。本公开描述的各种计算机可读存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读存储介质。术语“机器可读存储介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本公开的一些实施例还提供了一种计算机程序产品,例如,该计算机程序产品存储在非瞬时性的计算机可读存储介质上。该计算机程序产品包括计算机程序指令,在计算机(例如,电子设备)上执行该计算机程序指令时,该计算机程序指令使计算机执行如上述实施例所述的软件更新方法。
本公开的一些实施例还提供了一种计算机程序。当该计算机程序在计算机(例如,电子设备)上执行时,该计算机程序使计算机执行如上述实施例所述的软件更新方法。
上述计算机可读存储介质、计算机程序产品及计算机程序的有益效果和上述一些实施例所述的软件更新方法的有益效果相同,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元503中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (25)

  1. 一种软件更新方法,其特征在于,应用于目标车辆,所述目标车辆配置有目标软件,所述方法包括:
    所述目标车辆接收第一指示消息;所述第一指示消息用于指示上报目标软件的版本信息;
    所述目标车辆向当前建立通信连接的第一控制节点发送所述目标车辆配置的所述目标软件的当前版本信息;
    所述目标车辆接收所述第一控制节点发送的第二指示信息;所述第二指示信息用于指示所述目标软件更新后的版本信息;
    所述目标车辆根据所述第二指示信息,更新所述目标软件。
  2. 根据权利要求1所述的软件更新方法,其特征在于,所述第一控制节点包括:服务器、第一车辆以及移动终端中的任意一个;其中,所述第一车辆包括所述目标软件的更新后的版本信息。
  3. 根据权利要求2所述的软件更新方法,其特征在于,在所述第一控制节点为所述第一车辆的情况下,所述第一车辆与所述目标车辆之间的距离小于或者等于预设距离。
  4. 根据权利要求2所述的软件更新方法,其特征在于,在所述第一控制节点为所述移动终端的情况下,所述目标车辆接收第一指示消息,包括:
    所述目标车辆接收所述移动终端发送的所述第一指示消息;所述第一指示消息为所述移动终端响应于用户的第一操作生成的,所述第一操作为所述用户更新所述目标软件的版本信息的操作。
  5. 根据权利要求1所述的软件更新方法,其特征在于,所述第二指示信息包括统一资源定位URL,所述URL与更新的版本信息关联;所述目标车辆根据所述第二指示信息,更新所述目标软件,包括:
    根据所述URL,从所述第一控制节点中获取所述目标软件对应的更新数据,并根据所述更新数据更新所述目标软件。
  6. 根据权利要求1所述的软件更新方法,其特征在于,所述目标车辆根据所述第二指示信息,更新所述目标软件,包括:
    在所述目标车辆从所述第一控制节点获取所述目标软件对应的更新数据的过程中,与所述第一控制节点断开连接,所述目标车辆建立与第二控制节 点的通信连接,并根据所述第二指示信息,从所述第二控制节点继续获取所述更新数据;
    在获取到所述更新数据之后,根据所述更新数据,更新所述目标软件。
  7. 根据权利要求1-6中任一项所述的软件更新方法,其特征在于,所述目标车辆根据所述第二指示信息,更新所述目标软件之后,所述方法还包括:
    所述目标车辆广播所述第一指示信息;
    所述目标车辆接收第二车辆发送的所述第二车辆配置的所述目标软件的当前版本信息;所述第二车辆与所述目标车辆建立通信连接;
    所述目标车辆根据所述第二车辆发送的当前版本信息,确定所述第二车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息是否相同;
    在所述第二车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息不同的情况下,所述目标车辆向所述第二车辆发送第三指示信息;所述第三指示信息用于指示所述目标软件更新后的版本信息。
  8. 根据权利要求1-6中任一项所述的软件更新方法,其特征在于,所述目标车辆根据所述第二指示信息,更新所述目标软件之后,所述方法还包括:
    向所述第一控制节点发送第一响应消息,所述第一响应消息用于指示所述目标车辆配置的目标软件更新成功。
  9. 一种软件更新方法,其特征在于,应用于第一控制节点,所述方法包括:
    所述第一控制节点在获取到目标软件的更新后的版本信息后,广播第一指示信息;所述第一指示信息用于指示车辆上报配置的所述目标软件的当前版本信息;
    所述第一控制节点接收目标车辆发送的当前版本信息;所述第一控制节点与所述目标车辆通信连接;所述目标车辆配置有目标软件;
    在确定所述目标车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息不同的情况下,所述第一控制节点向所述目标车辆发送第二指示信息;所述第二指示信息用于指示所述目标软件更新后的版本信息。
  10. 根据权利要求9所述的软件更新方法,其特征在于,所述方法还包括:
    所述第一控制节点建立与第三车辆的通信连接;
    所述第一控制节点接收来自所述第三车辆的第一请求信息,所述第一请求信息用于请求获取目标数据,所述目标数据为所述目标软件对应的更新数据的全部或部分数据;
    所述第一控制节点根据所述第一请求信息,向所述第三车辆发送所述目标数据。
  11. 根据权利要求10所述的软件更新方法,其特征在于,在所述第一控制节点为车辆的情况下,所述车辆与所述目标车辆之间的距离小于或者等于预设距离。
  12. 一种软件更新装置,其特征在于,应用于目标车辆,所述目标车辆配置有目标软件,所述装置包括接收单元、发送单元以及处理单元;
    所述接收单元,被配置为接收第一指示消息;所述第一指示消息用于指示上报目标软件的版本信息;
    所述发送单元,被配置为向当前建立通信连接的第一控制节点发送所述目标车辆配置的所述目标软件的当前版本信息;
    所述接收单元,还被配置为接收所述第一控制节点发送的第二指示信息;所述第二指示信息用于指示所述目标软件更新后的版本信息;
    所述处理单元,被配置为根据所述第二指示信息,更新所述目标软件。
  13. 根据权利要求12所述的软件更新装置,其特征在于,所述第一控制节点包括:服务器、第一车辆以及移动终端中的任意一个;其中,所述第一车辆包括所述目标软件的更新后的版本信息。
  14. 根据权利要求13所述的软件更新装置,其特征在于,在所述第一控制节点为所述第一车辆的情况下,所述第一车辆与所述目标车辆之间的距离小于或者等于预设距离。
  15. 根据权利要求13所述的软件更新装置,其特征在于,在所述第一控制节点为所述移动终端的情况下,所述接收单元,具体被配置为:
    接收所述移动终端发送的所述第一指示消息;所述第一指示消息为所述移动终端响应于用户的第一操作生成的,所述第一操作为所述用户更新所述目标软件的版本信息的操作。
  16. 根据权利要求12所述的软件更新装置,其特征在于,所述第二指示信息包括统一资源定位URL,所述URL与更新的版本信息关联;所述处理单元,具体被配置为:
    根据所述URL,从所述第一控制节点中获取所述目标软件对应的更新数据,并根据所述更新数据更新所述目标软件。
  17. 根据权利要求12所述的软件更新装置,其特征在于,所述处理单元,具体被配置为:
    从所述第一控制节点获取所述目标软件对应的更新数据的过程中,与所述第一控制节点断开连接,所述目标车辆建立与第二控制节点的通信连接,并根据所述第二指示信息,从所述第二控制节点继续获取所述更新数据;
    在获取到所述更新数据之后,根据所述更新数据,更新所述目标软件。
  18. 根据权利要求12-17中任一项所述的软件更新装置,其特征在于,所述处理单元被配置为根据所述第二指示信息,更新所述目标软件之后,所述发送单元,还被配置为广播所述第一指示信息;
    所述接收单元,还被配置为接收第二车辆发送的所述第二车辆配置的所述目标软件的当前版本信息;所述第二车辆与所述目标车辆建立通信连接;
    所述处理单元,还被配置为根据所述第二车辆发送的当前版本信息,确定所述第二车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息是否相同;
    所述发送单元,还被配置为在所述第二车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息不同的情况下,向所述第二车辆发送第三指示信息;所述第三指示信息用于指示所述目标软件更新后的版本信息。
  19. 根据权利要求12-17中任一项所述的软件更新装置,其特征在于,所述处理单元被配置为根据所述第二指示信息,更新所述目标软件之后,所述发送单元还被配置为:
    向所述第一控制节点发送第一响应消息,所述第一响应消息用于指示所述目标车辆配置的目标软件更新成功。
  20. 一种软件更新装置,其特征在于,应用于第一控制节点,所述装置包括发送单元、接收单元以及处理单元;
    所述发送单元,被配置为在获取到目标软件的更新后的版本信息后,广播第一指示信息;所述第一指示信息用于指示车辆上报配置的所述目标软件的当前版本信息;
    所述接收单元,被配置为接收目标车辆发送的当前版本信息;所述第一控制节点与所述目标车辆通信连接;
    所述处理单元,被配置为在确定所述目标车辆配置的所述目标软件的当前版本信息与所述目标软件的更新后的版本信息不同的情况下,向所述目标车辆发送第二指示信息;所述第二指示信息用于指示所述目标软件更新后的版本信息。
  21. 根据权利要求20所述的软件更新装置,其特征在于,所述处理单元,还被配置为:
    建立与第三车辆的通信连接;
    接收来自所述第三车辆的第一请求信息,所述第一请求信息用于请求获取目标数据,所述目标数据为所述目标软件对应的更新数据的全部或部分数据;
    根据所述第一请求信息,向所述第三车辆发送所述目标数据。
  22. 根据权利要求20或21所述的软件更新装置,其特征在于,所述第一控制节点包括:服务器、车辆以及移动终端中的任意一个。
  23. 根据权利要求22所述的软件更新装置,其特征在于,在所述第一控制节点为所述车辆的情况下,所述车辆与所述目标车辆之间的距离小于或者等于预设距离。
  24. 一种软件更新装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1-8或者9-11中任一项所述的软件更新方法。
  25. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行所述指令时,所述计算机执行上述权利要求1-8或者9-11中任一项所述的软件更新方法。
PCT/CN2022/126282 2022-10-19 2022-10-19 软件更新方法及装置 WO2024082191A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2022/126282 WO2024082191A1 (zh) 2022-10-19 2022-10-19 软件更新方法及装置
CN202280003649.1A CN118318223A (zh) 2022-10-19 2022-10-19 软件更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/126282 WO2024082191A1 (zh) 2022-10-19 2022-10-19 软件更新方法及装置

Publications (1)

Publication Number Publication Date
WO2024082191A1 true WO2024082191A1 (zh) 2024-04-25

Family

ID=90736590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/126282 WO2024082191A1 (zh) 2022-10-19 2022-10-19 软件更新方法及装置

Country Status (2)

Country Link
CN (1) CN118318223A (zh)
WO (1) WO2024082191A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493294A (zh) * 2018-05-15 2019-11-22 上海擎感智能科技有限公司 车载电路模块的更新方法、系统、可读存储介质、及终端
CN111638894A (zh) * 2020-05-12 2020-09-08 博泰车联网(南京)有限公司 一种软件升级方法、装置及计算机存储介质
CN112099845A (zh) * 2020-09-21 2020-12-18 华人运通(上海)云计算科技有限公司 软件版本更新方法、服务器、车辆和计算机存储介质
CN114125000A (zh) * 2021-11-15 2022-03-01 深圳市元征科技股份有限公司 车辆ecu升级的方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493294A (zh) * 2018-05-15 2019-11-22 上海擎感智能科技有限公司 车载电路模块的更新方法、系统、可读存储介质、及终端
CN111638894A (zh) * 2020-05-12 2020-09-08 博泰车联网(南京)有限公司 一种软件升级方法、装置及计算机存储介质
CN112099845A (zh) * 2020-09-21 2020-12-18 华人运通(上海)云计算科技有限公司 软件版本更新方法、服务器、车辆和计算机存储介质
CN114125000A (zh) * 2021-11-15 2022-03-01 深圳市元征科技股份有限公司 车辆ecu升级的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN118318223A (zh) 2024-07-09

Similar Documents

Publication Publication Date Title
KR100663538B1 (ko) 무선 단말에 있어서 델타 파일에 따른 무선(ota)소프트웨어 업그레이드 시스템 및 방법
KR100584443B1 (ko) 소프트웨어 콤포넌트 다운로드 관리 기능을 가지는 이동 단말기와 그 방법
US7461373B2 (en) Apparatus and method for upgrading software of a wireless mobile station
CN110162314B (zh) 一种软件升级管理的方法、服务器、终端、装置及存储介质
US7752618B2 (en) Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station
CN107889092B (zh) 蓝牙设备通信控制方法、装置、终端设备及存储介质
EP2151972B1 (en) Subscriber identity module with an incorporated radio
JP4575418B2 (ja) 電波での移動局の管理方法
JP2008537452A (ja) 外部演算デバイスに関する無線デバイス中心の制御を提供するための方法及び装置
CN112911556A (zh) 用于双模蓝牙设备之间建立经典蓝牙连接的方法和双模蓝牙设备
KR20090090801A (ko) 휴대 단말기의 펌웨어 업데이트 방법 및 장치
CN111867148B (zh) 一种建立设备连接和数据传输的方法和设备
KR20150087390A (ko) 광고 처리 방법 및 장치
CN108696848B (zh) 用于短距离通信的电子设备及其覆盖补偿方法
CN112925538A (zh) 设备更新方法、系统及装置
CN108055706B (zh) 无线网络连接控制方法、装置、存储介质及终端设备
CN108307485B (zh) 无线网络扫描方法、装置、终端设备及存储介质
WO2024082191A1 (zh) 软件更新方法及装置
US8745270B2 (en) Communication device and method of handling large object in device management
CN102665181B (zh) 一种基于ussd的软件更新方法和系统
CN108307447B (zh) 无线网络传输控制方法、装置、存储介质及终端设备
KR100606757B1 (ko) 무선망을 이용한 단말기의 실행코드 업데이트 방법
CN115776666A (zh) 网络参数配置方法及相关设备
EP2642796A1 (en) Apparatus and method for connecting with network in portable terminal
CN112083934A (zh) 一种终端和处理方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202280003649.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18546283

Country of ref document: US

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

Ref document number: 22962381

Country of ref document: EP

Kind code of ref document: A1