Software upgrade method, apparatus, and system
By determining software upgrades based on vehicle status and requirement information, the method addresses user-induced security risks and improves experience by ensuring upgrades occur under safe conditions.
Patent Information
- Application Number
- JP2023198586
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-06-21
- Filing Date
- 2023-11-22
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2040-04-30
AI Technical Summary
Users may approve software upgrades for in-vehicle terminal devices without fully understanding the process, leading to security risks and poor user experience.
The in-vehicle terminal device determines whether to initiate a software upgrade based on upgrade requirement information and vehicle status, such as geographic location, environment, or driving conditions, to reduce security threats and improve user experience.
This approach reduces the probability of security threats during the upgrade process and enhances user experience by ensuring upgrades are initiated only when safe and appropriate conditions are met.
Smart Images

Figure 0007799924000001 
Figure 0007799924000002 
Figure 0007799924000003
Abstract
Description
[Technical Field]
[0001] This application relates to the field of communications, and more particularly to a software upgrade method, apparatus, and system. [Background technology]
[0002] With the advent of the vehicle-to-everything (V2X) era, more and more in-vehicle terminal devices are updating their software over the air (OTA), and OTA-based software updates are usually called software over the air (SOTA).
[0003] Currently, when an in-vehicle terminal device upgrades software through SOTA, after obtaining an upgrade software package and before starting to install the upgrade software package, the in-vehicle terminal device uses a human-computer interaction interface to request the user to decide whether to upgrade. If the user approves the upgrade, the software upgrade process is initiated. Conversely, if the user does not approve the upgrade, the software upgrade process is not initiated.
[0004] However, users may directly decide to approve the upgrade without fully understanding the relevant information in the software upgrade process, which may result in security risks in the upgrade process and a poor user experience. Summary of the Invention
[0005] SUMMARY OF THE INVENTION The embodiments of the present application provide a software upgrade method, apparatus, and system to reduce the probability of incurring security threats in the software upgrade process and improve user experience.
[0006] To achieve the aforementioned objectives, the following technical solutions are used in the embodiments of this application.
[0007] According to a first aspect, a software upgrade method and a corresponding communication device are provided. In this solution, an in-vehicle terminal device obtains software package upgrade requirement information and a vehicle status corresponding to the in-vehicle terminal device, where the upgrade requirement information indicates a first status and / or a second status. If the vehicle status is associated with the first status, the in-vehicle terminal device initiates a software package upgrade. Alternatively, if the vehicle status is associated with the second status, the in-vehicle terminal device determines not to initiate the software package upgrade process. In this embodiment of the present application, the in-vehicle terminal device may determine whether to initiate a software upgrade based on the upgrade requirement information and the vehicle status, and may initiate the upgrade if the vehicle status is associated with the first status. In this way, the probability of security threats occurring during the upgrade process can be reduced, and the user experience can be improved.
[0008] In one possible design, the first situation indicates at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving situation of the vehicle.
[0009] In one possible design, the second condition indicates at least one of the geographic location of the vehicle, the environment in which the vehicle is located, or the driving conditions of the vehicle.
[0010] In one possible design example, the software upgrade method provided in this embodiment of the present application further includes the step of the in-vehicle terminal device receiving a software package from a software server.
[0011] In one feasible design, the software package received by the vehicle-mounted terminal device from the software server includes upgrade requirement information, and the vehicle-mounted terminal device obtaining the upgrade requirement information of the software package includes the vehicle-mounted terminal device obtaining the upgrade requirement information in the software package.
[0012] In one feasible design, the software package including the upgrade requirement information includes the software package including description information of the software package, and the description information includes the upgrade requirement information. The vehicle-mounted terminal device obtaining the software package upgrade requirement information includes the vehicle-mounted terminal device obtaining the upgrade requirement information in the description information.
[0013] In one feasible design, the in-vehicle terminal device obtaining the software package upgrade requirement information includes: the in-vehicle terminal device determining the preset upgrade requirement information as the software package upgrade requirement information.
[0014] According to a second aspect, a communication device is provided, configured to perform the aforementioned method. The communication device may be the in-vehicle terminal device of the first aspect, a device including the in-vehicle terminal device, or a device included in the in-vehicle terminal device. The communication device includes corresponding modules, devices, or means for performing the aforementioned method. The modules, devices, or means may be realized in hardware, software, or hardware executing corresponding software. The hardware or software includes one or more modules or devices corresponding to the aforementioned functions.
[0015] According to a third aspect, there is provided a communication device, the communication device including a processor and a memory. The memory is configured to store computer instructions that, when executed by the processor, enable the communication device to perform the method of any one of the preceding aspects. The communication device may be the in-vehicle terminal device of the first aspect, a device including the in-vehicle terminal device, or a device included in the in-vehicle terminal device.
[0016] According to a fourth aspect, there is provided a communication device, the communication device including a processor coupled to a memory and configured to read instructions in the memory and perform the method of any one of the preceding aspects in accordance with the instructions. The communication device may be the in-vehicle terminal device of the first aspect, a device including the in-vehicle terminal device, or a device included in the in-vehicle terminal device.
[0017] According to a fifth aspect, there is provided a computer-readable storage medium storing instructions that, when run on a computer, enable the computer to perform the method of any one of the preceding aspects.
[0018] According to a sixth aspect, there is provided a computer program product comprising instructions which, when run on a computer, enable the computer to perform the method of any one of the preceding aspects.
[0019] According to a seventh aspect, there is provided a communication device (e.g., the communication device may be a chip or a chip system). The communication device includes a processor and is configured to implement the functions of any one of the aforementioned aspects. In one possible design, the communication device further includes a memory, the memory being configured to store necessary program instructions and necessary data. When the communication device is a chip system, the communication device may include the chip, or may include the chip and another discrete element.
[0020] For technical effects brought about by any of the design methods of the second to seventh aspects, please refer to the technical effects brought about by the various design methods of the first aspect, and the details will not be described again here.
[0021] According to an eighth aspect, there is provided a communication system, the communication system including a software server and an in-vehicle terminal device as described in the previous aspect. [Brief explanation of the drawings]
[0022] [Figure 1] 1 is a schematic structural diagram of a communication system according to an embodiment of the present application;
[0023] [Figure 2] 1 is a first schematic structural diagram of an in-vehicle terminal device according to an embodiment of the present application;
[0024] [Figure 3] FIG. 2 is a second schematic structural diagram of an in-vehicle terminal device according to an embodiment of the present application;
[0025] [Figure 4] FIG. 10 is a third schematic structural diagram of an in-vehicle terminal device according to an embodiment of the present application;
[0026] [Figure 5] 1 is a first schematic flowchart of a software upgrade method according to an embodiment of the present application;
[0027] [Figure 6a] 2 is a second schematic flowchart of a software upgrade method according to an embodiment of the present application;
[0028] [Figure 6b] 3 is a third schematic flowchart of a software upgrade method according to an embodiment of the present application;
[0029] [Figure 7A]4 is a fourth schematic flowchart of a software upgrade method according to an embodiment of the present application; [Figure 7B] 4 is a fourth schematic flowchart of a software upgrade method according to an embodiment of the present application;
[0030] [Figure 8] FIG. 4 is a fourth schematic structural diagram of an in-vehicle terminal device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0031] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. In the present description, unless otherwise specified, the symbol " / " represents an "or" relationship between related objects, for example, A / B may represent A or B. The term "and / or" in the present application only describes a corresponding relationship for describing related objects, and represents that three relationships may exist. For example, A and / or B may represent the following three cases: only A exists, both A and B exist, and only B exists. A and B may be singular or plural. Furthermore, in the present description, "a plurality of" means two or more. "At least one of the following items" or similar expressions means any combination of these items, including any combination of one item or multiple items. For example, "at least one of a, b, or c" may refer to "a," "b," "c," "a and b," "a and c," "b and c," or "a, b, and c," where a, b, and c may be singular or plural. Furthermore, to clearly describe the technical solutions in the embodiments of the present application, terms such as "first" and "second" are used in the embodiments of the present application to distinguish between identical or similar items that have essentially the same function or purpose. Those skilled in the art will understand that terms such as "first" and "second" do not limit the number or execution order, nor do terms such as "first" and "second" mean entirely different things.
[0032] The technical solutions in the embodiments of the present application may be applied to various communication systems, such as orthogonal frequency-division multiple access (OFDMA) systems, single carrier frequency division multiple access (SC-FDMA) systems, and other systems. The terms "system" and "network" may be interchangeable. An OFDMA system may implement radio technologies such as evolved universal terrestrial radio access (E-UTRA) and ultra mobile broadband (UMB). E-UTRA is an evolution of the universal mobile telecommunications system (UMTS). The 3rd generation partnership project (3GPP) uses new versions of E-UTRA in long term evolution (LTE) and various versions based on the evolution of LTE. A fifth-generation (5G) communication system is a next-generation communication system currently under research. 5G communication systems include a 5G mobile communication system with a non-standalone (NSA) network configuration, a 5G mobile communication system with a standalone (SA) network configuration, or a 5G mobile communication system with an NSA network configuration and a 5G mobile communication system with an SA network configuration. Additionally, the communication system may also be applied to future-oriented communication technologies to which the technical solutions provided in the embodiments of the present application are applicable. The above-mentioned communication system applicable to the present application is merely an example for illustrative purposes, and the communication system applicable to the present application is not limited thereto. Because the description is given in a unified manner in this specification, the details will not be described again below.
[0033] 1 shows a communication system 10 according to an embodiment of the present application. The communication system 10 includes an in-vehicle terminal device 20 and a software server 30.
[0034] Optionally, the software server 30 in this embodiment of the present application may be understood as a network-side device, which can provide software packages for the in-vehicle terminal devices.
[0035] Optionally, the in-vehicle terminal device in this embodiment of the present application may be a vehicle, a terminal installed in a vehicle to assist the vehicle in running, or a chip in the terminal. The terminal may be a user equipment (UE), an access terminal, a terminal device, a terminal station, a mobile station, a mobile console, a remote station, a remote terminal, a mobile device, a wireless communication device, a terminal agent, or a terminal device in a 5G network or a future evolved PLMN. An access terminal may be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device, another processing device connected to a wireless modem, an in-vehicle device, a wearable device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in remote medical, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, or a wireless terminal in a smart home, etc. The in-vehicle terminal may be fixed or mobile.
[0036] Optionally, the in-vehicle terminal device 20 or the software server 30 in this embodiment of the present application may also be called a communication device, and may be a general-purpose device or a dedicated device, which is not particularly limited in this embodiment of the present application.
[0037] Optionally, the in-vehicle terminal device 20 or the software server 30 in Fig. 1 may be implemented using a communication device (or communication apparatus) 40 in Fig. 2. Fig. 2 is a schematic structural diagram of the communication device 40 according to an embodiment of the present application. The communication device 40 includes one or more processors 401, a communication bus 402, and at least one communication interface (in Fig. 2, an example including a communication interface 404 and a processor 401 is used for explanation), and may optionally further include a memory 403.
[0038] The processor 401 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling program execution of the solutions herein.
[0039] The communication bus 402 may be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus may be categorized as an address bus, a data bus, a control bus, or the like. For ease of explanation, FIG. 2 uses only one bold line to represent the bus, but this does not imply that there is only one bus or only one type of bus. The communication bus 402 is configured to connect various components within the communication device 40, allowing the various components to communicate with each other.
[0040] The communication interface 404 may be a transceiver module configured to communicate with another device or a communication network, such as an Ethernet-type network, a radio access network (RAN), or a wireless local area network (WLAN). For example, the transceiver module may be a device such as a transceiver. Optionally, the communication interface 404 may be a transceiver circuit located within the processor 401 and configured to implement signal input and output for the processor.
[0041] The memory 403 may be any device having a storage function. For example, the memory 403 may be a read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, a random access memory (RAM) or another type of dynamic storage device capable of storing information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other compact disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, or Blu-ray disc, etc.), a magnetic disc storage medium or other magnetic storage device, or any other medium that can be used to carry or store expected program code in the form of instructions or data structures and that can be accessed by a computer. However, the invention is not limited in this regard. The memory may exist independently and be connected to the processor by communication line 402. Alternatively, the memory may be integrated into the processor.
[0042] The memory 403 is configured to store computer-executable instructions for executing the solution in the present application, and the processor 401 controls the execution thereof. The processor 401 is configured to execute the computer-executable instructions stored in the memory 403 to implement the software upgrade method provided in the embodiment of the present application.
[0043] Alternatively, optionally, in this embodiment of the present application, the processor 401 may perform processing functions related to the software upgrade method provided in the following embodiments of the present application. The communication interface 404 is responsible for communication with another device or a communication network, which is not particularly limited in this embodiment of the present application.
[0044] Optionally, the computer-executable instructions in this embodiment of the present application may also be referred to as application program code, which is not particularly limited in this embodiment of the present application.
[0045] In a specific implementation, in one embodiment, the processor 401 may include one or more CPUs (such as CPU0 and CPU1 in FIG. 2).
[0046] In a specific implementation, in one embodiment, communications device 40 may include multiple processors (such as processor 401 and processor 408 of FIG. 2). Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may be one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0047] In a specific implementation, in one embodiment, the communication device 40 may further include an output device 405 and an input device 406. The output device 405 communicates with the processor 401 and may display information in multiple ways. For example, the output device 405 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 406 communicates with the processor 401 and may receive user input in multiple ways. For example, the input device 406 may be a mouse, a keyboard, a touchscreen device, or a sensor device.
[0048] In relation to the schematic structural diagram of the communication device 40 shown in FIG. 2, for example, FIG. 3 is a specific structural form of the in-vehicle terminal device 20 according to an embodiment of the present application.
[0049] In some embodiments, the functionality of processor 401 of FIG. 2 may be implemented by processor 110 of FIG.
[0050] In some embodiments, the functionality of communication interface 404 of FIG. 2 may be implemented by antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, etc. of FIG.
[0051] Antenna 1 and Antenna 2 are configured to transmit and receive electromagnetic signals. Each antenna of the vehicle-mounted terminal device 20 may be configured to cover one or more communication frequency bands. Different antennas may be multiplexed to improve antenna utilization. For example, Antenna 1 may be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas may be used in combination with tuning switches.
[0052] Mobile communication module 150 may provide a solution for wireless communication such as 2G / 3G / 4G / 5G applied to in-vehicle terminal device 20. Mobile communication module 150 may include at least one filter, switch, power amplifier, and low-noise amplifier (LNA). Mobile communication module 150 may receive electromagnetic waves via antenna 1, process the received electromagnetic waves such as filtering and amplification, and send the processed electromagnetic waves to a modem processor for demodulation. Mobile communication module 150 may further amplify signals modulated by the modem processor and convert the signals into electromagnetic waves for emission via antenna 1. In some embodiments, at least some functional modules of mobile communication module 150 may be disposed in processor 110. In some embodiments, at least some functional modules of mobile communication module 150 and at least some modules of processor 110 may be disposed in the same component.
[0053] The wireless communication module 160 may provide a solution for wireless communication applied to the in-vehicle terminal device 20, such as wireless local area networks (WLAN) (e.g., WiFi network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technology. The wireless communication module 160 may be one or more components integrated with at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering on the electromagnetic wave signal, and sends the processed signal to the processor 110. The wireless communication module 160 may further receive a signal to be transmitted from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into an electromagnetic wave for emission via the antenna 2. When the in-vehicle terminal device 20 is a first device, the wireless communication module 160 may provide a solution for NFC wireless communication applied to the in-vehicle terminal device 20. This means that the first device includes an NFC chip. The NFC chip can improve the NFC wireless communication function. When the in-vehicle terminal device 20 is a second device, the wireless communication module 160 may provide a solution for NFC wireless communication applied to the in-vehicle terminal device 20. This means that the first device includes an electronic label (e.g., a radio frequency identification (RFID) label). When the NFC chip of another device is close to this electronic label, the other device may perform NFC wireless communication with the second device.
[0054] In some embodiments, the antenna 1 and the mobile communication module 150 of the vehicle-mounted terminal device 20 are coupled, and the antenna 2 and the wireless communication module 160 are also coupled, so that the vehicle-mounted terminal device 20 can communicate with a network and other devices using a wireless communication technology. The wireless communication technology may include long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, or IR technology, etc. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and / or a geostationary satellite-based augmentation system (SBAS).
[0055] In some embodiments, the functionality of memory 403 in FIG. 2 may be implemented by internal memory 121 in FIG. 3, or an external memory (eg, a microSD card) connected to external memory interface 120, or the like.
[0056] In some embodiments, the functionality of output device 405 in Figure 2 may be implemented by display screen 194 in Figure 3. Display screen 194 is configured to display images, videos, etc. Display screen 194 includes a display panel.
[0057] In some embodiments, the function of the input device 406 in Fig. 2 may be implemented by a mouse, a keyboard, a touchscreen device, or the sensor module 180 in Fig. 3. For example, as shown in Fig. 3, the sensor module 180 may include one or more of a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, an optical proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, and a bone conduction sensor 180M. This is not particularly limited in this embodiment of the present application.
[0058] 3 , the in-vehicle terminal device 20 may further include one or more of an audio module 170, a camera 193, an indicator 192, a motor 191, a button 190, a SIM card interface 195, a USB interface 130, a charging management module 140, a power management module 141, and a battery 142. The audio module 170 may be connected to a speaker 170A (also called a "loudspeaker"), a telephone handset 170B (also called an "earphone"), a microphone 170C (also called a "receiver" or "microphone"), a headset jack 170D, or the like, which is not particularly limited in this embodiment of the present application.
[0059] It will be understood that the structure shown in Figure 3 is not a specific limitation on the in-vehicle terminal device 20. For example, in some other embodiments of the present application, the in-vehicle terminal device 20 may include more or fewer components than those shown in the figure, may combine some components, may separate some components, or may have a different component arrangement. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0060] Optionally, in one possible design example, the structural form of the in-vehicle terminal device 20 in this embodiment of the present application may alternatively be as shown in FIG. 4 , where the in-vehicle terminal device 20 includes a software provision module, a software upgrade control module, and a vehicle status monitoring module. The software provision module is configured to obtain a software package from a software server and provide the obtained software package to the software upgrade control module. The software upgrade control module is configured to receive the software package from the software provision module and manage software upgrades for the in-vehicle terminal device. The vehicle status monitoring module is configured to receive a vehicle status request, detect the vehicle status, and provide vehicle status information to the software upgrade control module. It should be noted that the software provision module, the software upgrade control module, and the vehicle status monitoring module may be understood as divisions of the in-vehicle terminal device from the perspective of logical functions, and these modules may be physically separated or may be used together. This is not particularly limited in this embodiment of the present application.
[0061] Currently, when an in-vehicle terminal device upgrades software SOTA, the decision of whether to upgrade is entirely up to the user. Because the user may not fully understand relevant information about the software upgrade process (e.g., the time required for the software upgrade or whether the in-vehicle terminal device can function normally during the software upgrade process), the user may directly decide to approve the upgrade. As a result, security risks may occur in the upgrade process, and the user experience may be degraded. Based on this, one embodiment of the present application provides a software upgrade method. In this method, the in-vehicle terminal device obtains software package upgrade requirement information and a vehicle status corresponding to the in-vehicle terminal device. The upgrade requirement information indicates a first status and / or a second status. If the vehicle status is associated with the first status, the in-vehicle terminal device initiates the software package upgrade. Alternatively, if the vehicle status is associated with the second status, the in-vehicle terminal device determines not to initiate the software package upgrade. In this embodiment of the present application, the in-vehicle terminal device may determine whether to initiate the software upgrade based on the upgrade requirement information and the vehicle status, and may initiate the upgrade if the vehicle status is associated with the first status. In this way, the probability of introducing security threats during the upgrade process can be reduced and the user experience can be improved.
[0062] In connection with FIGS. 1 to 4, the following uses a specific embodiment to describe in detail the software upgrade method provided in the present application.
[0063] It should be noted that in the following embodiments of the present application, the names of messages exchanged between devices or modules, or the names of parameters in messages, are merely examples, and other names may be used in specific implementations, and are not particularly limited in the present embodiments of the present application.
[0064] In one possible implementation, Figure 5 illustrates a software upgrade method according to an embodiment of the present application, which includes the following steps:
[0065] S501: The in-vehicle terminal device obtains software package upgrade requirement information.
[0066] Optionally, the in-vehicle terminal device may first determine information about the software package, obtain upgrade requirement information associated with the software package, and then obtain the software package after determining that the software package upgrade may be initiated. Alternatively, the in-vehicle terminal device may first obtain the software package, and then obtain the upgrade requirement information associated with the software package. This is not particularly limited in this embodiment of the present application.
[0067] In one possible implementation example, the in-vehicle terminal device may receive a notification message from a software server. The notification message carries information such as a software package identifier and notifies the in-vehicle terminal device that the software indicated by the software package identifier has an update version. After receiving the notification message, the in-vehicle terminal device may request upgrade requirement information associated with the software package identifier from the software server to obtain the upgrade requirement information of the software package indicated by the software package identifier.
[0068] Optionally, if the in-vehicle terminal device does not request the upgrade requirement information of the software package indicated by the software package identifier, the preset upgrade requirement information may be determined as the upgrade requirement information of the software package.
[0069] Alternatively, in another possible implementation example, the in-vehicle terminal device may receive a software package from a software server. The software package includes a software package identifier. After receiving the software package, the in-vehicle terminal device may obtain the software package identifier from the software package and request upgrade requirement information associated with the software package identifier from the software server to obtain the upgrade requirement information of the software package identified by the software package identifier. Alternatively, the software package includes upgrade requirement information. After receiving the software package, the in-vehicle terminal device may determine the upgrade requirement information included in the software package as the upgrade requirement information of the software package. Alternatively, the software package includes software package description information, and the software package description information includes the upgrade requirement information. After receiving the software package, the in-vehicle terminal device may determine the upgrade requirement information included in the software package description information as the upgrade requirement information of the software package. The software package identifier, upgrade requirement information, or software package description information included in the software package may be included in the header of the software package, at the end of the software package, or in another location in the software package. This is not particularly limited in this embodiment of the present application.
[0070] Optionally, if the in-vehicle terminal device does not request upgrade requirement information of the software package indicated by the software package identifier, or if the software package received by the in-vehicle terminal device from the software server does not include upgrade requirement information, the preset upgrade requirement information may be determined as the upgrade requirement information of the software package.
[0071] Alternatively, in yet another possible implementation example, the in-vehicle terminal device may directly determine the preset upgrade requirement information as the upgrade requirement information of the software package after obtaining the software package or information about the software package.
[0072] The upgrade requirement information acquired by the in-vehicle terminal device in the above-mentioned executable implementation example for the software package indicates a first situation and / or a second situation, where the first situation may be a state in which starting the software upgrade is permitted, and the second situation may be a state in which starting the software upgrade is not permitted.
[0073] Optionally, the first situation may indicate at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving situation of the vehicle. The second situation may also indicate at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving situation of the vehicle. The geographic location of the vehicle may be, for example, a parking lot, an urban road, a restricted traffic road section, or a highway section. The environment in which the vehicle is located may be, for example, daytime, nighttime, a congested road section, or the body temperature of the vehicle. The driving situation of the vehicle may be, for example, a braking state, a moving state, a high speed state, a low speed state, or a parked state.
[0074] Optionally, the upgrade requirement information may indicate the first status and / or the second status using fields. For example, the upgrade requirement information may include two fields, where a first field indicates the first status and a second field indicates the second status. When the upgrade requirement information indicates the first status, the second field may be blank. For example, the upgrade requirement information may be "{parking lot, daytime, low-speed status},{}". Alternatively, when the upgrade requirement information indicates the second status, the first field may be blank. For example, the upgrade requirement information may be "{},{highway section, nighttime, high-speed status}". Alternatively, when the upgrade requirement information indicates the first status and the second status, the upgrade requirement information may be, for example, "{parking lot, daytime, low-speed status},{highway section, nighttime, high-speed status}". After obtaining the upgrade requirement information, the in-vehicle terminal device may determine the first status and / or the second status based on the field positions of the upgrade requirement information.
[0075] For example, each of the aforementioned fields may be represented using six bits. Different values of the first two bits indicate the geographic location of the vehicle, different values of the middle two bits indicate the environment in which the vehicle is located, and different values of the last two bits indicate the driving conditions of the vehicle. For example, a value of “11” for the first two bits indicates that the geographic location of the vehicle is “parking lot,” or a value of “01” for the first two bits indicates that the geographic location of the vehicle is “highway section,” a value of “11” for the middle two bits indicates that the environment in which the vehicle is located is “daytime,” or a value of “10” for the middle two bits indicates that the environment in which the vehicle is located is “nighttime,” a value of “11” for the last two bits indicates a low-speed state, or a value of “10” for the last two bits indicates a high-speed state. Specifically, if the values of the first two bits, the middle two bits, or the last two bits are “00,” this indicates that the conditions indicated by the field do not impose any restrictions on the geographic location of the vehicle, the environment in which the vehicle is located, or the driving conditions of the vehicle. In this case, the upgrade requirement information "{parking lot, daytime, low-speed state},{}" may be represented as "{111111},{000000}", the upgrade requirement information "{}, {highway section, nighttime, high-speed state}" may be represented as "{000000},{011010}", and the upgrade requirement information "{parking lot, daytime, low-speed state}, {highway section, nighttime, high-speed state}" may be represented as "{111111},{011010}".
[0076] Alternatively, each of the aforementioned fields may be represented in a different manner, and the first and second fields may be represented together. For example, different values of three bits correspond to eight different situations, and the eight situations include both the first and second situations. The representation manner of each field is not particularly limited in this embodiment of the present application.
[0077] Alternatively, the upgrade requirement information may indicate a mapping of the first situation and / or the second situation, for example, the upgrade requirement information may be "first situation: parking lot, daytime, and low-speed conditions, second situation: highway section, nighttime, and high-speed conditions."
[0078] For example, if the upgrade requirement information indicates a first status or a second status, the first status or the second status may be represented using 7 bits. Here, the value of the first bit indicates the status indicated by the upgrade requirement information. For example, if the value of the first bit is "1," it indicates that the upgrade requirement information indicates the first status, or if the value of the first bit is "0," it indicates that the upgrade requirement information indicates the second status. The remaining 6 bits of the 7 bits indicate the content of the first status or the second status, where different values of the first 2 bits indicate the geographic location of the vehicle, different values of the middle 2 bits indicate the environment in which the vehicle is located, and different values of the last 2 bits indicate the driving status of the vehicle. The representation method is similar to the previous example. For related explanations, please refer to the previous example. Details will not be described again here. In this case, the upgrade requirement information "first status: parking lot, daytime, low-speed status" may be represented as "1111111," or the upgrade requirement information "second status: highway section, nighttime, high-speed status" may be represented as "0011010."
[0079] Alternatively, for example, if the upgrade requirement information indicates a first status and a second status, the first status and the second status may be represented using 14 bits. Here, the first bit and the eighth bit are used to indicate the status indicated by the upgrade requirement information, the second bit to the seventh bit represent the content of the status indicated by the first bit, and the ninth bit to the fourteenth bit represent the content of the status indicated by the eighth bit. For example, upgrade requirement information "First status: parking lot, daytime, low-speed status, Second status: highway section, nighttime, high-speed status" may be expressed as "11111110011010."
[0080] It will be understood that the manner in which the upgrade requirement information indicates the first status and / or the second status is merely an example for the purposes of explanation in this application, and the form of the upgrade requirement information is not particularly limited in this embodiment of the application.
[0081] S502: The in-vehicle terminal device acquires the vehicle status.
[0082] The vehicle situation may be the situation of the vehicle corresponding to the in-vehicle terminal device, and the vehicle corresponding to the in-vehicle terminal device may be understood as the vehicle that carries the in-vehicle terminal device.
[0083] Optionally, the in-vehicle terminal device may obtain the vehicle situation using a sensor mounted on the vehicle controlled by the in-vehicle terminal device and corresponding to the in-vehicle terminal device.
[0084] S503: The in-vehicle terminal device determines whether the vehicle situation is associated with a first situation, or the in-vehicle terminal device determines whether the vehicle situation is associated with a second situation.
[0085] Optionally, a vehicle situation being associated with a first situation may be understood to mean that the vehicle situation is similar to the first situation. For example, the first situation is "the vehicle is in a parking lot," and the vehicle situation acquired by the in-vehicle terminal device is "the vehicle is in a parking space on the street." Although the vehicle corresponding to the in-vehicle terminal device is not in the parking lot, the vehicle is in a geographical area having functions similar to those of a parking lot. In this case, the in-vehicle terminal device may still determine that the vehicle situation is associated with the first situation.
[0086] Alternatively, a vehicle situation being associated with a first situation may be understood to mean that the vehicle situation is within a situation range in which the first situation is used as a reference and a preset situation limit is used as an offset. For example, the first situation may be "the vehicle's body temperature is 30 degrees," and the preset situation limit is 5 degrees. In this case, if the vehicle's body temperature is between 25 degrees and 35 degrees, the vehicle situation may be considered to be associated with the first situation.
[0087] Alternatively, when a vehicle status is related to a first status, it may be understood that the vehicle status is the first status. For example, the first status is a "low speed state." If the vehicle status acquired by the in-vehicle terminal device is "the current speed of the vehicle is lower than the maximum speed limit of the current road section," the vehicle may be considered to be in a low speed state (i.e., the vehicle status is the first status). Alternatively, for example, the first status is "the vehicle is in a parking lot." If the vehicle status acquired by the in-vehicle terminal device is "the vehicle is in a parking lot," the vehicle status may be considered to be the first status.
[0088] It will be understood that a vehicle situation being related to a second situation can also be understood as the vehicle situation being similar to the second situation, or being within a situation range in which the first situation is used as a reference and a preset situation limit is used as an offset, or the vehicle situation being the first situation. For related explanations, please refer to the above explanation regarding the association between the vehicle situation and the first situation. Details will not be described again here.
[0089] Optionally, if the first situation is a situation set including a plurality of situations, the in-vehicle terminal device determines that the vehicle situation is associated with the first situation if the vehicle situation is associated with any situation in the situation set included in the first situation, or if the vehicle situation is associated with all situations in the situation set included in the first situation, the in-vehicle terminal device determines that the vehicle situation is associated with the first situation, or if the number of situations associated with the vehicle situation in the situation set included in the first situation exceeds a limit number, the in-vehicle terminal device determines that the vehicle situation is associated with the first situation.
[0090] For example, the multiple situations included in the first situation are "{parking lot, daytime, braking state}". When the vehicle situation acquired by the in-vehicle terminal device is "{parking lot, nighttime, slow speed state}", the vehicle situation "parking lot" is associated with the situation "parking lot" in the situation set included in the first situation, and the in-vehicle terminal device may determine that the vehicle situation is associated with the first situation. Alternatively, when the vehicle situation acquired by the in-vehicle terminal device is "{parking lot, daytime, braking state}", the vehicle situation is associated with all situations in the situation set included in the first situation, and the in-vehicle terminal device determines that the vehicle situation is associated with the first situation. Alternatively, when the limit number is 2 and the vehicle situation acquired by the in-vehicle terminal device is "{parking lot, daytime, slow speed state}", the vehicle situation "parking lot, daytime" is associated with "parking lot, daytime" in the situation set included in the first situation, and the in-vehicle terminal device determines that the vehicle situation is associated with the first situation.
[0091] It will be understood that if the second situation is a situation set including multiple situations, the vehicle-mounted terminal device may also determine whether the vehicle situation is associated with the second situation using the above-mentioned method for determining whether the vehicle situation is associated with the first situation, and the details will not be described again here.
[0092] Optionally, the in-vehicle terminal device may use the human-computer interaction interface to request the user to decide whether to upgrade. After the user approves the upgrade, the in-vehicle terminal device performs step S503 by receiving a command input by the user. This avoids a situation where the in-vehicle terminal device first performs step S503 and determines that the vehicle situation is associated with the first situation, but the command input by the user indicates that the user has not accepted the upgrade, thereby reducing unnecessary decisions made by the in-vehicle terminal device and saving power consumption of the in-vehicle terminal device. Alternatively, the in-vehicle terminal device may first perform step S503. If the in-vehicle terminal device determines that the vehicle situation is associated with the first situation, it uses the output of the human-computer interaction interface to request the user to decide whether to upgrade. This avoids a situation where the user approves the upgrade but the vehicle situation is associated with the second situation and the upgrade cannot be started, thereby reducing the number of human-computer interactions and improving the user experience. It should be noted that the sequence of steps in which the in-vehicle terminal device executes step S503 and uses the human-computer interaction interface to request the user to decide whether to upgrade is merely an example for the purpose of explanation in this application, which is not particularly limited in this embodiment of this application.
[0093] Optionally, when the in-vehicle terminal device determines that the vehicle situation is associated with a first situation indicated by the upgrade requirement information, step S504a is performed, or when the in-vehicle terminal device determines that the vehicle situation is associated with a second situation indicated by the upgrade requirement information, step S504b is performed.
[0094] S504a: Initiate software package upgrade.
[0095] Optionally, if the vehicle situation is associated with the first situation, the vehicle-mounted terminal device can determine that the situation of the vehicle corresponding to the vehicle-mounted terminal device allows for software package upgrade, and thus initiates software package upgrade. For the process of initiating software package upgrade, please refer to the prior art, and details will not be described here.
[0096] S504b: It is determined not to start the software package upgrade.
[0097] Optionally, if the vehicle situation is associated with a second situation, the vehicle-mounted terminal device can determine that the situation of the vehicle corresponding to the vehicle-mounted terminal device does not allow the software package upgrade, and therefore determines not to start the software package upgrade.
[0098] According to the software upgrade method provided in this embodiment of the present application, the vehicle-mounted terminal device obtains software package upgrade requirement information and a vehicle status corresponding to the vehicle-mounted terminal device, and determines whether to start a software package upgrade if the vehicle status is associated with a first status indicated by the upgrade requirement information, or whether to not start a software package upgrade if the vehicle status is associated with a second status. In this embodiment of the present application, the vehicle-mounted terminal device may determine whether to start a software upgrade based on the upgrade requirement information and the vehicle status, and may start a software upgrade if the vehicle status is associated with the first status. In this way, the probability of security threats occurring during the upgrade process can be reduced, and the user experience can be improved.
[0099] The operations of the in-vehicle terminal device in steps S501 to S504a or steps S501 to S504b may be performed by the processor 401 in the communication device 40 shown in Fig. 2 calling up the application program code stored in the memory 403. This is not limited to this embodiment of the present application.
[0100] In another possible implementation example, when the structure of the vehicle-mounted terminal device is as shown in Figure 4, for example, the present application provides a solution for implementing the software upgrade method shown in Figure 5 inside the vehicle-mounted terminal device. As shown in Figure 6a, the solution includes the following steps:
[0101] S601: The software upgrade control module obtains the upgrade requirement information of the software package.
[0102] Optionally, the software upgrade control module may first acquire upgrade requirement information associated with the software package, and then acquire the software package after determining that the software package upgrade may be initiated. Alternatively, the software upgrade control module may first acquire the software package, and then acquire the upgrade requirement information associated with the software package, which is not particularly limited in this embodiment of the present application.
[0103] For example, as shown in FIG. 6b, the software upgrade control module obtaining the upgrade requirement information of the software package in step S601 may include the following steps:
[0104] S601a: The software providing module sends software package upgrade requirement information to the software upgrade control module, and in response, the software upgrade control module receives software package upgrade requirement information from the software providing module.
[0105] In this case, before step S601a, the software upgrade method provided in this embodiment of the present application further includes a step of the software providing module receiving a notification message from the software server, the notification message carrying information such as a software package identifier, and notifying the in-vehicle terminal device that the software indicated by the software package identifier has an updated version. After receiving the notification message, the software providing module may request upgrade requirement information associated with the software package identifier from the software server, and send the requested upgrade requirement information associated with the software package identifier to the software upgrade control module.
[0106] Alternatively, for example, as shown in FIG. 6b, the software upgrade control module obtaining the upgrade requirement information of the software package in step S601 may include the following steps:
[0107] S601b: The software delivery module obtains the software package.
[0108] Optionally, the software delivery module may receive the software package from a software server.
[0109] In one possible implementation, the software package includes a software package identifier, and after receiving the software package, the software delivery module may obtain the software package identifier from the software package and request the upgrade requirement information associated with the software package identifier from the software server.
[0110] In another possible implementation, the software package includes the upgrade requirement information, or the software package includes the software package description information, and the software package description information includes the upgrade requirement information.
[0111] S601c: The software provision module sends a software transmission message to the software upgrade control module. In response, the software provision module receives a software transmission message from the software upgrade control module.
[0112] In one possible implementation example, if the software package acquired by the software delivery module does not include upgrade requirement information, the software transmission message includes the software package acquired by the software delivery module and upgrade requirement information associated with the software package. Optionally, in this implementation example, the software upgrade control module determines the upgrade requirement information of the software package included in the software transmission message as the upgrade requirement information of the software package.
[0113] In another possible implementation example, if the software package acquired by the software provision module includes upgrade requirement information or software package description information, the software transmission message includes the software package acquired by the software provision module. Optionally, in this implementation example, the software upgrade control module may determine the upgrade requirement information included in the software package as the upgrade requirement information of the software package.
[0114] S601d: The software upgrade control module sends a software transmission completion message to the software provision module, and in response, the software provision module receives a software transmission completion message from the software upgrade control module.
[0115] The software transmission complete message is used to notify the software delivery module that the software package has been successfully transmitted.
[0116] Optionally, in addition to the above two ways shown in FIG. 6b, the software upgrade control module may alternatively determine preset upgrade requirement information as the upgrade requirement information of the software package.
[0117] The upgrade requirement information of the software package indicates a first situation and / or a second situation, where the first situation may be a situation in which the initiation of the software upgrade is permitted, and the second situation may be a situation in which the initiation of the software upgrade is not permitted. For the description of the upgrade requirement information, please refer to the related description in step S401. The details will not be described again here.
[0118] S602: The software management module sends a vehicle status request message to the vehicle status monitoring module, and in response, the vehicle status monitoring module receives the vehicle status request message from the software management module.
[0119] The vehicle status request message is used to request the status of the vehicle corresponding to the in-vehicle terminal device, and the vehicle corresponding to the in-vehicle terminal device may be understood as the vehicle that carries the in-vehicle terminal device.
[0120] S603: The vehicle status monitoring module acquires the vehicle status.
[0121] Optionally, after receiving the vehicle status request message, the vehicle status monitoring module may collect the vehicle status using sensors controlled by the vehicle status monitoring module.
[0122] S604: The vehicle status monitoring module sends a vehicle status feedback message to the software upgrade control module. In response, the software upgrade control module receives a vehicle status feedback message from the vehicle status monitoring module.
[0123] The vehicle status feedback message includes the vehicle status collected by the vehicle status monitoring module.
[0124] S605: The software upgrade control module determines whether the vehicle situation is associated with a first situation, or the software upgrade control module determines whether the vehicle situation is associated with a second situation.
[0125] For the explanation of whether the vehicle situation is related to the first situation or whether the vehicle situation is related to the second situation, please refer to the related explanation in step S403, and the details will not be described again here.
[0126] Optionally, step S606a is performed if the software upgrade control module determines that the vehicle situation is associated with a first situation indicated by the upgrade requirement information, or step S606b is performed if the software upgrade control module determines that the vehicle situation is associated with a second situation indicated by the upgrade requirement information.
[0127] S606a: The software upgrade control module initiates the upgrade of the software package.
[0128] Optionally, if the vehicle situation is associated with the first situation, the software upgrade control module can determine that the situation of the vehicle corresponding to the in-vehicle terminal device allows for software package upgrade, and thus initiates software package upgrade. For the process of initiating software package upgrade, please refer to the prior art, and details will not be described here.
[0129] Optionally, when the software upgrade control module acquires the upgrade requirement information of the software package in the manner described above in step S601a, the software upgrade control module has not yet acquired the software package at this time. Therefore, before step S606a is performed, the software upgrade method provided in this embodiment of the present application further includes the following steps:
[0130] The software delivery module obtains the software package corresponding to the software package identifier included in the notification message.
[0131] The software delivery module sends a software transmission message to the software delivery module, where the software transmission message includes a software package corresponding to the software package identifier. In response, the software delivery module receives a software transmission message from the software upgrade control module.
[0132] The software upgrade control module sends a software transmission completion message to the software delivery module. The software transmission completion message is used to notify the software delivery module that the software package has been successfully transmitted. In response, the software delivery module receives a software transmission completion message from the software upgrade control module.
[0133] S606b: The software upgrade control module determines not to start the software package upgrade.
[0134] Optionally, if the vehicle situation is associated with a second situation, the software upgrade control module determines not to start the software package upgrade because it can determine that the situation of the vehicle corresponding to the vehicle-mounted terminal device does not allow the software package upgrade.
[0135] According to the software upgrade method provided in this embodiment of the present application, the software upgrade control module obtains software package upgrade requirement information and a vehicle status corresponding to the in-vehicle terminal device, and determines whether to initiate a software package upgrade if the vehicle status is associated with a first status indicated by the upgrade requirement information, or determines not to initiate a software package upgrade if the vehicle status is associated with a second status. In this embodiment of the present application, the software upgrade control module may determine whether to initiate a software upgrade based on the upgrade requirement information and the vehicle status, and may initiate the upgrade if the vehicle status is associated with the first status. In this way, the probability of security threats occurring during the upgrade process can be reduced, and the user experience can be improved.
[0136] It should be noted that the solutions shown in Figures 6a and 6b are merely internal implementation solutions for the vehicle-mounted terminal device to perform the software upgrade method of the present application shown in Figure 5. In practical application, the software upgrade method shown in Figure 5 may also have other internal implementation solutions, which are not particularly limited in this embodiment of the present application.
[0137] The operations of the in-vehicle terminal device in steps S601 to S609a or steps S601 to S609b may be performed by the processor 401 in the communication device 40 shown in Fig. 2 calling up the application program code stored in the memory 403. This is not a limitation in the present application.
[0138] In yet another possible implementation example, when the structure of the vehicle-mounted terminal device is as shown in Figure 4, for example, the present application provides another solution for implementing the software upgrade method shown in Figure 5 inside the vehicle-mounted terminal device. As shown in Figures 7A and 7B, this solution includes the following steps:
[0139] S701: The software provision module obtains description information of a software package.
[0140] The descriptive information may include, for example, a software package identifier and upgrade requirement information.
[0141] In one possible implementation, the software providing module may receive a notification message from the software server. The notification message carries information such as a software package identifier and notifies the in-vehicle terminal device that the software indicated by the software package identifier has an updated version. After receiving the notification message, the in-vehicle terminal device may request description information of the software package corresponding to the software package identifier from the software server.
[0142] In another possible implementation, the software delivery module may receive a software package from a software server, the software package including description information.
[0143] S702: The software provision module sends a software description message to the software upgrade control module. In response, the software upgrade control module receives a software description message from the software provision module.
[0144] The software description message contains descriptive information about the software package obtained by the software delivery module.
[0145] S703: The software upgrade control module sends a software description transmission completion message to the software provision module. In response, the software provision module receives a software description transmission completion message from the software upgrade control module.
[0146] The software description transmission complete message is used to notify the software delivery module that the description information of the software package has been successfully transmitted.
[0147] S704: The software upgrade control module obtains upgrade requirement information of the software package.
[0148] Optionally, the software upgrade control module may determine the upgrade requirement information included in the description information of the software package as the upgrade requirement information of the software package, or if the description information of the software package does not include the upgrade requirement information, the software upgrade control module may determine the preset upgrade requirement information as the upgrade requirement information of the software package, or regardless of whether the description information of the software package includes the upgrade requirement information, the software management module determines the preset upgrade requirement information as the upgrade requirement information of the software package.
[0149] The upgrade requirement information of the software package indicates a first situation and / or a second situation, where the first situation may be a situation in which the initiation of the software upgrade is permitted, and the second situation may be a situation in which the initiation of the software upgrade is not permitted. For the description of the upgrade requirement information, please refer to the related description in step S401. The details will not be described again here.
[0150] S705: The software management module sends a vehicle status request message to the vehicle status monitoring module, and in response, the vehicle status monitoring module receives a vehicle status request message from the software management module.
[0151] The vehicle status request message is used to request the status of the vehicle corresponding to the in-vehicle terminal device, and the vehicle corresponding to the in-vehicle terminal device may be understood as the vehicle that carries the in-vehicle terminal device.
[0152] S706: The vehicle status monitoring module acquires the vehicle status.
[0153] Optionally, after receiving the vehicle status request message, the vehicle status monitoring module may collect the vehicle status using sensors controlled by the vehicle status monitoring module.
[0154] S707: The vehicle status monitoring module sends a vehicle status feedback message to the software upgrade control module. In response, the software upgrade control module receives a vehicle status feedback message from the vehicle status monitoring module.
[0155] The vehicle status feedback message includes the vehicle status collected by the vehicle status monitoring module.
[0156] S708: The software upgrade control module determines whether the vehicle situation is associated with a first situation, or the software upgrade control module determines whether the vehicle situation is associated with a second situation.
[0157] For the explanation of whether the vehicle situation is related to the first situation or whether the vehicle situation is related to the second situation, please refer to the related explanation in step S403, and the details will not be described again here.
[0158] Optionally, steps S709 to S712 are performed if the software upgrade control module determines that the vehicle situation is associated with a first situation indicated by the upgrade requirement information, or step S713 is performed if the software upgrade control module determines that the vehicle situation is associated with a second situation indicated by the upgrade requirement information.
[0159] S709: The software upgrade control module sends a software transmission request message to the software provision module, and in response, the software provision module receives a software transmission request message from the software upgrade control module.
[0160] The software transmission request message is used to request from the software delivery module a software package corresponding to the description information contained in the software description message regarding the software package.
[0161] S710: The software provision module sends a software transmission message to the software upgrade control module. In response, the software upgrade control module receives a software transmission message from the software provision module.
[0162] The software transmission message contains the software package corresponding to the description information contained in the software description message regarding the software package.
[0163] Optionally, in step S701, if the software providing module obtains description information of the software package using a notification message from the server, before step S710 is performed, the software upgrade method provided in this embodiment of the present application further includes a step in which the software providing module obtains a software package corresponding to the software package identifier included in the notification message.
[0164] S711: The software upgrade control module sends a software transmission completion message to the software provision module. In response, the software provision module receives a software transmission completion message from the software upgrade control module.
[0165] The software transmission complete message is used to notify the software delivery module that the software package has been successfully transmitted.
[0166] S712: The software upgrade control module initiates the software package upgrade.
[0167] Optionally, if the vehicle situation is associated with the first situation, the software upgrade control module can determine that the situation of the vehicle corresponding to the in-vehicle terminal device allows for software package upgrade, and then obtains the software package corresponding to the software package description information and initiates the software package upgrade. For the process of initiating software package upgrade, please refer to the prior art, and the details will not be described here.
[0168] S713: The software upgrade control module determines not to start the software package upgrade.
[0169] Optionally, if the vehicle situation is associated with a second situation, the software upgrade control module determines not to start the software package upgrade because it can determine that the situation of the vehicle corresponding to the vehicle-mounted terminal device does not allow the software package upgrade.
[0170] According to the software upgrade method provided in this embodiment of the present application, the software upgrade control module obtains software package upgrade requirement information and a vehicle status corresponding to the in-vehicle terminal device. If the vehicle status is associated with a first status indicated by the upgrade requirement information, the software upgrade control module obtains the software package from the software provision module and initiates a software package upgrade; or if the vehicle status is associated with a second status, the software upgrade control module determines not to initiate a software package upgrade. In this embodiment of the present application, the software upgrade control module may determine whether to initiate a software upgrade based on the upgrade requirement information and the vehicle status, and initiate the upgrade if the vehicle status is associated with the first status. In this way, the probability of security threats occurring during the upgrade process can be reduced and the user experience can be improved. Furthermore, if the software upgrade control module determines that the vehicle status is associated with the first status, it requests the software provision module to transmit the software package, thereby avoiding unnecessary software package transmission between the software provision module and the software upgrade control module if the vehicle status is associated with the second status.
[0171] It should be noted that the solutions shown in Figures 7A and 7B are merely possible internal implementation solutions for the vehicle-mounted terminal device to perform the software upgrade method of the present application shown in Figure 5. In actual application, the software upgrade method of Figure 5 may also have other internal implementation solutions, which are not particularly limited in this embodiment of the present application.
[0172] The operations of the in-vehicle terminal device in steps S701 to S712 or steps S701 to S713 may be performed by the processor 401 in the communication device 40 shown in Fig. 2 calling up the application program code stored in the memory 403. This is not limited to this embodiment of the present application.
[0173] It will be understood that in the above-described embodiments, the methods and / or steps performed by the in-vehicle terminal device may alternatively be implemented in components (e.g., chips or circuits) that may be used in the in-vehicle terminal device.
[0174] The above mainly describes the solution provided in the embodiments of the present application from the perspective of interactions between network elements. Correspondingly, an embodiment of the present application also provides a communication device, which is configured to implement the above-described method. The communication device may be an on-board terminal device in the above-described method embodiment, a device including the on-board terminal device, or a component that can be used in the on-board terminal device. It will be understood that to implement the above-described functions, the communication device includes corresponding hardware structures and / or software modules for performing each function. Those skilled in the art will readily recognize that the present application can be realized in hardware or a combination of hardware and computer software, in combination with the apparatus and algorithm steps related to the examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or in hardware running computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation examples should not be considered beyond the scope of the present application.
[0175] In the embodiments of the present application, a communication device may be divided into multiple functional modules based on the above-described method embodiments. For example, each functional module may be obtained by dividing it based on its corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or a software functional module. It should be noted that the module division in the embodiments of the present application is merely an example and is merely a logical functional division. In actual implementation, other division methods may be used.
[0176] For example, the communication device is an in-vehicle terminal device in the above-mentioned method embodiment. Figure 8 is a schematic structural diagram of an in-vehicle terminal device 80. The in-vehicle terminal device 80 includes an acquisition module 801 and a processing module 802.
[0177] In one possible implementation example, the acquisition module 801 is configured to acquire software package upgrade requirement information and a vehicle status corresponding to the in-vehicle terminal device, where the upgrade requirement information indicates a first status and / or a second status. If the vehicle status is associated with the first status, the processing module 802 is configured to initiate the software package upgrade. Alternatively, if the vehicle status is associated with the second status, the processing module 802 is further configured to determine not to initiate the software package upgrade.
[0178] Optionally, the in-vehicle terminal device 80 may further include a transceiver module 803. The transceiver module 803 may also be referred to as a transceiver device and is configured to implement a transmitting function and / or a receiving function. For example, the transceiver module 803 may be a transceiver circuit, a transceiver, or a communication interface.
[0179] Optionally, the transceiving module 803 is configured to receive the software package from a software server.
[0180] Optionally, the software package that the transceiver module 803 receives from the software server includes upgrade requirement information, and configuring the acquisition module 801 to acquire the upgrade requirement information of the software package includes configuring the acquisition module 801 to acquire the upgrade requirement information included in the software package.
[0181] Optionally, the software package received by the transmitting / receiving module 803 from the software server including the upgrade requirement information includes: the software package including description information of the software package, and the description information including the upgrade requirement information. The obtaining module 801 being configured to obtain the upgrade requirement information of the software package includes: the obtaining module 801 being configured to obtain the upgrade requirement information in the description information.
[0182] Optionally, the configuration of the acquisition module 801 to acquire upgrade requirement information of the software package includes the configuration of the acquisition module 801 to determine pre-set upgrade requirement information as the upgrade requirement information of the software package.
[0183] All the contents related to each step in the above method embodiments may be cited in the functional description of the corresponding functional module, and the details will not be described again here.
[0184] In this embodiment, the in-vehicle terminal device 80 is presented in the form of a functional module obtained by integration. A "module" in this specification may be a specific ASIC, circuitry, a processor and memory for executing one or more software or firmware programs, integrated logic circuitry, and / or other components capable of providing the aforementioned functionality. In one simple embodiment, those skilled in the art will understand that the in-vehicle terminal device 80 may be in the form of the communication device 40 shown in FIG. 2.
[0185] For example, the processor 401 in the communication device 40 shown in FIG. 2 may invoke computer-executable instructions stored in the memory 403, thereby causing the in-vehicle terminal device 80 to perform the software upgrade method in the above-described method embodiment.
[0186] Specifically, the functions / implementation processes of the acquisition module 801, the processing module 802, and the transmission / reception module 803 in Fig. 8 may be realized by the processor 401 in the communication device 40 shown in Fig. 2 calling computer-executable instructions stored in the memory 403. Alternatively, the functions / implementation processes of the acquisition module 801 and the processing module 802 in Fig. 8 may be realized by the processor 401 in the communication device 40 shown in Fig. 2 calling computer-executable instructions stored in the memory 403, and the functions / implementation processes of the transmission / reception module 803 in Fig. 8 may be realized using the communication interface 404 in the communication device 40 shown in Fig. 2.
[0187] The in-vehicle terminal device 80 provided in this embodiment can perform the above-mentioned software upgrade method, so please refer to the above-mentioned method embodiments for the technical effects that can be obtained by the in-vehicle terminal device 80. Details will not be described again here.
[0188] Optionally, an embodiment of the present application further provides a communication device (e.g., the communication device may be a chip or a chip system). The communication device includes a processor configured to perform the method in any one of the above-mentioned method embodiments. In one executable design example, the communication device further includes a memory. The memory is configured to store necessary program instructions and necessary data. The processor may call the program code stored in the memory to instruct the communication device to perform the method in any one of the above-mentioned method embodiments. Of course, the memory may alternatively not be included in the communication device. When the communication device is a chip system, the communication device may include a chip, or may include a chip and another discrete element. This is not particularly limited in this embodiment of the present application.
[0189] All or part of the above-described embodiments may be implemented using software, hardware, firmware, or any combination thereof. When embodiments are implemented using a software program, these embodiments may be fully or partially implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, the procedures or functions according to the embodiments of the present application are produced in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio wave, or microwave) transmission. The computer-readable storage medium may be any available medium accessible by a computer, or a data storage device, such as a server or a data center, that integrates one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)). In an embodiment of the present application, a computer may include the above-mentioned devices.
[0190] Although the present application has been described with reference to embodiments, in the course of implementing the claimed application, those skilled in the art will understand and realize other variations of the disclosed embodiments, by studying the accompanying drawings, the disclosure, and the appended claims. In the claims, "comprising" does not exclude other elements or steps, and "a" or "one" does not exclude a plurality. A single processor or other device may implement several functions recited in the claims. The fact that certain measures are recited in mutually different dependent claims does not indicate that these measures cannot be combined to produce superior results.
[0191] Although the present application has been described in connection with specific features and embodiments thereof, it is apparent that various modifications and combinations may be made to these features and embodiments thereof without departing from the spirit and scope of the present application. Accordingly, this specification and the accompanying drawings are merely exemplary descriptions of the present application as defined by the appended claims, and any or all modifications, variations, combinations, or equivalents covering the scope of the present application are to be considered. It is apparent that a person skilled in the art can make various modifications and variations to the present application without departing from the spirit and scope of the present application. The present application is intended to cover such modifications and variations of the present application only if they fall within the scope of protection defined by the following claims and their equivalent technologies. [Other possible items] (Item 1) 1. A software upgrade method, comprising: a step of the in-vehicle terminal device acquiring software package upgrade requirement information, the upgrade requirement information indicating a first situation and / or a second situation; The vehicle terminal device acquires a vehicle status corresponding to the vehicle terminal device; If the vehicle situation is related to the first situation, the in-vehicle terminal device initiates the software package upgrade; or determining that the vehicle status is associated with the second status, the in-vehicle terminal device does not initiate the software package upgrade; A method comprising: (Item 2) the first condition indicates at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving condition of the vehicle; Item 10. The method of item 1, wherein the second condition indicates at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving condition of the vehicle. (Item 3) The method further comprises: 3. The method according to claim 1, further comprising a step in which the in-vehicle terminal device receives the software package from a software server. (Item 4) the software package includes the upgrade requirement information; The step of the in-vehicle terminal device obtaining software package upgrade requirement information includes: 4. The method according to item 3, including a step in which the in-vehicle terminal device acquires the upgrade requirement information in the software package. (Item 5) The software package includes the upgrade requirement information. the software package includes description information of the software package, and the description information includes the upgrade requirement information; The step of the in-vehicle terminal device obtaining software package upgrade requirement information includes: 5. The method according to item 4, including a step in which the in-vehicle terminal device acquires the upgrade requirement information in the description information. (Item 6) The step of the in-vehicle terminal device obtaining software package upgrade requirement information includes: The method according to any one of items 1 to 3, comprising a step in which the in-vehicle terminal device determines preset upgrade requirement information as the upgrade requirement information of the software package. (Item 7) A communication device comprising an acquisition module and a processing module, The acquiring module is configured to acquire upgrade requirement information of the software package, and the upgrade requirement information indicates a first condition and / or a second condition; the acquisition module is further configured to acquire a vehicle status corresponding to the communication device; the processing module is configured to initiate an upgrade of the software package if the vehicle condition is associated with the first condition; or The communication device is further configured such that if the vehicle condition is associated with the second condition, the processing module determines not to initiate the software package upgrade. (Item 8) the first condition indicates at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving condition of the vehicle; 8. The communication device of item 7, wherein the second condition indicates at least one of the geographic location of the vehicle, the environment in which the vehicle is located, or the driving conditions of the vehicle. (Item 9) the communication device further comprises a transceiver module; Item 9. The communication device according to item 7 or 8, wherein the transceiver module is configured to receive the software package from a software server. (Item 10) the software package includes the upgrade requirement information; The acquiring module is configured to acquire upgrade requirement information of a software package. 10. The communication device of claim 9, wherein the acquisition module is configured to acquire the upgrade requirement information in the software package. (Item 11) The software package includes the upgrade requirement information. the software package includes description information of the software package, and the description information includes the upgrade requirement information; The acquiring module is configured to acquire upgrade requirement information of a software package. Item 11. The communication device of item 10, wherein the acquisition module is configured to acquire the upgrade requirement information within the description information. (Item 12) The acquiring module is configured to acquire upgrade requirement information of a software package. 10. The communication device of any one of items 7 to 9, wherein the acquisition module is configured to determine pre-set upgrade requirement information as the upgrade requirement information of the software package. (Item 13) A communication device comprising a software upgrade control module and a vehicle status monitoring module, The software upgrade control module is configured to obtain upgrade requirement information of a software package, and the upgrade requirement information indicates a first situation and / or a second situation; the vehicle status monitoring module is configured to acquire a vehicle status corresponding to the communication device; the software upgrade control module is further configured to initiate an upgrade of the software package if the vehicle condition is associated with the first condition; or If the vehicle condition is associated with the second condition, the software upgrade control module is further configured to determine not to initiate an upgrade of the software package. (Item 14) the first condition indicates at least one of a geographic location of the vehicle, an environment in which the vehicle is located, or a driving condition of the vehicle; Item 14. The communication device of item 13, wherein the second condition indicates at least one of the geographic location of the vehicle, the environment in which the vehicle is located, or the driving conditions of the vehicle. (Item 15) the communication device further comprising a software provision module; Item 15. The communication device according to item 13 or 14, wherein the software provision module is configured to receive the software package from a software server. (Item 16) the software package includes the upgrade requirement information; The software upgrade control module is configured to obtain software package upgrade requirement information; Item 16. The communication device of item 15, wherein the software upgrade control module is configured to obtain the upgrade requirement information in the software package. (Item 17) The software package includes the upgrade requirement information. the software package includes description information of the software package, and the description information includes the upgrade requirement information; The software upgrade control module is configured to obtain software package upgrade requirement information; Item 17. The communication device of item 16, wherein the software upgrade control module is configured to obtain the upgrade requirement information in the description information. (Item 18) The software upgrade control module is configured to obtain software package upgrade requirement information; 16. The communication device of any one of items 13 to 15, wherein the software upgrade control module is configured to determine pre-set upgrade requirement information as the upgrade requirement information of the software package. (Item 19) A communication device comprising a processor and a memory, A communication device, wherein the memory is configured to store computer-executable instructions that, when executed by the processor, enable the communication device to perform the method of any one of items 1 to 6. (Item 20) 7. A computer-readable storage medium comprising instructions that, when executed in a communications device, enable the communications device to perform the method of any one of items 1 to 6.
Claims
1. 1. An upgrade method for a vehicle, the upgrade method being performed by an upgrade device, comprising: receiving a first software package from a software server and acquiring first upgrade requirement information included in the first software package, the first upgrade requirement information indicating a first judgment condition; receiving a second software package from the software server and acquiring second upgrade requirement information included in the second software package, the second upgrade requirement information indicating a second judgment condition, and the first judgment condition being different from the second judgment condition; determining whether the vehicle will initiate a first over-the-air (OTA) upgrade using the first software package based on the first decision condition; determining whether the vehicle will initiate a second over-the-air (OTA) upgrade using the second software package based on the second decision condition; A method for providing
2. The first determination condition includes a first situation and / or a second situation, and the step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes:
2. The method of claim 1, further comprising: initiating the first OTA upgrade for the vehicle using the first software package in response to the vehicle's status being associated with the first status; or determining not to initiate the second OTA upgrade for the vehicle using the second software package in response to the vehicle's status being associated with the second status.
3. The state of the vehicle is associated with the first state, The situation of the vehicle is similar to the first situation, or the situation of the vehicle is within a situation range in which the first situation is used as a reference, and a preset situation threshold is used as an offset, or the situation of the vehicle is the first situation; The state of the vehicle is associated with the second state, 3. The method of claim 2, comprising: the situation of the vehicle being similar to the second situation; the situation of the vehicle being within a range of situations in which the second situation is used as a reference and a preset situation threshold is used as an offset; or the situation of the vehicle being the second situation.
4. 1. An upgrade method for a vehicle, the upgrade method being performed by an upgrade device, comprising: obtaining first upgrade requirement information associated with a first software package, the first upgrade requirement information indicating a first determination condition; obtaining second upgrade requirement information associated with a second software package, the second upgrade requirement information indicating a second criterion, and the first criterion being different from the second criterion; determining whether the vehicle will initiate a first over-the-air (OTA) upgrade using the first software package based on the first decision condition; determining whether the vehicle will initiate a second over-the-air (OTA) upgrade using the second software package based on the second decision condition; Equipped with The first determination condition includes a first situation and / or a second situation, and the step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes: determining, in response to the vehicle's status being associated with the first status, to initiate the first OTA upgrade for the vehicle using the first software package, or, in response to the vehicle's status being associated with the second status, not to initiate the second OTA upgrade for the vehicle using the second software package; The state of the vehicle is associated with the first state, The situation of the vehicle is similar to the first situation, or the situation of the vehicle is within a situation range in which the first situation is used as a reference, and a preset situation threshold is used as an offset, or the situation of the vehicle is the first situation; The state of the vehicle is associated with the second state, The method includes: the vehicle's situation being similar to the second situation; or the vehicle's situation being within a situation range in which the second situation is used as a reference and a predetermined situation threshold is used as an offset; or the vehicle's situation being the second situation.
5. The first situation is a first situation set having a plurality of situations, and the situation of the vehicle is associated with the first situation, the situation of the vehicle is associated with a situation in the first situation set; The situation of the vehicle is associated with all situations in the first situation set; or the quantity of situations associated with the situation of the vehicle in the first situation set exceeds a quantity threshold; Including, or The second situation is a second situation set having a plurality of situations, and the situation of the vehicle is associated with the second situation, the situation of the vehicle is associated with a situation in the second situation set; The situation of the vehicle is associated with all situations in the second situation set; or the quantity of situations associated with the situation of the vehicle in the second situation set exceeds a quantity threshold; 5. The method of claim 2, comprising:
6. 1. An upgrade method for a vehicle, the upgrade method being performed by an upgrade device, comprising: obtaining first upgrade requirement information associated with a first software package, the first upgrade requirement information indicating a first determination condition; obtaining second upgrade requirement information associated with a second software package, the second upgrade requirement information indicating a second criterion, and the first criterion being different from the second criterion; determining whether the vehicle will initiate a first over-the-air (OTA) upgrade using the first software package based on the first decision condition; determining whether the vehicle will initiate a second over-the-air (OTA) upgrade using the second software package based on the second decision condition; Equipped with The first determination condition includes a first situation and / or a second situation, and the step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes: determining, in response to the vehicle's status being associated with the first status, to initiate the first OTA upgrade for the vehicle using the first software package, or, in response to the vehicle's status being associated with the second status, not to initiate the second OTA upgrade for the vehicle using the second software package; The first situation is a first situation set having a plurality of situations, and the situation of the vehicle is associated with the first situation, the situation of the vehicle is associated with a situation in the first situation set; The situation of the vehicle is associated with all situations in the first situation set; or the quantity of situations associated with the situation of the vehicle in the first situation set exceeds a quantity threshold; Including, or The second situation is a second situation set having a plurality of situations, and the situation of the vehicle is associated with the second situation, the situation of the vehicle is associated with a situation in the second situation set; The situation of the vehicle is associated with all situations in the second situation set; or the quantity of situations associated with the situation of the vehicle in the second situation set exceeds a quantity threshold; A method comprising:
7. The step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes: prompting a user for an upgrade decision using a human-computer interaction interface; determining that the vehicle's status satisfies the first condition by receiving a command input by the user indicating that the user approves the upgrade; initiating the first OTA upgrade using the first software package; 7. The method of claim 1, comprising:
8. 1. An upgrade method for a vehicle, the upgrade method being performed by an upgrade device, comprising: obtaining first upgrade requirement information associated with a first software package, the first upgrade requirement information indicating a first determination condition; obtaining second upgrade requirement information associated with a second software package, the second upgrade requirement information indicating a second criterion, and the first criterion being different from the second criterion; determining whether the vehicle will initiate a first over-the-air (OTA) upgrade using the first software package based on the first decision condition; determining whether the vehicle will initiate a second over-the-air (OTA) upgrade using the second software package based on the second decision condition; Equipped with The step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes: prompting a user for an upgrade decision using a human-computer interaction interface; determining that the vehicle's status satisfies the first condition by receiving a command input by the user indicating that the user approves the upgrade; initiating the first OTA upgrade using the first software package; A method comprising:
9. The step of determining whether the vehicle initiates a first over-the-air (OTA) upgrade using the first software package based on the first determination condition includes: determining that the vehicle situation satisfies the first determination condition; prompting a user for an upgrade decision using a human-computer interaction interface; initiating the first OTA upgrade using the first software package by receiving a command entered by the user indicating that the user approves the upgrade; 7. The method of claim 1, comprising:
10. The step of obtaining the first upgrade requirement information includes: obtaining the first upgrade requirement information based on a software package identifier, upgrade requirement information, or description information in the first software package after obtaining the first software package; or obtaining the first upgrade requirement information by making a request to the software server based on a notification message from the software server; 9. The method of any one of claims 4, 6 and 8, comprising:
11. 1. An upgrade method for a vehicle, the upgrade method being performed by an upgrade device, comprising: obtaining first upgrade requirement information associated with a first software package, the first upgrade requirement information indicating a first determination condition; obtaining second upgrade requirement information associated with a second software package, the second upgrade requirement information indicating a second criterion, and the first criterion being different from the second criterion; determining whether the vehicle will initiate a first over-the-air (OTA) upgrade using the first software package based on the first decision condition; determining whether the vehicle will initiate a second over-the-air (OTA) upgrade using the second software package based on the second decision condition; Equipped with The step of obtaining the first upgrade requirement information includes: obtaining the first upgrade requirement information based on a software package identifier, upgrade requirement information, or description information in the first software package after obtaining the first software package; or obtaining the first upgrade requirement information by making a request to the software server based on a notification message from the software server; A method comprising:
12. 12. The method according to claim 1, wherein the first judgment condition indicates a geographical location of the vehicle, an environment in which the vehicle is located, or a driving situation of the vehicle, and the second judgment condition indicates a geographical location of the vehicle, an environment in which the vehicle is located, or a driving situation of the vehicle.
13. 13. The method of claim 12, wherein the geographic location is a parking lot, an urban road, a restricted traffic road segment, or a highway segment, the environment is daytime, nighttime, a congested road segment, or a body temperature of the vehicle, and the driving condition is braking, moving, high speed, low speed, or parked.
14. An upgrade device for a vehicle, comprising a unit configured to carry out the steps of the method according to any one of claims 1 to 13.
15. A computer program product for causing a processor to carry out the method of any one of claims 1 to 13.
Citation Information
Patent Citations
On-vehicle program update device
JP2014106875A
Software update device and software update system
JP2016218932A
Software update system and server
JP2017134506A
Autonomous travel system for farm work vehicle
JP2018170990A
Information update device and information update method
JP2019074800A