Method for displaying upgrade progress and electronic device

By dividing the upgrade process into data writing and no-data writing stages, and combining the time consumed with historical average time consumption to calculate the progress value, the problem of the progress bar stalling during firmware refresh is solved, improving user experience and visualization reliability.

CN121143839BActive Publication Date: 2026-02-06INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511688247.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-18
Publication Date
2026-02-06
Estimated Expiration
2045-11-18

AI Technical Summary

Technical Problem

In existing technologies, the firmware refresh progress bar may stagnate for an extended period when no data is being written, leading users to misjudge the process and perform an interrupt operation, resulting in incomplete firmware writing and security risks such as the device failing to boot properly.

Method used

The upgrade process is divided into two phases: one with data writing and one without. By combining the refresh time of the current phase with the historical average time, the upgrade progress value is calculated to update the progress bar, ensuring that the progress of the phase without data writing is perceptible.

Benefits of technology

It improves the visibility and reliability of the firmware update process, reduces the risk of user misjudgment, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121143839B_ABST
    Figure CN121143839B_ABST
Patent Text Reader

Abstract

The application provides a display method of upgrade progress and an electronic device, and relates to the technical field of firmware upgrade. The method comprises the following steps: dividing the upgrade process of a to-be-upgraded device into multiple upgrade stages according to the writing state of firmware data of the to-be-upgraded device in the upgrade process, wherein the multiple upgrade stages comprise a data writing stage and at least two data non-writing stages; determining the historical average refreshing time of each of the multiple upgrade stages and the upgrade progress proportion of the multiple upgrade stages in the upgrade process; in the process of performing the upgrade on the to-be-upgraded device, determining the refreshing progress value of the current upgrade stage based on the refreshing time of the current upgrade stage, the historical average refreshing time of the current upgrade stage and the upgrade progress proportion of the current upgrade stage; and displaying the upgrade progress of the to-be-upgraded device on the progress bar of the display interface based on the refreshing progress value.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of firmware upgrade, and in particular to a display method of upgrade progress and an electronic device. BACKGROUND

[0002] The current mainstream server's baseboard management controller (BMC) mostly integrates online firmware flashing function, and realizes online firmware flashing function of various devices through a visual web page management interface. In the device upgrade process, according to the ratio of real-time written firmware data and total firmware data, the upgrade progress is displayed in the progress bar.

[0003] However, the display method of the above progress bar will stay at 0% or low percentage interval for a long time at the beginning of the upgrade due to no data writing, and after the data writing is completed, the progress bar will stay near 90% for a long time, resulting in a lag phenomenon of the upgrade progress. The server manager is easy to misjudge that the "refresh process is stuck", and then performs interrupt operations such as forcibly closing the web page, restarting the BMC, etc., which causes incomplete firmware writing, components unable to start normally, and other faults, brings safety hazards to user management, and affects business continuity. SUMMARY

[0004] Therefore, the present application provides a display method of upgrade progress and an electronic device.

[0005] One aspect of the present application provides a display method of upgrade progress, comprising: dividing the upgrade process of a device to be upgraded into multiple upgrade stages according to the writing state of firmware data of the device to be upgraded in the upgrade process, wherein the multiple upgrade stages include a data writing stage and at least two data non-writing stages; determining the historical average flashing time of each of the multiple upgrade stages and the upgrade progress proportion of each of the multiple upgrade stages in the upgrade process; in the process of performing upgrade on the device to be upgraded, determining a flashing progress value of the current upgrade stage based on the flashing time of the current upgrade stage, the historical average flashing time of the current upgrade stage, and the upgrade progress proportion of the current upgrade stage; and displaying the upgrade progress of the device to be upgraded on the progress bar of the display interface based on the flashing progress value.

[0006] Another aspect of the present application provides an electronic device, comprising: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described above.

[0007] According to the technical solution of the present application, by dividing the upgrade stage into a data writing stage and a data non-writing stage, and combining the refresh time consumption of the current upgrade stage, the historical refresh average time consumption of each upgrade stage and the refresh progress value obtained by the upgrade progress proportion of the current upgrade stage, the progress bar is updated, thereby ensuring that the upgrade progress of the data non-writing stage can also be perceived, solving the problem of stagnation of the progress bar when there is no data writing, improving the reliability of the refresh process visualization and reducing the risk of user misjudgment, and improving the user experience. BRIEF DESCRIPTION OF DRAWINGS

[0008] The above and other objects, features and advantages of the present application will become more apparent from the following description of embodiments of the present application taken in conjunction with the accompanying drawings.

[0009] Figure 1 A systematic architecture diagram of a display method of an upgrade progress according to an embodiment of the present application is shown.

[0010] Figure 2 A flowchart of a display method of an upgrade progress according to an embodiment of the present application is shown.

[0011] Figure 3 A flowchart of a determination method of a historical refresh average time consumption according to an embodiment of the present application is shown.

[0012] Figure 4 A flowchart of a method of determining a refresh progress value according to an embodiment of the present application is shown.

[0013] Figure 5 A block diagram of a display device of an upgrade progress according to an embodiment of the present application is shown.

[0014] Figure 6 A block diagram of an electronic device suitable for implementing a display method of an upgrade progress according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0015] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that the description is merely exemplary and is not intended to limit the scope of the present application. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to one skilled in the art that one or more embodiments can be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques have been omitted to avoid unnecessarily obscuring the concept of the present application.

[0016] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "includes" and tautological derivatives thereof, means that features, steps, operations, and / or components that are listed are present and can be present more than once, but not excluding the presence or addition of one or more features, steps, operations, and / or components.

[0017] All terms used herein including technical and scientific terms have the meanings commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein are defined as having a meaning that is consistent with the context of the specification in which the terms are utilized and that the terms should not be interpreted in an idealized or overly formal sense.

[0018] In instances where expressions such as "at least one of A, B, and C, etc." are used, in general, the meaning should be interpreted as the inclusion of at least one of A, B, or C, but not limited to the exclusion of more than one of A, B, or C, unless otherwise specified by context (e.g., "a system having at least one of A, B, and C" should include, but not be limited to, a system having A alone, a system having B alone, a system having C alone, a system having both A and B, a system having both A and C, a system having both B and C, and / or a system having A, B, and C, etc.).

[0019] In the related art, the progress bar for displaying the upgrade progress is mainly designed around the data writing link, without considering the complete process characteristics of the firmware refreshing. However, the firmware refreshing not only includes the data writing link, but also includes the pre-preparation stage and the post-processing stage. The pre-preparation stage includes, for example, firmware image integrity verification, target component hardware interface initialization, refresh permission verification, etc. The post-processing stage includes, for example, writing data integrity verification, firmware activation configuration, component restart initialization, etc. Both of the two stages do not have actual firmware data writing. Therefore, the display design of the progress bar does not cover these stages. When there is no data writing, the progress bar appears to be stagnant, which reduces the reliability of the visual refresh process and increases the risk of user misjudgment, affecting the user experience.

[0020] Based on this, the technical scheme of the present application provides a display method of upgrade progress, comprising: dividing the upgrade process of the to-be-upgraded device into multiple upgrade stages according to the writing state of the firmware data of the to-be-upgraded device in the upgrade process, the multiple upgrade stages including a data writing stage and at least two data non-writing stages; determining the historical refresh average time of each of the multiple upgrade stages and the upgrade progress proportion of the multiple upgrade stages in the upgrade process; in the process of performing upgrade on the to-be-upgraded device, determining the refresh progress value of the current upgrade stage based on the refresh time of the current upgrade stage, the historical refresh average time of the current upgrade stage, and the upgrade progress proportion of the current upgrade stage; and displaying the upgrade progress of the to-be-upgraded device on the progress bar of the display interface based on the refresh progress value.

[0021] By dividing the upgrade phase into a data-writing phase and a data-free phase, and combining the refresh time of the current upgrade phase, the historical average refresh time of each upgrade phase, and the upgrade progress percentage of the current upgrade phase to obtain the refresh progress value, the progress is updated. This ensures that the upgrade progress in the data-free phase can also be perceived, solves the problem of the progress bar stagnating when there is no data writing, improves the reliability of the refresh process visualization, reduces the risk of user misjudgment, and improves the user experience.

[0022] Figure 1 A system architecture diagram of a method for displaying upgrade progress according to an embodiment of this application is shown.

[0023] like Figure 1 As shown, the system architecture includes a phase division module 110, a historical data management module 120, a refresh monitoring module 130, a progress calculation module 140, and a progress display control module 150.

[0024] The phase division module 110 is used to divide the upgrade process of the device to be upgraded into multiple upgrade phases according to the configuration file, and to determine the start and end signals of each component in the multiple upgrade phases. The phase division module 110 can notify the refresh monitoring module 130, the historical data management module 120, etc. of the division of upgrade phases and the start and end signals of each upgrade phase.

[0025] The historical data management module 120 is used to store, filter, and update historical refresh data of various devices at each upgrade stage. The historical data management module 120 can process and calculate the stored historical time consumption data according to the number of upgrade stages required by the stage division module 110. After the calculation is completed, the historical data management module 120 can provide the available historical refresh stages and the average historical refresh time of each stage to the progress calculation module 140.

[0026] The refresh monitoring module 130 is used to determine the current upgrade stage and calculate the refresh time consumed in real time based on the real-time refresh progress of the current component, and provide the current upgrade stage and refresh time to the progress calculation module 140.

[0027] In some embodiments, the refresh monitoring module 130 can be integrated into the module of the firmware refresh process, and the application is not limited thereto. The refresh monitoring module 130 can also be implemented independently of the module of the firmware refresh process. When integrated into the module of the firmware refresh process, the refresh monitoring module 130 can directly compare the current timestamp in the process with the timestamp at which the refresh of the current upgrade stage starts, and calculate the time consumed by the current upgrade stage. When implemented independently of the module of the firmware refresh process, the refresh monitoring module 130 starts the timer by monitoring the start signal transmitted by the stage division module 110 in real time to determine the time consumed by the refresh of the current upgrade stage.

[0028] The progress calculation module 140 is configured to calculate the progress bar that should be displayed at present based on the refresh time consumed by the current upgrade stage and the historical refresh average time of the current upgrade, and provide the progress display control module 150.

[0029] The progress display control module 150 is configured to display the real-time progress of the current refresh. The current refresh progress, the upgrade stage, and the prompt information can be displayed to the user. The application does not limit the display manner of the progress bar, and any display manner that is easy to understand and commonly used in the industry can be adopted.

[0030] Figure 2 A flowchart of a method for displaying an upgrade progress according to an embodiment of the application is shown.

[0031] As shown in Figure 2 , the method includes operations S210-S240.

[0032] In operation S210, the upgrade process of the device to be upgraded is divided into multiple upgrade stages according to the writing state of the firmware data of the device to be upgraded in the upgrade process, and the multiple upgrade stages include a data writing stage and at least two data non-writing stages.

[0033] In operation S220, the historical refresh average time of each of the multiple upgrade stages and the upgrade progress proportion of each of the multiple upgrade stages in the upgrade process are determined.

[0034] In operation S230, during the execution of the upgrade on the device to be upgraded, the refresh progress value of the current upgrade stage is determined based on the refresh time consumed by the current upgrade stage, the historical refresh average time of the current upgrade stage, and the upgrade progress proportion of the current upgrade stage.

[0035] In operation S240, the upgrade progress of the device to be upgraded is displayed on the progress bar of the display interface based on the refresh progress value.

[0036] Exemplarily, the upgrade progress display method of the application can be applied to the BMC online firmware flashing function, and the online firmware flashing of the BIOS (Basic Input / Output System), RAID (Redundant Array of Independent Disks Controller), network card, power module, BMC, CPLD (Complex Programmable Logic Device) and other devices of the server is performed through the configured visual management interface.

[0037] Exemplarily, different multiple upgrade stages can be set for different devices to be upgraded. Specifically, each upgrade stage of the upgrade process can be predefined from the configuration file of the device to be upgraded, and the number of stages can be flexibly adjusted according to the flashing process of different devices to ensure that it covers all data writing stages and non-data writing stages, avoiding missing time-consuming links.

[0038] Taking CPLD firmware flashing as an example, a feasible upgrade stage division can be:

[0039] The flashing preparation stage (no firmware data writing): including operations such as uploading the firmware image to the BMC cache, verifying the digital signature of the image, and verifying the flashing permission.

[0040] The firmware data writing stage (with firmware data writing): including writing the firmware data in the cache into the target chip in batches, while recording the real-time writing data volume.

[0041] The post-writing verification stage (no firmware data writing): including reading the firmware data written into the target chip, and performing cyclic redundancy check or secure hash algorithm check on the original data to confirm that there is no packet loss or wrong writing.

[0042] The firmware activation and initialization stage (no firmware data writing): including sending an activation instruction to make the new firmware effective, restarting the BMC module, and performing firmware default configuration loading.

[0043] Exemplarily, the historical average flashing time of each of the multiple upgrade stages and the upgrade progress proportion of the multiple upgrade stages in the upgrade process can be determined according to the historical time consumption data in the historical upgrade events. Specifically, a historical time consumption database can be constructed according to the type of the device to be upgraded and the version of the firmware, and in each upgrade event, the historical flashing time of the device to be upgraded in each upgrade stage and the total flashing time and other data are stored.

[0044] For example, data such as "component type, firmware version, preparation phase time, writing phase time, verification phase time, initialization phase time, refresh result (success or failure), and upgrade timestamp" can be recorded in each upgrade event to build a historical time database. When a user issues an upgrade command, the historical time data of the device to be upgraded can be retrieved from the historical time database to calculate the average historical refresh time and upgrade progress percentage for each of the multiple upgrade stages.

[0045] The refresh progress value of the current upgrade stage represents the progress of the current upgrade stage relative to the entire upgrade process. Based on the refresh progress value of the current upgrade stage, the upgrade progress bar can be updated to display the upgrade progress at the current moment.

[0046] According to the embodiments of this application, by dividing the upgrade phase into a data writing phase and a data-free writing phase, and combining the refresh progress value obtained by the refresh time of the current upgrade phase, the historical average refresh time of each upgrade phase, and the upgrade progress percentage of the current upgrade phase, the progress bar is updated. This ensures that the upgrade progress in the data-free writing phase can also be perceived, solves the problem of the progress bar stagnation when there is no data writing, improves the reliability of the refresh process visualization, reduces the risk of user misjudgment, and improves the user experience.

[0047] According to embodiments of this application, determining the historical average refresh time for each of the multiple upgrade stages and the percentage of upgrade progress for each of the multiple upgrade stages may include: selecting a predetermined number of historical upgrade events from the multiple historical upgrade events based on the upgrade results and occurrence times of the multiple historical upgrade events; averaging the historical refresh times of each upgrade stage in the predetermined number of historical upgrade events to obtain the historical average refresh time for each of the multiple upgrade stages; and determining the percentage of upgrade progress for each of the multiple upgrade stages based on the historical average refresh time for each of the multiple upgrade stages and the total refresh time for the multiple upgrade stages.

[0048] The upgrade results can be used to initially filter multiple historical upgrade events to identify valid ones. Then, based on the upgrade time, a second filter can be performed on the valid historical upgrade events to obtain a predetermined number of historical upgrade events, such as 10.

[0049] The historical average refresh time T for any upgrade stage i = (T i1 +T i2 +…+T in ) / n, where T i Let be the historical average refresh time for the i-th upgrade stage, and n be the predetermined number of times.

[0050] Total refresh time T of multiple upgrade stages 总 =T1+T2+…+T i , upgrade progress ratio of each upgrade stage =T i / T 总 ×100%.

[0051] For example, the upgrade process is divided into 4 upgrade stages, where T1=20s, T2=100s, T3=30s, T4=10s, T 总 =160s, then the first stage ratio =20 / 160×100%=12.5%, the second stage ratio =100 / 160×100%=62.5%, the third stage ratio =30 / 160×100%=18.9%, and the fourth stage ratio =(100-12.5-62.5-18.9)%=6.1%.

[0052] According to the embodiments of the present application, by screening a predetermined number of historical upgrade events and averaging the historical refresh time of each upgrade stage, a more representative time reference of each upgrade stage can be obtained; thus, when determining the progress ratio, the weight of each stage can be dynamically adjusted, and the smoothing of progress display and the accuracy of prediction can be realized.

[0053] According to the embodiments of the present application, screening a predetermined number of historical upgrade events from multiple historical upgrade events according to the upgrade results and the occurrence time of the upgrade events can include: in the case that the upgrade result represents an abnormal upgrade process, performing deletion processing on the abnormal historical upgrade event, the abnormal upgrade process including at least one of upgrade interruption, upgrade failure, and refresh time abnormality. A predetermined number of historical upgrade events are screened from multiple historical upgrade events with normal upgrade process according to the occurrence time of the upgrade events.

[0054] For example, upgrade interruption and upgrade failure can be user forced stop, accidental power failure in the middle, refresh process interrupted by external interruption to complete only part of the stage, etc. Refresh time abnormality can be that the refresh time of a certain upgrade stage is much longer than the historical average refresh time of the stage, such as more than twice the historical average refresh time, etc. By deleting the abnormal historical upgrade event, effective historical upgrade events can be obtained.

[0055] For example, a predetermined number of historical upgrade events can be screened according to the occurrence time of the historical upgrade events from new to old, such as the latest 10 historical upgrade events.

[0056] By deleting the abnormal historical upgrade event and screening the latest predetermined number of historical upgrade events, the influence of old data on data accuracy can be avoided, and the timeliness of the data can be ensured at the same time.

[0057] According to an embodiment of the present application, for the historical refresh average time and the upgrade progress ratio of each upgrade stage, the above method can further include: in a case where the number of historical upgrade events does not satisfy the predetermined number of times, obtaining a predetermined initial refresh time of each upgrade stage of the to-be-upgraded device; performing weighted average processing on the predetermined initial refresh time of each upgrade stage and the historical refresh time of each upgrade stage of each upgrade stage, respectively, to obtain the historical refresh average time of each upgrade stage; and determining the upgrade progress ratio of each upgrade stage based on the historical refresh average time of each upgrade stage and the total refresh time of the plurality of upgrade stages.

[0058] In a case where the number of historical upgrade events does not satisfy the predetermined number of times, such as the number of historical upgrade events being 1 or 2, etc., the predetermined initial refresh time can be used preferentially, such as the weight of the predetermined initial refresh time being set to 70% and the weight of the historical refresh time being set to 30%. In this way, when the data is scarce, the reliable predetermined initial time can be used as a reference to ensure that the progress bar can provide meaningful reference from the first upgrade.

[0059] Exemplarily, in a case where the to-be-upgraded device is upgraded for the first time, the weight of the initial refresh time can be set to 100%, that is, only the predetermined initial refresh time is used for the calculation of the upgrade progress ratio and the refresh progress value. With the increase of the number of historical upgrade events, the weights of the predetermined initial refresh time and the historical refresh time are dynamically adjusted. In a case where the number of historical upgrade events satisfies the predetermined number of times, the weight of the predetermined initial refresh time can be set to 0, that is, only the historical refresh average time is used for the calculation of the upgrade progress ratio and the refresh progress value.

[0060] According to an embodiment of the present application, by weighting and fusing the newly generated data and the initial value, the historical refresh average time can be smoothly dynamically adjusted and optimized, so that the prediction ability of the progress bar can be steadily improved with the accumulation of the number of upgrades.

[0061] When the upgrade of the to-be-upgraded device is started, if the configuration file parsing fails or the configuration file cannot be found, the predetermined initial refresh time can also be used for the calculation of the upgrade progress ratio and the refresh progress value. The predetermined initial refresh time can be a default configuration item fixed in the BMC image, and the value of the default configuration item will not be updated in subsequent refreshes.

[0062] According to an embodiment of the present application, by introducing the predetermined initial refresh time and the weighted average processing, the "cold start" problem that the progress ratio cannot be accurately calculated due to insufficient historical data at the initial stage of the upgrade of the to-be-upgraded device is effectively solved.

[0063] Figure 3A flowchart of a method for determining a historical refresh average time consumption according to an embodiment of the present application is shown.

[0064] As shown in Figure 3 The method includes operation S310 to operation S370.

[0065] In operation S310, a plurality of historical upgrade events are acquired.

[0066] In operation S320, the historical upgrade events of an abnormal upgrade process are deleted according to the upgrade results.

[0067] In a case where the number of historical upgrade events does not satisfy a predetermined number, operation S330 and operation S350 are performed, and in a case where the number of historical upgrade events satisfies the predetermined number, operation S340 and operation S360 are performed.

[0068] In operation S330, a predetermined initial refresh time consumption of each upgrade stage of the device to be upgraded is acquired.

[0069] In operation S350, the predetermined initial refresh time consumption of each upgrade stage and the historical refresh time consumption of each upgrade stage are respectively weighted and averaged.

[0070] In operation S340, a predetermined number of historical upgrade events are selected from the plurality of historical upgrade events according to the occurrence time of each historical upgrade event.

[0071] In operation S360, the historical refresh time consumption of each upgrade stage in the predetermined number of historical upgrade events is respectively averaged.

[0072] In operation S370, the historical refresh average time consumption of each upgrade stage is obtained.

[0073] According to an embodiment of the present application, in the process of performing upgrade on the device to be upgraded, the above method can further include: in a case where a start signal or an end signal of the current upgrade stage starting upgrade is detected, determining a first time point when the current upgrade stage starts upgrade and a second time point when the current upgrade stage completes upgrade; and based on the current time point of the upgrade process and the first time point, determining the refresh time consumption of the current upgrade stage.

[0074] Exemplarily, the start signal or the end signal of the current upgrade stage starting upgrade can be defined and modified through a configuration file of the device to be upgraded. When the upgrade process is divided into stages, it can be ensured that the start signal and the end signal of each upgrade stage can be recognized inside the BMC, and the signal recognition manner includes but is not limited to creation or content change of a shared file, path and signal change on a desktop bus, etc.

[0075] The starting signal can be used to identify the current upgrade stage and the first time when the current upgrade stage starts upgrading. The current timestamp of the current upgrade process can be obtained and compared with the first time, and the time consumed by the current upgrade stage can be calculated to obtain the refresh time consumption of the current upgrade stage. The application is not limited to this, and the refresh time consumption consumed by the current upgrade stage can also be determined by starting a timer after detecting the starting signal.

[0076] According to the embodiments of the application, the actual start and end time of the current upgrade stage is recorded by accurately capturing the starting signal and the ending signal of each upgrade stage, and real-time and fine monitoring of the upgrade process is realized.

[0077] According to the embodiments of the application, the refresh progress value of the current upgrade stage is determined based on the refresh time consumption of the current upgrade stage, the historical refresh average time consumption of the current upgrade stage, and the upgrade progress ratio of the current upgrade stage. The refresh progress value of the current upgrade stage can include: determining a first upgrade progress value of the current upgrade stage according to the ratio of the refresh time consumption of the current upgrade stage and the historical refresh average time consumption of the current upgrade stage; determining a first refresh progress value based on the first upgrade progress value of the current upgrade stage and the upgrade progress ratio of the current upgrade stage; and in the case of determining that the current upgrade stage is a no-data writing stage, the first refresh progress value is taken as the refresh progress value.

[0078] The first upgrade progress value is used to measure the completion ratio of the current upgrade stage by using the refresh time consumption. For example, if the refresh time consumption of the current upgrade stage is half of the historical refresh average time consumption, the first upgrade progress is 50%.

[0079] The first refresh progress value is the global progress converted from the first upgrade progress value. For example, the entire upgrade process is expected to take 100 seconds, and the historical refresh average time consumption of the current upgrade stage is 20 seconds, so the upgrade progress ratio of the current upgrade stage is 20%. In the case of the first upgrade progress being 50%, the first refresh progress value is 0.5x0.2=0.1, i.e. the first refresh progress value is 10%.

[0080] According to the embodiments of the application, since there is no measurable data flow to calculate the upgrade progress in the no-data writing stage, the first refresh progress value is used as the basis for updating the progress bar in the no-data writing stage, and it is integrated into the display of the overall progress bar, which ensures that the progress bar can also smoothly and continuously advance in the no-data writing stage, avoids the anxiety caused by the traditional dependence on data writing to update the progress bar, and provides a better user experience.

[0081] According to an embodiment of the present application, in a case where it is determined that the current upgrade stage is a data writing stage, a second refresh progress value of the current upgrade stage is determined according to a ratio of an amount of written firmware data to a total amount of firmware data; a second refresh progress value is determined based on the second upgrade progress value of the current upgrade stage and a proportion of the upgrade progress of the current upgrade stage; and a smaller value between the first refresh progress value and the second refresh progress value is taken as the refresh progress value.

[0082] The second upgrade progress value is a measure of the completion ratio of the current upgrade stage using the real-time data writing amount. For example, the total data writing amount is 100 MB, and the amount of data that has been written is 30 MB, and then the second upgrade progress value is 30%.

[0083] The second refresh progress value is the conversion of the second upgrade progress value to the global progress. For example, the current upgrade stage accounts for 20%, and the data writing is completed by 30%, and then the second refresh progress value contributes 30% x 20% = 6% to the total progress.

[0084] In the data writing stage, the first refresh progress value and the second refresh progress value are compared, and the smaller one is taken as the refresh progress value, which can avoid the progress jump caused by too fast writing and ensure the smooth growth of the upgrade progress with the data writing or time passing.

[0085] For example, at the beginning of the upgrade, the data transmission rate can be very high, resulting in a rapid increase in the data amount-based progress (the second refresh progress value). However, the rate may subsequently decrease due to an increase in system load. If only the data amount is relied on, the progress bar will first quickly reach 50%, and then be stagnant for a long time, causing user disturbance. At this time, the time-based progress (the first refresh progress value) grows slowly, and taking the smaller value can suppress the false fast of the progress bar and make it grow smoothly.

[0086] For another example, if the data transmission is slow at the beginning (the data amount-based progress is slow), but the time-based progress will advance smoothly according to historical rules, at this time, taking the smaller value will adopt the data amount progress, which truly reflects the slow start condition.

[0087] According to an embodiment of the present application, based on the refresh progress value, displaying the upgrade progress of the device to be upgraded on the progress bar of the display interface can include: determining a cumulative progress value before upgrading to the current upgrade stage according to the upgrade progress proportions of the plurality of upgrade stages; determining the upgrade progress of the device to be upgraded according to the cumulative progress value and the refresh progress value of the current upgrade stage; and displaying the upgrade progress of the device to be upgraded on the progress bar of the display interface.

[0088] For example, the upgrade process is divided into four stages: a refresh preparation stage, a firmware data writing stage, a post-writing verification stage, and an initialization stage. The upgrade progress value of each upgrade stage can be calculated in the following manner:

[0089] During the refresh preparation phase, the upgrade progress = (refresh time during the refresh preparation phase / historical average refresh time during the refresh preparation phase) × the percentage of upgrade progress during the refresh preparation phase.

[0090] During the firmware data writing phase, the upgrade progress is calculated using a two-dimensional calibration method that combines basic progress and time calibration progress:

[0091] Basic progress = Upgrade progress percentage of the refresh preparation phase + (Amount of firmware data written in the firmware data writing phase / Total amount of firmware data in the firmware data writing phase) × Upgrade progress percentage of the firmware data writing phase.

[0092] Time calibration progress = Upgrade progress percentage of the refresh preparation phase + (Refresh time during firmware data writing phase / Historical average refresh time during firmware data writing phase) × Upgrade progress percentage of the firmware data writing phase.

[0093] The upgrade progress is the smaller value between the base progress and the time calibration progress.

[0094] In the post-write verification phase, the upgrade progress = the upgrade progress percentage of the refresh preparation phase + the upgrade progress percentage of the firmware data writing phase + (refresh time in the post-write verification phase / historical average refresh time in the post-write verification phase) × the upgrade progress percentage of the post-write verification phase.

[0095] During the initialization phase, the upgrade progress = the percentage of upgrade progress in the refresh preparation phase + the percentage of upgrade progress in the firmware data writing phase + the percentage of upgrade progress in the post-write verification phase + (refresh time during the initialization phase / historical average refresh time during the initialization phase) × the percentage of upgrade progress during the initialization phase.

[0096] For example, when calculating upgrade progress using refresh time, the progress bar can be smoothly updated at a frequency of once per second, based on the first refresh progress value calculated in real time. For instance, if the upgrade progress percentage of the current upgrade stage is 12.5%, and the historical average refresh time for the current upgrade stage is 20 seconds, then the progress bar increments by 0.625% per second. When calculating upgrade progress using the amount of firmware data already written, the progress bar can be updated according to the data writing frequency.

[0097] Figure 4 A flowchart illustrating a method for determining a refresh progress value according to an embodiment of this application is shown.

[0098] like Figure 4 As shown, the start signal 401 can be used to determine whether the current upgrade stage is in a no-data-write stage or a data-write stage.

[0099] In the case of the data write-in stage, the second upgrade progress value 408 of the current upgrade stage can be obtained according to the ratio of the written firmware data amount 405 of the current upgrade stage to the total firmware data amount 406 of the current upgrade stage. The second refresh progress value 410 can be obtained according to the second upgrade progress value 408 and the upgrade progress proportion 404 of the current upgrade stage. The smaller one of the first refresh progress value 409 and the second refresh progress value 410 is taken as the refresh progress value 411 for updating the upgrade progress, so as to update the progress bar.

[0100] In the case of the data write-in stage, the second upgrade progress value 408 of the current upgrade stage can be obtained according to the ratio of the written firmware data amount 405 of the current upgrade stage to the total firmware data amount 406 of the current upgrade stage. The second refresh progress value 410 can be obtained according to the second upgrade progress value 408 and the upgrade progress proportion 404 of the current upgrade stage. The smaller one of the first refresh progress value 409 and the second refresh progress value 410 is taken as the refresh progress value 411 for updating the upgrade progress, so as to update the progress bar.

[0101] Therefore, the progress bar can cover the data write-in stage, the progress of the data write-in stage can be perceived, and the progress lag problem can be solved. Meanwhile, in the data write-in stage, it can be ensured that the progress is not skipped due to too fast writing, and the smooth growth of the progress bar is ensured.

[0102] According to the embodiments of the present application, in the process of performing the upgrade on the device to be upgraded, the above method further comprises: in the case that the refresh time consumption of the current upgrade stage exceeds the historical refresh average time consumption of the current upgrade stage and is higher than a preset time threshold, triggering the upgrade state detection of the device to be upgraded to obtain a detection result; and according to the detection result, displaying prompt information matched with the detection result on the display interface. In the case that the current upgrade stage has been upgraded and the refresh time consumption of the current upgrade stage is lower than the historical refresh average time consumption of the current upgrade stage, the upgrade progress of the progress bar is uniformly adjusted from the current progress to the progress required for completing the upgrade of the current upgrade stage within a preset time.

[0103] For example, in the case that the refresh time consumption of the current upgrade stage is much higher than the historical refresh average time consumption, the upgrade state detection of the device to be upgraded can be triggered.

[0104] The preset time threshold can be a time length exceeding the historical refresh average time consumption by a certain range, for example, the preset time threshold can be 2 times of the historical refresh average time consumption. In the case that the refresh time consumption of the current upgrade stage is greater than 2 times of the historical refresh average time consumption, the upgrade state detection of the BMC can be triggered, which includes but is not limited to the network communication state detection, the hardware device state detection, etc.

[0105] If the detection result is normal, the prompt information can be "refreshing is being carried out normally, please wait patiently", and if the detection result is abnormal, the prompt information can be "refreshing can be abnormal, it is suggested to check the state after waiting for 5 minutes".

[0106] In the case that the refresh time consumption of the current upgrade stage is far lower than the historical refresh average time consumption, for example, when the data writing stage is in the case that the firmware data amount has been written for more than 95%, the progress calculated by time is still lower than 50%. Or, in the case that the data writing stage is in the case that the end signal of the current upgrade stage is detected but the display according to the historical refresh average time consumption shows that the upgrade is not completed, that is, the actual current upgrade stage has been completed but the progress of the progress bar shows that the upgrade is not completed, the upgrade progress of the progress bar can be uniformly adjusted from the current progress to the progress required for completing the upgrade of the current upgrade stage within a preset time, so that the progress of the progress bar is prevented from jumping.

[0107] Figure 5 A block diagram of a display device of an upgrade progress according to an embodiment of the present application is shown.

[0108] As shown in Figure 5 The display device 500 of the upgrade progress includes a division module 510, a first determination module 520, a second determination module 530 and a display module 540.

[0109] The division module 510 is configured to divide the upgrade process of the device to be upgraded into a plurality of upgrade stages according to the writing state of the firmware data of the device to be upgraded in the upgrade process, wherein the plurality of upgrade stages include a data writing stage and at least two data non-writing stages.

[0110] The first determination module 520 is configured to determine the historical refresh average time consumption of each of the plurality of upgrade stages and the upgrade progress proportion of each of the plurality of upgrade stages in the upgrade process.

[0111] The second determination module 530 is configured to determine a refresh progress value of the current upgrade stage based on the refresh time consumption of the current upgrade stage, the historical refresh average time consumption of the current upgrade stage and the upgrade progress proportion of the current upgrade stage in the process of performing the upgrade on the device to be upgraded.

[0112] The display module 540 is configured to display the upgrade progress of the device to be upgraded on the progress bar of the display interface based on the refresh progress value.

[0113] According to an embodiment of the present application, the second determination module 530 includes a first determination sub-module, a second determination sub-module and a third determination sub-module.

[0114] The first determination sub-module is configured to determine a first upgrade progress value of the current upgrade stage according to the ratio of the refresh time consumption of the current upgrade stage to the historical refresh average time consumption of the current upgrade stage.

[0115] The second determining sub-module is configured to determine a first refresh progress value based on the first upgrade progress value of the current upgrade stage and the upgrade progress ratio of the current upgrade stage.

[0116] The third determining sub-module is configured to determine the first refresh progress value as the refresh progress value in a case where the current upgrade stage is determined to be the no-data writing stage.

[0117] According to the embodiments of the present application, the display device 500 of the upgrade progress further comprises a fourth determining sub-module, a fifth determining sub-module and a sixth determining sub-module.

[0118] The fourth determining sub-module is configured to determine a second refresh progress value of the current upgrade stage according to a ratio of the amount of the written firmware data to the total amount of the firmware data in a case where the current upgrade stage is determined to be the data writing stage.

[0119] The fifth determining sub-module is configured to determine a second refresh progress value based on the second upgrade progress value of the current upgrade stage and the upgrade progress ratio of the current upgrade stage.

[0120] The sixth determining sub-module is configured to determine the smaller one of the first refresh progress value and the second refresh progress value as the refresh progress value.

[0121] According to the embodiments of the present application, the first determining module 520 comprises a screening sub-module, a first calculating sub-module and a second calculating sub-module.

[0122] The screening sub-module is configured to screen a predetermined number of historical upgrade events from the plurality of historical upgrade events according to the upgrade results of the plurality of historical upgrade events respectively and the occurrence times of the plurality of historical upgrade events respectively.

[0123] The first calculating sub-module is configured to average the historical refresh time consumptions of the respective upgrade stages in the predetermined number of historical upgrade events respectively to obtain the historical refresh average time consumptions of the plurality of upgrade stages respectively.

[0124] The second calculating sub-module is configured to determine the upgrade progress ratio of the plurality of upgrade stages based on the historical refresh average time consumptions of the plurality of upgrade stages respectively and the total refresh time consumption of the plurality of upgrade stages.

[0125] According to the embodiments of the present application, the screening sub-module comprises a deleting unit and a screening unit.

[0126] The deleting unit is configured to perform deleting processing on the abnormal historical upgrade event in a case where the upgrade result represents an abnormal upgrade process, the abnormal upgrade process comprising at least one of upgrade interruption, upgrade failure and refresh time consumption abnormality.

[0127] The screening unit is configured to screen a predetermined number of historical upgrade events from the plurality of historical upgrade events in which the upgrade process is normal according to the occurrence time of the upgrade events.

[0128] According to an embodiment of the present application, the upgrade progress display device 500 further comprises an acquisition module, a calculation module and a third determination module.

[0129] The acquisition module is configured to acquire the respective predetermined initial refresh time consumption of the to-be-upgraded device at each upgrade stage in a case where the number of historical upgrade events is determined not to satisfy the predetermined number.

[0130] The calculation module is configured to perform weighted average processing on the predetermined initial refresh time consumption of each upgrade stage and the respective historical refresh time consumption of each upgrade stage to obtain the historical refresh average time consumption of each upgrade stage.

[0131] The third determination module is configured to determine the upgrade progress proportion of each upgrade stage based on the respective historical refresh average time consumption of the plurality of upgrade stages and the total refresh time consumption of the plurality of upgrade stages.

[0132] According to an embodiment of the present application, the upgrade progress display device 500 further comprises a fourth determination module and a fifth determination module.

[0133] The fourth determination module is configured to determine a first time point at which the current upgrade stage starts upgrading and a second time point at which the current upgrade stage completes upgrading in a case where it is determined that the start signal or the end signal of the current upgrade stage is detected.

[0134] The fifth determination module is configured to determine the refresh time consumption of the current upgrade stage based on the current time point of the upgrade process and the first time point.

[0135] According to an embodiment of the present application, the upgrade progress display device 500 further comprises a detection module, an improvement information display module and an adjustment module.

[0136] The detection module is configured to trigger the upgrade state detection of the to-be-upgraded device to obtain a detection result in a case where the refresh time consumption of the current upgrade stage is determined to exceed the historical refresh average time consumption of the current upgrade stage and is higher than a preset time threshold.

[0137] The improvement information display module is configured to display prompt information matched with the detection result on the display interface according to the detection result.

[0138] The adjustment module is configured to uniformly adjust the upgrade progress of the progress bar from the current progress to the progress required for the current upgrade stage to complete upgrading within a preset time in a case where the current upgrade stage is determined to have completed upgrading and the refresh time consumption of the current upgrade stage is lower than the historical refresh average time consumption of the current upgrade stage.

[0139] According to an embodiment of the present application, the display module comprises an accumulation submodule, an upgrade progress determination submodule and a display submodule.

[0140] The accumulation submodule is configured to determine an accumulated progress value before upgrading to the current upgrade stage according to the respective upgrade progress proportion of each of the plurality of upgrade stages.

[0141] The upgrade progress determination submodule is configured to determine the upgrade progress of the device to be upgraded according to the accumulated progress value and the refresh progress value of the current upgrade stage.

[0142] The display submodule is configured to display the upgrade progress of the device to be upgraded on the progress bar of the display interface.

[0143] According to an embodiment of the present application, any of the plurality of modules in the division module 510, the first determination module 520, the second determination module 530 and the display module 540 can be combined in one module, or any of the modules can be split into multiple modules. Alternatively, at least part of the function of one or more of the modules can be combined with at least part of the function of the other modules, and implemented in one module. According to an embodiment of the present application, at least one of the division module 510, the first determination module 520, the second determination module 530 and the display module 540 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on board, a system on package, an application specific integrated circuit (ASIC), or any other reasonable manner of hardware or firmware that can be integrated or packaged with a circuit, or implemented in any one of software, hardware and firmware or in an appropriate combination of any of them. Alternatively, at least one of the division module 510, the first determination module 520, the second determination module 530 and the display module 540 can be at least partially implemented as a computer program module that can perform the corresponding function when the computer program module is run.

[0144] Figure 6 A block diagram of an electronic device suitable for implementing the display method of the upgrade progress according to an embodiment of the present application is shown.

[0145] Figure 6 The electronic device shown is merely an example and should not impose any limitation on the function and use range of the embodiments of the present application.

[0146] Electronic devices are intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The first components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present application described and / or claimed herein.

[0147] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0148] Multiple first components in electronic device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of displays, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0149] The computing unit 601 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs various methods and processes described above, such as the display method of upgrade progress. For example, in some embodiments, the display method of upgrade progress can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded onto the RAM 603 and executed by the computing unit 601, one or more steps of the display method of upgrade progress described above can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the display method of upgrade progress by any other suitable means, such as by means of firmware.

[0150] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0151] Program code for carrying out methods of the present application can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable apparatus such that the program code, when executed by the processor or controller, causes the functions / acts specified in the flowcharts and / or block diagrams to be implemented. The program code can execute entirely on a machine, partly on a machine, as a stand-alone software package, partly on a machine and partly on a remote machine or entirely on a remote machine or server.

[0152] In the context of this application, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is 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 of the machine-readable storage medium would include a lined- up electrical connection, a portable computer diskette, 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.

[0153] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0154] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0155] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server incorporating a blockchain.

[0156] Those skilled in the art will appreciate that features recited in the various embodiments of the application can be combined and / or integrated in a variety of ways, even if such combinations or integrations are not expressly noted in the application. In particular, features recited in the various embodiments of the application can be combined and / or integrated in a variety of ways without departing from the spirit and teachings of the application. All such combinations and / or integrations are within the scope of the application.

[0157] The embodiments of the application described above are intended to be illustrative only. Such embodiments need not be practiced, therefore, in the manner described. Although each embodiment has been described and / or illustrated above, it should be understood that many variations and modifications of each embodiment can be made and would be within the scope of the present application. Many such variations and modifications can be made to the embodiments described and / or illustrated without departing from the spirit and teachings of the application.

Claims

1. A method for displaying upgrade progress, characterized in that, The display method includes: Based on the firmware data writing status of the device to be upgraded during the upgrade process, the upgrade process of the device to be upgraded is divided into multiple upgrade stages, including a data writing stage and at least two no-data writing stages. Determine the historical average refresh time for each of the multiple upgrade stages and the percentage of upgrade progress that each of the multiple upgrade stages represents in the upgrade process; During the upgrade process for the device, the refresh progress value for the current upgrade stage is determined based on the refresh time of the current upgrade stage, the historical average refresh time of the current upgrade stage, and the upgrade progress percentage of the current upgrade stage; and Based on the refresh progress value, the upgrade progress of the device to be upgraded is displayed on the progress bar of the display interface; Specifically, during the upgrade process for the device to be upgraded, the refresh progress value for the current upgrade stage is determined based on the refresh time of the current upgrade stage, the historical average refresh time of the current upgrade stage, and the upgrade progress percentage of the current upgrade stage. This includes: The first upgrade progress value of the current upgrade stage is determined based on the ratio of the refresh time of the current upgrade stage to the historical average refresh time of the current upgrade stage. The first refresh progress value is determined based on the first upgrade progress value of the current upgrade phase and the upgrade progress percentage of the current upgrade phase. If it is determined that the current upgrade stage is a no-data-write stage, the first refresh progress value is used as the refresh progress value; If the current upgrade stage is determined to be a data writing stage, the second refresh progress value of the current upgrade stage is determined based on the ratio of the amount of firmware data already written to the total amount of firmware data. The second refresh progress value is determined based on the second upgrade progress value of the current upgrade phase and the upgrade progress percentage of the current upgrade phase. The smaller of the first refresh progress value and the second refresh progress value is used as the refresh progress value.

2. The display method according to claim 1, characterized in that, Determine the historical average refresh time for each of the multiple upgrade stages and the percentage of upgrade progress for each of the multiple upgrade stages, including: Based on the upgrade results and the occurrence time of each of the multiple historical upgrade events, select a predetermined number of historical upgrade events from the multiple historical upgrade events; The average historical refresh time of each upgrade stage in the predetermined number of historical upgrade events is calculated to obtain the average historical refresh time of each of the multiple upgrade stages. Based on the historical average refresh time of each of the multiple upgrade stages and the total refresh time of the multiple upgrade stages, the upgrade progress percentage of the multiple upgrade stages is determined.

3. The display method according to claim 2, characterized in that, Based on the upgrade results and the timing of multiple historical upgrade events, a predetermined number of historical upgrade events are selected from these events, including: If the upgrade result indicates an abnormality in the upgrade process, the abnormal historical upgrade event shall be deleted. The abnormality in the upgrade process includes at least one of upgrade interruption, upgrade failure, and refresh time consumption abnormality. Based on the occurrence time of the upgrade event, a predetermined number of historical upgrade events are selected from multiple historical upgrade events that indicate a normal upgrade process.

4. The display method according to claim 2, characterized in that, The method further includes: If it is determined that the number of upgrades in multiple historical upgrade events does not meet the predetermined number, the predetermined initial refresh time of the device to be upgraded in each upgrade stage is obtained; The predetermined initial refresh time for each upgrade stage and the historical refresh time for each upgrade stage are weighted and averaged to obtain the historical average refresh time for each upgrade stage; and The upgrade progress percentage of each upgrade stage is determined based on the historical average refresh time of each of the multiple upgrade stages and the total refresh time of the multiple upgrade stages.

5. The display method according to claim 1, characterized in that, The method further includes: If it is determined that a start signal or a stop signal for the current upgrade phase has been detected, the first moment when the current upgrade phase begins and the second moment when the current upgrade phase is completed are determined. Based on the current moment of the upgrade process and the first moment, the refresh time of the current upgrade stage is determined.

6. The display method according to claim 1, characterized in that, The method further includes: If the refresh time of the current upgrade phase exceeds the historical average refresh time of the current upgrade phase and is higher than the preset time threshold, the upgrade status detection of the device to be upgraded is triggered, and the detection result is obtained. Based on the detection results, a prompt message matching the detection results is displayed on the display interface; If it is determined that the current upgrade phase has been completed and the refresh time of the current upgrade phase is lower than the historical average refresh time of the current upgrade phase, the upgrade progress of the progress bar will be adjusted from the current progress to the progress required to complete the current upgrade phase within a preset time.

7. The display method according to claim 1, characterized in that, Based on the refresh progress value, the upgrade progress of the device to be upgraded is displayed on the progress bar of the display interface, including: The cumulative progress value before reaching the current upgrade stage is determined based on the respective progress percentages of each upgrade stage. The upgrade progress of the device to be upgraded is determined based on the cumulative progress value and the refresh progress value of the current upgrade stage; and The upgrade progress of the device to be upgraded is displayed on the progress bar of the display interface.

8. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the display method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Firmware upgrading method and device, electronic equipment and computer readable storage medium

    CN111752583A

  • Firmware upgrading method and device, equipment and storage medium

    CN117632198A