Vehicle update package processing method, electronic equipment and vehicle

By obtaining and filtering the attribute data of the vehicle controller software version, determining the target software package and generating differential update packages, the problem of reduced OTA upgrade efficiency is solved, a more efficient update process is achieved, resource utilization is optimized and cost is reduced.

CN119987825AActive Publication Date: 2025-05-13GREAT WALL MOTOR CO LTD
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
CN202411360450.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-05-13
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

With the increase in the software version of vehicle controllers, the efficiency of OTA upgrades has gradually decreased, resulting in increased user waiting time, unoptimized server resource utilization, increased storage costs, and it is difficult to adapt to fast-paced updates and iterations.

Method used

By obtaining the attribute data of each version of the package, the target package is determined, and a differential update package is generated and stored for the target package. This method includes filtering target software packages based on usage frequency and version date, reducing the storage number of differential update packages, and optimizing server resource utilization.

Benefits of technology

It improves the efficiency of vehicle OTA updates, reduces users' waiting time, optimizes the utilization of server resources, reduces storage costs, adapts to fast-paced updates and iterations, and improves the update quality and user satisfaction of vehicle software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987825A_ABST
    Figure CN119987825A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle update package processing method, electronic equipment and a vehicle. The vehicle update package processing method comprises the steps of obtaining attribute data of each version of software package; determining a target software package in a plurality of version software packages based on the attribute data; and generating and storing a corresponding differential update package for the target software package. The vehicle OTA updating efficiency is improved, the waiting time of a user is shortened, the utilization rate of server resources is optimized, the storage cost is reduced, the method can better adapt to fast-paced updating and upgrading speed, and the updating quality of vehicle software and the user satisfaction degree are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle technology, and in particular to a method for processing a vehicle update package, an electronic device, and a vehicle. Background Art

[0002] With the development of intelligent vehicle networking, the Internet of Vehicles is becoming more and more important, and the software updates of the vehicle's controller ECU (Electronic Control Unit) are becoming faster and faster. OTA (Over The Air) technology provides an online upgrade technology that enables the upgrade of each vehicle controller to be as convenient and efficient as the upgrade of mobile phone applications.

[0003] However, with the increase in vehicle controller software versions (i.e. OTA update packages), the efficiency of OTA upgrades has gradually decreased.

[0004] Therefore, this application is specially filed. Summary of the invention

[0005] In view of this, the purpose of this application is to propose a vehicle update package processing method, electronic device and vehicle, which is conducive to improving the vehicle OTA update efficiency, reducing user waiting time, optimizing the utilization of server resources, reducing storage costs, and being more adaptable to fast-paced update iterations, thereby improving the update quality of vehicle software and user satisfaction.

[0006] Based on the above objectives, in a first aspect, the present application provides a method for processing a vehicle update package, comprising:

[0007] Get the attribute data of each version of the software package;

[0008] Based on the attribute data, determining a target software package among multiple version software packages;

[0009] Generate and store a corresponding differential update package for the target software package.

[0010] Here, the "multiple" in "multiple version software packages" does not refer to a part of all version software packages, but refers to the number of all version software packages being multiple.

[0011] Further, the attribute data includes a usage frequency and a version date, and determining a target software package from multiple versions of software packages based on the attribute data includes:

[0012] Determine the first candidate software package according to the usage frequency of each version of the software package;

[0013] Determine the second candidate software package according to the version date of each version software package;

[0014] The target software package is determined according to the first candidate software package and / or the second candidate software package.

[0015] Furthermore, the determining of the first candidate software package according to the usage frequency of each version of the software package includes:

[0016] Sort the software packages of each version in descending order according to their usage frequency;

[0017] A first preset number of version software packages ranked top are determined as the first candidate software packages; or a version software package whose usage frequency reaches a frequency threshold is determined as the first candidate software package.

[0018] Further, determining the second candidate software package according to the version date of each version software package includes:

[0019] Sort the software packages in order of their version dates from the most recent to the most recent.

[0020] A second preset number of version software packages ranked top are determined as the second candidate software packages; or a version software package with a version date between the current time point and a historical time point is determined as the second candidate software package.

[0021] Further, determining the target software package according to the first candidate software package and / or the second candidate software package includes:

[0022] Determining the first candidate software package as the target software package;

[0023] Alternatively, determining the second candidate software package as the target software package;

[0024] Alternatively, a union of the first candidate software package and the second candidate software package is determined as the target software package;

[0025] Alternatively, the intersection of the first candidate software package and the second candidate software package is determined as the target software package.

[0026] Furthermore, it also includes:

[0027] In response to storing a differential update package corresponding to a non-target software package other than the target software package, the differential update package corresponding to the non-target software package is deleted.

[0028] Further, generating and storing a corresponding differential update package for the target software package includes:

[0029] Determine the difference data between every two target software packages and the location of the difference data, or determine the difference data between every two target software packages with adjacent versions and the location of the difference data;

[0030] The difference data and the location of the difference data are recorded to obtain a difference update package between the two target software packages.

[0031] Furthermore, it also includes:

[0032] In response to receiving an update instruction from the vehicle, determining a first identity identifier of an old software package to be updated and a second identity identifier of a new software package to be updated;

[0033] determining whether a differential update package between the old software package and the new software package is stored according to the first identity identifier and the second identity identifier;

[0034] In response to storing a differential update package between the old software package and the new software package, sending the differential update package to the vehicle;

[0035] In response to the fact that a differential update package between the old software package and the new software package is not stored, a differential update package between the old software package and the new software package is calculated online, and the differential update package is sent to the vehicle.

[0036] Based on the above purpose, in a second aspect, the present application also provides a method and device for processing a vehicle update package, including:

[0037] The acquisition module is used to obtain the attribute data of each version of the software package;

[0038] A determination module, configured to determine a target software package among multiple version software packages based on the attribute data;

[0039] The generation module is used to generate and store the corresponding differential update package for the target software package.

[0040] Based on the above purpose, in a third aspect, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for processing the vehicle update package as described in the first aspect above is implemented.

[0041] Based on the above purpose, in a fourth aspect, the present application also provides a vehicle, comprising the electronic device as described in the third aspect above.

[0042] Based on the above purpose, in a fifth aspect, the present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the vehicle update package processing method as described in any one of the first aspects above.

[0043] From the above, it can be seen that the vehicle update package processing method provided by the present application is not to pre-generate and store corresponding differential update packages for all versions of the software package, but to select some from all versions of the software package as the target software package, and only pre-generate and store corresponding differential update packages for the target software package. This can reduce the storage quantity of differential update packages, thereby reducing the storage cost of the server and optimizing the resource utilization of the server. By pre-generating and storing differential update packages, when the vehicle side needs to be updated and upgraded, the differential update package can be directly sent to the vehicle side, which can save the time consumed in generating differential update packages, reduce the user's waiting time, and improve the update efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the present application or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0045] Figure 1 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 1 ;

[0046] Figure 2 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 2 ;

[0047] Figure 3 A process diagram of a vehicle update package processing method according to an embodiment of the present application Figure 3 ;

[0048] Figure 4 A process diagram of a vehicle update package processing method according to an embodiment of the present application Figure 4 ;

[0049] Figure 5 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 5 ;

[0050] Figure 6 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 6 ;

[0051] Figure 7 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 7 ;

[0052] Figure 8 A schematic diagram of a vehicle update package processing method according to an embodiment of the present application Figure 8 ;

[0053] Fig. 9 A schematic diagram of a vehicle update package processing method and device according to an embodiment of the present application;

[0054] Fig.10 A schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0055] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0056] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should be the usual meanings understood by people with ordinary skills in the field to which the present application belongs. The "first", "second" and similar words used in the embodiments of the present application do not represent any order, quantity or importance, but are only used to distinguish different components. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0057] At present, the update iteration of vehicle controller ECU software is getting faster and faster. OTA (Over The Air) technology provides an online upgrade technology, which makes the upgrade of each vehicle controller as convenient and efficient as the upgrade of mobile phone applications. However, with the increase of vehicle controller software versions (i.e. OTA update packages), the efficiency of OTA upgrades has gradually decreased.

[0058] Specifically, vehicle OTA update methods include full update and differential update. Among them, full update is to send the entire software package of the new version to the vehicle for installation and update. Its advantage is that the update process is relatively simple and direct, and compatibility issues are not likely to occur. But the disadvantages are also obvious. The full update package is usually large, takes a long time to download, consumes more network traffic, and has high requirements for vehicle storage space.

[0059] Differential update only sends the difference between the new and old versions (i.e., differential update package). The advantage of this method is that the update package is small, so the download speed is fast, saving network traffic and vehicle storage space. However, the generation and application of differential updates are relatively complex, requiring accurate version comparison and processing. As the number of versions increases, the number of differential update packages increases exponentially. For example, for a certain controller software of a vehicle, there are a total of n versions, and the number of differential update packages that may appear is n(n-1) / 2. If all differential update packages are generated in advance and stored on the server, it will take up a large storage space. If the differential update package is not generated and stored in advance, then the differential update package needs to be calculated online each time the terminal requests it, which will obviously waste more time and occupy more computing power, resulting in reduced update efficiency.

[0060] Therefore, if a single update method is used without fully considering the software usage rate, version differences and actual user needs, it will lead to either inefficient update efficiency or waste of storage space or computing power during the update process.

[0061] In response to the above problems, an embodiment of the present application provides a method for processing a vehicle update package. The method for processing a vehicle update package provided by the embodiment of the present application can improve the efficiency of vehicle OTA updates, reduce user waiting time, optimize server resource utilization, reduce storage costs, and be more adaptable to fast-paced update iterations, thereby improving the update quality of vehicle software and user satisfaction.

[0062] Figure 1 A flow chart of a method for processing a vehicle update package is shown. The method for processing a vehicle update package can be executed by a processing device for the vehicle update package. The processing device for the vehicle update package can be implemented in the form of software and / or hardware and integrated in a server.

[0063] like Figure 1 As shown, the method for processing the vehicle update package includes the following steps:

[0064] S110: Obtain attribute data of each version of the software package.

[0065] Herein, each version software package refers to a data package for different versions of the same vehicle controller software. For example, if a certain vehicle controller software includes 20 versions in total, then each version software package refers to any version of the 20 versions.

[0066] The attribute data of the software package includes data characterizing the popularity of the software package, or data characterizing the needs of vehicle users. For example, the attribute data of the software package may refer to the number of times and frequency of the software package being installed and used by the vehicle, or may refer to the rating of the software package, the version date of the software package, etc. Among them, the higher the rating of the software package, the more popular the software package is among users, or in other words, the more vehicle users have a need to install the software package. The closer the version date of the software package is to the current time, the newer the software package is. Generally, vehicle users have a higher need to install the new version, so the new version is more popular. The more times the software package is installed and used by the vehicle, the more popular the software package is among users; similarly, the more frequently the software package is installed and used by the vehicle, the more popular the software package is among users.

[0067] S120: Determine a target software package from multiple versions of software packages based on the attribute data.

[0068] Specifically, multiple versions of software packages are screened with reference to the attribute data to obtain a target software package.

[0069] In some implementations, based on the attribute data, target software packages that are installed and used more frequently by vehicles are screened out from multiple versions of software packages, or in other words, target software packages that are more popular with users are screened out, thereby achieving the purpose of making the number of target software packages less than the number of all software packages.

[0070] S130: Generate and store a corresponding differential update package for the target software package.

[0071] The differential update package refers to a data package that records the difference between two software packages. Specifically, the differential update package described in this embodiment refers to a data package that records the difference between each two target software packages. For example, if the target software packages are software package A, software package B, and software package C, then the meaning of generating and storing the corresponding differential update packages for the target software packages is: calculating and storing the differential update package between software package A and software package B, calculating and storing the differential update package between software package A and software package C, and calculating and storing the differential update package between software package B and software package C.

[0072] Compared to generating and storing corresponding differential update packages for all versions of software packages, only generating and storing corresponding differential update packages for target software packages reduces the number of stored differential update packages, thereby reducing storage costs and reducing the requirements for server storage capabilities. At the same time, by pre-generating and storing corresponding differential update packages for target software packages, when the vehicle side needs to be updated, there is no need to calculate the differential update package online, but directly read the stored differential update package and send it to the vehicle, which can save more time and reduce the waiting time of vehicle users, thereby improving update efficiency and user experience. In addition, by using differential update packages for updates, the amount of data downloaded by the vehicle side is less, which further saves time and improves overall efficiency.

[0073] The vehicle update package processing method provided in the embodiment of the present application does not pre-generate and store corresponding differential update packages for all versions of the software packages, but selects some from all versions of the software packages as target software packages, and pre-generates and stores corresponding differential update packages only for the target software packages. This can reduce the storage quantity of differential update packages, thereby reducing the storage cost of the server and optimizing the resource utilization of the server. By pre-generating and storing differential update packages, when the vehicle side needs to be updated and upgraded, the differential update package can be directly sent to the vehicle side, which can save the time consumed in generating differential update packages, reduce the waiting time of users, and improve the update efficiency.

[0074] Based on the above embodiment, this embodiment provides an optional implementation method for the step S120 "determining a target software package from multiple versions of software packages based on the attribute data", such as Figure 2 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0075] S210: Obtain attribute data of each version of the software package.

[0076] Exemplarily, the attribute data includes the usage frequency and version date of the software package. Among them, the closer the version date is to the current time, the newer the version of the corresponding software package is, and the new version of the software package is usually required by the user. The usage frequency of a certain software package may specifically refer to the ratio of the number of times the software package has been installed and used by the vehicle in the past six months to the total number of times all software packages have been installed and used by the vehicle. Alternatively, the number of times a certain software package has been installed and used by a vehicle in the past six months can also be used to represent its usage frequency. If a software package is installed and used by a vehicle more times, or the frequency of use is higher, it means that the software package is more popular with the vehicle. For software packages that are more popular with vehicles, the corresponding differential update packages are pre-generated and stored, so that when a vehicle needs to install and use the software package, the corresponding differential update package can be directly sent to the vehicle for installation and use by the vehicle, which can save the time consumed by online calculation of differential update packages, improve the overall update efficiency, reduce user waiting time, and improve the user experience.

[0077] S220: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0078] Specifically, a software package with a higher frequency of use may be determined as the first candidate software package to screen out a software package that is more popular with the vehicle.

[0079] S230: Determine a second candidate software package according to the version date of each version software package.

[0080] Optionally, a software package with a newer version date may be determined as a second candidate software package to screen out a software package that is more likely to be required by the vehicle.

[0081] S240: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0082] In some implementations, the first candidate software package is determined as the target software package.

[0083] In some implementations, the second candidate software package is determined as the target software package.

[0084] In some implementations, both the first candidate software package and the second candidate software package are determined as the target software package. For example, assuming that the first candidate software package includes software package A and software package B, and the second candidate software package includes software package B and software package C, software package A, software package B, and software package C are determined as the target software packages.

[0085] In some implementations, the intersection of the first candidate software package and the second candidate software package is determined as the target software package to further improve the accuracy of determining the target software package, so that the target software package determined in this way is more likely to be the software package required by the vehicle. For example, assuming that the first candidate software package includes software package A and software package B, and the second candidate software package includes software package B and software package C, software package B is determined as the target software package.

[0086] S250: Generate and store a corresponding differential update package for the target software package.

[0087] The vehicle update package processing method provided in the embodiment of the present application screens the target software package from multiple software packages based on the usage frequency and / or version date of the software package, thereby achieving the purpose of obtaining a software package that is more popular with the vehicle, and then pre-generates and stores corresponding differential update packages for such software packages. When the vehicle needs to install a certain software package, the corresponding differential update package can be directly sent to the vehicle, thereby saving the time for online real-time calculation of the differential update package, reducing the user's waiting time, improving the overall update efficiency, and helping to improve the user's vehicle experience.

[0088] Based on the above embodiment, this embodiment provides an optional implementation method for step S220 "determining the first candidate software package according to the usage frequency of each version of the software package", such as Figure 3 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0089] S310: Obtain attribute data of each version of the software package.

[0090] S320: Sort the version software packages in descending order of usage frequency; determine a first preset number of version software packages that are ranked top as the first candidate software packages; or determine a version software package whose usage frequency reaches a frequency threshold as the first candidate software package.

[0091] The first preset number is determined based on the remaining storage space of the server.

[0092] In some implementations, the number of differential update packages that can be stored is estimated based on the remaining storage space of the server, and then the first preset number is determined based on the number of differential update packages that can be stored, and finally the sorted topN software packages are determined as the first candidate software packages, where N is the first preset number.

[0093] In some implementations, if there are a large number of version software packages whose usage frequencies reach a frequency threshold, a first preset number of version software packages may be selected as first candidate software packages to take into account the storage capacity of the server.

[0094] S330: Determine a second candidate software package according to the version date of each version software package.

[0095] S340: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0096] S350: Generate and store a corresponding differential update package for the target software package.

[0097] The vehicle update package processing method provided in the embodiment of the present application estimates the number of differential update packages that can be stored according to the remaining storage space of the server, and then determines the first preset number N according to the number of differential update packages that can be stored, and finally determines the top N sorted software packages as the first candidate software packages, thereby achieving the purpose of taking into account the storage capacity of the server and reducing the requirements for the storage capacity of the server.

[0098] Based on the above embodiment, this embodiment provides an optional implementation method for step S230 "determining the second candidate software package according to the version date of each version software package", such as Figure 4 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0099] S410: Obtain attribute data of each version of the software package.

[0100] S420: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0101] S430: Sort the version software packages according to the order of their version dates from recent to recent; determine a second preset number of version software packages that are ranked top as the second candidate software packages; or determine the version software packages whose version dates are between the current time point and the historical time point as the second candidate software packages.

[0102] The second preset number is determined according to the remaining storage space of the server. Specifically, the number of differential update packages that can be stored is estimated according to the remaining storage space of the server, and then the second preset number is determined according to the number of differential update packages that can be stored, and finally the top N ranked software packages are determined as the second candidate software packages, where N is the second preset number.

[0103] The closer the version date is to the current time, the newer the corresponding software package is, and the newer the software package is, the more likely it is that the vehicle needs to install and use it. Therefore, by screening multiple software packages according to the version date of the software package, the newer software package is used as the second candidate software package, making the second candidate software package more likely to be the software package that the vehicle needs to install and use, and pre-generating and storing differential update packages for such software packages. When the vehicle needs to install and use it, the pre-stored differential update package can be directly sent to the vehicle without the need to calculate the differential update package online in real time, thereby saving time, reducing the waiting time of users, and improving the overall efficiency of the update.

[0104] In some implementations, software packages with version dates within the past six months may also be determined as the second candidate software packages. If there are a large number of software packages with version dates within the past six months, some of them may be used as second candidate software packages. Specifically, they may be screened according to version date so that the second candidate software packages are software packages with newer version dates.

[0105] S440: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0106] S450: Generate and store a corresponding differential update package for the target software package.

[0107] The vehicle update package processing method provided in the embodiment of the present application sorts the version software packages in order of version date from recent to ancient, and determines a second preset number of version software packages that are ranked first as the second candidate software packages; or determines a version software package whose version date is between the current time point and the historical time point as the second candidate software package, thereby achieving the purpose of screening multiple version software packages based on the version date, so that the screening result is a software package with a newer version date, so as to obtain a software package that is more likely to be required to be installed and used by the vehicle.

[0108] Based on the above embodiment, this embodiment provides an optional implementation method for step S240 "determining the target software package according to the first candidate software package and / or the second candidate software package", such as Figure 5 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0109] S510: Obtain attribute data of each version of the software package.

[0110] S520: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0111] S530: Determine a second candidate software package according to the version date of each version software package.

[0112] S540: Determine the first candidate software package as the target software package; or determine the second candidate software package as the target software package; or determine the union of the first candidate software package and the second candidate software package as the target software package; or determine the intersection of the first candidate software package and the second candidate software package as the target software package.

[0113] In some implementations, the first candidate software package is determined as the target software package.

[0114] In some implementations, the second candidate software package is determined as the target software package.

[0115] In some implementations, both the first candidate software package and the second candidate software package are determined as the target software package. For example, assuming that the first candidate software package includes software package A and software package B, and the second candidate software package includes software package B and software package C, software package A, software package B, and software package C are determined as the target software packages.

[0116] In some implementations, the intersection of the first candidate software package and the second candidate software package is determined as the target software package to further improve the accuracy of determining the target software package, so that the target software package determined in this way is more likely to be the software package required by the vehicle. For example, assuming that the first candidate software package includes software package A and software package B, and the second candidate software package includes software package B and software package C, software package B is determined as the target software package.

[0117] S550: Generate and store a corresponding differential update package for the target software package.

[0118] The vehicle update package processing method provided in the embodiment of the present application, by determining the first candidate software package as the target software package; or determining the second candidate software package as the target software package; or determining the union of the first candidate software package and the second candidate software package as the target software package; or determining the intersection of the first candidate software package and the second candidate software package as the target software package, achieves the purpose of fully determining the target software package according to the use frequency and version date of the software package, so that the target software package is a software package with a high use frequency and a newer version date, and finds the software package that meets the vehicle installation and use requirements to the greatest extent, and achieves the balance between the vehicle software update efficiency and the server storage capacity. That is, the differential update packages of all software packages are not stored, thereby reducing the requirements for the server storage capacity, and the differential update packages of the software packages that need to be installed and used by the vehicle can be stored, thereby improving the vehicle software update efficiency.

[0119] Based on the above embodiment, this embodiment adds the following step: "In response to storing a differential update package corresponding to a non-target software package other than the target software package, deleting the differential update package corresponding to the non-target software package", such as Figure 6 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0120] S610: Obtain attribute data of each version of the software package.

[0121] S620: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0122] S630: Determine a second candidate software package according to the version date of each version software package.

[0123] S640: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0124] S650: Generate and store a corresponding differential update package for the target software package.

[0125] S660: In response to storing a differential update package corresponding to a non-target software package other than the target software package, delete the differential update package corresponding to the non-target software package.

[0126] As time goes by, the usage frequency of some software packages will change, and their version dates will become older and older, so the target software package will change. When it is detected that a differential update package corresponding to a non-target software package other than the target software package is stored, the differential update package corresponding to the non-target software package is deleted to release storage space, thereby achieving reasonable utilization of storage resources and allowing limited storage space to be used to store differential update packages corresponding to software packages that are more likely to be installed and used by the vehicle.

[0127] The vehicle update package processing method provided in the embodiment of the present application adds an operation of dynamically processing differential update packages. In response to storing a differential update package corresponding to a non-target software package other than the target software package, the differential update package corresponding to the non-target software package is deleted to release storage space, thereby achieving rational use of storage resources and allowing limited storage space to be used to store differential update packages corresponding to software packages that are more likely to be installed and used by the vehicle.

[0128] Based on the above embodiment, this embodiment provides an optional implementation method for the above step S130 "generating and storing a corresponding differential update package for the target software package". Figure 7 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0129] S710: Obtain attribute data of each version of the software package.

[0130] S720: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0131] S730: Determine a second candidate software package according to the version date of each version software package.

[0132] S740: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0133] S750, determining the difference data between every two target software packages and the location of the difference data, or determining the difference data between every two target software packages with adjacent versions and the location of the difference data; recording the difference data and the location of the difference data, and obtaining a differential update package between the corresponding two target software packages.

[0134] In some implementations, for example, if the target software packages are arranged in order from the earliest to the latest version date, they are A, B, C, and D, respectively, then the difference data between A and B and the location of the difference data are calculated, the difference data and the location of the difference data are recorded, and the difference update package between A and B is obtained. Similarly, the difference update package between A and C, the difference update package between A and D, the difference update package between B and C, the difference update package between B and D, and the difference update package between C and D are calculated. That is, the difference update package between every two target software packages is determined.

[0135] In some implementations, for example, if the target software packages are arranged in order from the earliest to the latest version date, respectively, A, B, C, and D, then the differential update package between A and B, the differential update package between B and C, and the differential update package between C and D are calculated respectively. That is, the differential update package between two software packages of adjacent versions is determined.

[0136] In some embodiments, for example, the versions of a software package range from ver1.0, ver1.1, ver1.2…ver2.9, a total of 20 versions. There may be 190 combinations of differential versions. If all these 190 combinations are pre-generated as differential update packages and stored on the server, a lot of storage space will be wasted. Therefore, a strategy can be formulated, such as storing only 20 differential update packages with the highest probability of being installed and used by vehicles, such as 10 differential update packages corresponding to 10 combinations between the 5 most recent versions, and 10 differential update packages corresponding to 10 combinations between the 5 most frequently used versions in the past six months. When the differential update package that the vehicle needs to install and use belongs to one of these 20 packages, it will be distributed directly from the server to the vehicle. If not, two complete software packages will be taken to generate differential update packages in real time and distribute them.

[0137] The vehicle update package processing method provided in the embodiment of the present application is for calculating the corresponding differential update package for each two target software packages, or for calculating the corresponding differential update package for two adjacent versions in the target software packages. Specifically, the difference data between the two target software packages and the location of the difference data are determined, the difference data and the location of the difference data are recorded, and the differential update package between the two target software packages is obtained.

[0138] Based on the above embodiment, this embodiment adds a differential update package distribution step. Specifically, when a vehicle needs to upgrade a certain software package, the server searches for a differential update package between the software package currently in use on the vehicle (i.e., the software package to be upgraded) and the software package the vehicle expects to upgrade to, and if a corresponding differential update package is pre-stored, it is directly sent to the vehicle. Otherwise, the differential update package between the two is calculated in real time based on the two complete software packages, and then distributed. Figure 8 A flow chart of a method for processing a vehicle update package is shown, wherein the method for processing a vehicle update package comprises the following steps:

[0139] S810: Obtain attribute data of each version of the software package.

[0140] S820: Determine a first candidate software package according to the usage frequency of each version of the software package.

[0141] S830: Determine a second candidate software package according to the version date of each version software package.

[0142] S840: Determine the target software package according to the first candidate software package and / or the second candidate software package.

[0143] S850: Generate and store a corresponding differential update package for the target software package.

[0144] S860: In response to receiving an update instruction from a vehicle, determining a first identity identifier of an old software package to be updated and a second identity identifier of a new software package to be updated; determining whether a differential update package between the old software package and the new software package is stored according to the first identity identifier and the second identity identifier; in response to a differential update package between the old software package and the new software package being stored, sending the differential update package to the vehicle; in response to a differential update package between the old software package and the new software package not being stored, calculating the differential update package between the old software package and the new software package online, and sending the differential update package to the vehicle.

[0145] Among them, the vehicle update instruction can be initiated by the vehicle or by the server. The old software package to be updated refers to the software package currently in use by the vehicle (assuming it is version A), and the new software package to be updated refers to the software package that the vehicle is preparing to install and use (assuming it is version B). The server first searches for the difference update package between version A and version B in the pre-stored difference update package. If so, the difference update package is directly read and sent to the vehicle. If not, the difference update package between the complete software package of version A and the complete software package of version B is calculated online. After the calculation is completed, the obtained difference update package is sent to the vehicle.

[0146] The first identity identifier and the second identity identifier may specifically be version numbers of a software package.

[0147] By pre-generating and storing corresponding differential update packages for target software packages with higher usage frequencies and newer version dates, when vehicles need to be upgraded, they can be directly read and distributed, saving the time consumed in calculating differential update packages, reducing user waiting time, and improving upgrade efficiency.

[0148] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.

[0149] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0150] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a vehicle update package processing device, which can be implemented in the form of software and / or hardware and integrated into the server.

[0151] refer to Fig. 9 , the processing device of the vehicle update package comprises:

[0152] An acquisition module 910 is used to acquire attribute data of each version of the software package;

[0153] A determination module 920, configured to determine a target software package from among multiple version software packages based on the attribute data;

[0154] The generating module 930 is used to generate and store a corresponding differential update package for the target software package.

[0155] In some implementations, the attribute data includes usage frequency and version date, and the determination module 920 includes: a first determination unit, used to determine a first candidate software package according to the usage frequency of each version software package; a second determination unit, used to determine a second candidate software package according to the version date of each version software package; and a third determination unit, used to determine the target software package according to the first candidate software package and / or the second candidate software package.

[0156] Further, the first determining unit is specifically used to: sort the version software packages in descending order according to the usage frequency of each version software package; determine a first preset number of version software packages that are ranked top as the first candidate software packages; or determine a version software package whose usage frequency reaches a frequency threshold as the first candidate software package.

[0157] The second determining unit is specifically configured to: sort the version software packages in order of their version dates from recent to ancient; determine a second preset number of version software packages that are ranked top as the second candidate software packages; or determine a version software package whose version date is between a current time point and a historical time point as the second candidate software package.

[0158] The third determining unit is specifically configured to: determine the first candidate software package as the target software package;

[0159] Alternatively, determining the second candidate software package as the target software package;

[0160] Alternatively, a union of the first candidate software package and the second candidate software package is determined as the target software package;

[0161] Alternatively, the intersection of the first candidate software package and the second candidate software package is determined as the target software package.

[0162] Furthermore, the vehicle update package processing device further includes: a deleting module for deleting the differential update package corresponding to the non-target software package other than the target software package in response to storing the differential update package corresponding to the non-target software package.

[0163] Furthermore, the generation module 930 is specifically used to: determine the difference data between every two of the target software packages and the location of the difference data, or determine the difference data between every two adjacent versions of the target software packages and the location of the difference data; record the difference data and the location of the difference data, and obtain the differential update package between the corresponding two target software packages.

[0164] Furthermore, the processing device for the vehicle update package also includes: a search module, which is used to determine the first identity identifier of the old software package to be updated and the second identity identifier of the new software package to be updated in response to receiving an update instruction from the vehicle; determine whether a differential update package between the old software package and the new software package is stored according to the first identity identifier and the second identity identifier; a sending module, which is used to send the differential update package to the vehicle in response to the storage of the differential update package between the old software package and the new software package; and an online calculation module, which is used to calculate the differential update package between the old software package and the new software package online in response to the non-storage of the differential update package between the old software package and the new software package, and send the differential update package to the vehicle.

[0165] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0166] The device of the above embodiment is used to implement the corresponding vehicle update package processing method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0167] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0168] The device of the above embodiment is used to implement the corresponding vehicle update package processing method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0169] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a vehicle, which includes the vehicle update package processing method device.

[0170] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for processing the vehicle update package described in any of the above embodiments is implemented.

[0171] Fig.10 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.

[0172] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0173] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.

[0174] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0175] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0176] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).

[0177] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.

[0178] The electronic device of the above embodiment is used to implement the corresponding vehicle update package processing method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0179] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the vehicle update package processing method described in any of the above embodiments.

[0180] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0181] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the vehicle update package processing method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0182] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0183] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0184] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.

[0185] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.

Claims

1. A method for processing a vehicle update package, applied to a server, characterized in that: include: Get the attribute data of each version of the software package; Based on the attribute data, determining a target software package among multiple version software packages; Generate and store a corresponding differential update package for the target software package.

2. The method for processing a vehicle update package according to claim 1, characterized in that: The attribute data includes a usage frequency and a version date, and determining a target software package from multiple version software packages based on the attribute data includes: Determine the first candidate software package according to the usage frequency of each version of the software package; Determine the second candidate software package according to the version date of each version software package; The target software package is determined according to the first candidate software package and / or the second candidate software package.

3. The method for processing a vehicle update package according to claim 2, characterized in that: The determining of the first candidate software package according to the usage frequency of each version of the software package includes: Sort the software packages of each version in descending order according to their usage frequency; A first preset number of version software packages ranked top are determined as the first candidate software packages; or a version software package whose usage frequency reaches a frequency threshold is determined as the first candidate software package.

4. The method for processing a vehicle update package according to claim 2, characterized in that: The determining of the second candidate software package according to the version date of each version software package includes: Sort the software packages in order of their version dates from the most recent to the most recent. A second preset number of version software packages ranked top are determined as the second candidate software packages; or a version software package with a version date between the current time point and a historical time point is determined as the second candidate software package.

5. The method for processing a vehicle update package according to claim 2, characterized in that: The step of determining the target software package according to the first candidate software package and / or the second candidate software package includes: Determining the first candidate software package as the target software package; Alternatively, determining the second candidate software package as the target software package; Alternatively, a union of the first candidate software package and the second candidate software package is determined as the target software package; Alternatively, the intersection of the first candidate software package and the second candidate software package is determined as the target software package.

6. The method for processing a vehicle update package according to claim 1, characterized in that: Also includes: In response to storing a differential update package corresponding to a non-target software package other than the target software package, the differential update package corresponding to the non-target software package is deleted.

7. The method for processing a vehicle update package according to claim 1, characterized in that: The generating and storing a corresponding differential update package for the target software package includes: Determine the difference data between every two target software packages and the location of the difference data, or determine the difference data between every two target software packages with adjacent versions and the location of the difference data; The difference data and the location of the difference data are recorded to obtain a difference update package between the two target software packages.

8. The method for processing a vehicle update package according to claim 1, characterized in that: Also includes: In response to receiving an update instruction from the vehicle, determining a first identity identifier of an old software package to be updated and a second identity identifier of a new software package to be updated; determining whether a differential update package between the old software package and the new software package is stored according to the first identity identifier and the second identity identifier; In response to storing a differential update package between the old software package and the new software package, sending the differential update package to the vehicle; In response to the fact that a differential update package between the old software package and the new software package is not stored, a differential update package between the old software package and the new software package is calculated online, and the differential update package is sent to the vehicle.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method for processing the vehicle update package according to any one of claims 1 to 8 is implemented.

10. A vehicle, characterized in that: The vehicle comprises the electronic device as claimed in claim 9.

Citation Information

Patent Citations

  • Differential on-air software upgrading method based on cloud computing

    CN102215480A

  • Vehicle-mounted system software upgrade method, vehicle-mounted system and software server

    CN105573790A

  • OTA upgrade method, client, server and system

    CN106603311A

  • Incremental updating method and device, storage medium and electronic equipment

    CN110262827A

  • Information processing method, information processing device and terminal equipment

    CN111273939A