Software downloading management method and electronic equipment
By calculating progress and remaining time based on the type and weight of software download subtasks during the software download process, the problem of inaccurate progress and time in existing technologies is solved, thus improving the user experience.
Patent Information
- Application Number
- CN202511172374.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-21
- Publication Date
- 2025-11-04
AI Technical Summary
In existing technologies, during software downloads, the download progress and remaining time are determined solely based on the package size and network speed, leading to inaccurate progress and time, affecting user experience, and even causing screen freezes.
By determining whether the software download subtask includes a pre-installation task, different methods are used to determine the download progress and remaining time, and different weights and time parameters are used to calculate the progress and remaining time.
It improves the accuracy of software download progress and remaining time, reduces screen lag, and enhances the user experience.
Smart Images

Figure CN120896937A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of software download, and particularly relates to a software download management method and an electronic device. BACKGROUND
[0002] With the development of science and technology, people's work and life have been inseparable from electronic devices, and electronic devices meet user needs through various software. And with the increasing user needs, the software carried by the electronic device usually needs to be continuously updated to meet user needs. In the process of downloading software by the electronic device, the user can check the software download conditions such as the download progress, the download remaining time and the like in the software download process through the screen of the electronic device.
[0003] In the prior art, the download progress and the download remaining time in the software download process are usually determined according to the total software package size, the downloaded software package size and the network speed in the download process. Therefore, in the software download process, only the software package size corresponding to the software package download and the network speed are considered to determine the download progress and the download remaining time. However, in the actual software download process, the real software download process includes not only the software package download, but also the software package decryption, the software package signature verification and the software package pre-installation and the like. Therefore, the download progress and the download remaining time determined only according to the total software package size corresponding to the software package download, the downloaded software package size and the network speed in the download process are not accurate. As a result, the download progress and the download remaining time displayed by the electronic device are not accurate. On the one hand, the download progress and the download remaining time seen by the user are not accurate, which affects the user experience. On the other hand, in the case that the electronic device has displayed that the software download progress is 100% and the software download remaining time is 0, the actions other than the software package download such as the software package decryption, the software package signature verification and the software package pre-installation and the like in the software download process may not have been completed, that is, the software has not been actually downloaded, and the screen download may be stuck, which also affects the user experience. SUMMARY
[0004] The present application provides a software download management method and an electronic device, which are used to solve the problem that the download progress and the download remaining time are not accurate in the prior art, the download progress and the download remaining time displayed by the electronic device are not accurate, the download progress and the download remaining time seen by the user are not accurate, the screen download is stuck, and the user experience is affected.
[0005] To solve the above technical problems, in a first aspect, an implementation of the present application discloses a software download management method, the method comprising: determining a plurality of software download sub-tasks corresponding to a target software; in a case where the plurality of software download sub-tasks comprise a software package pre-installation task, determining a download progress of the target software according to a first download parameter and a first weight corresponding to the first download parameter, and determining a download remaining time of the target software according to a first time parameter; in a case where the plurality of software download sub-tasks do not comprise the software package pre-installation task, determining the download progress of the target software according to a second download parameter and a second weight corresponding to the second download parameter, and determining the download remaining time of the target software according to a second time parameter.
[0006] Further, the determined download progress and download remaining time of the target software are presented to a user. For example, the download progress and download remaining time are displayed on a screen of an electronic device carrying the target software, so as to present the download progress and download remaining time to the user.
[0007] With the above technical solution, in the software download process, by judging the specific software download sub-tasks corresponding to the target software, in a case where the software download sub-tasks comprise a pre-installation task, the download progress of the target software is determined according to a first download parameter and a first weight corresponding to the first download parameter, and the download remaining time of the target software is determined according to a first time parameter; in a case where the software download sub-tasks do not comprise the pre-installation task, the download progress of the target software is determined according to a second download parameter and a second weight corresponding to the second download parameter, and the download remaining time of the target software is determined according to a second time parameter. Thus, the software download progress and download remaining time can be determined in different ways according to the content of the specific software download sub-tasks corresponding to the target installation software, effectively improving the accuracy of the software download progress and download remaining time. On the one hand, the download progress and remaining download time displayed by the electronic device are more accurate, so that the software download progress and download remaining time seen by the user through the screen of the electronic device are more accurate, and the user can patiently wait for the software download to complete or perform other processing during the waiting process, improving the user experience. On the other hand, it can reduce or avoid screen download lag, and also improve the user experience.
[0008] According to another specific implementation manner of the present application, the software download management method disclosed by the implementation manner of the present application, in the case that the plurality of software download sub-tasks include the software package pre-installation task, and include the software package download task, the software package decryption task, and the software package signature verification task, the first download parameter includes the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress of the software package corresponding to the target software, and then the download progress of the target software is determined according to the first download parameter and the first weight corresponding to the first download parameter, including: the download progress of the target software is determined according to the current download progress, the current decryption progress, the current signature verification progress, the current pre-installation progress, and the first weight corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress.
[0009] By using the above technical solution, in the case that the plurality of software download sub-tasks include the software package pre-installation task, and include the software package download task, the software package decryption task, and the software package signature verification task, the download progress of the target software can be more accurately obtained according to the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress of the software package corresponding to the target software, and the first weight corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress.
[0010] According to another specific implementation manner of the present application, the software download management method disclosed by the implementation manner of the present application, the download progress is determined by the following formula:
[0011] DP=Dow*ω1+Dec*ω2+Ver*ω3+Pre*ω4
[0012] Wherein, DP is the download progress, Dow is the current download progress, Dec is the current decryption progress, Ver is the current signature verification progress, Pre is the current pre-installation progress, ω1, ω2, ω3, ω4 are the first weights corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress, respectively.
[0013] According to another specific implementation manner of the present application, the software download management method disclosed by the implementation manner of the present application, the first time parameter includes the current remaining download time, the current remaining decryption time, the current remaining signature verification time, and the current remaining pre-installation time of the target software, and then the download remaining time of the target software is determined according to the first time parameter, including: the download remaining time of the target software is determined according to the current remaining download time, the current remaining decryption time, the current remaining signature verification time, and the current remaining pre-installation time.
[0014] According to the technical scheme, the current remaining download time, the current remaining decryption time, the current remaining signature verification time and the current remaining pre-installation time of the target software are used to obtain more accurate download remaining time of the target software.
[0015] According to another specific implementation of the application, the software download management method disclosed by the implementation of the application determines the download remaining time by the following formula:
[0016] T DP =T Dow +T Dec +T Ver +T Pre
[0017] Wherein, T DP is the download remaining time, T Dow is the current remaining download time, T Dec is the current remaining decryption time, T Ver is the current remaining signature verification time, and T Pre is the current remaining pre-installation time.
[0018] According to another specific implementation of the application, the software download management method disclosed by the implementation of the application, in the case that the plurality of software download sub-tasks do not include the software package pre-installation task, including the software package download task, the software package decryption task and the software package signature verification task, the second download parameter includes the current download progress, the current decryption progress and the current signature verification progress of the target software corresponding software package, and the download progress of the target software is determined according to the second download parameter and the second weight corresponding to the second download parameter, comprising: determining the download progress of the target software according to the current download progress, the current decryption progress, the current signature verification progress, and the second weight corresponding to the current download progress, the current decryption progress and the current signature verification progress.
[0019] According to the technical scheme, in the case that the plurality of software download sub-tasks do not include the software package pre-installation task, including the software package download task, the software package decryption task and the software package signature verification task, the current download progress, the current decryption progress, the current signature verification progress, and the second weight corresponding to the current download progress, the current decryption progress and the current signature verification progress are used to obtain more accurate download progress of the target software.
[0020] According to another specific implementation of the application, the software download management method disclosed by the implementation of the application determines the download progress by the following formula:
[0021] DP=Dow*ω5+Dec*ω6+Ver*ω7
[0022] Wherein, DP is a download progress, Dow is a current download progress, Dec is a current decryption progress, Ver is a current signature verification progress, and ω5, ω6, and ω7 are second weights corresponding to the current download progress, the current decryption progress, and the current signature verification progress respectively.
[0023] According to another specific implementation mode of the present application, the software download management method disclosed by the implementation mode of the present application comprises the following steps: determining the download remaining time of the target software according to the second time parameter, if the second time parameter comprises the current remaining download time, the current remaining decryption time, and the current remaining signature verification time of the target software.
[0024] According to the above technical solution, the current remaining download time, the current remaining decryption time, and the current remaining signature verification time can be used to obtain more accurate download remaining time of the target software.
[0025] According to another specific implementation mode of the present application, the software download management method disclosed by the implementation mode of the present application comprises the following steps: determining the download remaining time according to the following formula:
[0026] T DP = T Dow + T Dec + T Ver
[0027] Wherein, T DP is the download remaining time, T Dow is the current remaining download time, T Dec is the current remaining decryption time, and T Ver is the current remaining signature verification time.
[0028]
[0029] In a second aspect, the implementation mode of the present application further discloses a software download management device, which comprises: a first processing module configured to determine a plurality of software download sub-tasks corresponding to a target software; a second processing module configured to, if the plurality of software download sub-tasks comprise a software package pre-installation task, determine a download progress of the target software according to a first download parameter and a first weight corresponding to the first download parameter, and determine a download remaining time of the target software according to a first time parameter; and if the plurality of software download sub-tasks do not comprise the software package pre-installation task, determine the download progress of the target software according to a second download parameter and a second weight corresponding to the second download parameter, and determine the download remaining time of the target software according to a second time parameter.
[0030] In a third aspect, the implementation of the present application also discloses an electronic device, comprising: a processor, and a memory connected with the processor in communication; the memory stores a computer program; and the processor executes the computer program stored in the memory, so that the electronic device implements the software download management method provided by any one of the implementation manners of the first aspect.
[0031] In a fourth aspect, the implementation of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the software download management method provided by any one of the implementation manners of the first aspect.
[0032] In a fifth aspect, the implementation of the present application provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the software download management method provided by any one of the implementation manners of the first aspect.
[0033] It can be understood that the beneficial effects of the second aspect to the fifth aspect can also be referred to the related description in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0034] Figure 1 is a flowchart of a software download management method provided by an embodiment of the present application;
[0035] Figure 2 is a schematic diagram of download progress calculation parameters in the case that the plurality of software download sub-tasks comprise the software package pre-installation task provided by an embodiment of the present application;
[0036] Figure 3 is a schematic diagram of download remaining time calculation parameters in the case that the plurality of software download sub-tasks comprise the software package pre-installation task provided by an embodiment of the present application;
[0037] Figure 4 is a schematic diagram of different node progress in the case that the plurality of software download sub-tasks comprise the software package pre-installation task provided by an embodiment of the present application;
[0038] Figure 5 is a schematic diagram of download progress calculation parameters in the case that the plurality of software download sub-tasks do not comprise the software package pre-installation task provided by an embodiment of the present application;
[0039] Figure 6 is a schematic diagram of download remaining time calculation parameters in the case that the plurality of software download sub-tasks do not comprise the software package pre-installation task provided by an embodiment of the present application;
[0040] Figure 7This is a schematic diagram illustrating the progress of different nodes in a scenario where multiple software download subtasks do not include pre-installation tasks for software packages, as provided in an embodiment of this application.
[0041] Figure 8 This is a schematic diagram of the structure of a software download management device provided in an embodiment of this application;
[0042] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0043] As mentioned earlier, in existing technologies, the download progress and remaining download time during software downloads are typically determined based on the total software package size, the size of the downloaded packages, and the network speed during the download process. Specifically, the download progress can be calculated using the formula: downloaded package size / total package size, and the remaining download time can be calculated using the formula: (total package size - downloaded package size) / network speed during the download process. However, in actual software downloads, the process includes not only package downloading but also package decryption, package verification, and pre-installation. Therefore, determining the download progress and remaining download time solely based on the total software package size, the size of the downloaded packages, and the network speed during the download process is inaccurate and can lead to screen download lag, negatively impacting user experience.
[0044] Based on this, this application provides a software download management method. During the software download management process, by judging multiple software download sub-tasks corresponding to the target software, and depending on whether these sub-tasks include pre-installation tasks for software packages, different methods are used to determine the software download progress and remaining download time, effectively improving the accuracy of the download progress and remaining download time. On the one hand, this makes the download progress and remaining download time displayed on electronic devices more accurate. Therefore, users can see the download progress and remaining download time more accurately on their electronic device screens, allowing them to patiently wait for the software to complete or perform other tasks while waiting, thus improving the user experience. On the other hand, it can reduce or avoid screen download lag, which also improves the user experience.
[0045] Next, with reference to the accompanying drawings, the steps and advantages of the software download management method provided in this application will be described in detail.
[0046] like Figure 1 As shown, the software download management method provided in this application includes the following steps.
[0047] S100: Identify multiple software download subtasks corresponding to the target software.
[0048] The software download in the present application can be the download when the software is initially installed, or the download when the software is updated. Before the target software starts to be downloaded, the total task amount (or total workload) of the entire updating or downloading and installing process can be estimated according to the size of the software package (which can also be referred to as an update package) corresponding to the target software and the estimated installation steps, and the total task amount is all the contents required for the software package download.
[0049] Further, the updating or downloading process of the target software can be divided into multiple sub-task amounts, and the specific downloading sub-task amount (i.e., multiple software downloading sub-tasks) can be divided into software package downloading, software package decryption, software package signature verification, software package pre-installation, etc. In other implementation manners, other software downloading sub-tasks corresponding to the target software can be determined according to other factors affecting the downloading progress.
[0050] According to whether the software package of the target software supports pre-installation, it can be determined whether the specific downloading sub-task amount includes a pre-installation sub-task. If the target software does not support pre-installation, the downloading sub-task amount does not include the pre-installation sub-task (i.e., the software package pre-installation task).
[0051] S200: Determine whether the multiple software downloading sub-tasks include a software package pre-installation task. If yes, go to step S300, and if no, go to step S400.
[0052] S300: Determine the downloading progress of the target software according to the first downloading parameter and the first weight corresponding to the first downloading parameter, and determine the remaining downloading time of the target software according to the first time parameter.
[0053] In the case where the multiple software downloading sub-tasks include the software package pre-installation task, the first downloading parameter can include the current software downloading progress, the current software package decryption progress, the current software package signature verification progress, and the software package pre-installation progress, etc.; and the first time parameter can include the current remaining downloading time, the remaining decryption time, the remaining signature verification time, and the pre-installation remaining time, etc.
[0054] S400: Determine the downloading progress of the target software according to the second downloading parameter and the second weight corresponding to the second downloading parameter, and determine the remaining downloading time of the target software according to the second time parameter.
[0055] In the case where the multiple software downloading sub-tasks do not include the software package pre-installation task, the second downloading parameter can include the current software downloading progress, the current software package decryption progress, and the current software package signature verification progress, etc.; and the second time parameter can include the current remaining downloading time, the remaining decryption time, the remaining signature verification time, and the upgrade pre-installation time.
[0056] The software download management method provided in the application, in the software download process, by judging the specific software download subtask corresponding to the target software, in the case that the software download subtask includes a pre-installation task, determining the download progress of the target software according to the first download parameter and the first weight corresponding to the first download parameter, and determining the remaining download time of the target software according to the first time parameter; in the case that the software download subtask does not include a pre-installation task, determining the download progress of the target software according to the second download parameter and the second weight corresponding to the second download parameter, and determining the remaining download time of the target software according to the second time parameter. Thus, the software download progress and the remaining download time can be determined in different ways according to the content of the specific software download subtask corresponding to the target installation software, effectively improving the accuracy of the software download progress and the remaining download time. On the one hand, the download progress and the remaining download time displayed by the electronic device are more accurate, so that the software download progress and the remaining download time seen by the user through the screen of the electronic device are more accurate, and the user can patiently wait for the software to be downloaded or perform other processing during the waiting process, improving the user experience. On the other hand, it can reduce or avoid screen download card stagnation, and can also improve the user experience.
[0057] In an implementation manner of the application, in the case that the plurality of software download subtasks include a software package pre-installation task, and include a software package download task, a software package decryption task, and a software package signature verification task, the first download parameter includes the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress of the target software corresponding software package, and the determination of the download progress of the target software according to the first download parameter and the first weight corresponding to the first download parameter includes: determining the download progress of the target software according to the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress, and the first weight corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress.
[0058] The first weight corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress can be obtained through experiments, and the sum of the first weights is 1.
[0059] In an implementation manner of the application, the download progress in the case that the plurality of software download subtasks include a software package pre-installation task is determined by the following formula:
[0060] DP=Dow*ω1+Dec*ω2+Ver*ω3+Pre*ω4
[0061] Wherein, DP is a download progress, Dow is a current download progress, Dec is a current decryption progress, Ver is a current signature verification progress, Pre is a current pre-installation progress, ω1, ω2, ω3, ω4 are respectively first weights corresponding to the current download progress, the current decryption progress, the current signature verification progress and the current pre-installation progress.
[0062] In an implementation form of the present application, the first time parameter comprises a current remaining download time, a current remaining decryption time, a current remaining signature verification time and a current remaining pre-installation time of the target software, and the download remaining time of the target software is determined according to the first time parameter, comprising: determining the download remaining time of the target software according to the current remaining download time, the current remaining decryption time, the current remaining signature verification time and the current remaining pre-installation time.
[0063] In an implementation form of the present application, the download remaining time in the case that the installation subtask comprises the pre-installation task is determined by the following formula:
[0064] T DP = T Dow + T Dec + T Ver + T Pre
[0065] Wherein, T DP is the download remaining time, T Dow is the current remaining download time, T Dec is the current remaining decryption time, T Ver is the current remaining signature verification time, and T Pre is the current remaining pre-installation time.
[0066] In an implementation form of the present application, in the case that the plurality of software download subtasks do not comprise the pre-installation task of the software package, comprising the download task of the software package, the decryption task of the software package and the signature verification task of the software package, the second download parameter comprises a current download progress, a current decryption progress and a current signature verification progress of the target software corresponding software package, and the download progress of the target software is determined according to the second download parameter and the second weight corresponding to the second download parameter, comprising: determining the download progress of the target software according to the current download progress, the current decryption progress, the current signature verification progress, and the second weight corresponding to the current download progress, the current decryption progress and the current signature verification progress.
[0067] Wherein, the second weight corresponding to the current download progress, the current decryption progress and the current signature verification progress can be obtained by experiment, and the sum of the second weights is 1.
[0068] In an implementation form of the present application, the download progress in the case that the plurality of software download subtasks do not comprise the pre-installation task of the software package is determined by the following formula:
[0069] DP=Dow*ω5+Dec*ω6+Ver*ω7
[0070] Wherein, DP is the download progress, Dow is the current download progress, Dec is the current decryption progress, Ver is the current signature verification progress, ω5, ω6, ω7 are the second weights corresponding to the current download progress, the current decryption progress and the current signature verification progress respectively.
[0071] In an implementation manner of the application, the second time parameter comprises a current remaining download time, a current remaining decryption time and a current remaining signature verification time of the target software, and the download remaining time of the target software is determined according to the second time parameter, comprising: determining the download remaining time of the target software according to the current remaining download time, the current remaining decryption time and the current remaining signature verification time.
[0072] In an implementation manner of the application, the download remaining time in the case that the installation subtask does not include the pre-installation task is determined by the following formula:
[0073] T DP = T Dow + T Dec + T Ver
[0074] Wherein, T DP is the download remaining time, T Dow is the current remaining download time, T Dec is the current remaining decryption time, and T Ver is the current remaining signature verification time.
[0075] The software download management method provided by the application can calculate each progress (such as the current download progress, the current decryption progress, the current signature verification progress, the current pre-installation progress and the like) according to the completed subtask amount progress percentage*proportion (that is, the weight corresponding to each progress).
[0076] The remaining download time can be calculated according to the size of the remaining installation package (that is, the software package) / the current network speed.
[0077] Wherein, the definition of network speed: the speed of downloading, decryption, signature verification and installation, defined as the time dimension. For example, the average speed of downloading within 10s is used as the reference of the subsequent downloading speed. Because there are many variable factors in the software updating or downloading process stage, the network speed can be determined according to the actual situation.
[0078] The software download management method provided in the application can be applied to a vehicle software upgrade scene, realizes Over-the-Air Technology (OTA) whole vehicle controller (which can also be referred to as a master controller) upgrade, and can also be referred to as a calculation method based on whole vehicle controller download progress and download remaining time, realizes smooth display of a software download progress percentage, can allow jumping, but for a stage period that is relatively long, progress updating can be performed through algorithm optimization (decryption, signature verification, and pre-installation), and user experience is improved.
[0079] Next, the software download management method provided in the application is described by taking software upgrade as an example in further combination with a specific application scene.
[0080] In an implementation manner of the application, as shown in Figure 2 the upgrade task of the software involves a pre-installation task, then the subtask quantity (i.e., a software download subtask) can include a software package download task, a software package decryption task, a software package signature verification task, and a software package pre-installation task, and a download progress calculation formula is as follows:
[0081] a current software download progress (i.e., a current download progress) * a proportion + a current software package decryption progress (i.e., a current decryption progress) * a proportion + a current software package signature verification progress (i.e., a current signature verification progress) * a proportion + a software package pre-installation progress (i.e., a current pre-installation progress) * a proportion, and the proportion is a first weight corresponding to each progress.
[0082] In an implementation manner of the application, the first weights corresponding to the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress are 30%, 20%, 20%, and 30%, respectively.
[0083] Further, a progress formula corresponding to the current software download progress = a downloaded software package size / total software package size * 100%; a current software package decryption progress = a downloaded and started decryption software package file size / total software package file size * 100%; a current software package signature verification progress = a downloaded and started signature verification software package file size / total software package file size * 100%; and a software package pre-installation progress = a pre-installed software package size / total software package size * 100%.
[0084] The total software package size is the total task quantity mentioned above.
[0085] As shown in Figure 3 the upgrade task of the software involves a pre-installation task, then according to the subtask quantity, a download remaining time formula is as follows: a current remaining download time + a remaining decryption time (i.e., a current remaining decryption time) + a remaining signature verification time (i.e., a current remaining signature verification time) + a pre-installation remaining time (i.e., a current pre-installation remaining time).
[0086] wherein, the current remaining download time corresponding to the software package download = the remaining size of the software package not downloaded (i.e. the total size of the software package - the size of the software package already downloaded) / the current network speed; the remaining decryption time = the remaining size of the software package not decrypted / the current network speed; the remaining signature verification time = the remaining amount of data not verified / the current network speed; the remaining installation time = the remaining size of the software package not installed / the current network speed.
[0087] The vehicle end receives a software download or upgrade update task, and if it is determined that the software allows software pre-installation, the management method of the plurality of software download sub-tasks including the software package pre-installation task is used to calculate the download progress and the remaining download time.
[0088] As shown in the example, Figure 4 Assuming that the current upgrade task involves three software package upgrades, a total of 600M of software package size, which are upgrade package 1 = 300M, upgrade package 2 = 200M, and upgrade package 3 = 100M. Among them, upgrade package 1 is in segmented download mode, that is, the upgrade process is downloading, decrypting, verifying, and pre-installing at the same time. Upgrade package 2 is in normal download mode, that is, the upgrade process is decrypting after downloading, verifying after decrypting, and pre-installing after verifying. Upgrade package 3 is pre-installed after downloading, decrypting, and verifying.
[0089] Next, the detailed calculation process of this scenario is described.
[0090] For example, the current download position is at node a in Figure 4 The download progress is represented as:
[0091] Sub-task 1 (i.e. software package download task):
[0092] The downloaded software package: 100M + 200M + 50M = 350M.
[0093] The download progress of the software package (i.e. the current download progress) is: 350M / 600M * 100% = 58%.
[0094] Sub-task 2 (i.e. software package decryption task):
[0095] The decrypted software package: 100M + 0M + 50M = 150M.
[0096] The decryption progress of the software package (i.e. the current decryption progress) is: 150M / 600M * 100% = 25%.
[0097] Sub-task 3 (i.e. software package signature verification task):
[0098] The software package that has been verified: 30M + 0M + 40M = 70M.
[0099] The verification progress of the software package is: 70M / 600M*100% = 11.67%.
[0100] Subtask 4 (i.e., the software package pre-installation task):
[0101] The pre-installed software package: 0M.
[0102] The pre-installation progress of the software package: 0%.
[0103] Further, according to the calculation formula of the download progress, it is obtained that:
[0104] The download progress of the a node = subtask 1*proportion + subtask 2*proportion + subtask 3*proportion + subtask 4*proportion, that is, 58%*30% + 25%*20% + 11.67%*20% + 0% = 24.7%.
[0105] Therefore, when the software download is at the a node, the current actual download progress is 24.7%, at this time, the vehicle HMI and the APP of the user terminal can be further optimized and displayed, in an implementation manner of the present application, the integer can be rounded up, that is, 25%. When at the a node, the user sees that the software package download progress is 25%.
[0106] By analogy, the download progress of the b node and the c node can be calculated.
[0107] That is, the download progress of the b node = (180+200+100) / 600*30% + (100+200+100) / 600*20% + (100+50+70) / 600*20% + 100 / 600*30% = 49.6%.
[0108] The current actual download progress is 49.6%, and the user sees that the software package download progress is 50%.
[0109] The download progress of the c node = (200+200+100) / 600*30% + (200+200+100) / 600*20% + (200+200+100) / 600*20% + (190+150+100) / 600*30% = 80.3%.
[0110] The current actual download progress is 80.3%, and the user sees that the software package download progress is 80%.
[0111] Suppose the network speed is 2M / s, then the remaining download time for each node is calculated in the following manner.
[0112] a node:
[0113] Subtask 1:
[0114] Remaining download package size: 250MB.
[0115] The remaining time for the software package (i.e., the current remaining download time) is: 250 / 2 = 125 seconds.
[0116] Subtask 2:
[0117] Remaining decrypted software packages: 450M.
[0118] The remaining decryption time for the software package (i.e., the current remaining decryption time) is: 450 / 2 = 225s.
[0119] Subtask 3:
[0120] Remaining verification package size: 530M.
[0121] The remaining time for the package verification (i.e., the current remaining verification time) is: 530 / 2 = 265s.
[0122] Subtask 4:
[0123] Remaining pre-installed software packages: 600M.
[0124] The pre-installation progress of the software package (i.e., the current remaining pre-installation time): 600 / 2 = 300s.
[0125] When the user is at node a, the remaining download time is 915 seconds, which is approximately 15 minutes. Therefore, the user is shown that there are 15 minutes of remaining download time.
[0126] Similarly, calculate the remaining download time for nodes b and c.
[0127] The remaining download time for node b = 120 / 2 + 100 / 2 + 380 / 2 + 500 / 2 = 550s.
[0128] When the user is at node b, the remaining download time is 550 seconds, which is approximately 9 minutes. Therefore, the user is shown that there are 9 minutes of remaining download time.
[0129] The remaining download time for node c = 100 / 2 + 100 / 2 + 100 / 2 + 160 / 2 = 230 seconds.
[0130] When the user is at node c, the remaining download time is 230 seconds, which is approximately 3.8 minutes. Therefore, the user is shown that there are 4 minutes of remaining download time.
[0131] In one implementation of this application, such as Figure 5 As shown, since the software upgrade task does not involve pre-installation tasks, the number of subtasks can include package download tasks, package decryption tasks, and package signature verification tasks. Therefore, the download progress calculation formula is as follows:
[0132] The current software download progress (i.e., the current download progress) * percentage + the current software package decryption progress (i.e., the current decryption progress) * percentage + the current software package signature verification progress (i.e., the current signature verification progress) * percentage, where the percentage is the first weight corresponding to each progress.
[0133] In one implementation of this application, the first weights corresponding to the current download progress, current decryption progress, and current signature verification progress are 60%, 20%, and 20%, respectively.
[0134] Furthermore, the current software download progress is calculated as follows: Downloaded package size / Total package size * 100%; Current package decryption progress = Downloaded and decryption started package size / Total package size * 100%; Current package signature verification progress = Downloaded and signature verification started package size / Total package size * 100%.
[0135] The total package size is the same as the total workload mentioned above.
[0136] like Figure 6 As shown, the software upgrade task does not involve pre-installation tasks. Therefore, based on the amount of sub-tasks, the remaining download time is calculated as follows: current remaining download time + remaining decryption time (i.e., current remaining decryption time) + remaining signature verification time (i.e., current remaining signature verification time).
[0137] Among them, the current remaining download time for the software package download = the size of the remaining undownloaded software package (i.e., the total software package size - the size of the downloaded software package) / the current network speed; the remaining decryption time = the size of the remaining undecrypted software package / the current network speed; the remaining signature verification time = the amount of data remaining undecrypted / the current network speed.
[0138] When the vehicle receives a software download or upgrade / update task, if it determines that the software does not allow pre-installation, it uses the management method described above for installation subtasks that do not include pre-installation tasks to calculate the download progress and remaining download time.
[0139] For example, such as Figure 7 As shown, assume this upgrade task involves two software packages, with a total package size of 500MB. Package 1 is 200MB, and Package 2 is 300MB. Package 1 is downloaded in segments, decrypting and verifying signatures simultaneously. Package 2 is downloaded normally, decrypted after download, and then verified for signatures.
[0140] Next, we will describe the detailed calculation process for this scenario.
[0141] For example: The current download location is Figure 7 In the context of node 'a', the download progress is represented as:
[0142] Subtask 1 (i.e. the download task of the software package):
[0143] The downloaded software package: 100M + 150M = 250M.
[0144] The download progress of the software package (i.e. the current download progress) is: 250M / 500M * 100% = 50%.
[0145] Subtask 2 (i.e. the decryption task of the software package):
[0146] The decrypted software package: 0M.
[0147] The decryption progress of the software package (i.e. the current decryption progress) is: 0%.
[0148] Subtask 3 (i.e. the signature verification task of the software package):
[0149] The signature-verified software package: 0M.
[0150] The signature verification progress of the software package is: 0%.
[0151] Further, according to the calculation formula of the download progress, we obtain:
[0152] The download progress of node a = subtask 1 * proportion + subtask 2 * proportion + subtask 3 * proportion, i.e. 50% * 60% + 0% * 20% + 0% * 20% = 30%.
[0153] Therefore, when the software download is at node a, the current actual download progress is 30%, and the user sees the software package download progress as 30%.
[0154] By analogy, the download progress of nodes b and c can be calculated.
[0155] That is, the download progress of node b = (150 + 300) / 500 * 60% + (100 + 50) / 500 * 40% = 66%.
[0156] The current actual download progress is 66%, and the user sees the software package download progress as 66%.
[0157] The download progress of node c = (200 + 300) / 500 * 60% + (200 + 250) / 500 * 40% = 96%.
[0158] The current actual download progress is 96%, and the user sees the software package download progress as 96%.
[0159] Assuming the network speed is 2M / s, the remaining download time for each node is calculated as follows.
[0160] a node:
[0161] Subtask 1:
[0162] Remaining download package: 250M.
[0163] The remaining time of the package (i.e. the current remaining download time) is: 250 / 2 = 125s.
[0164] Subtask 2:
[0165] Remaining decrypted package: 500M.
[0166] The remaining time of the package decryption (i.e. the current remaining decryption time) is: 500 / 2 = 250s.
[0167] Subtask 3:
[0168] Remaining signature-verified package: 500M.
[0169] The remaining time of the package signature verification (i.e. the current remaining signature verification time) is: 500 / 2 = 250s.
[0170] Therefore, when at the a node, the remaining download time is: 625s, approximately equal to 10 minutes, so the user is displayed with the remaining download time of 10 minutes.
[0171] Similarly, the download remaining time of the b node and the c node is calculated.
[0172] The download remaining time of the b node = 50 / 2 + 350 / 2 = 200s.
[0173] Therefore, when at the b node, the remaining download time is: 200s, approximately equal to 3 minutes, so the user is displayed with the remaining download time of 3 minutes.
[0174] The download remaining time of the c node = 40 / 2 = 20s.
[0175] Therefore, when at the c node, the remaining download time is: 20s, so the user is displayed with the remaining download time of 20 seconds.
[0176] In another implementation manner of the present application, as Figure 8As shown, a software download management apparatus is provided, comprising: a first processing module configured to determine a plurality of software download sub-tasks corresponding to target software; a second processing module configured to, in a case where the plurality of software download sub-tasks comprises a software package pre-installation task, determine a download progress of the target software according to a first download parameter and a first weight corresponding to the first download parameter, and determine a download remaining time of the target software according to a first time parameter; and in a case where the plurality of software download sub-tasks does not comprise a software package pre-installation task, determine a download progress of the target software according to a second download parameter and a second weight corresponding to the second download parameter, and determine a download remaining time of the target software according to a second time parameter.
[0177] Referring to Figure 9 , Figure 9 As shown in the structural schematic diagram of an electronic device provided by the embodiment of the present application. As Figure 9 shown, the electronic device can include a transceiver 121, a processor 122, and a memory 123.
[0178] The processor 122 executes computer-executed instructions stored in the memory, so that the processor 122 executes part of the technical solutions of the software download management method in the above embodiment. The processor 122 can be a general-purpose processor, including a central processing unit CPU, a network processor NP, etc.; it can also be a digital data processor DSP, an application-specific integrated circuit ASIC, a field programmable gate array FPGA or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
[0179] The memory 123 is connected with the processor 122 through a system bus and completes mutual communication, and the memory 123 is used to store computer program instructions.
[0180] By way of example, and without limitation, the memory 123 can include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 123 can include removable or non-removable (or fixed) media. Where appropriate, the memory 123 can be internal or external to the integrated gateway device. In certain embodiments, the memory 123 is a non-volatile solid-state memory. In certain embodiments, the memory 123 includes read-only memory (ROM). Where appropriate, this ROM can be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory, or a combination of two or more of these.
[0181] The transceiver 121 can be configured to obtain the to-be-run task and configuration information of the to-be-run task.
[0182] The system bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus. The transceiver is configured to realize communication between the database access device and other computers (for example, a client, a read-write library, and a read-only library). The memory can include random access memory (RAM) and can also include non-volatile memory.
[0183] The electronic device can be a vehicle, or other electronic devices such as a mobile phone. The software download method and device provided in the present application can be applied to a vehicle software download management scenario, and can also be applied to a software download management scenario of other electronic devices such as a mobile phone.
[0184] The present application also provides a chip for running instructions, which is configured to execute the technical solutions of the software download management method in the above embodiments.
[0185] The present application also provides a computer-readable storage medium, which stores computer instructions, and when the computer instructions are run on the processor of the electronic device, the processor of the electronic device executes the technical solutions of the software download management method in the above embodiments.
[0186] In some possible implementation manners, various aspects of the method provided in the present application can also be implemented in the form of a program product, which includes program codes, and when the program product is run on the processor of the electronic device, the program codes are configured to cause the processor of the electronic device to execute the steps in the method according to various exemplary implementation manners of the present application described above in the specification, for example, the electronic device can execute the software download management method described in the embodiments of the present application.
[0187] The program product can employ any combination of one or more computer readable media. The computer readable media can be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0188] The implementation of the present application also provides a computer program product, which comprises a computer program stored in a computer readable storage medium, at least one processor can read the computer program from the computer readable storage medium, and the at least one processor executes the computer program to realize the technical solution of the software download management method in the above embodiment.
[0189] The present application is described with reference to flowcharts and / or block diagrams of the method, device and computer program product according to the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor or other programmable information processing device to produce a machine, so that the instructions executed by the computer or other programmable information processing device produce a device implemented in the flowcharts and / or block diagrams. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks.
[0190] These computer program instructions can also be stored in a computer readable storage medium that can direct the computer or other programmable information processing device to work in a specific way, so that the instructions stored in the computer readable storage medium produce a manufactured product including instruction devices, which implement the flowcharts and / or block diagrams. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks.
[0191] These computer program instructions can also be loaded into a computer or other programmable information processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer implemented process, so that the instructions executed on the computer or other programmable device provide a process for implementing the flowcharts and / or block diagrams. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks. Figure 1the functions specified in the one or more blocks.
[0192] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
[0193] It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the application. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. It is appreciated that features of the application that are, individually, known, encompassed within the scope of the application include any and all combinations of features together. The application covers both single combination of features and multiple combinations of features, where the multiple combinations are either mutually exclusive or not mutually exclusive.
[0194] It is to be understood that the singular forms "a", "an", and "the" include plural referents unless the context clearly dictates otherwise. Pronouns in the masculine form include the feminine form, and vice versa, except when otherwise indicated by context. The term "or" as used herein denotes a discrete choice among conjunctive terms or items. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. It is further noted that the use of "a", "an" or "the" in the claims and in the specification includes both singular and plural forms unless the context clearly dictates otherwise. The use of "comprising" or "including" in the claims and in the specification has the same meaning. The use of "comprising" or "including" in the claims and in the specification has the same meaning. The use of "or" in the claims is used to mean "and / or" unless explicitly indicated to refer to an exclusive "or".
[0195] Although the application has been described and illustrated with respect to certain preferred embodiments thereof, it should be understood by those skilled in the art that the foregoing is merely illustrative and not limiting of the scope of the application, that the general principles of the application have been used to generate myriad other embodiments which are all within the spirit of the application. Accordingly, the disclosure has been disclosed with specificity herein by way of numbered embodiments and examples, such that any number of other embodiments, modifications, and alterations can be made without departing from the spirit and scope of the disclosure, and such alterations would still be within the scope of the disclosure. More generally, those skilled in the art will readily appreciate that any number of other embodiments, modifications, and alterations can be made without departing from the spirit and scope of the application. Accordingly, the disclosure is intended to embrace all such alternatives, modifications, and alterations that fall within the scope of the disclosure, including any and all equivalents thereof.
Claims
1. A software download management method, characterized in that, The method includes: Identify the multiple software download subtasks corresponding to the target software; In the case where the multiple software download subtasks include a software package pre-installation task, the download progress of the target software is determined according to the first download parameter and the first weight corresponding to the first download parameter, and the remaining download time of the target software is determined according to the first time parameter. In the case that the multiple software download subtasks do not include the package pre-installation task, the download progress of the target software is determined according to the second download parameter and the second weight corresponding to the second download parameter, and the remaining download time of the target software is determined according to the second time parameter.
2. The software download management method as described in claim 1, characterized in that, When the multiple software download subtasks include the software package pre-installation task, and include software package download tasks, software package decryption tasks, and software package signature verification tasks, and the first download parameter includes the current download progress, current decryption progress, current signature verification progress, and current pre-installation progress of the software package corresponding to the target software, then the download progress of the target software is determined according to the first download parameter and the first weight corresponding to the first download parameter, including: The download progress of the target software is determined based on the current download progress, the current decryption progress, the current signature verification progress, the current pre-installation progress, and the first weight corresponding to each of the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress.
3. The software download management method as described in claim 2, characterized in that, The method includes determining the download progress using the following formula: DP=Dow*ω1+Dec*ω2+Ver*ω3+Pre*ω4 Wherein, DP is the download progress, Dow is the current download progress, Dec is the current decryption progress, Ver is the current signature verification progress, Pre is the current pre-installation progress, and ω1, ω2, ω3, and ω4 are the first weights corresponding to the current download progress, the current decryption progress, the current signature verification progress, and the current pre-installation progress, respectively.
4. The software download management method as described in claim 3, characterized in that, The first time parameter includes the current remaining download time, current remaining decryption time, current remaining signature verification time, and current remaining pre-installation time of the target software. Therefore, based on the first time parameter, the remaining download time of the target software is determined, including: The remaining download time for the target software is determined based on the current remaining download time, the current remaining decryption time, the current remaining signature verification time, and the current remaining pre-installation time.
5. The software download management method as described in claim 4, characterized in that, The method includes determining the remaining download time using the following formula: T DP =T Dow +T Dec +T Ver +T Pre Among them, T DP T represents the remaining download time. Dow T represents the current remaining download time. Dec T represents the current remaining decryption time. Ver T represents the current remaining verification time. Pre This refers to the current remaining pre-installation time.
6. The software download management method as described in claim 1, characterized in that, In the case where the multiple software download subtasks do not include the pre-installation task of the software package, but include the software package download task, the software package decryption task, and the software package signature verification task, and the second download parameter includes the current download progress, current decryption progress, and current signature verification progress of the software package corresponding to the target software, then the download progress of the target software is determined according to the second download parameter and the second weight corresponding to the second download parameter, including: The download progress of the target software is determined based on the current download progress, the current decryption progress, the current signature verification progress, and the second weight corresponding to each of the current download progress, the current decryption progress, and the current signature verification progress.
7. The software download management method as described in claim 6, characterized in that, The method includes determining the download progress using the following formula: DP = Dow*ω5 + Dec*ω6 + Ver*ω7 Wherein, DP is the download progress, Dow is the current download progress, Dec is the current decryption progress, Ver is the current signature verification progress, and ω5, ω6, and ω7 are the second weights corresponding to the current download progress, the current decryption progress, and the current signature verification progress, respectively.
8. The software download management method as described in claim 7, characterized in that, The second time parameter includes the current remaining download time, the current remaining decryption time, and the current remaining signature verification time of the target software. Therefore, determining the remaining download time of the target software based on the second time parameter includes: The remaining download time for the target software is determined based on the current remaining download time, the current remaining decryption time, and the current remaining signature verification time.
9. The software download management method as described in claim 8, characterized in that, The method includes determining the remaining download time using the following formula: T DP =T Dow +T Dec +T Ver Among them, T DP T represents the remaining download time. Dow T represents the current remaining download time. Dec T represents the current remaining decryption time. Ver This refers to the current remaining verification time.
10. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer programs; The processor executes the computer program stored in the memory to enable the electronic device to implement the software download management method as described in any one of claims 1-9.
Citation Information
Patent Citations
Upgrading method of intelligent equipment, storage medium and electronic device
CN118519659A
Vehicle software upgrading method and system, vehicle and electronic equipment
CN118981325A
Upgrading method, upgrading equipment and upgrading system for software in air conditioning unit
CN119847561A
Loading state detection for gaming applications
US20250032933A1
