Software package upgrading method, server and computer readable storage medium
By filtering target vehicles based on screening criteria and optimizing the transmission method of upgrade instructions, the problem of wasted network resources caused by vehicles that do not require upgrades was solved, and efficient software package upgrades were achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-04-07
Smart Images

Figure CN121807351A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software upgrade technology, specifically to a software package upgrade method, a server, and a computer-readable storage medium. Background Technology
[0002] Once the technicians have developed new software features, they will use the server to push upgrade instructions for the latest software package to a large number of vehicles, instructing the vehicles to upgrade the software package.
[0003] However, among the massive number of vehicles, there are often vehicles that do not currently require upgrades. Sending upgrade instructions to these vehicles via the network will result in invalid transmission, and the vehicles' attempts to receive the upgrade instructions via the network will also be invalid. The transmission of these upgrade instructions consumes the server's bandwidth and the vehicles' communication traffic, resulting in a waste of network resources. Summary of the Invention
[0004] This application provides a software package upgrade method, a server, and a computer-readable storage medium, which can send software package upgrade instructions to vehicles that meet the screening criteria and not send software package upgrade instructions to vehicles that do not meet the screening criteria. This reduces the invalid transmission rate of software package upgrade instructions, saves server bandwidth and vehicle communication traffic, and saves network resources.
[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions: Firstly, a software package upgrade method is provided, applied to a server. The method includes: obtaining filtering conditions; wherein the filtering conditions are used as constraints to select vehicles from candidate vehicles that require software package upgrades; performing a matching query in a vehicle information database based on the filtering conditions to obtain target vehicle identification information that meets the filtering conditions; wherein the vehicle information database includes a mapping relationship between vehicle identification information of candidate vehicles and multi-dimensional vehicle information; determining a software package upgrade instruction based on first version information and target version information; wherein the first version information is the version information of the target application installed on the target vehicle corresponding to the target vehicle identification information, and the target version information is the version information to which the target application needs to be upgraded; and sending a software package upgrade instruction to the target vehicle based on the target vehicle identification information.
[0006] In this application, a mapping relationship is set in the server between the vehicle identification information and multi-dimensional information of the candidate vehicles. After the server obtains the filtering conditions, it can filter out the target vehicle identification information that meets the filtering conditions from the mapping relationship and send the software package upgrade command to the target vehicle corresponding to the target vehicle identification information. In this way, instead of sending the software package upgrade command to all vehicles, the software package upgrade command is sent to the vehicles that meet the filtering conditions, and the software package upgrade command is not sent to the vehicles that do not meet the filtering conditions. This reduces the invalid transmission rate of software package upgrade commands, saves server bandwidth and vehicle communication traffic, and saves network resources.
[0007] In conjunction with the first aspect, in one possible design approach, determining the software package upgrade instruction based on the first version information and the target version information includes: determining the software package download address type in the software package upgrade instruction based on the first version information and the target version information; wherein, the software package download address type includes differential package download address type and full package download address type; and determining the software package upgrade instruction based on the software package download address type.
[0008] In this application, the server first determines the type of software package download address carried by the software package upgrade instruction through the first version information and the target version information, so as to avoid the waste of network resources of the server and vehicles caused by all target vehicles downloading the full package.
[0009] In conjunction with the first aspect, in one possible design approach, based on the first version information and the target version information, the software package download address type in the software package upgrade instruction is determined, including: determining the differential package between the software package of the first version information and the software package of the target version information; if the size of the differential package is less than or equal to a first preset size threshold, determining the software package download address type as the differential package download address type; if the size of the differential package is greater than the first preset size threshold, determining the software package download address type as the full package download address type.
[0010] In this application, if the differential packet size between the software package of the first version information and the software package of the target version information is less than or equal to a first preset size threshold, it indicates that the differential packet is small. Therefore, the software package download address type in the software package upgrade instruction is determined to be a differential packet download address type. This allows the vehicle to obtain the differential packet from the server after receiving the software package upgrade instruction, saving the amount of data transmitted between the server and the vehicle, and conserving network resources for both. If the size of the differential packet is greater than the first preset size threshold, this indicates that the differential packet is large, and the difference between the full package and the differential packet is small. Therefore, the software package download address type can be determined to be a full package download address type, which improves the stability of the software package upgrade.
[0011] In conjunction with the first aspect, in one possible design approach, the package download address type in the package upgrade instruction is determined based on the first version information and the target version information, including: if the difference between the version numbers of the first version information and the target version information is less than or equal to a preset difference threshold, the package download address type is determined to be a differential package download address type; if the difference between the version numbers of the first version information and the target version information is greater than the preset difference threshold, the package download address type is determined to be a full package download address type.
[0012] In this application, if the difference in version numbers between the first version information and the target version information is less than or equal to a preset difference threshold, it indicates that the version gap is small, and the probability of successful upgrade using differential packages is relatively high. Therefore, the software package download address type is determined to be a differential package download address type, so that the vehicle downloads the differential package, saving server and vehicle network resources while ensuring the success rate of software package upgrades. If the difference in version numbers between the first version information and the target version information is greater than a preset difference threshold, it indicates that the version gap is too large, and using differential packages will likely lead to software package upgrade failure. Therefore, the software package download address type can be determined to be a full package download address type, so that the vehicle downloads the full package and upgrades using the full package, thereby reducing the software package upgrade failure rate.
[0013] In conjunction with the first aspect, in one possible design approach, determining the software package upgrade instruction based on the first version information and the target version information includes: obtaining first information corresponding to the target vehicle's identity information; wherein, the first information includes either the target vehicle's network information or the target vehicle's storage space size; determining the software package download address type in the software package upgrade instruction based on the first information; wherein, the software package download address type includes differential package download address type and full package download address type; and determining the software package upgrade instruction based on the software package download address type, the first version information, and the target version information.
[0014] In this application, the server first determines the type of software package download address carried by the software package upgrade instruction by using the network information and storage space size of the target vehicle, thus avoiding the waste of server and vehicle network resources caused by all target vehicles downloading the full package.
[0015] In conjunction with the first aspect, in one possible design approach, determining the software package download address type in the software package upgrade instruction based on the first information includes: determining the software package download address type as a differential package download address type when the network information meets a first preset network condition; wherein the first preset network condition is that the network connected to the target vehicle is a mobile network; and determining the software package download address type as a full package download address type when the network information meets a second preset network condition; wherein the second preset network condition is that the network connected to the target vehicle is a wireless network.
[0016] In this application, if the target vehicle is connected to a mobile network, in order to avoid the vehicle wasting mobile network resources, the software package download address type can be determined to be a differential packet download address type. In this way, the network resources of the server for upgrading the software package can be saved. Since differential packets are generally small, the number of differential packets sent by the server to the vehicle is reduced, thus saving the server's network resources.
[0017] In conjunction with the first aspect, in one possible design approach, determining the software package download address type in the software package upgrade instruction based on the first information includes: determining the software package download address type as a differential package download address type when the target vehicle's storage space size is less than or equal to a second preset size threshold; and determining the software package download address type as a full package download address type when the target vehicle's storage space size is greater than the second preset size threshold.
[0018] In this application, the server can determine the download address type of the software package based on the storage space size of the target vehicle, thereby avoiding invalid downloads caused by insufficient storage space in the target vehicle.
[0019] In conjunction with the first aspect, in one possible design approach, the software package upgrade instruction further includes first instruction information; wherein, the first instruction information is used to instruct the target vehicle to restart the upgraded software package and check the running status of the upgraded software package after the software package replacement is completed; if the upgraded software package restarts successfully, the software package before the upgrade is deleted; if the upgraded software package fails to restart, the software package before the upgrade is rolled back.
[0020] In this application, through the orderly control of the aforementioned first instruction information, the startup verification of the new version of the software package can be completed while ensuring that the old version of the software package is still usable. This avoids the loss of target vehicle functions or system crash due to the failure to start the new version of the software package, and significantly improves the stability and security of the software package upgrade.
[0021] In conjunction with the first aspect, in one possible design approach, sending a software package upgrade instruction to a target vehicle based on the target vehicle's identification information includes: dividing the target vehicle's identification information into a first set of vehicle identification information and at least one second set of vehicle identification information; sending a software package upgrade instruction to a first set of target vehicles corresponding to the first set of vehicle identification information based on the first set of vehicle identification information; obtaining upgrade status information of the software package from the first set of target vehicles; wherein the upgrade status information includes whether the upgrade was successful or failed; determining the upgrade success rate of the first set of target vehicles based on the upgrade status information; if the upgrade success rate is greater than or equal to an upgrade success rate threshold, sending a software package upgrade instruction to a second set of target vehicles corresponding to the second set of vehicle identification information; if the upgrade success rate is less than the upgrade success rate threshold, suspending the sending of software package upgrade instructions to the second set of target vehicles corresponding to the second set of vehicle identification information, and sending an upgrade warning message to the terminal device.
[0022] In this application, after filtering out the target vehicle identification information using screening criteria, the software package upgrade command is not sent to all vehicles that meet the screening criteria. Instead, all vehicles that meet the screening criteria are divided into several batches. If the upgrade success rate of the first batch, i.e. the first target vehicle set, is less than the upgrade success rate threshold, the sending of software package upgrade commands to the second target vehicle set corresponding to the second vehicle identification information set is suspended, and upgrade warning information is fed back to the terminal device to promptly remind technical personnel to take measures to solve the problem of low upgrade success rate and avoid the waste of server and vehicle network resources caused by invalid transmission of software package upgrade commands.
[0023] Secondly, embodiments of this application provide a server, including: a processor; and a memory for storing processor-executable instructions, wherein the processor is used to execute the software package upgrade method described in the first aspect.
[0024] Thirdly, embodiments of this application provide a computer-readable storage medium storing a computer program for executing the software package upgrade method described in the first aspect.
[0025] Fourthly, embodiments of this application provide a computer program product, which includes a computer program. When the computer program is executed by the processor of a computer device, it enables the computer device to execute the software package upgrade method described in the first aspect.
[0026] The technical effects of any of the design methods in the second to fourth aspects can be found in the technical effects of different design methods in the first aspect, and will not be repeated here. Attached Figure Description
[0027] Figure 1 The diagram illustrates an application scenario of the software package upgrade method provided in an exemplary embodiment of this application.
[0028] Figure 2 The diagram shown is a flowchart illustrating a software package upgrade method provided in an exemplary embodiment of this application.
[0029] Figure 3 The diagram shown is a schematic representation of an exemplary embodiment of this application, illustrating the process of sending a software package upgrade command to a target vehicle.
[0030] Figure 4 The diagram shown is a schematic representation of a software package upgrade apparatus provided in an exemplary embodiment of this application. Detailed Implementation
[0031] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0032] Application Overview The following is a brief overview of some of the terms used in this application.
[0033] (1) Application: An application is a runnable entity that is directly facing the user and is the process form after the software package is installed.
[0034] (2) Software Package: A software package is the basic unit of software distribution. It is essentially a collection of files and directories that follow a specific format and is used to package applications or system components for easy installation, management and distribution.
[0035] (3) Differential Package: The essence of a differential package is a structured description of data changes. It compares source data (such as the old version) and target data (such as the new version) through an algorithm, extracts and encapsulates only the differences, thereby achieving a precise upgrade from the old version to the new version with the minimum amount of data.
[0036] (4) Full Package: A full package is a complete software package that contains all the files required for the software to run, such as source files, library files, configuration files, and resource files. Full packages are usually stored as a compressed file for easy transfer and storage.
[0037] (5) Vehicle Identification Number (VIN): The vehicle identification number is the vehicle's ID number. It is determined according to national vehicle management standards and includes information such as the vehicle's manufacturer, year, model, body style and code, engine code and assembly location.
[0038] As mentioned in the background technology above, among a large number of vehicles, there are often vehicles that do not currently require upgrades. If the server sends upgrade instructions to these vehicles via the network, it will result in invalid transmission. If these vehicles use the network to receive the upgrade instructions, it will also be an invalid reception. The transmission of these upgrade instructions consumes the server's bandwidth and the vehicle's communication traffic, resulting in a waste of network resources.
[0039] To address the aforementioned technical problems, this application provides a software package upgrade method. The method includes: a server first obtaining filtering conditions, which are used as limiting conditions to select vehicles from candidate vehicles that require software package upgrades; then, based on the aforementioned filtering conditions, the server performs a matching query in a vehicle information database to obtain target vehicle identification information that meets the filtering conditions. This vehicle information database includes a mapping relationship between the vehicle identification information of candidate vehicles and multi-dimensional vehicle information; then, the server determines a software package upgrade instruction based on first version information and target version information. The first version information is the version information of the target application installed on the target vehicle corresponding to the target vehicle identification information, and the target version information is the version information to which the target application needs to be upgraded; finally, the server sends a software package upgrade instruction to the target vehicle based on the target vehicle identification information.
[0040] In this embodiment, the server sets a mapping relationship between the vehicle identification information and multi-dimensional information of the candidate vehicles. After the server obtains the filtering conditions, it can filter out the target vehicle identification information that meets the filtering conditions from the mapping relationship and send a software package upgrade command to the target vehicle corresponding to the target vehicle identification information. In this way, instead of sending software package upgrade commands to all vehicles, the software package upgrade command is sent to vehicles that meet the filtering conditions, and the software package upgrade command is not sent to vehicles that do not meet the filtering conditions. This reduces the invalid transmission rate of software package upgrade commands, saves server bandwidth and vehicle communication traffic, and saves network resources.
[0041] Exemplary scenario The following is an illustrative diagram illustrating an application scenario of a software package upgrade method. For example, Figure 1 The diagram illustrates an application scenario of a software package upgrade method provided in an exemplary embodiment of this application. Figure 1As shown, the scenario includes server 100, vehicle set 200, and computer 300. Vehicle set 200 includes all vehicles that server 100 can count.
[0042] In this scenario, server 100 can first obtain filtering criteria. These criteria serve as constraints to select vehicles from the candidate vehicles that require the software upgrade. For example, these criteria might include information related to the vehicle's multi-dimensional information requirements, which could be determined based on initial information input by a technician. For instance, a technician inputs initial information on computer 300, which sends this information to server 100. Server 100 then obtains filtering criteria based on this initial information. For example, the initial information might be: "Add Chinese voice support for model X in the German market." Server 100 can then obtain the filtering criteria from this initial information as: vehicle X, vehicle sales region is Germany, and vehicle system language is not Chinese. The filtering criterion that the vehicle's system language is not Chinese indicates that this vehicle does not yet have Chinese voice data and needs to be pushed. The vehicle's system language refers to the language type set in the vehicle's settings; this language type is the language type of the text in the vehicle's interface. For example, all elements on the Human Machine Interface (HMI), such as the main menu, settings page, pop-up notification text, alarm sounds, and navigation commands, are expressed using this language type.
[0043] The vehicle information database includes the mapping relationship between the vehicle identification information and multi-dimensional information of the candidate vehicles. For example, the candidate vehicles are a set of 200 vehicles.
[0044] Then, server 100 performs a matching query in the vehicle information database based on the filtering conditions to obtain the target vehicle identification information that meets the filtering conditions. For example, the target vehicle identification information can be the vehicle identification information of vehicles 200-1 to 200-3 in vehicle set 200. Then, server 100 determines the software package upgrade instruction based on the first version information and the target version information. The first version information is the version information of the target application installed on the target vehicle corresponding to the target vehicle identification information, and the target version information is the version information of the target application to be upgraded to. Then, server 100 sends the software package upgrade instruction to the target vehicle, such as vehicles 200-1 to 200-3 in vehicle set 200, based on the target vehicle identification information.
[0045] The software package upgrade method provided in this application can be applied to various vehicles. Vehicles include various types, such as sedans, SUVs, buses, and trucks. This application does not impose any special limitations on the specific form of the vehicle.
[0046] It should be understood that the above application scenario examples are only shown to facilitate understanding of the spirit and principles of this application, and the embodiments of this application are not limited thereto. Rather, the embodiments of this application can be applied to any applicable scenario.
[0047] Exemplary methods Figure 2 The diagram shown is a flowchart illustrating a software package upgrade method provided in an exemplary embodiment of this application. Figure 2 The method can be executed by the server, such as Figure 1 The server 100 in the middle executes. For example... Figure 2 As shown, the software package upgrade method may include the following steps: 210: Server 100 retrieves filter criteria.
[0048] Filtering criteria are used as constraints to select vehicles from candidate vehicles that require the software upgrade. In some embodiments, filtering criteria include, but are not limited to, requirements for vehicle attributes, vehicle sales region, user preferences on the vehicle, version of the target application installed on the vehicle, user attributes of the vehicle, and vehicle location. For example, vehicle attributes may include the vehicle model, user preferences may be the vehicle's system language settings, user attributes may be the vehicle owner's identity information, and vehicle location may be the vehicle's current location.
[0049] For example, a vehicle's voice application might have the ability to switch between various languages (e.g., Chinese, English, and German). Suppose an engineer develops a better Chinese language package for this voice function, and the target audience for this Chinese language package is Chinese people in Germany. Then the filtering criteria could be: the vehicle's current location information must be in Germany, and the vehicle owner's identity information must be Chinese.
[0050] If the target audience for this Chinese language feature package is Chinese people who purchase vehicles in Germany, then the filtering criteria could be: the vehicle's current location information must be in Germany, and the vehicle owner's identity information must be Chinese.
[0051] If the target audience for this Chinese-language feature package is Chinese people who purchase Type A vehicles in Germany, then the filtering criteria could be: the vehicle's current location information must be in Germany, the vehicle model must be Type A, and the vehicle owner's identity must be Chinese.
[0052] If the target audience for this Chinese-language feature package is Chinese people who purchase Type A vehicles in Germany, then the filtering criteria could be: the vehicle's current location information must be in Germany, the vehicle model must be Type A, and the vehicle owner's identity must be Chinese.
[0053] If the target audience for this Chinese language software package is Chinese people who have purchased Type A vehicles in Germany, and the vehicles are currently using Chinese as their system language, then the filtering criteria could be: the vehicle's current location information must be in Germany; the vehicle's model information must be Type A; the vehicle owner's identity information must be Chinese; and the vehicle's system language information must be Chinese.
[0054] If the target audience for this Chinese language software package is Chinese people who have purchased Type A vehicles in Germany, and the vehicle's current system language is Chinese, and the vehicle's current location is either China or Germany, then the filtering criteria could be: Vehicle current location information must be in Germany; vehicle model information must be Type A; vehicle owner identity information must be Chinese; vehicle system language information must be Chinese; and vehicle current location information must be either China or Germany.
[0055] If the target audience for this Chinese language software package is Chinese people who have purchased a Type A vehicle in Germany, and the vehicle's current system language is Chinese, and the vehicle's current location is either China or Germany, and the voice application version is B, then the filtering criteria could be: Vehicle current location information must be in Germany; vehicle model information must be Type A; vehicle owner identity information must be Chinese; vehicle system language information must be Chinese; vehicle current location information must be either China or Germany; and voice application version information must be Version B.
[0056] It is understood that the filtering criteria can be obtained by server 100 based on natural language input by a technician. Specifically, in some embodiments, the technician can input natural language in the target input box on the terminal device interface. After the terminal device obtains the natural language, it sends it to server 100. Server 100 obtains the filtering criteria based on the semantic understanding of the natural language. The terminal device can be a mobile phone, computer, tablet, etc., but is not limited to these.
[0057] The filtering criteria can be obtained by server 100 based on the filtering criteria information input by the technician. Specifically, in some embodiments, the interface of the terminal device is provided with fill boxes corresponding to various filtering items for inputting filtering criteria. After the technician fills in the information in the fill boxes corresponding to various filtering items, he clicks the confirmation control. Then, the terminal device converts the filled content corresponding to each filtering item into filtering criteria and sends it to server 100. Then, server 100 receives the filtering criteria.
[0058] 220: Server 100 performs a matching query in the vehicle information database based on the filtering conditions to obtain the identity information of the target vehicle that meets the filtering conditions.
[0059] The vehicle information database includes a mapping relationship between vehicle identification information and multi-dimensional vehicle information for candidate vehicles. This multi-dimensional vehicle information may include, but is not limited to, at least one of the following: vehicle attributes, sales region, user preferences, version of the target application installed on the vehicle, user attributes, and vehicle location. Thus, server 100 performs a matching query in the vehicle information database based on filtering criteria to obtain the identification information of target vehicles that meet the filtering conditions.
[0060] Vehicle identification information can be a vehicle identification code or custom vehicle identification information, but is not limited to these.
[0061] The information in the vehicle information database is obtained in compliance with regulations.
[0062] 230: Server 100 determines the software package upgrade instruction based on the first version information and the target version information.
[0063] The first version information refers to the version information of the target application installed on the target vehicle corresponding to the target vehicle's identity information, while the target version information refers to the version information to which the target application needs to be upgraded.
[0064] The target application can be of various types; for example, it can be a voice application. The corresponding software package for a voice application is a voice software package, while the differential package can be a function package for a specific language.
[0065] Because the initial version information may differ for each target vehicle, the software package upgrade instructions may vary between different target vehicles.
[0066] The software package upgrade command is used to instruct vehicles to upgrade the target application to the target version. The upgrade command carries the software package download address, which can be either a differential package download address or a full package download address. In addition, the upgrade command may also include the target version information (target version number) and the first version information (differential base version number). The differential base version number is the old version number used for "differentiation," which is the "mother version" from which the differential package is generated.
[0067] In some embodiments, the first version information is compared with the target version information. If the comparison result meets the upgrade conditions, a software package upgrade instruction containing the differential upgrade package download address, digital signature and verification value is generated.
[0068] In addition, in some embodiments, the software package upgrade instruction also includes software package download and upgrade type. For example, the software package download and upgrade type may include: forced upgrade, silent download with user confirmation, silent download without user awareness, and notification only, requiring manual download by the user. These software package upgrade types are described below.
[0069] (1) Forced upgrade Forced upgrades, also known as mandatory updates, are defined as upgrades when the software package (upgrade package) is marked with attributes such as "emergency security patch," "regulatory compliance upgrade," or "fix critical system malfunction." In this case, once the vehicle meets basic requirements (e.g., battery level > 20%), the upgrade will typically be forcibly downloaded and installed overnight or when the vehicle is idle, with only a notification displayed on the central control screen after the upgrade.
[0070] Example scenario: Fix a vulnerability in the voice system that could cause the vehicle's infotainment system to restart.
[0071] (2) Silent download, upgrade after user confirmation (upgrade).
[0072] Silent download, upgrade upon user confirmation, used for important feature upgrades or optimization packages.
[0073] After the vehicle completes the silent download, the system notifies the user via the in-vehicle interface that the new feature is ready and asks if the user agrees to install it on the next time the vehicle is parked or at a specified time. This strikes a balance between timeliness and user control.
[0074] Example scenario: Pushing the previously mentioned "English speech recognition (high-speed scenario optimized version)". The system determines that the user has a need for English (high prediction score), but it is not an urgent security upgrade, so this type is adopted, giving the user the option of when to install.
[0075] (3) Silent download and user-unnotified download (automatic upgrade) Silent downloads and automatic upgrades are used for optimization-type upgrades with extremely high user demand and minimal disruption to the user experience. Multiple conditions must be met simultaneously: a) high historical user acceptance rate (infrequent rejections); b) ideal vehicle status (connected to Wi-Fi, fully charged, parked); c) high intelligent prediction demand score (strongly recommended by the model). The system will utilize a window when the vehicle is completely idle (such as late at night) to complete all operations without the user's awareness, achieving "over-the-air (OTA) downloads."
[0076] Example scenario: Recommend and silently install a "high-quality audio codec pack" for the user. This is because the model firmly believes that this is a deep optimization of their core preference (listening to music), and the installation process will not affect any existing functionality.
[0077] (4) Notification only, users need to download manually. For large, non-urgent, or exploratory software packages.
[0078] When the software package is very large (such as a brand new 3D navigation map), or belongs to the Early Access Program (EAP) feature, and the user's historical acceptance rate is generally low, the system will only push a notification, giving the user the complete decision-making power for downloading, thus avoiding consuming their bandwidth and storage.
[0079] 240: Server 100 sends a software package upgrade command to the target vehicle based on the target vehicle's identity information.
[0080] The number of target vehicle identification information is one or more. For example, please continue to refer to the figure. If the target vehicles corresponding to the target vehicle identification information are vehicles 200-1 to 200-3, then server 100 can send software package upgrade instructions to vehicles 200-1 to 200-3.
[0081] This application provides a software package upgrade method. A mapping relationship is established between vehicle identification information and multi-dimensional vehicle information of candidate vehicles in the server. After the server obtains the filtering conditions, it can filter out the target vehicle identification information that meets the filtering conditions from the mapping relationship and send a software package upgrade command to the target vehicle corresponding to the target vehicle identification information. In this way, instead of sending software package upgrade commands to all vehicles, the server only sends software package upgrade commands to vehicles that meet the filtering conditions, reducing the invalid transmission rate of software package upgrade commands, saving server bandwidth and vehicle communication traffic, and conserving network resources.
[0082] The software package upgrade command may include a download link for the full package or a differential package. The following section explains how to determine the type of software package download link.
[0083] Considering that the software package upgrade command sent by the server to all target vehicles carries the full package download address, and that all target vehicles downloading the full package would lead to a waste of network resources for both the server and the vehicles, in order to solve this problem, in some embodiments, the server can determine the software package download address type in the software package upgrade command based on the first version information and the target version information; wherein, the software package download address type includes differential package download address type and full package download address type; and the software package upgrade command is determined based on the software package download address type.
[0084] In this embodiment, the server first determines the type of software package download address carried by the software package upgrade instruction through the first version information and the target version information, so as to avoid the waste of network resources of the server and vehicles caused by all target vehicles downloading the full package.
[0085] See Table 1 for details. Table 1 shows the different ways to determine the type of package download address.
[0086] Table 1 The download address type of the software package can be determined by the size of the differential packet. Specifically, in some embodiments, such as Method 1 in Table 1 above, the server can first determine the differential packet between the software package with the first version information and the software package with the target version information; if the size of the differential packet is less than or equal to a first preset size threshold, the download address type of the software package is determined to be a differential packet download address type; if the size of the differential packet is greater than the first preset size threshold, the download address type of the software package is determined to be a full package download address type.
[0087] For example, if the first software version information corresponds to the first software version number V1.0, and the second software version information corresponds to the second software version number V1.1, and the changes in the software package from V1.0 to V1.1 are very small, for example, the size of the differential package is 50MB, which is much smaller than the size of the full package, such as 1.5GB, then the software package download address type is determined to be the differential package download address type.
[0088] In this embodiment, if the differential packet size between the software package of the first version information and the software package of the target version information is less than or equal to a first preset size threshold, it indicates that the differential packet is small. Therefore, the software package download address type in the software package upgrade instruction is determined to be a differential packet download address type. This allows the vehicle to obtain the differential packet from the server after receiving the software package upgrade instruction, saving the amount of data transmitted between the server and the vehicle, and conserving network resources for both. If the size of the differential packet is greater than the first preset size threshold, this indicates that the differential packet is large, and the difference between the full package and the differential packet is small. Therefore, the software package download address type can be determined to be a full package download address type, which improves the stability of the software package upgrade.
[0089] Furthermore, considering that determining the differential package type requires identifying the package download address type, which may result in a large computational load on the server, in some embodiments, such as Method 2 in Table 1 above, the package download address type is determined to be a differential package download address type if the difference between the version numbers of the first version information and the target version information is less than or equal to a preset difference threshold; and the package download address type is determined to be a full package download address type if the difference between the version numbers of the first version information and the target version information is greater than the preset difference threshold.
[0090] The preset difference threshold can be used to characterize the difference between a preset number of version numbers. The preset number of version numbers can be 2, 3, etc., but is not limited to these. For example, if the preset difference threshold is 0.3, and the version number corresponding to the first version information is too old, such as V0.3, while the version number of the target version information is V1.1, and the two version numbers are not consecutive and differ by 0.8, then it represents a difference of 8 version numbers. Since 0.8 is greater than the preset difference threshold of 0.3, the package download address type is determined to be a full package download address type.
[0091] In this embodiment, if the difference in version numbers between the first version information and the target version information is less than or equal to a preset difference threshold, it indicates that the version gap is small, and the probability of successful upgrade using differential packages is high. Therefore, the software package download address type is determined to be a differential package download address type, so that the vehicle downloads the differential package, saving network resources for both the server and the vehicle while ensuring a high success rate for software package upgrades. If the difference in version numbers between the first version information and the target version information is greater than a preset difference threshold, it indicates that the version gap is too large, and using differential packages is likely to lead to software package upgrade failure. Therefore, the software package download address type can be determined to be a full package download address type, so that the vehicle downloads the full package and upgrades using the full package, thereby reducing the software package upgrade failure rate.
[0092] In addition to methods 1 and 2 mentioned above, the server can also determine the software package download address type carried in the software package upgrade instruction by using the target vehicle's network information and storage space size, thus avoiding the waste of server and vehicle network resources caused by all target vehicles downloading the full package. Furthermore, in some embodiments, the server can obtain first information corresponding to the target vehicle's identification information; wherein, the first information includes either the target vehicle's network information or the target vehicle's storage space size; based on the first information, the server determines the software package download address type in the software package upgrade instruction; wherein, the software package download address type includes differential package download address type and full package download address type; then, the server determines the software package upgrade instruction based on the software package download address type, the first version information, and the target version information.
[0093] Specifically, as shown in Method 3 of Table 1, when the network information meets the first preset network condition, the software package download address type is determined to be a differential packet download address type; wherein, the first preset network condition is that the network connected to the target vehicle is a mobile network; when the network information meets the second preset network condition, the software package download address type is determined to be a full packet download address type; wherein, the second preset network condition is that the network connected to the target vehicle is a wireless network.
[0094] In this embodiment of the application, if the network connected to the target vehicle is a mobile network, in order to avoid the vehicle wasting mobile network resources, the software package download address type can be determined to be a differential packet download address type. In this way, the network resources of the server for upgrading the software package can be saved. Since differential packets are generally small, the number of differential packets sent by the server to the vehicle is reduced, thus saving the server's network resources.
[0095] Specifically, as shown in Method 4 of Table 1, when the storage space size of the target vehicle is less than or equal to the second preset size threshold, the software package download address type is determined to be a differential package download address type; when the storage space size of the target vehicle is greater than the second preset size threshold, the software package download address type is determined to be a full package download address type.
[0096] If the target vehicle's storage space exceeds the second preset size threshold, it indicates that the storage space is extremely insufficient. The remaining space in the vehicle cannot simultaneously accommodate either the "old version + differential package" or the "old version + full package," but it can just accommodate one full package. In this case, the full package will be downloaded directly and installed over the existing one.
[0097] In this embodiment, the server can determine the download address type of the software package based on the storage space size of the target vehicle, thereby avoiding invalid downloads caused by insufficient storage space in the target vehicle.
[0098] In conjunction with the first aspect, in one possible design approach, the software package upgrade instruction further includes first instruction information; wherein, the first instruction information is used to instruct the target vehicle to restart the upgraded software package and check the running status of the upgraded software package after the software package replacement is completed; if the upgraded software package restarts successfully, the software package before the upgrade is deleted; if the upgraded software package fails to restart, the software package before the upgrade is rolled back.
[0099] In this embodiment of the application, through the orderly control of the first instruction information, the startup verification of the new version software package can be completed while ensuring that the old version software package is still available. This avoids the loss of target vehicle functions or system crash due to the failure to start the new version software package, and significantly improves the stability and security of software package upgrades.
[0100] Furthermore, considering that after filtering out the target vehicle identification information using screening criteria, sending software package upgrade instructions to all vehicles meeting the screening criteria might fail due to problems with the newly developed software package, resulting in invalid transmission, some embodiments can set a sending strategy. The server sends the software package upgrade instructions to the target vehicles according to this strategy. The process of the server sending software package upgrade instructions to the target vehicles according to this strategy can be detailed in [link to documentation]. Figure 3 , Figure 3 The diagram shown is a schematic representation of an exemplary embodiment of this application, illustrating the process of sending a software package upgrade command to a target vehicle. Figure 3 The method can be executed by the server, such as Figure 1 The server 100 in the middle executes. For example... Figure 3 As shown, the software package upgrade method may include the following steps: 310: Divide the target vehicle identification information into a first vehicle identification information set and at least one second vehicle identification information set.
[0101] 320: Send a software package upgrade command to the first target vehicle set corresponding to the first vehicle identity information set based on the first vehicle identity information set.
[0102] 330: Obtain the upgrade status information of the software package from the feedback of the first target vehicle set; the upgrade status information includes whether the upgrade was successful or failed.
[0103] 340: Determine the upgrade success rate of the first target vehicle set based on upgrade status information.
[0104] The upgrade success rate is the ratio of the number of successfully upgraded vehicles out of all target vehicles to the first set of target vehicles.
[0105] In some embodiments, the upgrade success rate of the first target vehicle set is determined based on upgrade status information over a period of time. This period of time may be 24 hours, 48 hours, etc., but is not limited to this.
[0106] 350: Determine whether the upgrade success rate is greater than or equal to the upgrade success rate threshold.
[0107] If the upgrade success rate is greater than or equal to the upgrade success rate threshold, send a software package upgrade instruction to the second target vehicle set corresponding to the second vehicle identity information set, i.e., execute step 360.
[0108] If the upgrade success rate is less than the upgrade success rate threshold, the sending of software package upgrade instructions to the second target vehicle set corresponding to the second vehicle identity information set is suspended, and upgrade warning information is fed back to the terminal device, i.e., step 370 is executed.
[0109] 360: Sends a software package upgrade command to the second target vehicle set corresponding to the second vehicle identification information set.
[0110] The upgrade success rate threshold can be set in advance according to the actual situation. For example, the upgrade success rate threshold can be 95%.
[0111] 370: Suspend sending software package upgrade instructions to the second target vehicle set corresponding to the second vehicle identification information set, and send upgrade warning information to the terminal device.
[0112] Upgrade alerts are used to remind technicians to take measures to resolve issues with low upgrade success rates.
[0113] In this way, after filtering out the target vehicle identification information using the filtering criteria, the software package upgrade command is not sent to all vehicles that meet the filtering criteria. Instead, all vehicles that meet the filtering criteria are divided into several batches. If the upgrade success rate of the first batch, i.e. the first target vehicle set, is less than the upgrade success rate threshold, the sending of software package upgrade commands to the second target vehicle set corresponding to the second vehicle identification information set is suspended, and upgrade warning information is fed back to the terminal device to promptly remind technicians to take measures to solve the problem of low upgrade success rate and avoid the waste of server and vehicle network resources caused by invalid transmission of software package upgrade commands.
[0114] Exemplary device Figure 4 The diagram shown is a structural schematic of a software package upgrade apparatus provided in an exemplary embodiment of this application. Figure 4 As shown, the software package upgrade device 400 includes: an acquisition module 410, a query module 420, a determination module 430, and a sending module 440.
[0115] The acquisition module 410 is used to acquire filtering conditions; wherein, the filtering conditions are used as restrictions to select vehicles that need to upgrade the software package from the candidate vehicles; the query module 420 is used to perform a matching query in the vehicle information database based on the filtering conditions to obtain the identity information of the target vehicles that meet the filtering conditions; wherein, the vehicle information database includes the mapping relationship between the vehicle identity information of the candidate vehicles and the multi-dimensional information of the vehicles; the determination module 430 is used to determine the software package upgrade instruction based on the first version information and the target version information; wherein, the first version information is the version information of the target application installed on the target vehicle corresponding to the target vehicle identity information, and the target version information is the version information of the target application to be upgraded to; the sending module 440 is used to send the software package upgrade instruction to the target vehicle based on the target vehicle identity information.
[0116] This application provides a software package upgrade device. By setting a mapping relationship between vehicle identification information and multi-dimensional vehicle information of candidate vehicles, after obtaining the filtering conditions, the device can filter out the target vehicle identification information that meets the filtering conditions from the mapping relationship and send a software package upgrade command to the target vehicle corresponding to the target vehicle identification information. In this way, instead of sending software package upgrade commands to all vehicles, the device sends software package upgrade commands to vehicles that meet the filtering conditions and does not send software package upgrade commands to vehicles that do not meet the filtering conditions. This reduces the invalid transmission rate of software package upgrade commands, saves server bandwidth and vehicle communication traffic, and saves network resources.
[0117] According to one embodiment of this application, the determining module 430 is used to determine the software package download address type in the software package upgrade instruction based on the first version information and the target version information; wherein, the software package download address type includes the differential package download address type and the full package download address type; and the software package upgrade instruction is determined based on the software package download address type.
[0118] According to one embodiment of this application, the determining module 430 is used to determine the differential package between the software package with first version information and the software package with target version information; if the size of the differential package is less than or equal to a first preset size threshold, the software package download address type is determined to be a differential package download address type; if the size of the differential package is greater than the first preset size threshold, the software package download address type is determined to be a full package download address type.
[0119] According to one embodiment of this application, the determining module 430 is used to determine the software package download address type as a differential package download address type when the difference between the version numbers of the first version information and the target version information is less than or equal to a preset difference threshold; and to determine the software package download address type as a full package download address type when the difference between the version numbers of the first version information and the target version information is greater than the preset difference threshold.
[0120] According to one embodiment of this application, a determining module 430 is used to obtain first information corresponding to the target vehicle's identity information; wherein, the first information includes either the target vehicle's network information or the target vehicle's storage space size; based on the first information, the software package download address type in the software package upgrade instruction is determined; wherein, the software package download address type includes differential package download address type and full package download address type; based on the software package download address type, the first version information, and the target version information, the software package upgrade instruction is determined.
[0121] According to one embodiment of this application, the determining module 430 is used to determine the software package download address type as a differential packet download address type when the network information meets a first preset network condition; wherein the first preset network condition is that the network connected to the target vehicle is a mobile network; and to determine the software package download address type as a full packet download address type when the network information meets a second preset network condition; wherein the second preset network condition is that the network connected to the target vehicle is a wireless network.
[0122] According to one embodiment of this application, the determining module 430 is used to determine the software package download address type as a differential package download address type when the storage space size of the target vehicle is less than or equal to a second preset size threshold; and to determine the software package download address type as a full package download address type when the storage space size of the target vehicle is greater than the second preset size threshold.
[0123] According to one embodiment of this application, the software package upgrade instruction further includes first instruction information; wherein, the first instruction information is used to instruct the target vehicle to restart the upgraded software package and check the running status of the upgraded software package after the software package replacement is completed; if the upgraded software package restarts successfully, the software package before the upgrade is deleted; if the upgraded software package fails to restart, the software package before the upgrade is rolled back.
[0124] According to one embodiment of this application, the sending module 440 is configured to divide the target vehicle identification information into a first vehicle identification information set and at least one second vehicle identification information set; send a software package upgrade instruction to the first target vehicle set corresponding to the first vehicle identification information set based on the first vehicle identification information set; obtain software package upgrade status information fed back by the first target vehicle set; wherein the upgrade status information includes upgrade success or upgrade failure; determine the upgrade success rate of the first target vehicle set based on the upgrade status information; if the upgrade success rate is greater than or equal to the upgrade success rate threshold, send a software package upgrade instruction to the second target vehicle set corresponding to the second vehicle identification information set; if the upgrade success rate is less than the upgrade success rate threshold, suspend sending software package upgrade instructions to the second target vehicle set corresponding to the second vehicle identification information set, and feed back upgrade warning information to the terminal device.
[0125] Embodiments of this application also provide a server, including: a processor; and a memory for storing processor-executable instructions, wherein the processor is used to execute the software package upgrade method of the first aspect described above.
[0126] This application also provides a computer-readable storage medium storing a computer program for executing the trailer hook control method provided in any of the above embodiments.
[0127] This application also provides a computer program product, which includes a computer program. When the computer program is executed by the processor of a computer device, it enables the computer device to execute the software package upgrade method or model training method provided in any of the above embodiments.
[0128] All of the above-mentioned optional technical solutions can be combined in any way to form optional embodiments of this application, and will not be described in detail here.
[0129] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0130] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0131] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0132] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0133] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0134] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program verification codes, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0135] It should be noted that in the description of this application, the terms "first," "second," "third," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0136] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0137] The above are merely preferred embodiments of this application and are not intended to limit this application. Any modifications or equivalent substitutions made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A software package upgrade method, characterized in that, The method is applied to a server, and the method includes: Obtain the filtering criteria; wherein the filtering criteria are used as restrictions to filter out vehicles that need to upgrade the software package from the candidate vehicles; Based on the filtering conditions, a matching query is performed in the vehicle information database to obtain the identity information of the target vehicles that meet the filtering conditions; wherein, the vehicle information database includes a mapping relationship between the vehicle identity information of the candidate vehicles and the multi-dimensional information of the vehicles. The software package upgrade instruction is determined based on the first version information and the target version information; wherein, the first version information is the version information of the target application installed on the target vehicle corresponding to the target vehicle identification information, and the target version information is the version information to which the target application needs to be upgraded; The software package upgrade command is sent to the target vehicle based on the target vehicle's identification information.
2. The software package upgrade method according to claim 1, characterized in that, The process of determining the software package upgrade instruction based on the first version information and the target version information includes: Based on the first version information and the target version information, the software package download address type in the software package upgrade instruction is determined; wherein, the software package download address type includes differential package download address type and full package download address type; The software package upgrade instruction is determined based on the software package download address type.
3. The software package upgrade method according to claim 2, characterized in that, The step of determining the software package download address type in the software package upgrade instruction based on the first version information and the target version information includes: Determine the differential package between the package containing the first version information and the package containing the target version information; If the size of the differential packet is less than or equal to a first preset size threshold, the package download address type is determined to be a differential packet download address type. If the size of the differential packet is greater than a first preset size threshold, the package download address type is determined to be a full package download address type.
4. The software package upgrade method according to claim 2, characterized in that, The step of determining the software package download address type in the software package upgrade instruction based on the first version information and the target version information includes: If the difference between the version numbers of the first version information and the target version information is less than or equal to a preset difference threshold, the package download address type is determined to be a differential package download address type. If the difference between the version numbers of the first version information and the target version information is greater than a preset difference threshold, the package download address type is determined to be a full package download address type.
5. The software package upgrade method according to claim 1, characterized in that, The process of determining the software package upgrade instruction based on the first version information and the target version information includes: Obtain first information corresponding to the target vehicle's identity information; wherein, the first information includes either the target vehicle's network information or the target vehicle's storage space size; Based on the first information, the software package download address type in the software package upgrade instruction is determined; wherein, the software package download address type includes differential package download address type and full package download address type; Based on the software package download address type, the first version information, and the target version information, the software package upgrade instruction is determined.
6. The software package upgrade method according to claim 5, characterized in that, The step of determining the software package download address type in the software package upgrade instruction based on the first information includes: If the network information meets the first preset network condition, the software package download address type is determined to be a differential packet download address type; wherein, the first preset network condition is that the network connected to the target vehicle is a mobile network; If the network information meets the second preset network condition, the software package download address type is determined to be a full package download address type; wherein, the second preset network condition is that the network connected to the target vehicle is a wireless network.
7. The software package upgrade method according to claim 5, characterized in that, The step of determining the software package download address type in the software package upgrade instruction based on the first information includes: If the storage space size of the target vehicle is less than or equal to the second preset size threshold, the software package download address type is determined to be a differential package download address type. If the storage space size of the target vehicle is greater than the second preset size threshold, the software package download address type is determined to be the full package download address type.
8. The software package upgrade method according to claim 1, characterized in that, The software package upgrade instruction further includes first instruction information; wherein, the first instruction information is used to instruct the target vehicle to restart the upgraded software package and check the running status of the upgraded software package after the software package replacement is completed; if the upgraded software package restarts successfully, the software package before the upgrade is deleted; if the upgraded software package fails to restart, the software package before the upgrade is rolled back.
9. The software package upgrade method according to claim 1, characterized in that, Sending the software package upgrade instruction to the target vehicle based on the target vehicle identification code includes: The target vehicle identification information is divided into a first vehicle identification information set and at least one second vehicle identification information set; Based on the first vehicle identification information set, the software package upgrade instruction is sent to the first target vehicle set corresponding to the first vehicle identification information; Obtain upgrade status information of the software package fed back by the first target vehicle set; wherein, the upgrade status information includes whether the upgrade was successful or failed; The upgrade success rate of the first target vehicle set is determined based on the upgrade status information; If the upgrade success rate is greater than or equal to the upgrade success rate threshold, a software package upgrade instruction is sent to the second target vehicle set corresponding to the second vehicle identity information set. If the upgrade success rate is less than the upgrade success rate threshold, the sending of software package upgrade instructions to the second target vehicle set corresponding to the second vehicle identity information set is suspended, and an upgrade warning message is sent to the terminal device.
10. A server, characterized in that, include: processor; Memory used to store the processor's executable instructions. The processor is used to execute the software package upgrade method according to any one of claims 1 to 9.