Vehicle software upgrade method, system and device, and storage medium

By receiving the timestamps of user update commands, the target upgrade time is determined, and the upgrade time is distributed, which solves the problem of high concurrency in vehicle software upgrades, reduces server operating costs, and improves user experience.

WO2026045725A1PCT designated stage Publication Date: 2026-03-05ZHEJIANG GEELY HLDG GRP CO LTD +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/108507
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-29
Filing Date
2025-07-14
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

In existing technologies, high concurrency during vehicle software upgrades leads to insufficient server performance, requiring the purchase/lease of additional servers, increasing operating costs, and immediate upgrades negatively impact user experience.

Method used

By receiving update commands from users, obtaining timestamps, determining the target upgrade time based on the timestamps, distributing upgrade time, reducing high-concurrency peaks, and efficiently upgrading using cloud device resources.

Benefits of technology

This reduced server operating costs, improved user experience, fully utilized cloud device resources, and enabled efficient vehicle software upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025108507_05032026_PF_FP_ABST
    Figure CN2025108507_05032026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a vehicle software upgrade method, system and device, and a storage medium. The method comprises: receiving an update instruction sent by a user; on the basis of the update instruction, acquiring a timestamp of the update instruction; on the basis of the timestamp, determining a target upgrade time; and on the basis of the target upgrade time, performing an OTA-based upgrade. By means of the method, randomization and dispersion of upgrade times are achieved, thereby reducing the peak value of high concurrency of a server, reducing the operation cost of the server, and also improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Vehicle software upgrade methods, systems, equipment and storage media

[0001] This application claims priority to the following Chinese patent applications filed on August 29, 2024: Application No. 202411196824.0, entitled "Vehicle Software Upgrade Method, Apparatus, Vehicle and Storage Medium"; Application No. 202411196820.2, entitled "Vehicle Software Scheduled Upgrade Method, Apparatus, Device and Storage Medium"; Application No. 202411196821.7, entitled "Vehicle Software Upgrade Method, Apparatus, Device and Storage Medium"; and Application No. 202411196822.1, entitled "Vehicle Software Upgrade Method, Apparatus, Device and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of vehicle control technology, and in particular to a vehicle software upgrade method, system, device and storage medium. Background Technology

[0003] With the advancement of technology, cars are becoming increasingly intelligent, and so are vehicle software upgrades. Over-the-Air (OTA) technology has become a popular in-vehicle technology. OTA enables remote management of mobile terminal devices and Subscriber Identity Module (SIM) card data via the air interface of mobile communication. OTA can detect new system upgrades online and download the upgrade package via wireless or mobile networks to complete the upgrade.

[0004] Currently, when a vehicle is detected to have an update or upgrade task, the user can schedule an upgrade time, authorize an immediate upgrade, or authorize the vehicle's infotainment system to upgrade automatically.

[0005] However, if the automatic upgrade time is concentrated, the server cannot effectively handle high concurrency, and immediate updates will also affect users' car use, resulting in a poor user experience. Summary of the Invention

[0006] This application provides a vehicle software upgrade method, system, device, and storage medium to solve the problem of how to efficiently utilize server performance to upgrade vehicle software.

[0007] Firstly, this application provides a vehicle software upgrade method, applied to a vehicle, the method comprising:

[0008] Receive an update command sent by a user, the update command being used to instruct the vehicle software to update automatically;

[0009] According to the update instruction, obtain the timestamp of the update instruction;

[0010] Based on the timestamp, the target upgrade time is determined;

[0011] Over-the-air (OTA) upgrades are performed based on the target upgrade time.

[0012] In conjunction with the first aspect, in some embodiments, the method further includes:

[0013] The update command is sent to the cloud device;

[0014] Receive the target upgrade time sent by the cloud device;

[0015] OTA upgrades will be performed according to the target upgrade time.

[0016] In conjunction with the first aspect, in some embodiments, the step of performing over-the-air (OTA) upgrades based on the target upgrade time includes:

[0017] A countdown is performed based on the target upgrade. After the countdown ends, the vehicle status is obtained, which indicates whether the vehicle is in use.

[0018] If the vehicle status indicates that the vehicle is not in use, then an OTA upgrade is performed based on the update package.

[0019] In conjunction with the first aspect, in some embodiments, the method further includes:

[0020] If the vehicle status indicates that the vehicle is in use, the target upgrade time is postponed for a preset time, and the number of upgrade postponements is accumulated.

[0021] The upgrade postponement count is sent to the cloud device, and an upgrade postponement message is sent to the user.

[0022] In conjunction with the first aspect, in some embodiments, determining the target upgrade time based on the timestamp includes:

[0023] The timestamp is split and processed to obtain the hour and minute corresponding to the timestamp;

[0024] The time corresponding to the target upgrade time is determined based on the time corresponding to the timestamp and the preset hour conversion coefficient;

[0025] The score corresponding to the timestamp is determined as the score corresponding to the target upgrade time;

[0026] The target upgrade time is obtained by combining the hour and minute corresponding to the target upgrade time.

[0027] In conjunction with the first aspect, in some embodiments, determining the time corresponding to the target upgrade time based on the time corresponding to the timestamp and a pre-set hour conversion coefficient includes:

[0028] The time corresponding to the target upgrade time is generated by taking the remainder of the time corresponding to the timestamp based on the hour conversion coefficient and adding 1.

[0029] In conjunction with the first aspect, in some embodiments, before receiving the update instruction sent by the user, the method further includes:

[0030] The vehicle receives an upgrade task sent by a cloud device, the upgrade task being used to instruct the vehicle to download an update software package;

[0031] According to the upgrade task, the update package is downloaded, and an upgrade reminder is sent to the user after the download is completed.

[0032] In conjunction with the first aspect, in some embodiments, the upgrade task includes the vehicle's identifier, and the method further includes:

[0033] Based on the identifier, determine whether the timestamp of the update instruction corresponding to the last upgrade task has been updated;

[0034] If it is determined that the timestamp of the update instruction corresponding to the previous upgrade task has not been updated, then the upgrade time corresponding to the previous upgrade task is determined as the target upgrade time.

[0035] Secondly, this application provides a vehicle software upgrade method applied to a cloud device, the method comprising:

[0036] Receive an update command sent by the vehicle, the update command being used to instruct the vehicle software to update automatically;

[0037] According to the update instruction, obtain the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information. The set of vehicle usage information includes the usage data of multiple vehicles, and the set of upgrade information includes the upgrade data of multiple vehicles.

[0038] Based on the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information, the target upgrade time is determined;

[0039] The target upgrade time is sent to the vehicle so that the vehicle can perform an OTA upgrade at the target upgrade time.

[0040] In conjunction with the second aspect, in some embodiments, the method further includes:

[0041] Receive the number of upgrade postponements sent by the vehicle;

[0042] If the number of upgrade postponements reaches a preset postponement threshold, the target upgrade time is redefined, and the new target upgrade time is sent to the vehicle.

[0043] In conjunction with the second aspect, in some embodiments, the method further includes:

[0044] Based on the list of vehicles to be upgraded, the recommended upgrade time for each vehicle is determined;

[0045] The recommended upgrade time and the identifier of the target upgrade software corresponding to the vehicle are packaged into an upgrade task and sent to the vehicle;

[0046] Receive first feedback information sent by the vehicle, the first feedback information including the scheduled upgrade time reported by the vehicle;

[0047] Based on the first feedback information, an upgrade task is configured for the vehicle, which is used to instruct the vehicle to perform a software upgrade.

[0048] In conjunction with the second aspect, in some embodiments, the method further includes:

[0049] Based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been determined to be upgraded at the current moment, the number of vehicles that can be woken up at the current moment is determined, and the number of vehicles that can be woken up at the current moment represents the number of concurrent upgrades that the cloud device can accommodate at the current moment.

[0050] Based on the number of vehicles that can be woken up, vehicles that meet the preset upgrade conditions in the list of vehicles to be upgraded are woken up in chronological order for OTA upgrade.

[0051] In conjunction with the second aspect, in some embodiments, determining the target upgrade time based on the list of vehicles to be upgraded, the vehicle usage information set, and the upgrade information set includes:

[0052] Based on the list of vehicles to be upgraded, the number of vehicles to be upgraded at each moment within a preset time period is counted, and a first recommendation index is determined for each moment based on the number of vehicles to be upgraded at each moment.

[0053] Based on the vehicle usage information set, the probability of vehicle usage at each moment within the preset time period is calculated, and a second recommendation index is determined for each moment based on the probability of vehicle usage at each moment.

[0054] Based on the upgrade information set, the number of upgrades at each moment within the preset time period is counted, and a third recommendation index is determined for each moment based on the number of upgrades at each moment.

[0055] For each time point, the target upgrade time is determined based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point.

[0056] In conjunction with the second aspect, in some embodiments, determining the target upgrade time based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to the time point includes:

[0057] For each time point, the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point are weighted and calculated to obtain the recommendation value corresponding to that time point;

[0058] The time corresponding to the highest recommendation value is determined as the target upgrade time.

[0059] In conjunction with the second aspect, in some embodiments, the method further includes:

[0060] Based on the upgrade information set, count the number of upgrade postponements at each moment within the preset time period;

[0061] Accordingly, determining the third recommendation index for each time point based on the number of upgrades at each time point includes:

[0062] A third recommendation index is determined for each time step based on the number of upgrades and the number of upgrade postponements at each time step.

[0063] In conjunction with the second aspect, in some embodiments, before waking up vehicles meeting preset upgrade conditions from the list of vehicles to be upgraded in chronological order according to the number of waking-upable vehicles for OTA upgrade, the method further includes:

[0064] Based on the number of vehicles that can be woken up, a target vehicle set is determined from the list of vehicles to be upgraded. The target vehicle set includes vehicles to be upgraded in a number that is equal to or less than the number of vehicles that can be woken up, and the upgrade time corresponding to each vehicle to be upgraded is the current time.

[0065] Obtain vehicle information for each vehicle to be upgraded in the target vehicle set. The vehicle information includes vehicle status, which indicates whether the vehicle is in use at the current moment.

[0066] For each vehicle to be upgraded in the target vehicle set, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time, then it is determined that the vehicle to be upgraded meets the preset upgrade conditions.

[0067] In conjunction with the second aspect, in some embodiments, the vehicle information may further include the vehicle's estimated usage time, in which case the method further includes:

[0068] For each vehicle to be upgraded in the target vehicle set, determine whether the vehicle's expected usage time is after the upgrade based on the upgrade duration.

[0069] Accordingly, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current moment, then determining that the vehicle to be upgraded meets the preset upgrade conditions includes:

[0070] If the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time and the vehicle is expected to be used after the upgrade, then the vehicle to be upgraded is determined to meet the preset upgrade conditions.

[0071] In conjunction with the second aspect, in some embodiments, determining the target upgrade time based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to the time point includes:

[0072] For each time point, the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point are weighted and calculated to obtain the recommendation value corresponding to that time point;

[0073] The time corresponding to the highest recommendation value is determined as the target upgrade time.

[0074] In conjunction with the second aspect, in some embodiments, the method further includes:

[0075] Based on the upgrade information set, count the number of upgrade postponements at each moment within the preset time period;

[0076] Accordingly, determining the third recommendation index for each time point based on the number of upgrades at each time point includes:

[0077] A third recommendation index is determined for each time step based on the number of upgrades and the number of upgrade postponements at each time step.

[0078] In conjunction with the second aspect, in some embodiments, before waking up vehicles meeting preset upgrade conditions from the list of vehicles to be upgraded in chronological order according to the number of waking-upable vehicles for OTA upgrade, the method further includes:

[0079] Based on the number of vehicles that can be woken up, a target vehicle set is determined from the list of vehicles to be upgraded. The target vehicle set includes vehicles to be upgraded in a number that is equal to or less than the number of vehicles that can be woken up, and the upgrade time corresponding to each vehicle to be upgraded is the current time.

[0080] Obtain vehicle information for each vehicle to be upgraded in the target vehicle set. The vehicle information includes vehicle status, which indicates whether the vehicle is in use at the current moment.

[0081] For each vehicle to be upgraded in the target vehicle set, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time, then it is determined that the vehicle to be upgraded meets the preset upgrade conditions.

[0082] In conjunction with the second aspect, in some embodiments, the vehicle information may further include the vehicle's estimated usage time, in which case the method further includes:

[0083] For each vehicle to be upgraded in the target vehicle set, determine whether the vehicle's expected usage time is after the upgrade based on the upgrade duration.

[0084] Accordingly, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current moment, then determining that the vehicle to be upgraded meets the preset upgrade conditions includes:

[0085] If the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time and the vehicle is expected to be used after the upgrade, then the vehicle to be upgraded is determined to meet the preset upgrade conditions.

[0086] In conjunction with the second aspect, in some embodiments, the method further includes:

[0087] If the number of vehicles to be upgraded in the target vehicle set is less than the number of vehicles that can be woken up, then in chronological order, vehicles to be upgraded are selected from the list of vehicles to be upgraded and added to the target vehicle set until the number of vehicles to be upgraded in the target vehicle set is equal to the number of vehicles that can be woken up, thus obtaining a new target vehicle set.

[0088] In conjunction with the second aspect, in some embodiments, the method further includes:

[0089] For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded does not meet the preset upgrade conditions, the upgrade time of the vehicle to be upgraded will be postponed for a preset period of time, and the list of vehicles to be upgraded will be updated.

[0090] In conjunction with the second aspect, in some embodiments, the method further includes:

[0091] For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded is not upgraded within the user-authorized upgrade period, the upgrade time of the vehicle to be upgraded will be postponed to the user-authorized upgrade period of the next upgrade cycle.

[0092] If the vehicle to be upgraded is not upgraded within the user-authorized upgrade period, the upgrade time for the vehicle to be upgraded will be postponed to the user-authorized upgrade period of the next upgrade cycle.

[0093] In conjunction with the second aspect, in some embodiments, determining the number of vehicles that can be woken up at the current moment based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been determined to be upgraded at the current moment includes:

[0094] The difference between the maximum number of concurrent upgrades that can be accommodated and the number of vehicles is determined as the number of vehicles that can be woken up at the current moment.

[0095] In conjunction with the second aspect, in some embodiments, determining the recommended upgrade time for the vehicles based on the list of vehicles to be upgraded includes:

[0096] Statistical analysis is performed on the list of vehicles to be upgraded to determine the number of vehicles scheduled for upgrade at each time point within the preset upgrade period.

[0097] Based on the number of vehicles, sort each moment within the preset upgrade period from least to most;

[0098] The time corresponding to the minimum number of vehicles is determined as the recommended upgrade time.

[0099] In conjunction with the second aspect, in some embodiments, configuring the upgrade task for the vehicle based on the first feedback information includes:

[0100] If the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, then the recommended upgrade time is set as the target upgrade time for the vehicle, and the vehicle's identifier and the target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0101] In conjunction with the second aspect, in some embodiments, the method further includes:

[0102] If the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, then based on the scheduled upgrade time, the list of vehicles to be upgraded is queried to determine the number of vehicles to be upgraded corresponding to the scheduled upgrade time;

[0103] If the number of vehicles to be upgraded does not exceed the preset vehicle threshold, the scheduled upgrade time is set as the target upgrade time for the vehicle, and the vehicle's identifier and the target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0104] In conjunction with the second aspect, in some embodiments, the method further includes:

[0105] If the number of vehicles to be upgraded exceeds the vehicle threshold, an alarm message is sent to the vehicles. The alarm message is used to remind the user that there is a risk of upgrade failure if the scheduled upgrade time is performed.

[0106] Receive the second feedback information sent by the vehicle;

[0107] Based on the second feedback information, the upgrade task is configured for the vehicle.

[0108] In conjunction with the second aspect, in some embodiments, the method further includes:

[0109] The list of vehicles to be upgraded is monitored in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, an upgrade time adjustment request is sent to the vehicles.

[0110] Receive third feedback information sent by the vehicle;

[0111] Based on the third feedback information, the task to be upgraded is reconfigured for the vehicle.

[0112] Thirdly, this application provides a vehicle software upgrade system, including a vehicle and a cloud device, wherein the vehicle and the cloud device are communicatively connected;

[0113] The vehicle is configured to perform the method described in any of the first aspects;

[0114] The cloud device is configured to perform the method described in any of the second aspects.

[0115] Fourthly, this application provides a vehicle, including: a vehicle body, a storage unit disposed within the vehicle body, an electronic control unit, and a communication interface;

[0116] The storage unit stores computer-executed instructions;

[0117] The electronic control unit executes computer execution instructions stored in the storage unit to implement the method as described in any one of the first aspects.

[0118] Fifthly, this application provides a cloud device, including: a processor, a memory communicatively connected to the processor, and a communication interface;

[0119] The memory stores computer-executed instructions;

[0120] The processor executes computer execution instructions stored in the memory to implement the method as described in any one of the second aspects above.

[0121] In a sixth aspect, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method of any one of the first and second aspects.

[0122] In a seventh aspect, this application provides a computer program product comprising a computer program that, when executed by a processor, implements the method described in any one of the first and second aspects.

[0123] The vehicle software upgrade method, system, device, and storage medium provided in this application receive update commands sent by users, obtain the timestamp of the update command, determine the target upgrade time based on the timestamp, and perform OTA upgrades according to the target upgrade time. This method achieves randomization and dispersion of upgrade times, thereby reducing peak concurrency on the server, lowering server operating costs, and improving user experience. Attached Figure Description

[0124] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0125] Figure 1 is a schematic diagram of the application system architecture of the vehicle software upgrade method provided in the embodiment of this application;

[0126] Figure 2 is a flowchart illustrating an embodiment of the vehicle software upgrade method provided in this application.

[0127] Figure 3 is a flowchart illustrating Embodiment 2 of the vehicle software upgrade method provided in this application.

[0128] Figure 4 is a flowchart illustrating Embodiment 3 of the vehicle software upgrade method provided in this application.

[0129] Figure 5 is a flowchart illustrating Embodiment 4 of the vehicle software upgrade method provided in this application.

[0130] Figure 6 is a flowchart illustrating Embodiment 5 of the vehicle software upgrade method provided in this application.

[0131] Figure 7 is a flowchart illustrating Embodiment Six of the vehicle software upgrade method provided in this application.

[0132] Figure 8 is a flowchart illustrating embodiment seven of the vehicle software upgrade method provided in this application.

[0133] Figure 9 is a flowchart illustrating an eighth embodiment of the vehicle software upgrade method provided in this application.

[0134] Figure 10 is a flowchart illustrating embodiment nine of the vehicle software upgrade method provided in this application.

[0135] Figure 11 is a flowchart illustrating Embodiment 10 of the vehicle software upgrade method provided in this application.

[0136] Figure 12 is a flowchart illustrating embodiment eleven of the vehicle software upgrade method provided in this application.

[0137] Figure 13 is a flowchart illustrating embodiment twelve of the vehicle software upgrade method provided in this application.

[0138] Figure 14 is a flowchart illustrating embodiment thirteen of the vehicle software upgrade method provided in this application.

[0139] Figure 15 is a flowchart illustrating embodiment fourteen of the vehicle software upgrade method provided in this application.

[0140] Figure 16 is a flowchart illustrating embodiment 15 of the vehicle software upgrade method provided in this application.

[0141] Figure 17 is a flowchart illustrating Embodiment Sixteen of the vehicle software upgrade method provided in this application.

[0142] Figure 18 is a structural schematic diagram of an embodiment of the vehicle software upgrade device provided in this application;

[0143] Figure 19 is a structural schematic diagram of another embodiment of a vehicle software upgrade device provided in this application;

[0144] Figure 20 is a structural schematic diagram of the vehicle provided in an embodiment of this application;

[0145] Figure 21 is a schematic diagram of the structure of the cloud device provided in the embodiment of this application.

[0146] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0147] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0148] With technological advancements, automobiles are becoming increasingly intelligent, and so are vehicle software upgrades. Over-the-Air (OTA) remote download has become a popular technology in vehicles. OTA, which uses the air interface of mobile communication to remotely manage data from mobile terminal devices and SIM cards, can detect new vehicle system upgrades online and download the upgrade package via wireless or mobile networks. Current technology allows users to schedule upgrades or authorize immediate upgrades when an update task is detected. However, during OTA upgrades, the vehicle establishes and maintains communication with the cloud, continuously exchanging information. For example, the cloud sends control commands to the vehicle, and the vehicle reports upgrade status, results, and anomalies. If upgrades are concentrated at a particular moment, it results in a large volume of uplink / downlink commands and server analysis work. To ensure successful upgrades for all vehicles, the server must be powerful enough to receive and send all commands and complete necessary analysis within a very short time. However, server performance is limited, and to handle high concurrency, additional servers need to be purchased / leased, increasing operating costs. However, during periods of low concurrency, the server remains idle, resulting in wasted costs and a poor user experience.

[0149] To address the aforementioned issues, this application provides a vehicle software upgrade method, system, device, and storage medium. This method evenly distributes the high-concurrency moments of vehicle software upgrades across a given time period, thereby reducing peak loads, lowering server operating costs, and achieving highly efficient vehicle software upgrades. It also fully utilizes cloud device resources to complete efficient vehicle software upgrades. Specifically, existing vehicle software upgrade methods may notify users after an update is detected in the cloud, allowing users to choose immediate upgrades. However, users cannot use their vehicles during the upgrade period, which may cause inconvenience. Users can also schedule upgrades by reserving an upgrade time with the vehicle's system. However, this method may result in multiple vehicles being upgraded at the same time, leading to a large number of uplink / downlink interaction commands and server analysis work. Server performance is limited, and to handle high concurrency, additional servers need to be purchased / leased, increasing operating costs. Conversely, during low-concurrency periods, the server remains idle, resulting in wasted costs. Considering these issues, the inventors investigated whether, when a user authorizes an automatic vehicle update and upgrade, a target upgrade time could be generated based on the user-authorized timestamp. This would distribute high-concurrency events evenly across a given time period, reducing peak loads and lowering server operating costs. Based on this, the technical solution of this application is proposed.

[0150] Figure 1 is a schematic diagram of the application system architecture of the vehicle software upgrade method provided in this application embodiment. As shown in Figure 1, the system includes a cloud-based OTA management module (cloud device), a vehicle-side task download module, a vehicle-side user interaction module, a vehicle-side countdown module, and a vehicle-side upgrade module. The cloud-based OTA management module is used to create tasks, calculate single-vehicle tasks, distribute tasks, and save vehicle-side main controller data. The vehicle-side task download module is used to request tasks and download software packages. The vehicle-side user interaction module is used to display task details, support user command input, and display installation status and results. The vehicle-side countdown module is used to receive the target upgrade time and notify the upgrade module to start the upgrade when the countdown time is up. The vehicle-side upgrade module is used to control the vehicle main controller software flashing process.

[0151] Optionally, the cloud-based OTA management module pushes the upgrade task to the vehicle-side task download module, which automatically downloads the software package. Once the download is complete, it notifies the vehicle-side user interaction module, alerting the user to the available update task and guiding them to authorize the upgrade. For automatic upgrades, the upgrade time is sent to the vehicle-side countdown module, which keeps track of the time. When the time is up, it notifies the vehicle-side upgrade module to perform the software upgrade. The upgrade time is calculated by the vehicle-side user interaction module based on the timestamp of the user's authorized upgrade.

[0152] Optionally, the upgrade time can also be determined by the cloud-based OTA management module based on the user's report from the vehicle-side user interaction module that the user has enabled automatic upgrades. The cloud-based OTA management module then analyzes the data from multiple dimensions to obtain the target upgrade time and sends it to the vehicle.

[0153] Optionally, the cloud-based OTA management module will also compile a list of vehicles to be upgraded and group them by time period. The cloud-based OTA management module calculates the maximum number of concurrent upgrades that can be accommodated based on the performance of the cloud device itself, and determines the number of vehicles that can be woken up based on the number of vehicles to be upgraded immediately and the number of vehicles to be upgraded by appointment set by the user. Then, the cloud-based OTA management module wakes up the vehicles in the list of vehicles to be upgraded that the user has set to upgrade freely and that meet the upgrade conditions, and performs the upgrade according to the number of vehicles that can be woken up.

[0154] Optionally, for scheduled upgrades, the cloud-based OTA management module will recommend an upgrade time to the user. The user can adjust the time based on the recommended upgrade time and report it to the cloud-based OTA management module. The cloud-based OTA management module will then evaluate the time reported by the user, configure the task based on the evaluation results, and send the determined target upgrade time to the vehicle-side countdown module.

[0155] This application does not specifically limit the form or type of the physical equipment mentioned above.

[0156] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0157] Figure 2 is a flowchart illustrating an embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 2, this method is applied to the vehicle side (vehicle) in the aforementioned system, and specifically includes:

[0158] S201: Receive update commands sent by the user.

[0159] In this step, when an upgrade task is available for the vehicle, the vehicle will download the corresponding update package according to the upgrade task. After the download is complete, the user will be notified that there is an update available and that the user needs to authorize the update. After the user authorizes the update, the vehicle will receive the update command sent by the user.

[0160] Specifically, users can send update commands to the vehicle through the user terminal or directly through the vehicle's infotainment system; this application does not impose any specific limitations on these methods.

[0161] For example, users can directly select to authorize an upgrade through the vehicle's control interface or system. Alternatively, they can remotely control the upgrade process via a terminal device application. Users can find the upgrade option in the application and send an authorization command for the upgrade.

[0162] On the vehicle's central control screen, there is usually a dedicated menu or option for software updates. Users can access this menu via touchscreen, knob, button, etc., and then select to authorize the update.

[0163] Some vehicles offer a remote service platform, allowing users to send commands to the vehicle via cloud services. Users can log in to the online service platform provided by the vehicle manufacturer or operate the system through a dedicated mobile application.

[0164] Optionally, authorization can also be achieved through a voice control system, where users can authorize automatic software updates via verbal commands. This method typically requires the vehicle to be equipped with appropriate voice recognition technology and a network connection.

[0165] It should be noted that the update command is used to instruct the vehicle software to update automatically.

[0166] Optionally, the update command can also be used to instruct the vehicle to update immediately. When the update command instructs the vehicle to update immediately, the vehicle will directly upgrade and update according to the downloaded update package. The update command can also be used to instruct the vehicle to schedule an update. When the update command instructs the vehicle to schedule an update, the update command also includes the upgrade time scheduled by the user. When the user's scheduled time is reached, the vehicle will wake up and perform the upgrade and update.

[0167] S202: Obtain the timestamp of the update instruction based on the update instruction.

[0168] In this step, in order not to affect the user's vehicle use and to reduce the high concurrency of cloud devices at a certain moment, the timestamp of the update instruction is obtained after receiving the user's update instruction.

[0169] The specific implementation of obtaining the timestamp can be achieved in any of the following ways:

[0170] 1. Log Recording: The vehicle system can generate log entries at the start or completion of each OTA update, recording the timestamps of user operations. These logs can be stored in the vehicle's storage system, so the timestamp of user-authorized update can be found by using the timestamp of user operation recorded in the storage system's logs.

[0171] 2. Cloud Storage: To ensure data backup and security, and to allow vehicle manufacturers to remotely access vehicle update data, vehicles upload update-related events and timestamps to cloud storage. The timestamps of update commands can be retrieved from cloud storage.

[0172] 3. Local storage: Timestamp information can also be stored locally in the vehicle's control unit or internal storage, ensuring that updated timestamp information remains available even without a network connection.

[0173] S203: Determine the target upgrade time based on the timestamp.

[0174] In this step, since the timestamps of the update commands are randomly distributed, the timestamps can be converted to a specific moment within a preset upgrade period as the target upgrade time. Therefore, the target upgrade time is also randomly distributed, which reduces the increased operational costs caused by high concurrency compared to fixed automatic upgrade times.

[0175] Specifically, the timestamp is split to obtain the hour and minute corresponding to the timestamp. One-third of the hour corresponding to the timestamp is taken as the remainder and 1 is added to generate the hour corresponding to the target upgrade time. The minute corresponding to the timestamp is determined as the minute corresponding to the target upgrade time. The hour and minute corresponding to the target upgrade time are combined to obtain the target upgrade time.

[0176] S204: Perform OTA upgrades according to the target upgrade time.

[0177] In this step, after obtaining the target upgrade time, the vehicle will undergo an OTA upgrade when the target upgrade time arrives.

[0178] Specifically, a countdown is performed based on the target upgrade time. After the countdown is complete, the vehicle status is obtained. If the vehicle status indicates that the vehicle is in use, the target upgrade time is postponed by a preset duration, and an upgrade postponement message is sent to the user; if the vehicle status indicates that the vehicle is not in use, the software upgrade is performed according to the update package.

[0179] Optionally, the acquired vehicle status can be any one or more of the following forms:

[0180] Vehicle driving status, vehicle speed, vehicle gear, charging status, vehicle high voltage status, door lock status, seat sensor status, etc.

[0181] 1. Vehicle driving status: If the vehicle is in driving status (such as "driving" or "drive mode"), then the vehicle is obviously being used.

[0182] 2. Vehicle Speed: If the vehicle speed is greater than zero (considering a certain margin of error), it indicates that the vehicle is moving and is likely being used. However, it is also necessary to pay attention to situations where the engine is idling or coasting at low speed when stationary. In these cases, although the speed is close to zero, the vehicle may still be in use.

[0183] 3. Vehicle Gear: Gear information is also an important reference for determining whether the vehicle is in use. If the gear is not in "Park" (P) or "Neutral" (N), but in "Drive" (D), "Reverse" (R), or other driving gear, then the vehicle is likely being driven.

[0184] 4. Charging status: If the vehicle is charging and is in other non-use states (such as doors closed, engine off, etc.), it may indicate that the vehicle is not currently in use.

[0185] 5. Vehicle high voltage status: If the high voltage system is active, the vehicle is charging, driving, or preparing to drive.

[0186] 6. Door Lock Status: The open / closed status of the door locks can indirectly reflect the vehicle's usage. If all doors are locked and have not been opened for an extended period, it may indicate that the vehicle is not currently in use. However, this also needs to be considered in light of the possibility that the owner may have only briefly left the vehicle without turning off the engine; therefore, this status needs to be assessed in conjunction with other status indicators.

[0187] 7. Seat Sensor Status: Seat sensors can detect whether there is a passenger in the seat. If the seat sensors indicate that there is a passenger and other vehicle systems are also active (such as the engine running, audio playing, etc.), then the vehicle is being used.

[0188] The above-mentioned data formats can be obtained through the following methods:

[0189] 1. Vehicle driving status: obtained through on-board diagnostics (OBD) system, in-vehicle application or third-party management platform.

[0190] 2. Vehicle speed: Obtained through the OBD system, in-vehicle application, or vehicle dashboard display.

[0191] 3. Vehicle gear position: Obtained through the OBD system, in-vehicle application, or vehicle dashboard display.

[0192] 4. Charging status: Obtained through the in-vehicle application, charging station display screen, or charging gun indicator light.

[0193] 5. Vehicle high-voltage status: This usually requires professional diagnostic tools or systems to obtain.

[0194] 6. Door lock status: Obtained through the vehicle's central control system, remote key, or physical inspection.

[0195] 7. Seat sensor status: Obtained via in-vehicle application (if supported) or physical inspection.

[0196] The vehicle software upgrade method provided in this embodiment receives an update command sent by a user, obtains the timestamp of the update command, determines the target upgrade time based on the timestamp, and performs an OTA upgrade according to the target upgrade time. This method achieves randomization and dispersion of upgrade times, thereby reducing peak concurrency on the server, lowering server operating costs, and improving user experience.

[0197] Figure 3 is a flowchart illustrating a second embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 3, based on the above embodiment, the method further includes:

[0198] S301: Send the update command to the cloud device.

[0199] In this step, when an upgrade task is available for the vehicle, the vehicle will download the corresponding update package according to the upgrade task. After the download is complete, the user will be notified that there is an update available and that the user needs to authorize the update. After the user authorizes the update, the vehicle will send the update command to the cloud device.

[0200] Specifically, users can authorize vehicle updates through their user terminals, and then the vehicle sends update commands to the cloud devices. Alternatively, users can directly authorize updates through the vehicle's infotainment system, and then the vehicle sends update commands to the cloud devices. This application does not impose any specific limitations on these embodiments.

[0201] For example, users can directly select to authorize an upgrade through the vehicle's control interface or system. Alternatively, they can remotely control the upgrade process via a terminal device application. Users can find upgrade options on the application, select the upgrade method, and the vehicle will respond to the user's action by generating corresponding update commands and sending them to the cloud device.

[0202] Optionally, there is usually a dedicated menu or option for software updates on the vehicle's central control display screen. Users can access this menu via touchscreen, knob, button, etc., and then select to authorize the update.

[0203] Some vehicles offer a remote service platform, allowing users to send authorization commands to the vehicle via cloud services. Users can log in to the online service platform provided by the vehicle manufacturer or operate the platform through a dedicated mobile application.

[0204] Optionally, authorization can also be achieved through a voice control system, where users can authorize automatic software updates via verbal commands. This method typically requires the vehicle to be equipped with appropriate voice recognition technology and a network connection.

[0205] It should be noted that the update command is used to instruct the vehicle software to update automatically.

[0206] Optionally, the update command can also be used to instruct the vehicle to upgrade immediately. When the update command instructs the vehicle to upgrade immediately, the vehicle will directly upgrade according to the downloaded update package. The update command can also be used to instruct the vehicle to schedule an upgrade. When the update command instructs the vehicle to schedule an upgrade, the update command also includes the upgrade time scheduled by the user. When the user's scheduled time is reached, the vehicle will wake up and perform the upgrade.

[0207] S302: Receive the target upgrade time sent by the cloud device.

[0208] In this step, after generating the target upgrade time, the cloud device sends the target upgrade time to the vehicle so that the vehicle can perform an OTA upgrade according to the target upgrade time.

[0209] Specifically, cloud devices distribute target upgrade times to vehicles via specific communication protocols and channels. The communication method and protocol can be a mobile communication network (such as 4G / 5G), with the vehicle connecting to the mobile network via a built-in SIM card or eSIM module. The cloud device then sends data to the vehicle through this mobile network. Alternatively, it can utilize vehicle-to-everything (V2X) technology. If the vehicle supports V2X, the cloud device can send data to the vehicle through the V2X platform. V2X technology provides communication capabilities between vehicles and the cloud, between vehicles, and between vehicles and infrastructure, facilitating more efficient distribution and execution of upgrade tasks. Finally, it can employ Wi-Fi or other wireless communication technologies. In specific scenarios (such as when the vehicle is parked in a Wi-Fi-enabled parking lot or at home), the vehicle can connect to the internet via Wi-Fi to receive data distributed from the cloud.

[0210] S303: Perform OTA upgrades based on the target upgrade time.

[0211] This step is implemented in the same way as step S204 in the previous embodiment, and will not be described again here.

[0212] The vehicle software upgrade method provided in this application sends an update command to a cloud device, receives a target upgrade time from the cloud device, and performs an OTA upgrade according to the target upgrade time. This method achieves both flexibility and efficiency in vehicle OTA upgrades.

[0213] Figure 4 is a flowchart illustrating a third embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 4, based on the above embodiment, steps S204 and S303 specifically include:

[0214] S401: Count down the time based on the target upgrade time, and obtain the vehicle status after the countdown ends.

[0215] S402: If the vehicle status indicates that the vehicle is not in use, perform an OTA upgrade based on the update package.

[0216] S403: If the vehicle status indicates that the vehicle is in use, the target upgrade time is postponed by a preset time, and the number of upgrade postponements is accumulated.

[0217] S404: Sends the upgrade postponement count to the cloud device and sends an upgrade postponement message to the user.

[0218] After the target upgrade time for the vehicle is generated, a countdown will begin until the countdown is complete, at which point preparation for the upgrade will begin. In order to complete the upgrade efficiently, the current vehicle status will be obtained after the countdown is completed. The vehicle status is used to indicate whether the vehicle is in use.

[0219] Since vehicle upgrades need to be performed when the vehicle is not in use, the system checks the vehicle's status after the scheduled upgrade time. If the vehicle is not in use, the upgrade will proceed. If the vehicle is in use, but to minimize disruption to vehicle operation and passenger experience, improve the security and reliability of OTA updates, and ensure continuous vehicle operating efficiency and user satisfaction, the target upgrade time will be postponed by a preset duration. The postponement time and reason will be sent to the user.

[0220] For example, the preset duration can be 24 hours or 48 hours, that is, it can be the same time on any future day. This application embodiment does not make specific limitations.

[0221] Specifically, the vehicle status can be determined in the following ways:

[0222] 1. Vehicle power status

[0223] ON position but not READY state: The vehicle power is on, but the engine is not started, and the vehicle is in a non-driving preparation state. This is the ideal state for OTA upgrades because the vehicle is not moving and the system is powered on, allowing data transmission and upgrade operations. OFF position: The vehicle power is completely off, and OTA upgrades cannot be performed in this state.

[0224] 2. Vehicle driving status

[0225] Stationary status: The vehicle's GPS positioning and wheel speed sensors are used to determine if the vehicle is stationary. If the vehicle is stationary, it means it is not currently in use and is suitable for OTA upgrades.

[0226] Driving Status: If the vehicle is in motion, the system should automatically determine that it is not suitable to perform an OTA upgrade, as the upgrade process may affect the normal operation of the vehicle.

[0227] 3. Vehicle fault status

[0228] No-fault status: The vehicle's diagnostic system (such as the OBD system) is used to determine if there is a fault. If a fault is found, it should be resolved before performing an OTA upgrade to avoid problems during the upgrade process.

[0229] Warning light status: Observe whether the warning light on the instrument panel is lit. If it is lit, it indicates that there is a fault or abnormality in the vehicle and it is not suitable for OTA upgrade.

[0230] 4. Vehicle safety system status

[0231] Safety systems are functioning normally: Ensure that the vehicle's safety systems (such as ABS, ESP, etc.) are in normal working order to avoid safety issues caused by system malfunctions during the upgrade process.

[0232] 5. Other factors

[0233] Vehicle charging status: If the vehicle is charging, it may be necessary to pause charging or wait for charging to complete before performing the OTA upgrade, in order to avoid the current fluctuations during the charging process affecting the upgrade process.

[0234] Vehicle network status: Ensure the vehicle's network connection is stable to facilitate the smooth download and installation of upgrade packages.

[0235] Specifically, before an OTA upgrade, the vehicle needs to undergo some preparatory work. For example, ensure the vehicle battery has sufficient charge, generally no less than 30% and a battery voltage higher than 12.1V. Ensure the vehicle has a normal connection to an external network, such as Wi-Fi or mobile data. Some models may require manually enabling the in-vehicle Wi-Fi function.

[0236] Once the preparations are complete, the vehicle will be upgraded using the pre-downloaded update package. During the upgrade process, users can view the vehicle's status in real time and track the upgrade progress.

[0237] Optionally, during the upgrade process, avoid performing any operations on the vehicle, such as starting the engine, disconnecting the power or network connection, to prevent upgrade failure or vehicle malfunction.

[0238] Optionally, by obtaining the vehicle status, if the vehicle status indicates that the vehicle is in use, then OTA upgrade cannot be performed, and the upgrade will be postponed. The target upgrade time will be postponed for a preset time, and the number of postponements for this upgrade task will be accumulated and fed back to the cloud device in real time.

[0239] The vehicle software upgrade method provided in this embodiment counts down from the target upgrade time. After the countdown ends, the vehicle status is obtained. If the vehicle status indicates that the vehicle is not in use, an OTA upgrade is performed according to the update package. If the vehicle status indicates that the vehicle is in use, the target upgrade time is postponed for a preset time, and the number of upgrade postponements is accumulated. The number of upgrade postponements is sent to the cloud device, and an upgrade postponement message is sent to the user. By combining intelligent scheduling and actual user usage, the above method achieves flexibility and efficiency in vehicle OTA upgrades, improves user experience and system stability, and promotes continuous system optimization and development. It ensures upgrade quality, thereby guaranteeing the user experience and avoiding upgrades performed while the user is using the vehicle, which would delay the user's vehicle use.

[0240] Figure 5 is a flowchart illustrating Embodiment 4 of the vehicle software upgrade method provided in this application. As shown in Figure 5, based on the above embodiments, step S102 specifically includes:

[0241] S501: Split the timestamp to obtain the hour and minute corresponding to the timestamp.

[0242] S502: Determine the time corresponding to the target upgrade time based on the time corresponding to the timestamp and the pre-set hour conversion coefficient.

[0243] S503: Determine the score corresponding to the timestamp as the score corresponding to the target upgrade time.

[0244] S504: Combine the hour and minute corresponding to the target upgrade time to obtain the target upgrade time.

[0245] After receiving the timestamp of the update instruction, since the timestamp is randomly distributed, the target upgrade time can be generated based on the timestamp. That is, the generated target upgrade time is also randomly distributed, which can solve the problem of high concurrency of cloud devices at a certain moment.

[0246] Specifically, the timestamp can be converted into the target upgrade time using the following formula:

[0247] Where A is the target upgrade time in hours, B is the target upgrade time in minutes, C is the target upgrade time in seconds, H is the timestamp in hours, and M is the timestamp in minutes. The conversion factor for hours can be 3, and % indicates the remainder.

[0248] For example, an upgrade period needs to be pre-set, such as 1:00:00-3:59:00. After obtaining the timestamp, the hour conversion factor is set according to the above formula to convert the timestamp into a specific moment within 1:00:00-3:59:00 as the target upgrade time. For example, if the timestamp is 8:15:9 and the hour conversion factor is 3, the target upgrade time is 03:15:00.

[0249] Optionally, the target upgrade time window can be transformed into a randomly distributed one based on the timestamp using an algorithm. Taking the upgrade period from 1:00:00 to 3:59:00 as an example, firstly, midnight is used as the base time to calculate the time offset, map the offset to random points within the upgrade period, and generate random minutes within the upgrade period to obtain the target upgrade time.

[0250] Distributed processing algorithms can also be used to distribute upgrade times based on timestamps, such as consistent hashing algorithms, distributed cache consistency algorithms, and distributed task scheduling algorithms.

[0251] The vehicle software upgrade method provided in this embodiment splits the timestamp to obtain the hour and minute corresponding to the timestamp. Based on the hour corresponding to the timestamp and a pre-set hour conversion coefficient, the hour corresponding to the target upgrade time is determined, and the minute corresponding to the timestamp is determined as the minute corresponding to the target upgrade time. The hour and minute corresponding to the target upgrade time are combined to obtain the target upgrade time. Since the time when the user authorizes the vehicle upgrade is random and dispersed, the target upgrade time is mapped to any moment within a fixed time period for upgrade based on the user's upgrade authorization time. This achieves randomization and dispersion of the target upgrade time, reducing the problem of increased operating costs caused by high concurrency compared to fixed automatic time upgrades.

[0252] Figure 6 is a flowchart illustrating embodiment five of the vehicle software upgrade method provided in this application. As shown in Figure 6, based on the above embodiments, the method further includes:

[0253] S601: Receives upgrade tasks sent by cloud devices.

[0254] S602: Based on the upgrade task, download the update package and send an upgrade reminder to the user after the download is complete.

[0255] Before a vehicle undergoes an OTA upgrade, the cloud determines that the vehicle has an upgrade version based on the software data information reported by the vehicle. Then, it creates an upgrade task and sends the upgrade task to the vehicle, which receives the upgrade task sent by the cloud device.

[0256] The vehicle will download the update software package according to the upgrade task, specifically from a cloud device. During the download, the vehicle will maintain a network connection and monitor the download progress. Once the download is complete, an upgrade reminder will be sent to the user to authorize the upgrade.

[0257] For data security, a secure connection is established between the vehicle and cloud devices through wireless communication technologies such as 4G / 5G networks or Wi-Fi.

[0258] Optionally, an upgrade reminder can be sent to the user. This can be done by displaying a pop-up window on the vehicle's screen to indicate that there is an upgrade task, by sending the upgrade reminder to the user's terminal device and displaying it to the user through the terminal device interface, or by prompting the user via voice that there is an update task in the vehicle's system. The user can authorize the upgrade by interacting with the vehicle's system via voice or by manually authorizing the upgrade.

[0259] The vehicle software upgrade method provided in this embodiment receives an upgrade task sent by a cloud device, downloads the update software package according to the upgrade task, and sends an upgrade reminder to the user after the download is completed. By notifying the user after the download is completed, the situation where the user authorizes the upgrade but fails to complete the download and is unable to upgrade is avoided. At the same time, it also saves the user's time and improves the upgrade efficiency.

[0260] Figure 7 is a flowchart illustrating a sixth embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 7, based on the above embodiments, the method further includes:

[0261] S701: Based on the identifier, determine whether the timestamp of the update instruction corresponding to the last upgrade task has been updated.

[0262] S702: If it is determined that the timestamp of the update instruction corresponding to the previous upgrade task has not been updated, then the upgrade time corresponding to the previous upgrade task will be determined as the target upgrade time.

[0263] After the vehicle receives the upgrade task sent by the cloud device, in order to facilitate users and improve upgrade efficiency, the timestamp of the update command sent by the user can be checked. After the last upgrade task was completed, it can be determined whether the user changed the timestamp of the update command, that is, whether the user turned off the automatic upgrade function after the last upgrade task was completed. If it was not changed, it means that the user did not change the automatic upgrade function after authorizing the automatic upgrade in the last upgrade task. Then the upgrade time of the last upgrade task is determined as the target upgrade time.

[0264] Optionally, if the user changed the timestamp of the update command after the last upgrade task was completed, that is, the user turned off the automatic upgrade function after the last upgrade task was completed, the target upgrade time shall be determined in accordance with the method for determining the target upgrade time in the above embodiment.

[0265] It should be noted that users can change the timestamp of update commands by using the automatic update authorization switch. When a user turns on the automatic update authorization switch, a timestamp will be generated. If a user turns off the automatic update authorization switch and then turns it on again after a period of time, a new timestamp will be generated.

[0266] The vehicle software upgrade method provided in this embodiment determines whether the timestamp of the update instruction corresponding to the previous upgrade task has been updated based on the identifier. If it is determined that the timestamp of the update instruction corresponding to the previous upgrade task has not been updated, the upgrade time corresponding to the previous upgrade task is determined as the target upgrade time. This method avoids requiring user authorization for each upgrade task, automatically completing the upgrade update based on the latest authorized upgrade time. This not only improves upgrade efficiency but also saves user time and provides convenience.

[0267] Figure 8 is a flowchart illustrating embodiment seven of the vehicle software upgrade method provided in this application. As shown in Figure 8, this method is applied to the cloud-based OTA management module in the aforementioned system embodiment, i.e., the cloud device. The method specifically includes:

[0268] S801: Receives update commands sent by the vehicle.

[0269] S802: Based on the update command, obtain the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information.

[0270] In this step, to achieve precise scheduling, improve vehicle upgrade efficiency without affecting user usage, and balance cloud device resources, after receiving the upgrade command from a vehicle, the system retrieves the vehicle's usage information set and upgrade information set, as well as a list of vehicles to be upgraded. The usage information set includes usage data for multiple vehicles, and the upgrade information set includes upgrade data for multiple vehicles.

[0271] Specifically, the cloud-based device can communicate and connect with multiple vehicles, enabling the management of these vehicles. Each vehicle reports its information in real time, such as model, software version, and current status. Vehicles use built-in communication modules (such as SIM or Wi-Fi modules) to periodically or in real-time report their status to the cloud-based device, including software version, hardware status, and usage. Based on the reported information, the cloud-based device can update the list of vehicles awaiting upgrades in real time. The cloud-based device can also create a database to store this list, allowing it to retrieve the list of vehicles currently awaiting upgrades by writing queries.

[0272] Vehicles are generally equipped with driving data recording systems (such as OBD systems), which can record information such as the vehicle's driving trajectory, speed, and fuel consumption in real time. Through communication between the vehicle and cloud devices, this data can be uploaded to the cloud to form a user's vehicle usage data set. The cloud devices can then retrieve a set of user vehicle usage information over a preset period from this data set, including the number of times the user used the vehicle and the timestamp of each use.

[0273] To obtain the upgrade information set, it can be achieved using any of the following methods:

[0274] 1. Cloud device log recording:

[0275] Cloud-based devices record detailed log information during each OTA upgrade, including upgrade time, upgrade version, and upgrade result (success / failure). By querying these log records, the vehicle's historical OTA upgrade data can be obtained, thus retrieving a set of upgrade information for the vehicle within a preset time period.

[0276] 2. Vehicle local storage:

[0277] Some vehicles retain OTA upgrade history in their local storage system, including upgrade packages and upgrade process logs. Through communication between the vehicle and cloud devices, this historical data can be uploaded to the cloud for centralized storage and analysis.

[0278] S803: Determine the target upgrade time based on the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information.

[0279] In this step, after obtaining the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information, in order to flexibly obtain the target upgrade time, thereby achieving a balance of cloud resources and not affecting user vehicle usage, a multi-dimensional analysis of the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information can be performed to obtain the target upgrade time.

[0280] Specifically, based on the list of vehicles to be upgraded, the number of vehicles to be upgraded at each moment within a preset time period is counted, and a first recommendation index is determined for each moment based on the number of vehicles to be upgraded at each moment. Based on the vehicle usage information set, the vehicle usage probability at each moment within the preset time period is counted, and a second recommendation index is determined for each moment based on the vehicle usage probability at each moment. Based on the upgrade information set, the number of upgrades at each moment within the preset time period is counted, and a third recommendation index is determined for each moment based on the number of upgrades at each moment. And / or based on the upgrade information set, the number of upgrade postponements at each moment within the preset time period is counted, and a third recommendation index is determined for each moment based on the number of upgrades at each moment and the number of upgrade postponements at each moment. For each moment, the first recommendation index, the second recommendation index, and the third recommendation index are weighted and calculated to obtain the recommendation value for that moment. The moment corresponding to the highest recommendation value is determined as the target upgrade time.

[0281] S804: Sends the target upgrade time to the vehicle so that the vehicle can perform an OTA upgrade at the target upgrade time.

[0282] The vehicle software upgrade method provided in this application receives an update command sent by a vehicle. Based on the update command, it obtains a list of vehicles to be upgraded, a set of vehicle usage information, and a set of upgrade information. Based on these three sets of information, it determines a target upgrade time and sends the target upgrade time to the vehicle, enabling the vehicle to perform an OTA upgrade at the target time. This method avoids upgrading during peak user usage periods, minimizing the impact of the upgrade on users' daily driving. Furthermore, scheduling upgrades based on the list of vehicles to be upgraded balances system resource usage, preventing server overload or upgrade failures caused by a large number of vehicles upgrading simultaneously during peak hours, thus improving overall upgrade efficiency and success rate. Based on the upgrade information set, it can predict and identify potential problems or risks during the upgrade process, allowing for proactive preventative and response measures, which helps enhance the stability and reliability of the vehicle system.

[0283] Figure 9 is a flowchart illustrating an eighth embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 9, based on the above embodiment, the method further includes:

[0284] S901: Number of upgrade delays received from the receiving vehicle.

[0285] S902: If the number of upgrade postponements reaches the preset postponement threshold, the target upgrade time will be redefined and the new target upgrade time will be sent to the vehicle.

[0286] After receiving the number of upgrade delays reported by the vehicle, the cloud device sets a delay threshold in advance in order to upgrade the vehicle software efficiently. If the number of upgrade delays reaches the preset delay threshold, it means that the target upgrade time conflicts with the user's vehicle usage time. In this case, the upgrade time needs to be reassigned to the user, and the new target upgrade time is sent to the vehicle.

[0287] It should be noted that when the cloud device determines that the target upgrade time needs to be changed, it will re-acquire the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information, and then determine the new target upgrade time through the method of determining the target upgrade time in the above embodiment.

[0288] It should be noted that when determining whether the number of upgrade postponements has reached the preset postponement threshold, it is necessary to preset the number of upgrade postponements within a certain period of time. For example, if the number of upgrade postponements reaches 3 times within a week, the target upgrade time will be re-determined. The number of postponements reaching 3 times within a week can be consecutive or non-consecutive, and this application embodiment does not impose specific limitations.

[0289] The vehicle software upgrade method provided in this application receives the number of upgrade postponements sent by the vehicle. If the number of upgrade postponements reaches a preset postponement threshold, the target upgrade time is redefined, and the new target upgrade time is sent to the vehicle. By combining intelligent scheduling with actual user usage, the method achieves flexibility and efficiency in vehicle OTA upgrades, improves user experience and system stability, and promotes continuous system optimization and development.

[0290] Figure 10 is a flowchart illustrating embodiment nine of the vehicle software upgrade method provided in this application. As shown in Figure 10, based on the above embodiments, the method further includes:

[0291] S1001: Based on the list of vehicles to be upgraded, determine the recommended upgrade time for each vehicle.

[0292] In this step, in order to balance the resources of the cloud devices and avoid high or low concurrency at any given moment, the cloud devices analyze the list of vehicles to be upgraded and then determine the recommended upgrade time for each vehicle.

[0293] Specifically, the list of vehicles to be upgraded is statistically analyzed to determine the number of vehicles scheduled for upgrade at each time point within the preset upgrade period. Based on the number of vehicles, each time point within the preset upgrade period is sorted from fewest to most, and the time point with the fewest vehicles is determined as the recommended upgrade time.

[0294] S1002: Package the recommended upgrade time and the identifier of the target upgrade software corresponding to the vehicle into an upgrade task and send it to the vehicle.

[0295] After receiving the recommended upgrade time, since the user of the vehicle has enabled the scheduled update function, the user needs to set the upgrade time. In order to improve the upgrade efficiency, the recommended upgrade time and the identifier of the target upgrade software corresponding to the vehicle are packaged into an upgrade task and sent to the vehicle. Therefore, after receiving the upgrade task, the user can know which software upgrade is being performed and can then set the upgrade time according to the upgrade task.

[0296] Specifically, the cloud device packages the recommended upgrade time and the identifier of the target upgrade software into a data packet, and then sends this data packet to the vehicle through the communication link established between the vehicle and the cloud device (such as cellular network, Wi-Fi, etc.).

[0297] Optionally, the cloud device can also pre-prepare upgrade packages to be sent to the vehicles. These packages typically contain new software versions, update files, configuration files, and may include version descriptions, changelogs, and other information. The cloud device encapsulates the target software's identifier (such as version number, package size, checksum, etc.), the recommended upgrade time, and any necessary vehicle information into a data packet. This data packet is usually a structured file or message body containing multiple fields, each with a clearly defined meaning and format. In addition to the core data mentioned above, the data packet may also contain metadata such as timestamps, sender identifiers, and receiver identifiers to facilitate tracking and verifying the data packet's origin and integrity. To ensure data security, the data packet can also be encrypted.

[0298] Cloud devices can choose appropriate network transport protocols to send data packets. Commonly used protocols include Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Message Queuing Telemetry Transport (MQTT), and Constrained Application Protocol (CoAP). The specific choice depends on the system requirements, the vehicle's communication capabilities, and network conditions. Based on the selected protocol, the cloud device can configure corresponding transmission parameters, such as port number, timeout, and retry policy, to ensure that data packets are reliably transmitted to the vehicle. A network connection needs to be established between the cloud device and the vehicle. Once the connection is established, the cloud device will send the encapsulated and encrypted data packets to the vehicle.

[0299] S1003: Receives the first feedback information sent by the vehicle.

[0300] In this step, after the cloud device sends the upgrade task to the vehicle, the vehicle receives the upgrade task through the corresponding communication channel. Upon receiving the upgrade task, the vehicle sends a confirmation message to the cloud device to inform it that the data packet has been successfully received. This confirmation message may contain some verification information so that the cloud device can verify the integrity of the data packet.

[0301] Optionally, the confirmation message sent by the vehicle to the cloud device may also be the first feedback information, which includes the scheduled upgrade time reported by the vehicle.

[0302] After receiving the upgrade task, the vehicle will parse the task, extract the recommended upgrade time and the identifier of the target upgrade software corresponding to the vehicle. Based on the recommended upgrade time, the vehicle will internally schedule the upgrade. First, it will request the cloud to download the update package corresponding to the target upgrade software based on the identifier of the target upgrade software corresponding to the vehicle. After the download is completed, the user will be notified that there is an update task and a recommended upgrade time will be recommended. The user will select update authorization according to the prompts and set the scheduled upgrade time. Then the vehicle will generate the first feedback information and send it to the cloud device.

[0303] Optionally, the user-defined upgrade appointment time can be the same as the recommended upgrade time, or it can be a time that the user sets freely.

[0304] In one possible implementation, the vehicle's central control screen displays an OTA (Over-The-Air) upgrade notification, including a recommended upgrade time from the cloud device. The notification may appear as a pop-up, banner, or dedicated upgrade page. Simultaneously, the user interface provides at least two options: "Upgrade Now" and "Schedule Upgrade." If the user selects "Schedule Upgrade," a time selector or calendar control is displayed, allowing the user to set their own appointment time. The user can set their appointment time using the time selector or calendar control on the central control screen. This time allows the user to freely choose within a certain range (pre-set upgrade time periods by the cloud device). After the user sets the appointment time, the system performs a simple verification (such as checking the time's validity and whether it conflicts with other appointments) and requires user confirmation. Once the user confirms the appointment time, the vehicle generates initial feedback information and sends it to the cloud device.

[0305] Optionally, the vehicle can also prompt the user through an application connected to the vehicle's infotainment system, allowing the user to make selections via a terminal device.

[0306] S1004: Based on the first feedback information, configure the upgrade task for the vehicle.

[0307] In this step, after receiving the first feedback information sent by the vehicle, the cloud device analyzes the first feedback information and then configures the upgrade task for the vehicle based on the analysis results.

[0308] Specifically, if the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, the recommended upgrade time will be set as the target upgrade time for the vehicle, and the vehicle's identifier and target upgrade time will be updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0309] If the scheduled upgrade time reported by a vehicle differs from the recommended upgrade time, the system queries the list of vehicles to be upgraded based on the scheduled upgrade time to determine the number of vehicles corresponding to that scheduled upgrade time. If the number of vehicles to be upgraded does not exceed a pre-set vehicle threshold, the system updates the target upgrade time for each vehicle with the scheduled upgrade time, along with the vehicle's identifier and target upgrade time, in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task. If the number of vehicles to be upgraded exceeds the pre-set vehicle threshold, an alarm message is sent to the vehicles, and the system receives a second feedback message from the vehicles. Based on the second feedback message, the system configures the upgrade task for each vehicle.

[0310] It should be noted that after receiving the second feedback information, the cloud device processes it in the same way as the first feedback information until the configuration of the corresponding upgrade task for the vehicle is completed. The upgrade task is used to instruct the vehicle to perform a software upgrade.

[0311] Optionally, after the cloud device completes the configuration of the upgrade task, it will send the upgrade task to the vehicle. The vehicle will count down according to the target upgrade time in the upgrade task, and then perform OTA upgrade after the countdown ends.

[0312] The vehicle software upgrade method provided in this application embodiment determines the recommended upgrade time for each vehicle based on a list of vehicles to be upgraded. The recommended upgrade time and the identifier of the target upgrade software corresponding to each vehicle are packaged into an upgrade task and sent to the vehicle. The method also receives first feedback information from the vehicle and configures the upgrade task for the vehicle based on this information. Through this method, users can choose the most suitable upgrade time according to their schedule, avoiding vehicle upgrades during busy or inconvenient times, thus reducing the disruption to daily use. The cloud device recommends upgrade times based on the list of vehicles to be upgraded, effectively balancing network load. This avoids network congestion and server pressure caused by all vehicles upgrading at the same time, ensuring a smooth upgrade process and improving the upgrade success rate.

[0313] Figure 11 is a flowchart illustrating Embodiment 10 of the vehicle software upgrade method provided in this application. As shown in Figure 11, the method further includes:

[0314] S1101: Determine the number of devices that can be woken up at the current moment based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been confirmed to be upgraded at the current moment.

[0315] In this step, since vehicle software upgrades can be set by the user to be immediate, scheduled, or automatic, and immediate and scheduled upgrades have higher priority because the upgrade time is determined by the user, the cloud device needs to determine the upgrade time for vehicles that are automatically upgraded based on the number of vehicles that have been scheduled for upgrade at each time.

[0316] Specifically, in order to balance cloud device resources and avoid network congestion during upgrades, the maximum number of concurrent upgrades that can be accommodated is calculated based on the performance of the cloud devices. By analyzing the list of vehicles to be upgraded, the number of vehicles in the list that are confirmed to be upgraded at the current moment is obtained. The vehicles confirmed to be upgraded refer to those that users have set to upgrade immediately or schedule for upgrade at the current moment. The difference between the maximum number of concurrent upgrades that can be accommodated and the number of vehicles is determined as the number of vehicles that can be woken up at the current moment.

[0317] It should be noted that the number of devices that can be woken up refers to the number of concurrent upgrades that the cloud devices can accommodate at the current moment, that is, the number of vehicles that can be automatically upgraded.

[0318] S1102: Based on the number of vehicles that can be woken up, OTA upgrades are performed on vehicles that meet the preset upgrade conditions in the list of vehicles to be upgraded, in chronological order.

[0319] In this step, after calculating the number of vehicles that can be woken up, the corresponding number of vehicles in the list of vehicles to be upgraded can be woken up in chronological order for OTA upgrade.

[0320] Optionally, waking up a vehicle requires meeting preset upgrade conditions, namely, the vehicle is not in use and there is no upcoming use plan for the vehicle.

[0321] The vehicle software upgrade method provided in this embodiment determines the number of vehicles that can be woken up at any given moment based on the maximum concurrent upgrade capacity of the cloud device and the number of vehicles already scheduled for upgrade. According to this number, vehicles meeting preset upgrade conditions are woken up in chronological order from the list of vehicles to be upgraded for OTA upgrades. By calculating and limiting the number of vehicles that can be automatically upgraded, it ensures that the concurrent processing volume of the cloud service will not exceed its maximum capacity at any given time. This helps avoid service delays, interruptions, or performance degradation caused by overload, ensuring the stability and reliability of the upgrade process. Waking up vehicles to be upgraded sequentially helps maintain an orderly upgrade queue. This not only reduces upgrade failures due to concurrent conflicts but also ensures the orderly progress of the upgrade process, facilitating tracking and management. By reasonably controlling the concurrency, the pressure on the network can be effectively reduced, minimizing upgrade failures or delays caused by network congestion. This improves overall upgrade efficiency.

[0322] Figure 12 is a flowchart illustrating an eleventh embodiment of the vehicle software upgrade method provided in this application. As shown in Figure 12, based on the above embodiment, step S803 specifically includes:

[0323] S1201: Based on the list of vehicles to be upgraded, count the number of vehicles to be upgraded at each time within a preset time period, and determine the first recommendation index for each time based on the number of vehicles to be upgraded at each time.

[0324] S1202: Based on the vehicle usage information set, calculate the vehicle usage probability at each moment within the preset time period, and determine the second recommendation index for each moment based on the vehicle usage probability corresponding to each moment.

[0325] S1203: Based on the upgrade information set, count the number of upgrades at each moment within the preset time period, and determine the third recommendation index for each moment based on the number of upgrades at each moment.

[0326] To analyze the target upgrade time for vehicle software upgrades from multiple dimensions, after obtaining the existing list of vehicles awaiting upgrades on the cloud device, the vehicles awaiting upgrades at different times are divided into preset time periods. Then, the number of vehicles waiting to be upgraded at each moment within each preset time period is counted. Vehicles with a larger number of vehicles awaiting upgrades are assigned a lower first recommendation index, while those with a smaller number are assigned a higher first recommendation index. For example, if 500 vehicles are scheduled for automatic upgrade at 1:00:00, 400 vehicles at 1:01:00, and 600 vehicles at 1:02:00, then the time with fewer vehicles is prioritized for recommendation. That is, the first recommendation index is higher for 1:01:00, lower for 1:02:00, and intermediate for 1:00:00.

[0327] Similarly, to ensure that vehicle software upgrades do not affect user access, the probability of a user using the vehicle can be calculated based on data from the acquired vehicle usage information set, at each time point within a preset time period. A second recommendation index can then be set according to the probability of usage. For example, if historical user data in the usage information set shows that a user frequently uses the vehicle at night, typically between 1:00:00 and 1:30:00, then the second recommendation index for non-usage times (1:00:00-1:30:00) would be prioritized.

[0328] The accuracy of the target upgrade time can be further optimized by combining the vehicle's historical OTA upgrade data. Based on the data in the upgrade information set, the number of upgrades performed by the vehicle at different times within each preset time period is counted, and a third recommendation index is set according to the number of upgrades. For example, if a user has completed multiple OTA upgrades, with installations completed multiple times at 1:30:00, then the recommended completion time is prioritized, meaning the third recommendation index corresponding to 1:30:00 is higher.

[0329] S1204: For each time point, determine the target upgrade time based on the first recommendation index, second recommendation index, and third recommendation index corresponding to that time point.

[0330] In this step, after setting the recommendation index for each dimension of data in the above steps, the recommendation value for each time point can be calculated based on the three recommendation indices.

[0331] For example, for each time point, the first recommendation index, second recommendation index, and third recommendation index corresponding to that time point are weighted and calculated to obtain the recommendation value for that time point. The time point corresponding to the highest recommendation value is determined as the target upgrade time.

[0332] Based on the varying degrees of impact of each data dimension on vehicle OTA upgrades, a corresponding weight coefficient is assigned to each recommendation index. These weighted coefficients are then used to calculate the recommended value at each time point. For example: Recommendation Value = First Recommendation Index × First Weight + Second Recommendation Index × Second Weight + Third Recommendation Index × Third Weight. The recommended values ​​at each time point are then compared, and the time corresponding to the highest recommended value is set as the target upgrade time.

[0333] Optionally, based on the upgrade information set, count the number of upgrade postponements at each moment within a preset time period;

[0334] Accordingly, based on the number of upgrades at each time point, a third recommendation index is determined for each time point, including:

[0335] A third recommendation index is determined for each time step based on the number of upgrades and the number of upgrade postponements at each time step.

[0336] When setting the third recommendation index based on the vehicle's historical OTA upgrade data, the number of OTA upgrade failures in the upgrade information set can also be considered to more accurately adjust the target upgrade time. Based on the data in the obtained upgrade information set, the number of OTA upgrade delays at each moment within the preset time period is counted, and the third index is recommended based on the number of upgrade delays and the number of upgrades. For example, if there are multiple installation delays at 1:00:00 and multiple successful installations at 1:30:00, the completion time is recommended first, and the installation delay time is avoided. That is, the third recommendation index corresponding to 1:00:00 is low. If there are 4 installation delays and 2 successful installations at 1:40:00, the number of delays at this moment is greater than the number of successful installations, so the third recommendation index is set to low.

[0337] It should be noted that the acquired vehicle usage information set and upgrade information set are vehicle usage information data and upgrade information data for at least one month for the vehicle. As for the upgrade information set, the data collection time can be selected according to the frequency of vehicle upgrades. If the vehicle upgrades less frequently, the upgrade information set can be upgrade information data for at least six months for the vehicle.

[0338] The vehicle software upgrade method provided in this embodiment involves: 1) Based on the list of vehicles to be upgraded, counting the number of vehicles to be upgraded at each moment within a preset time period; 2) Determining a first recommendation index for each moment based on the number of vehicles to be upgraded at each moment; 3) Counting the number of upgrades at each moment within the preset time period based on the number of upgrades at each moment based on the number of upgrades at each moment; 4) Performing a weighted calculation on the first, second, and third recommendation indices for each moment to obtain a recommendation value for that moment; and 5) Determining the moment with the highest recommendation value as the target upgrade time. This multi-dimensional analysis provides a scientific basis for determining the upgrade time, helping to reduce errors from human judgment and improve decision-making accuracy. Furthermore, by avoiding high-frequency user usage periods during upgrades, the impact of upgrades on users' daily driving can be minimized, avoiding interruptions to travel due to upgrades. Furthermore, by scheduling upgrade tasks based on server load at different times, the use of system resources can be balanced, avoiding server overload or upgrade failures caused by a large number of vehicles upgrading simultaneously during peak hours. Through intelligent scheduling and priority ranking, network congestion and upgrade conflicts caused by concentrated vehicle upgrades can be reduced, helping to improve the overall efficiency and success rate of upgrades.

[0339] Figure 13 is a flowchart illustrating embodiment twelve of the vehicle software upgrade method provided in this application. As shown in Figure 13, the method further includes:

[0340] S1301: Based on the number of vehicles that can be woken up, determine the target set of vehicles in the list of vehicles to be upgraded.

[0341] S1302: Obtain vehicle information for each vehicle to be upgraded in the target vehicle set.

[0342] S1303: For each vehicle to be upgraded in the target vehicle set, if the vehicle status indicator of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time, then it is determined that the vehicle to be upgraded meets the preset upgrade conditions.

[0343] After determining the number of vehicles that can be woken up, it is necessary to determine whether the vehicles to be upgraded meet the upgrade conditions. First, select the vehicles that can be woken up from the list of vehicles to be upgraded in chronological order to form a target vehicle set. Then, obtain the vehicle information for each vehicle in the target vehicle set. This vehicle information includes the vehicle status, which indicates whether the vehicle is currently in use. For each vehicle to be upgraded, if the vehicle status indicates that the vehicle is not currently in use, then it can be determined that the vehicle meets the preset upgrade conditions.

[0344] Optionally, the acquired vehicle status can be any one or more of the following forms:

[0345] Vehicle driving status, vehicle speed, vehicle gear, charging status, vehicle high voltage status, door lock status, seat sensor status, etc.

[0346] 1. Vehicle driving status: If the vehicle is in driving status (such as "driving" or "drive mode"), then the vehicle is obviously being used.

[0347] 2. Vehicle Speed: If the vehicle speed is greater than zero (considering a certain margin of error), it indicates that the vehicle is moving and is likely being used. However, it is also necessary to pay attention to situations where the engine is idling or coasting at low speed when stationary. In these cases, although the speed is close to zero, the vehicle may still be in use.

[0348] 3. Vehicle Gear: Gear information is also an important reference for determining whether the vehicle is in use. If the gear is not in "Park" (P) or "Neutral" (N), but in "Drive" (D), "Reverse" (R), or other driving gear, then the vehicle is likely being driven.

[0349] 4. Charging status: If the vehicle is charging and is in other non-use states (such as doors closed, engine off, etc.), it may indicate that the vehicle is not currently in use.

[0350] 5. Vehicle high voltage status: If the high voltage system is active, the vehicle is charging, driving, or preparing to drive.

[0351] 6. Door Lock Status: The open / closed status of the door locks can indirectly reflect the vehicle's usage. If all doors are locked and have not been opened for an extended period, it may indicate that the vehicle is not currently in use. However, this also needs to be considered in light of the possibility that the owner may have only briefly left the vehicle without turning off the engine; therefore, this status needs to be assessed in conjunction with other status indicators.

[0352] 7. Seat Sensor Status: Seat sensors can detect whether there is a passenger in the seat. If the seat sensors indicate that there is a passenger and other vehicle systems are also active (such as the engine running, audio playing, etc.), then the vehicle is being used.

[0353] The above-mentioned data formats can be obtained through the following methods:

[0354] 1. Vehicle driving status: obtained through on-board diagnostics (OBD) system, in-vehicle application or third-party management platform.

[0355] 2. Vehicle speed: Obtained through the OBD system, in-vehicle application, or vehicle dashboard display.

[0356] 3. Vehicle gear position: Obtained through the OBD system, in-vehicle application, or vehicle dashboard display.

[0357] 4. Charging status: Obtained through the in-vehicle application, charging station display screen, or charging gun indicator light.

[0358] 5. Vehicle high-voltage status: This usually requires professional diagnostic tools or systems to obtain.

[0359] 6. Door lock status: Obtained through the vehicle's central control system, remote key, or physical inspection.

[0360] 7. Seat sensor status: Obtained via in-vehicle application (if supported) or physical inspection.

[0361] Optionally, the vehicle information may also include the vehicle's estimated usage time, in which case the method further includes:

[0362] S1304: For each vehicle to be upgraded in the target vehicle set, determine whether the vehicle's expected usage time is after the upgrade based on the upgrade duration.

[0363] When determining whether a vehicle meets the preset upgrade conditions, it is also possible to determine whether the vehicle is planned to be used soon, that is, to determine whether the vehicle's expected usage time is after the upgrade.

[0364] Specifically, to determine whether a vehicle is planned to be used soon, one or more of the following methods can be used:

[0365] 1. User activates air conditioning scheduled operation: If a user activates the air conditioning scheduled operation function and sets a future time, it can be inferred that the user plans to use the vehicle before or after that time.

[0366] 2. Users enable the reservation travel function: Enabling the reservation travel function means that users have planned their future trips and hope that the vehicle can run according to the scheduled plan, clearly indicating that they have an upcoming plan to use the vehicle.

[0367] 3. User enables scheduled charging function: If a user enables scheduled charging function, it usually means that the user expects to need to use the vehicle at some point in the future and wants to ensure that the vehicle has sufficient battery power to meet driving needs.

[0368] Once it is determined through any of the above methods that the vehicle is scheduled to be used, the specific time when the user will use the vehicle is estimated based on the time point set by the user in the above methods, and the time required for this vehicle upgrade is calculated. Then, by comparison, it is determined whether the vehicle's expected usage time is after the upgrade.

[0369] Optionally, if it is determined that the vehicle's expected usage time is after the upgrade, it means that future travel will not affect the vehicle's current upgrade, and therefore the vehicle to be upgraded is determined to meet the preset upgrade conditions.

[0370] It should be noted that whether the vehicle to be upgraded meets the preset upgrade conditions can be determined by whether the vehicle to be upgraded is not in use or has no plans to be used, or whether the vehicle to be upgraded is neither in use nor has any plans to be used. This application does not impose specific limitations on this.

[0371] Optionally, the time required for this vehicle upgrade can be calculated based on the size of the upgrade task package and the flashing rate. The specific calculation process is a common technique in this field and will not be elaborated here.

[0372] The vehicle software upgrade method provided in this embodiment determines a target vehicle set from the list of vehicles to be upgraded based on the number of vehicles that can be woken up. It then obtains vehicle information for each vehicle in the target vehicle set. For each vehicle in the target vehicle set, if the vehicle status indicates that the vehicle is not currently in use, then the vehicle is determined to meet preset upgrade conditions. Furthermore, for each vehicle in the target vehicle set, based on the upgrade duration, it is determined whether the vehicle's expected usage time is after the upgrade. If the vehicle status indicates that the vehicle is not currently in use and the expected usage time is after the upgrade, then the vehicle is determined to meet the preset upgrade conditions. Through this method, user interference is reduced, upgrade efficiency is improved, driving safety is ensured, resource utilization is optimized, and user trust and satisfaction are enhanced.

[0373] Figure 14 is a flowchart illustrating embodiment thirteen of the vehicle software upgrade method provided in this application. As shown in Figure 14, based on the above embodiment, the method further includes:

[0374] S1401: If the number of vehicles to be upgraded in the target vehicle set is less than the number that can be woken up, then select vehicles to be upgraded from the list of vehicles to be upgraded in chronological order and add them to the target vehicle set until the number of vehicles to be upgraded in the target vehicle set is equal to the number that can be woken up, thus obtaining a new target vehicle set.

[0375] To balance cloud device resources, the number of vehicles to be upgraded and the number of vehicles that can be woken up in the target vehicle set are compared. If the number of vehicles to be upgraded in the target vehicle set is less than the number of vehicles that can be woken up, it means that there are few vehicles to be automatically upgraded at the current moment, and the cloud devices have resources remaining. In order not to waste cloud device resources, more vehicles to be upgraded are selected from the vehicles to be upgraded and added to the target vehicle set for upgrade, until the number of vehicles to be upgraded in the target vehicle set equals the number of vehicles that can be woken up, resulting in a new target vehicle set. Then, it is determined whether each vehicle to be upgraded in the new target vehicle set meets the preset upgrade conditions.

[0376] S1402: For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded does not meet the preset upgrade conditions, the upgrade time of the vehicle to be upgraded will be postponed for a preset time, and the list of vehicles to be upgraded will be updated.

[0377] For each vehicle to be upgraded in the target vehicle set, the system determines whether the vehicle meets the preset upgrade conditions. If the vehicle does not meet the preset upgrade conditions, it means that the vehicle cannot be upgraded at the current time. In this case, the upgrade time of the vehicle is postponed, which can be postponed for a preset duration, such as 30 minutes or 40 minutes. This embodiment of the application does not make a specific limitation. The postponed vehicle is then updated in the list of vehicles to be upgraded.

[0378] S1403: For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded is not upgraded within the user-authorized upgrade period, the upgrade time of the vehicle to be upgraded will be postponed to the user-authorized upgrade period of the next upgrade cycle.

[0379] The upgrade is determined by whether the vehicle to be upgraded meets the preset upgrade conditions. If the preset upgrade conditions are not met, the upgrade will be postponed. If the upgrade is postponed and exceeds the end time of the user-authorized upgrade period, the upgrade of the vehicle will be directly postponed to another authorized period, such as the authorized period of the second day, the authorized period of the third day, etc. This application embodiment does not make specific limitations.

[0380] Optionally, if there are vehicles in the target vehicle set that do not meet the preset upgrade conditions, there will be a vacant wake-up position at the current moment. Therefore, a vehicle to be upgraded can be added to the target vehicle set in chronological order from the list of vehicles to be upgraded. This process is carried out in real time until the number of vehicles to be upgraded that can be woken up meets the preset upgrade conditions. Then, the vehicles that meet the conditions are woken up and upgraded.

[0381] In one possible implementation, the number of vehicles to be upgraded and the number of vehicles that can be woken up in the target vehicle set are compared. If the number of vehicles to be upgraded in the target vehicle set is greater than the number of vehicles that can be woken up, it means that the number of vehicles that need to be updated at the current moment has exceeded the maximum concurrency that the cloud device can accommodate. Since the user sets the priority of immediate upgrade and scheduled upgrade to be higher, the number of vehicles in the list of vehicles to be upgraded that are scheduled for automatic upgrade at the current moment is reduced, thereby postponing the upgrade.

[0382] The vehicle software upgrade method provided in this embodiment, if the number of vehicles to be upgraded in the target vehicle set is less than the number of vehicles that can be woken up, then, in chronological order, vehicles to be upgraded are sequentially selected from the list of vehicles to be upgraded and added to the target vehicle set until the number of vehicles to be upgraded in the target vehicle set equals the number of vehicles that can be woken up, resulting in a new target vehicle set. For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded does not meet the preset upgrade conditions, the upgrade time of the vehicle to be upgraded is postponed for a preset period, and the list of vehicles to be upgraded is updated. For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded is not upgraded within the user-authorized upgrade period, the upgrade time of the vehicle to be upgraded is postponed to the user-authorized upgrade period of the next upgrade cycle. Through the above method, efficient resource utilization is achieved, user waiting time is reduced, and system burden is reduced.

[0383] Figure 15 is a flowchart illustrating embodiment fourteen of the vehicle software upgrade method provided in this application. As shown in Figure 15, based on the above embodiment, step 1001 specifically includes:

[0384] S1501: Perform statistical analysis on the list of vehicles to be upgraded to determine the number of vehicles scheduled for upgrade at each time point within the preset upgrade period.

[0385] S1502: Sort each time period within the preset upgrade time period from least to most according to the number of vehicles.

[0386] S1503: Determine the time corresponding to the minimum number of vehicles as the recommended upgrade time.

[0387] To effectively balance network load and avoid network congestion and server pressure caused by all vehicles upgrading at the same time, thereby ensuring a smooth upgrade process and improving the success rate, the list of vehicles to be upgraded is analyzed to determine the number of vehicles waiting to be upgraded at each moment within the preset upgrade period. The vehicles waiting to be upgraded include those scheduled for upgrade by the user.

[0388] After obtaining the number of vehicles confirmed to be upgraded at each moment within the time period, the vehicles are sorted according to the number of vehicles, and the moment with the fewest vehicles is determined as the recommended upgrade time.

[0389] For example, the default preset upgrade time for cloud devices is 1:00-3:59. After analyzing the list of vehicles to be upgraded, 5 vehicles are confirmed to be upgraded at 1:01, 20 vehicles are confirmed to be upgraded at 2:01, and 2 vehicles are confirmed to be upgraded at 3:01. Based on the number of vehicles, 3:01 is determined as the recommended upgrade time.

[0390] Optionally, the preset upgrade time period can be set by the cloud device based on information such as the user's habits corresponding to the vehicle. Different users may have different preset upgrade time periods. This application embodiment does not make specific limitations.

[0391] The vehicle software upgrade method provided in this embodiment statistically analyzes the list of vehicles to be upgraded, determines the number of vehicles scheduled for upgrade at each time point within a preset upgrade period, and sorts each time point within the preset upgrade period from fewest to most vehicles according to the number of vehicles. The time point with the fewest vehicles is determined as the recommended upgrade time. By analyzing the number of vehicles and setting the recommended upgrade time at the time with the fewest vehicles, the pressure on cloud and network resources can be minimized. This helps ensure the stability and smoothness of the upgrade process, avoiding upgrade failures or delays due to resource overload. It can also improve the upgrade success rate.

[0392] Figure 16 is a flowchart illustrating embodiment fifteen of the vehicle software upgrade method provided in this application. As shown in Figure 16, based on the above embodiment, step S1004 specifically includes:

[0393] S1601: If the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, then the recommended upgrade time will be set as the target upgrade time for the vehicle, and the vehicle's identifier and target upgrade time will be updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0394] In this step, after receiving the first feedback information from the vehicle, the scheduled upgrade time set by the user in the first feedback information is analyzed. If the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, it means that the user has accepted the recommendation from the cloud device. The cloud device then directly sets the recommended upgrade time as the target upgrade time and updates the list of vehicles to be upgraded, completing the configuration of the corresponding upgrade task for the vehicle.

[0395] S1602: If the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, then based on the scheduled upgrade time, query the list of vehicles to be upgraded to determine the number of vehicles to be upgraded corresponding to the scheduled upgrade time.

[0396] S1603: If the number of vehicles to be upgraded does not exceed the preset vehicle threshold, the target upgrade time of the vehicles scheduled for upgrade will be set, and the vehicle identification and target upgrade time will be updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0397] In this step, if the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, it means that the user has not accepted the recommendation of the cloud device and has set the scheduled upgrade time arbitrarily. In order to ensure the smooth progress of the upgrade and the success rate of the upgrade, it is necessary to evaluate the scheduled upgrade time set by the user.

[0398] Specifically, check the list of vehicles to be upgraded and the number of vehicles to be upgraded at the time corresponding to the scheduled upgrade time.

[0399] For example, if the user sets the scheduled upgrade time to 2:01, a query will show that there are 20 vehicles confirmed for upgrade at that time.

[0400] Then, the number of vehicles waiting to be upgraded at that moment is compared with the preset vehicle threshold. If the number of vehicles waiting to be upgraded does not exceed the preset vehicle threshold, it means that upgrading at this moment is within the range of the concurrent number that the cloud device can accommodate, so it will not cause network congestion. Then, the scheduled upgrade time is set as the target upgrade time, and the list of vehicles waiting to be upgraded is updated to complete the configuration of the upgrade tasks corresponding to the vehicles.

[0401] Optionally, step S1004 may also include:

[0402] S1604: If the number of vehicles to be upgraded exceeds the preset vehicle threshold, an alarm message will be sent to the vehicles.

[0403] S1605: Receive the second feedback information sent by the vehicle.

[0404] S1606: Based on the second feedback information, configure the upgrade task for the vehicle.

[0405] The number of vehicles waiting to be upgraded at the scheduled upgrade time is compared with a vehicle threshold. If the number of vehicles waiting to be upgraded exceeds the preset vehicle threshold, it means that the upgrade at that time has exceeded the maximum concurrent capacity of the cloud device, which may lead to network congestion and server pressure, potentially causing upgrade failure or lag. To ensure the success rate of the upgrade and improve the user experience, an alarm message is generated and sent to the vehicle. The alarm message is used to remind the user that there is a risk of upgrade failure when upgrading at the scheduled time. After receiving the alarm message, the vehicle displays the alarm message to the user through the vehicle's display screen or application interface and prompts the user to change the scheduled upgrade time. Based on the user's choice, a second feedback message is generated. After receiving the second feedback message from the vehicle, the cloud device analyzes the scheduled upgrade time in the second feedback message in the same way as the analysis of the scheduled upgrade time in the first feedback message, which will not be repeated here. The target upgrade time is determined until the user accepts the upgrade recommendation time of the cloud device or the number of vehicles waiting to be upgraded corresponding to the user's set scheduled upgrade time is less than the vehicle threshold.

[0406] The vehicle software upgrade method provided in this embodiment, if the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, then the recommended upgrade time is set as the target upgrade time for the vehicle, and the vehicle's identifier and target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task. If the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, then based on the scheduled upgrade time, the list of vehicles to be upgraded is queried to determine the number of vehicles to be upgraded corresponding to the scheduled upgrade time. If the number of vehicles to be upgraded does not exceed a preset vehicle threshold, then the target upgrade time of the vehicles with the scheduled upgrade time is set, and the vehicle's identifier and target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task. If the number of vehicles to be upgraded exceeds the preset vehicle threshold, then an alarm message is sent to the vehicle, a second feedback message sent by the vehicle is received, and based on the second feedback message, the upgrade task is configured for the vehicle. Allowing users to set their own upgrade times enhances user autonomy, leading to greater satisfaction and comfort. By evaluating user-set times through cloud-based devices, potential problems (such as network congestion or high server load) can be proactively addressed, reducing inconvenience and improving the overall user experience. It also reduces upgrade conflicts and failures, optimizes resource utilization, enhances user education and awareness, and improves service quality and efficiency.

[0407] Figure 17 is a flowchart illustrating Embodiment Sixteen of the vehicle software upgrade method provided in this application. As shown in Figure 17, based on the above embodiments, the method further includes:

[0408] S1701: Monitor the list of vehicles to be upgraded in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, send an upgrade time adjustment request to the vehicles.

[0409] S1702: Receive third feedback information sent by the vehicle.

[0410] S1703: Based on the third feedback information, reconfigure the upgrade task for the vehicle.

[0411] After configuring the upgrade task for the corresponding vehicle, in order to ensure the user experience and balance the resources of the cloud devices, the list of vehicles to be upgraded is monitored in real time, and the number of vehicles to be upgraded corresponding to the target upgrade time is monitored in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, it indicates that an anomaly has occurred. If the number of vehicles to be upgraded surges at this moment, in order to ensure the success rate of vehicle upgrades, an upgrade time adjustment request is sent to the vehicle. The vehicle then prompts the user to adjust the appointment time and generates third feedback information based on the user's operation. The cloud devices analyze the third feedback information in the same way as in the previous embodiment, which will not be repeated here, until the upgrade task for the vehicle is reconfigured.

[0412] It should be noted that the cloud-based devices monitor the vehicle's upgrade tasks in real time until the upgrade is completed.

[0413] The vehicle software upgrade method provided in this embodiment monitors the list of vehicles to be upgraded in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, an upgrade time adjustment request is sent to the vehicles. The method also receives third feedback information from the vehicles and, based on this feedback, reconfigures the upgrade tasks for each vehicle. By monitoring the number of vehicles at the upgrade time in real time, cloud devices can promptly detect and prevent network congestion caused by a large number of vehicles upgrading simultaneously. This effectively reduces server load, protects server resources, ensures the normal operation of other services, improves user experience, enhances user trust, optimizes resource allocation, reduces user complaints and dissatisfaction, and promotes user participation and interaction.

[0414] Figure 18 is a structural schematic diagram of an embodiment of the vehicle software upgrade device provided in this application. As shown in Figure 18, the vehicle software upgrade device 1800 includes:

[0415] The first receiving module 1801 is used to receive update commands sent by the user, which are used to instruct the vehicle software to update automatically.

[0416] The acquisition module 1802 is used to obtain the timestamp of the update instruction based on the update instruction.

[0417] The first determining module 1803 is used to determine the target upgrade time based on the timestamp.

[0418] Upgrade module 1804 is used to perform OTA upgrades based on the target upgrade time.

[0419] Optionally, the vehicle software upgrade device 1800 also includes:

[0420] The sending module 1805 is used to send update commands to the cloud device.

[0421] The second receiving module 1806 is used to receive the target upgrade time sent by the cloud device.

[0422] In one possible implementation, upgrade module 1804 is specifically used for:

[0423] A countdown is performed based on the target upgrade time. After the countdown ends, the vehicle status is obtained, which indicates whether the vehicle is in use.

[0424] If the vehicle status indicates that the vehicle is not in use, an OTA upgrade will be performed based on the update package.

[0425] Optionally, upgrade module 1804 is also used for:

[0426] If the vehicle status indicates that the vehicle is in use, the target upgrade time will be postponed by a preset time, and the number of upgrade postponements will be accumulated.

[0427] Send the upgrade postponement count to the cloud device and send the upgrade postponement message to the user.

[0428] Optionally, the first determining module 1803 is specifically used for:

[0429] The timestamp is split and processed to obtain the hour and minute corresponding to the timestamp;

[0430] Determine the time corresponding to the target upgrade time based on the time corresponding to the timestamp and the pre-set hour conversion coefficient;

[0431] The score corresponding to the timestamp is determined as the score corresponding to the target upgrade time;

[0432] The target upgrade time is obtained by combining the hour and minute corresponding to the target upgrade time.

[0433] Optionally, the first determining module 1803 determines the time corresponding to the target upgrade time based on the time corresponding to the timestamp and a pre-set hour conversion coefficient, specifically including:

[0434] The time corresponding to the target upgrade time is generated by taking the remainder of the time corresponding to the timestamp based on the hour conversion factor and adding 1.

[0435] Optionally, the vehicle software upgrade device 1800 also includes:

[0436] The third receiving module 1807 is used to receive upgrade tasks sent by the cloud device, which instruct the vehicle to download the update software package.

[0437] The download and delivery module 1808 is used to download the update package according to the upgrade task and send an upgrade reminder to the user after the download is completed.

[0438] Optionally, the vehicle software upgrade device 1800 also includes:

[0439] The second determining module 1809 is used to determine, based on the identifier, whether the timestamp of the update instruction corresponding to the last upgrade task has been updated.

[0440] The third determining module 1810 is used to determine the upgrade time corresponding to the previous upgrade task as the target upgrade time if the timestamp of the update instruction corresponding to the previous upgrade task has not been updated.

[0441] The vehicle software upgrade apparatus provided in the above embodiments is used to execute the vehicle software upgrade method in any of the aforementioned vehicle-side embodiments. Its implementation principle and technical effect are similar, and will not be described again here.

[0442] Figure 19 is a schematic diagram of another embodiment of the vehicle software upgrade device provided in this application. As shown in Figure 19, the vehicle software upgrade device 1900 includes:

[0443] The first receiving module 1901 is used to receive update instructions sent by the vehicle, which are used to instruct the vehicle software to be automatically upgraded.

[0444] The first acquisition module 1902 is used to acquire, according to the update instruction, a list of vehicles to be upgraded, a set of vehicle usage information, and a set of upgrade information. The set of vehicle usage information includes usage data of multiple vehicles, and the set of upgrade information includes upgrade data of multiple vehicles.

[0445] The first determining module 1903 is used to determine the target upgrade time based on the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information.

[0446] The first sending module 1904 is used to send the target upgrade time to the vehicle so that the vehicle can perform an OTA upgrade at the target upgrade time.

[0447] Optionally, the vehicle software upgrade device 1900 also includes:

[0448] The second receiving module 1905 is used to receive the number of upgrade delays sent by the vehicle.

[0449] The second sending module 1906 is used to redetermine the target upgrade time and send the new target upgrade time to the vehicle if the number of upgrade delays reaches a preset delay threshold.

[0450] Optionally, the vehicle software upgrade device 1900 also includes:

[0451] The second determining module 1907 is used to determine the recommended upgrade time for vehicles based on the list of vehicles to be upgraded.

[0452] The distribution module 1908 is used to package the upgrade recommendation time and the identifier of the target upgrade software corresponding to the vehicle into an upgrade task and distribute it to the vehicle.

[0453] The third receiving module 1909 is used to receive the first feedback information sent by the vehicle, which includes the scheduled upgrade time reported by the vehicle.

[0454] The configuration module 1910 is used to configure an upgrade task for the vehicle based on the first feedback information. The upgrade task is used to instruct the vehicle to perform a software upgrade.

[0455] Optionally, the vehicle software upgrade device 1900 also includes:

[0456] The third determining module 1911 is used to determine the number of devices that can be woken up at the current moment based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been determined to be upgraded at the current moment. The number of devices that can be woken up represents the number of concurrent upgrades that the cloud device can accommodate at the current moment.

[0457] Upgrade module 1912 is used to wake up vehicles that meet the preset upgrade conditions in the list of vehicles to be upgraded according to the number of vehicles that can be woken up and in chronological order to perform OTA upgrades.

[0458] In one possible implementation, the first determining module 1903 is specifically used for:

[0459] Based on the list of vehicles to be upgraded, the number of vehicles to be upgraded at each moment within the preset time period is counted, and a first recommendation index is determined for each moment based on the number of vehicles to be upgraded at each moment.

[0460] Based on the vehicle usage information set, the probability of vehicle usage at each moment within the preset time period is calculated, and a second recommendation index is determined for each moment based on the corresponding vehicle usage probability.

[0461] Based on the upgrade information set, the number of upgrades at each moment within the preset time period is counted, and a third recommendation index is determined for each moment based on the number of upgrades at each moment.

[0462] For each time point, the target upgrade time is determined based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point.

[0463] In one possible implementation, the first determining module 1903 determines the target upgrade time based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to the time, specifically including:

[0464] For each time point, the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point are weighted and calculated to obtain the recommendation value corresponding to that time point;

[0465] The time corresponding to the highest recommendation value is determined as the target upgrade time.

[0466] In one possible implementation, the first determining module 1903 is further configured to:

[0467] Based on the upgrade information set, count the number of upgrade postponements at each moment within the preset time period;

[0468] Accordingly, the first determining module 1903 determines a third recommendation index for each time step based on the number of upgrades at each time step, including:

[0469] A third recommendation index is determined for each time step based on the number of upgrades and the number of upgrade postponements at each time step.

[0470] In one possible implementation, the vehicle software upgrade device 1900 further includes:

[0471] The fourth determining module 1913 is used to determine the target vehicle set in the list of vehicles to be upgraded based on the number of vehicles that can be woken up. The target vehicle set includes vehicles to be upgraded in a number that is equal to or less than the number of vehicles that can be woken up, and the upgrade time corresponding to each vehicle to be upgraded is the current time.

[0472] The second acquisition module 1914 is used to acquire vehicle information for each vehicle to be upgraded in the target vehicle set. The vehicle information includes the vehicle status, which indicates whether the vehicle is in use at the current moment.

[0473] The fifth determination module 1915 is used to determine that the vehicle to be upgraded meets the preset upgrade conditions for each vehicle to be upgraded in the target vehicle set if the vehicle status indicator of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time.

[0474] In one possible implementation, the vehicle information may also include the vehicle's estimated usage time, in which case the vehicle software upgrade device 1900 further includes:

[0475] The sixth determination module 1916 is used to determine, for each vehicle to be upgraded in the target vehicle set, whether the vehicle's expected usage time is after the upgrade, based on the upgrade duration of the vehicle to be upgraded.

[0476] Accordingly, the fifth determining module 1915 includes:

[0477] If the vehicle status indicator for the vehicle to be upgraded indicates that the vehicle is not in use at the current moment and the estimated usage time is after the upgrade, then the vehicle to be upgraded is determined to meet the preset upgrade conditions.

[0478] In one possible implementation, the vehicle software upgrade device 1900 further includes:

[0479] The update module 1917 is used to select vehicles to be upgraded from the list of vehicles to be upgraded in chronological order and add them to the target vehicle set if the number of vehicles to be upgraded in the target vehicle set is less than the number of vehicles that can be woken up, until the number of vehicles to be upgraded in the target vehicle set is equal to the number of vehicles that can be woken up, thus obtaining a new target vehicle set.

[0480] In one possible implementation, the vehicle software upgrade device 1900 further includes:

[0481] The first postponement module 1918 is used to postpone the upgrade time of each vehicle to be upgraded in the target vehicle set for a preset period of time if the vehicle to be upgraded does not meet the preset upgrade conditions, and to update the list of vehicles to be upgraded.

[0482] In one possible implementation, the vehicle software upgrade device 1900 further includes:

[0483] The second postponement module 1919 is used to postpone the upgrade time of each vehicle to be upgraded in the target vehicle set to the next user-authorized upgrade period if the vehicle to be upgraded has not been upgraded within the user-authorized upgrade period.

[0484] In one possible implementation, the third determining module 1911 is specifically used for:

[0485] The difference between the maximum number of concurrent upgrades that can be accommodated and the number of vehicles is determined as the number of vehicles that can be woken up at the current moment.

[0486] In one possible implementation, the second determining module 1907 is specifically used for:

[0487] Statistical analysis of the list of vehicles to be upgraded was conducted to determine the number of vehicles scheduled for upgrade at each time point within the preset upgrade period.

[0488] Based on the number of vehicles, sort each moment within the preset upgrade period from fewest to most;

[0489] The time corresponding to the minimum number of vehicles is determined as the recommended upgrade time.

[0490] In one possible implementation, the first configuration module 1910 is specifically used for:

[0491] If the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, the recommended upgrade time will be set as the target upgrade time for the vehicle, and the vehicle's identifier and target upgrade time will be updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0492] In one possible implementation, the first configuration module 1910 is also used for:

[0493] If the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, the list of vehicles to be upgraded will be queried based on the scheduled upgrade time to determine the number of vehicles to be upgraded corresponding to the scheduled upgrade time.

[0494] If the number of vehicles to be upgraded does not exceed the preset vehicle threshold, the scheduled upgrade time will be set as the target upgrade time for the vehicle, and the vehicle's identifier and target upgrade time will be updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

[0495] In one possible implementation, the first configuration module 1910 is also used for:

[0496] If the number of vehicles to be upgraded exceeds the vehicle threshold, an alarm message will be sent to the vehicles. The alarm message is used to remind users that there is a risk of upgrade failure when scheduling an upgrade.

[0497] Receive the second feedback information sent by the vehicle;

[0498] Based on the second feedback information, the vehicle is configured with the upgrade task.

[0499] In one possible implementation, the first configuration module 1910 is also used for:

[0500] The system monitors the list of vehicles to be upgraded in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, an upgrade time adjustment request is sent to the vehicles.

[0501] Receive third-party feedback information sent by the vehicle;

[0502] Based on the third feedback information, the vehicle is reconfigured with the tasks to be upgraded.

[0503] The vehicle software upgrade apparatus provided in the above embodiments is used to execute the vehicle software upgrade method in any of the cloud device side embodiments of the foregoing method. Its implementation principle and technical effect are similar, and will not be described again here.

[0504] Figure 20 is a structural schematic diagram of the vehicle provided in the embodiment of this application. As shown in Figure 20, it includes: a vehicle body 2000, a storage unit 2001 disposed in the vehicle body, an electronic control unit 2002, and a communication interface 2003.

[0505] Storage unit 2001 stores computer-executed instructions;

[0506] The electronic control unit 2002 executes computer execution instructions stored in the storage unit 2001 to implement the vehicle software upgrade method on the vehicle side in any of the foregoing embodiments.

[0507] Communication interface 2003 is used to enable data communication with cloud devices.

[0508] Figure 21 is a schematic diagram of the structure of the cloud device provided in the embodiment of this application. As shown in Figure 21, the cloud device 2100 includes: a processor 2102 and a memory 2101 that is communicatively connected to the processor 2102.

[0509] Memory 2101 stores computer-executed instructions.

[0510] The processor 2102 executes computer execution instructions stored in the memory 2101 to implement the vehicle software upgrade method on the cloud device side in any of the foregoing embodiments.

[0511] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method in any of the embodiments.

[0512] The aforementioned computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory, electrically erasable programmable read-only memory, erasable programmable read-only memory, programmable read-only memory, read-only memory, magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0513] Optionally, a readable storage medium can be coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Alternatively, the readable storage medium can be an integral part of the processor. Both the processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components within the device.

[0514] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium, and when the at least one processor executes the computer program, it can implement the technical solutions provided in any of the above method embodiments.

[0515] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0516] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A vehicle software upgrade method, wherein, Applied to vehicles, the method includes: Receive an update command sent by a user, the update command being used to instruct the vehicle software to update automatically; According to the update instruction, obtain the timestamp of the update instruction; Based on the timestamp, the target upgrade time is determined; Over-the-air (OTA) upgrades are performed based on the target upgrade time.

2. The method according to claim 1, wherein, The method further includes: The update command is sent to the cloud device; Receive the target upgrade time sent by the cloud device; OTA upgrades will be performed according to the target upgrade time.

3. The method according to claim 1 or 2, wherein, The OTA (Over-the-Air) upgrade based on the target upgrade time includes: A countdown is performed based on the target upgrade time. After the countdown ends, the vehicle status is obtained, which indicates whether the vehicle is in use. If the vehicle status indicates that the vehicle is not in use, then an OTA upgrade is performed based on the update package.

4. The method according to claim 3, wherein, The method further includes: If the vehicle status indicates that the vehicle is in use, the target upgrade time is postponed for a preset time, and the number of upgrade postponements is accumulated. The upgrade postponement count is sent to the cloud device, and an upgrade postponement message is sent to the user.

5. The method according to claim 1, wherein, Determining the target upgrade time based on the timestamp includes: The timestamp is split and processed to obtain the hour and minute corresponding to the timestamp; The time corresponding to the target upgrade time is determined based on the time corresponding to the timestamp and the preset hour conversion coefficient; The score corresponding to the timestamp is determined as the score corresponding to the target upgrade time; The target upgrade time is obtained by combining the hour and minute corresponding to the target upgrade time.

6. The method according to claim 5, wherein, The step of determining the time corresponding to the target upgrade time based on the time corresponding to the timestamp and a pre-set hour conversion coefficient includes: The time corresponding to the target upgrade time is generated by taking the remainder of the time corresponding to the timestamp based on the hour conversion coefficient and adding 1.

7. The method according to claim 1, wherein, Before receiving the update instruction sent by the user, the method further includes: The vehicle receives an upgrade task sent by a cloud device, the upgrade task being used to instruct the vehicle to download an update software package; According to the upgrade task, the update package is downloaded, and an upgrade reminder is sent to the user after the download is completed.

8. The method according to claim 7, wherein, The upgrade task includes the vehicle's identifier, and the method further includes: Based on the identifier, determine whether the timestamp of the update instruction corresponding to the last upgrade task has been updated; If it is determined that the timestamp of the update instruction corresponding to the previous upgrade task has not been updated, then the upgrade time corresponding to the previous upgrade task is determined as the target upgrade time.

9. A vehicle software upgrade method, wherein, Applied to cloud devices, the method includes: Receive an update command sent by the vehicle, the update command being used to instruct the vehicle software to update automatically; According to the update instruction, obtain the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information. The set of vehicle usage information includes the usage data of multiple vehicles, and the set of upgrade information includes the upgrade data of multiple vehicles. Based on the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information, the target upgrade time is determined; The target upgrade time is sent to the vehicle so that the vehicle can perform an over-the-air (OTA) upgrade at the target upgrade time.

10. The method according to claim 9, wherein, The method further includes: Receive the number of upgrade postponements sent by the vehicle; If the number of upgrade postponements reaches a preset postponement threshold, the target upgrade time is redefined, and the new target upgrade time is sent to the vehicle.

11. The method according to claim 9, wherein, The method further includes: Based on the list of vehicles to be upgraded, the recommended upgrade time for each vehicle is determined; The recommended upgrade time and the identifier of the target upgrade software corresponding to the vehicle are packaged into an upgrade task and sent to the vehicle; Receive first feedback information sent by the vehicle, the first feedback information including the scheduled upgrade time reported by the vehicle; Based on the first feedback information, an upgrade task is configured for the vehicle, which is used to instruct the vehicle to perform a software upgrade.

12. The method according to claim 9, wherein, The method further includes: Based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been determined to be upgraded at the current moment, the number of vehicles that can be woken up at the current moment is determined, and the number of vehicles that can be woken up at the current moment represents the number of concurrent upgrades that the cloud device can accommodate at the current moment. Based on the number of vehicles that can be woken up, vehicles that meet the preset upgrade conditions in the list of vehicles to be upgraded are woken up in chronological order for OTA upgrade.

13. The method according to claim 9, wherein, The step of determining the target upgrade time based on the list of vehicles to be upgraded, the set of vehicle usage information, and the set of upgrade information includes: Based on the list of vehicles to be upgraded, the number of vehicles to be upgraded at each moment within a preset time period is counted, and a first recommendation index is determined for each moment based on the number of vehicles to be upgraded at each moment. Based on the vehicle usage information set, the probability of vehicle usage at each moment within the preset time period is calculated, and a second recommendation index is determined for each moment based on the probability of vehicle usage at each moment. Based on the upgrade information set, the number of upgrades at each moment within the preset time period is counted, and a third recommendation index is determined for each moment based on the number of upgrades at each moment. For each time point, the target upgrade time is determined based on the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point.

14. The method according to claim 13, wherein, Determining the target upgrade time based on the first recommendation index, second recommendation index, and third recommendation index corresponding to the time point includes: For each time point, the first recommendation index, the second recommendation index, and the third recommendation index corresponding to that time point are weighted and calculated to obtain the recommendation value corresponding to that time point; The time corresponding to the highest recommendation value is determined as the target upgrade time.

15. The method according to claim 13, wherein, The method further includes: Based on the upgrade information set, count the number of upgrade postponements at each moment within the preset time period; Accordingly, determining the third recommendation index for each time point based on the number of upgrades at each time point includes: A third recommendation index is determined for each time step based on the number of upgrades and the number of upgrade postponements at each time step.

16. The method according to claim 12, wherein, Before waking up vehicles that meet preset upgrade conditions from the list of vehicles to be upgraded in chronological order according to the number of vehicles that can be woken up, the method further includes: Based on the number of vehicles that can be woken up, a target vehicle set is determined from the list of vehicles to be upgraded. The target vehicle set includes vehicles to be upgraded in a number that is equal to or less than the number of vehicles that can be woken up, and the upgrade time corresponding to each vehicle to be upgraded is the current time. Obtain vehicle information for each vehicle to be upgraded in the target vehicle set. The vehicle information includes vehicle status, which indicates whether the vehicle is in use at the current moment. For each vehicle to be upgraded in the target vehicle set, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time, then it is determined that the vehicle to be upgraded meets the preset upgrade conditions.

17. The method according to claim 16, wherein, The vehicle information may also include the vehicle's estimated usage time, then the method further includes: For each vehicle to be upgraded in the target vehicle set, determine whether the vehicle's expected usage time is after the upgrade based on the upgrade duration. Accordingly, if the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current moment, then determining that the vehicle to be upgraded meets the preset upgrade conditions includes: If the vehicle status of the vehicle to be upgraded indicates that the vehicle to be upgraded is not in use at the current time and the vehicle is expected to be used after the upgrade, then the vehicle to be upgraded is determined to meet the preset upgrade conditions.

18. The method according to claim 16, wherein, The method further includes: If the number of vehicles to be upgraded in the target vehicle set is less than the number of vehicles that can be woken up, then in chronological order, vehicles to be upgraded are selected from the list of vehicles to be upgraded and added to the target vehicle set until the number of vehicles to be upgraded in the target vehicle set is equal to the number of vehicles that can be woken up, thus obtaining a new target vehicle set.

19. The method of claim 16, wherein, The method further includes: For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded does not meet the preset upgrade conditions, the upgrade time of the vehicle to be upgraded will be postponed for a preset period of time, and the list of vehicles to be upgraded will be updated.

20. The method according to claim 19, wherein, The method further includes: For each vehicle to be upgraded in the target vehicle set, if the vehicle to be upgraded is not upgraded within the user-authorized upgrade period, the upgrade time of the vehicle to be upgraded will be postponed to the user-authorized upgrade period of the next upgrade cycle.

21. The method according to claim 12, wherein, The step of determining the number of vehicles that can be woken up at the current moment based on the maximum number of concurrent upgrades that the cloud device can accommodate and the number of vehicles that have been determined to be upgraded at the current moment includes: The difference between the maximum number of concurrent upgrades that can be accommodated and the number of vehicles is determined as the number of vehicles that can be woken up at the current moment.

22. The method according to claim 11, wherein, The process of determining the recommended upgrade time for each vehicle based on the list of vehicles to be upgraded includes: Statistical analysis is performed on the list of vehicles to be upgraded to determine the number of vehicles scheduled for upgrade at each time point within the preset upgrade period. Based on the number of vehicles, sort each moment within the preset upgrade period from least to most; The time corresponding to the minimum number of vehicles is determined as the recommended upgrade time.

23. The method according to claim 11, wherein, The step of configuring the upgrade task for the vehicle based on the first feedback information includes: If the scheduled upgrade time reported by the vehicle is the same as the recommended upgrade time, then the recommended upgrade time is set as the target upgrade time for the vehicle, and the vehicle's identifier and the target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

24. The method according to claim 23, wherein, The method further includes: If the scheduled upgrade time reported by the vehicle is different from the recommended upgrade time, then based on the scheduled upgrade time, the list of vehicles to be upgraded is queried to determine the number of vehicles to be upgraded corresponding to the scheduled upgrade time; If the number of vehicles to be upgraded does not exceed the preset vehicle threshold, the scheduled upgrade time is set as the target upgrade time for the vehicle, and the vehicle's identifier and the target upgrade time are updated in the list of vehicles to be upgraded, thus completing the configuration of the upgrade task.

25. The method according to claim 24, wherein, The method further includes: If the number of vehicles to be upgraded exceeds the vehicle threshold, an alarm message is sent to the vehicles. The alarm message is used to remind the user that there is a risk of upgrade failure if the scheduled upgrade time is performed. Receive the second feedback information sent by the vehicle; Based on the second feedback information, the upgrade task is configured for the vehicle.

26. The method of claim 25, wherein, The method further includes: The list of vehicles to be upgraded is monitored in real time. If the number of vehicles to be upgraded corresponding to the target upgrade time exceeds the vehicle threshold, an upgrade time adjustment request is sent to the vehicles. Receive third feedback information sent by the vehicle; Based on the third feedback information, the task to be upgraded is reconfigured for the vehicle.

27. A vehicle software upgrade system, wherein, Includes a vehicle and a cloud device, wherein the vehicle and the cloud device are communicatively connected; The vehicle is configured to perform the method according to claims 1 to 8; The cloud device is configured to perform the method according to claims 9 to 26.

28. A vehicle, wherein, include: The vehicle body, including storage units, electronic control units, and communication interfaces located within it; The storage unit stores computer-executed instructions; The electronic control unit executes the computer execution instructions stored in the storage unit to implement the method as described in any one of claims 1 to 8.

29. A cloud device, wherein, include: A processor, and a memory and a communication interface communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 9 to 26.

30. A computer-readable storage medium, wherein, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 26.

31. A computer program product, wherein, The computer program product includes a computer program stored in a computer-readable storage medium, which at least one processor can read from the computer-readable storage medium, and which, when executing the computer program, can implement the method described in any one of claims 1 to 26.

Citation Information

Patent Citations

  • Vehicle remote automatic upgrading method and device, server, equipment and medium

    CN116048587A

  • Vehicle OTA upgrading method and device and vehicle

    CN117032761A

  • Automatic updating method and device of vehicle, vehicle and computer storage medium

    CN117081922A

  • Vehicle software appointment upgrading method and device, equipment and storage medium

    CN119065690A

  • Vehicle software upgrading method and device, equipment and storage medium

    CN119065691A