CN109189442B - Updating method, system and electronic equipment - Google Patents

Updating method, system and electronic equipment Download PDF

Info

Publication number
CN109189442B
CN109189442B CN201811156178.XA CN201811156178A CN109189442B CN 109189442 B CN109189442 B CN 109189442B CN 201811156178 A CN201811156178 A CN 201811156178A CN 109189442 B CN109189442 B CN 109189442B
Authority
CN
China
Prior art keywords
data
update
updating
version
target software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811156178.XA
Other languages
Chinese (zh)
Other versions
CN109189442A (en
Inventor
朱庆友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811156178.XA priority Critical patent/CN109189442B/en
Publication of CN109189442A publication Critical patent/CN109189442A/en
Application granted granted Critical
Publication of CN109189442B publication Critical patent/CN109189442B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

The present disclosure provides an updating method, including obtaining at least two first update data when target software is in a first version, wherein the target software can be updated to a second version after the target software in the first version is installed with the at least two first update data in order, processing the at least two first update data, generating at least one second update data, wherein the number of the second update data is less than that of the first update data, and updating the target software to the second version based on the at least one second update data. The disclosure also provides an updating system and an electronic device.

Description

Updating method, system and electronic equipment
Technical Field
The disclosure relates to an updating method, an updating system and an electronic device.
Background
With the development of informatization and intellectualization, the intelligent terminal equipment provides great convenience for the life of people. The current intelligent terminal device is usually installed with a large amount of target software, including system target software and application target software with various functions, so as to provide convenient services for users. Over time, and with advances in technology, these target software also face the issue of updates. In some cases, since the user does not use the electronic device or some application target software in the electronic device for a period of time, there may be a plurality of continuous updates of the system target software or some application target software of the electronic device, resulting in poor user experience. Especially in case some updates require a restart of the electronic device, the user experience is severely affected.
Disclosure of Invention
One aspect of the present disclosure provides an updating method, including obtaining at least two first update data when target software is in a first version, wherein the target software can be updated to a second version after the target software in the first version is installed with the at least two first update data in order, processing the at least two first update data, generating at least one second update data, wherein the number of the second update data is less than that of the first update data, and updating the target software to the second version based on the at least one second update data.
Optionally, the first update data is data that requires the target software to be restarted after the target software is updated.
Optionally, the data of the target software is divided into a plurality of data blocks capable of being updated independently, and the processing the at least two pieces of first update data to generate at least one piece of second update data includes processing an update portion corresponding to one data block in the plurality of pieces of first update data, generating an update portion corresponding to the data block in the second update data, and merging the update portions corresponding to the respective data blocks to obtain at least one piece of second update data.
Optionally, the processing an update portion corresponding to one data block in a plurality of first update data, and the generating an update portion corresponding to the data block in second update data includes, in a case that a data block is a first type data block, acquiring an update portion corresponding to the data block in the latest first update data as an update portion corresponding to the data block in second update data, where the update portion corresponding to the first type data block is used to cover all data in the first type data block during update.
Optionally, the processing an update portion corresponding to one data block in a plurality of first update data, and the generating an update portion corresponding to the data block in second update data includes, in a case where the data block is a second type data block different from the first type data block, determining an update portion corresponding to the data block in the second update data based on the update portion corresponding to the data block in each first update data.
Optionally, the determining, based on the update portion corresponding to the data block in each first update data, the update portion corresponding to the data block in the second update data includes, if there are mutually offset update portions in the update portions corresponding to the data block in each first update data, determining, based on other update portions except the mutually offset update portions, the update portion corresponding to the data block in the second update data.
Optionally, when the target software is in the first version, acquiring the plurality of first update data includes performing the following operations in a loop until no more first update data can be acquired: the method comprises the steps of obtaining first updating data based on a current version identification, determining version information after the first updating data is installed, and modifying the version identification based on the version information after the first updating data is installed to be used as the current version identification for obtaining the first updating data.
Optionally, the obtaining of the first update data based on the current version identifier includes sending a obtaining request and receiving the first update data, where the obtaining request includes information that can be used to indicate a storage space of the electronic device, and the failure to obtain more first update data includes receiving first response information, where the first response information indicates that the storage space of the electronic device is not suitable for receiving more first update data.
Optionally, the failing to obtain more first update data includes receiving second response information indicating that the latest first update data has been obtained.
Another aspect of the disclosure provides an update system including an acquisition module, a processing module, and an update module. The device comprises an acquisition module and a processing module, wherein the acquisition module is used for acquiring at least two first updating data when target software is in a first version, and the target software can be updated to a second version after the target software of the first version is orderly installed with the at least two first updating data. And the processing module is used for processing the at least two first updating data and generating at least one second updating data, wherein the quantity of the second updating data is less than that of the first updating data. An update module to update the target software to the second version based on the at least one second update data.
Optionally, the first update data is data that requires the target software to be restarted after the target software is updated.
Optionally, the data of the target software is divided into a plurality of independently updatable data blocks, and the processing module includes a processing sub-module and a merging sub-module. And the processing submodule is used for processing the updating part corresponding to one data block in the plurality of first updating data and generating the updating part corresponding to the data block in the second updating data. And the merging submodule is used for merging the updating parts corresponding to the data blocks to obtain at least one second updating data.
Optionally, the processing sub-module includes a first processing unit, configured to, when a data block is a first type data block, obtain an updated portion corresponding to the data block in latest first update data as an updated portion corresponding to the data block in second update data, where the updated portion corresponding to the first type data block in the first update data is used to cover all data in the first type data block during updating.
Optionally, the processing sub-module includes a second processing unit, configured to, in a case that the data block is a second type data block different from the first type data block, determine an update portion corresponding to the data block in the second update data based on an update portion corresponding to the data block in each first update data.
Optionally, the second processing unit is configured to, in the update portions corresponding to the data blocks in each first update data, determine, if there are mutually offset update portions, an update portion corresponding to the data block in the second update data based on update portions other than the mutually offset update portions.
Optionally, the obtaining module is configured to perform the following operations in a loop until no more first update data can be obtained: the method comprises the steps of obtaining first updating data based on a current version identification, determining version information after the first updating data is installed, and modifying the version identification based on the version information after the first updating data is installed to be used as the current version identification for obtaining the first updating data.
Optionally, the obtaining of the first update data based on the current version identifier includes sending a obtaining request and receiving the first update data, where the obtaining request includes information that can be used to indicate a storage space of the electronic device, and the failure to obtain more first update data includes receiving first response information, where the first response information indicates that the storage space of the electronic device is not suitable for receiving more first update data.
Optionally, the failing to obtain more first update data includes receiving second response information indicating that the latest first update data has been obtained.
Another aspect of the disclosure provides an electronic device comprising a processor and a memory. The memory has stored thereon a computer program which, when executed by the processor, causes the processor to perform the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1 schematically shows an application scenario of an update method according to an embodiment of the present disclosure;
FIG. 2 schematically shows a flow chart of an update method according to an embodiment of the present disclosure;
FIG. 3A schematically shows a flow chart for processing the at least two first update data, generating at least one second update data, according to an embodiment of the present disclosure;
FIG. 3B schematically shows a flow chart for obtaining a plurality of first update data according to an embodiment of the disclosure;
FIG. 4 schematically illustrates a block diagram of an update system according to an embodiment of the disclosure; and
fig. 5 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
The embodiment of the disclosure provides an updating method, which includes acquiring at least two first updating data when target software is in a first version, wherein after the target software in the first version is orderly installed with the at least two first updating data, the target software can be updated to a second version, processing the at least two first updating data, generating at least one second updating data, wherein the number of the second updating data is less than that of the first updating data, and updating the target software to the second version based on the at least one second updating data.
Fig. 1 schematically shows an application scenario of an update method according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the target software is in a first version, and the current latest stable version is in a second version, and the target software needs to be updated from the first version to the second version. In practical applications, if the user does not update the software for a long time, or the user installs the software for the first time, or the software is updated frequently, multiple updates may be required to update the software to the second version. For example, on the basis of the first version, the update is performed to the first transitional version by the first update data 1, then the update is performed to the second transitional version by the first update data 2, and so on, and finally the update is performed to the second version by the first update data n-1. However, each update is independent, a progress bar which may be displayed only shows the progress of the update, and a user does not know how many updates are carried out later, and particularly, in some cases, after equipment or software is restarted after each update, a transition version can be effective to execute the next update, which seriously affects user experience.
The method of the embodiment of the disclosure can merge a plurality of first update data into the second update data, for example, merge all the first update data into one second update data, and update the first version into the second version based on the second update data, thereby reducing the update times and improving the user experience.
Fig. 2 schematically shows a flow chart of an update method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S210 to S230.
In operation S210, when the target software is in a first version, at least two pieces of first update data are obtained, where after the target software in the first version is installed in order, the target software can be updated to a second version.
In operation S220, the at least two first update data are processed to generate at least one second update data, wherein the number of the second update data is less than the number of the first update data.
In operation S230, the target software is updated to the second version based on the at least one second update data.
According to the method, the second updating data can be obtained by integrating the plurality of first updating data, and the target software is updated through the second updating data, so that the updating times are reduced, and the user experience is improved.
According to the embodiment of the present disclosure, the first update data is data that requires target software to be restarted after the target software is updated, that is, the target software is required to be restarted after each of the first update data is installed. Furthermore, installing each second update data typically also requires a target software reboot, but since the number of second update data is smaller than the number of first update data, the method of the embodiments of the present disclosure at least reduces the number of reboots. Alternatively, all the first update data may be processed as one second update data, and only one restart is required.
In some embodiments, the target software may be system software, and the reboot of the target software may result in the reboot of the system, and in other embodiments, the reboot of the target software does not require the system reboot, but the implementation of the transitional version requires the system reboot.
According to the embodiment of the disclosure, in the case that the data of the target software is divided into a plurality of independently updatable data blocks, processing the at least two first updating data and generating at least one second updating data may be implemented by the method as shown in fig. 3A.
Fig. 3A schematically shows a flow chart of processing the at least two first update data, generating at least one second update data according to an embodiment of the present disclosure.
In operation S310, an update portion corresponding to a data block in a plurality of first update data is processed, and an update portion corresponding to the data block in second update data is generated.
In operation S320, the update parts corresponding to the respective data blocks are merged to obtain at least one second update data.
For example, the target software includes a data block M and a data block N, and each of the first update data includes an update portion x for updating the data block M and an update portion y for updating the data block N. And processing the plurality of updating parts X to obtain the updating parts X, wherein the updating result of updating the data block M by using each updating part X in sequence is the same as the updating result of updating the data block M by using X. Similarly, processing the plurality of update sections Y results in the update section Y. And merging the updating part X and the updating part Y to obtain second updating data. It should be appreciated that the number of data blocks of the target software is not limited to two, and there may be any number of data blocks. The method aims at the data blocks divided in the target software, and improves the system efficiency by targeted integration.
According to the embodiment of the disclosure, the processing an update portion corresponding to one data block in a plurality of first update data, and the generating an update portion corresponding to the data block in second update data includes, in a case that a data block is a first type data block, acquiring an update portion corresponding to the data block in the latest first update data as an update portion corresponding to the data block in second update data, where the update portion corresponding to the first type data block in the first update data is used to cover all data in the first type data block during update.
According to the embodiment of the disclosure, when the first type data block is updated by using the first updating data, the data in the first type data block is directly overwritten by using the data in the first updating data, and is not related to the original data in the first type data block. Therefore, when there are a plurality of first update data, only the last first update data needs to be used to update the first-type data block. By the method of the embodiment of the disclosure, when the first-class data block is processed, the number of invalid updates can be reduced and the update efficiency can be improved due to the fact that a plurality of first update data are obtained.
According to the embodiment of the disclosure, the processing the update part corresponding to one data block in the plurality of first update data, and the generating the update part corresponding to the data block in the second update data includes, in a case where the data block is a second type data block different from the first type data block, determining the update part corresponding to the data block in the second update data based on the update part corresponding to the data block in each first update data.
According to the embodiment of the present disclosure, when the second type data block is updated by using the first updating data, the data in the second type data block is directly processed by using the data in the first updating data, so that the updating result is related to the original data in the second type data block. Therefore, when there are a plurality of first update data, it is necessary to update the second class data block with the respective first update data in sequence.
According to the embodiments of the present disclosure, the base is based onThe determining of the update portion of the second update data corresponding to the data block includes, for each update portion of the first update data corresponding to the data block, determining the update portion of the second update data corresponding to the data block based on update portions other than the update portions that cancel each other if there are update portions that cancel each other. For example, if there are four first update data A, B, C, D, the update portions corresponding to some second type data block are A respectively1、B1、C1、D1Wherein B is1And C1Is the opposite update data, in turn using B1And C1After updating, the second type data block does not change, therefore, only A can be used1And D1And (6) updating. By the method of the embodiment of the disclosure, when the second-class data block is processed, the number of invalid updates can be reduced and the update efficiency can be improved due to the fact that a plurality of first update data are obtained.
The method of the embodiment of the disclosure distinguishes that the first-class data block and the second-class data block are processed respectively, and can effectively improve the updating efficiency.
According to an embodiment of the present disclosure, when the target software is in the first version, acquiring the plurality of first update data includes performing the following operations in a loop until no more first update data can be acquired: the method comprises the steps of obtaining first updating data based on a current version identification, determining version information after the first updating data is installed, and modifying the version identification based on the version information after the first updating data is installed to be used as the current version identification for obtaining the first updating data. This is explained below with reference to fig. 3B.
Fig. 3B schematically shows a flowchart of obtaining a plurality of first update data according to an embodiment of the present disclosure.
As shown in fig. 3B, the method starts in operation S330.
In operation S330, a first update data is obtained based on the current version identification.
In operation S340, version information after the first update data is installed is determined.
In operation S350, the version identification is modified based on the version information after the first update data is installed as a current version identification for acquiring the first update data.
In operation S360, it is determined whether more first update data cannot be obtained, if no more first update data can be obtained, the process ends, otherwise, the process returns to operation S330, and continues to obtain other first update data.
In some embodiments, the target software can obtain the next first update data only when the target software is updated to the next version, and in other embodiments, the electronic device requests to obtain the first update data only when the electronic device is started, so that only one first update data can be obtained during each starting, and the next first update data can not be obtained after the target software is updated and restarted. The method takes the version information after the first updating data is installed as the current version information for obtaining the next first updating data, so that a plurality of first updating data can be obtained at one time.
According to the embodiment of the disclosure, the obtaining of the first update data based on the current version identifier includes sending a obtaining request and receiving the first update data, where the obtaining request includes information that can be used to indicate a storage space of the electronic device, and the failure to obtain more first update data includes receiving first response information that indicates that the storage space of the electronic device is not suitable for receiving more first update data. For example, after obtaining the ith first update data, 10M of available storage space remains, however, if obtaining the next first update data, at least 50M of available storage space is needed, and at this time, it is determined that no more first update data can be obtained. The method can judge the residual storage space in advance, and avoids the situation of insufficient storage space in the process of receiving the first updating data.
According to the embodiment of the present disclosure, the failure to acquire more first update data includes receiving second response information indicating that the latest first update data has been acquired. The second response information indicates that all the required first update data has been acquired and thus no more first update data is available.
Based on the same concept, the present disclosure also provides an updating system, and the updating system of the embodiment of the present disclosure is described below with reference to fig. 4.
FIG. 4 schematically shows a block diagram of an update system 400 according to an embodiment of the disclosure.
As shown in FIG. 4, the update system 400 includes an acquisition module 410, a processing module 420, and an update module 430. The update system 400 may perform the various methods described above.
The obtaining module 410, for example, executes the operation S210 described with reference to fig. 2 above, and is configured to obtain at least two first update data when the target software is in the first version, where after the target software in the first version sequentially installs the at least two first update data, the target software can be updated to the second version.
The processing module 420, for example, performs the operation S220 described with reference to fig. 2 above, and is configured to process the at least two first update data to generate at least one second update data, where the number of the second update data is less than the number of the first update data.
The updating module 430, for example, performs the operation S230 described with reference to fig. 2 above, for updating the target software to the second version based on the at least one second updating data.
According to the embodiment of the present disclosure, the first update data is data that requires the target software to be restarted after the target software is updated.
According to the embodiment of the disclosure, the data of the target software is divided into a plurality of data blocks which can be updated independently, and the processing module comprises a processing submodule and a merging submodule. And the processing submodule is used for processing the updating part corresponding to one data block in the plurality of first updating data and generating the updating part corresponding to the data block in the second updating data. And the merging submodule is used for merging the updating parts corresponding to the data blocks to obtain at least one second updating data.
According to the embodiment of the disclosure, the processing sub-module includes a first processing unit, configured to, when a data block is a first type data block, obtain an updated portion corresponding to the data block in latest first update data as an updated portion corresponding to the data block in second update data, where the updated portion corresponding to the first type data block in the first update data is used to cover all data in the first type data block during updating.
According to the embodiment of the disclosure, the processing sub-module includes a second processing unit, configured to, in a case where the data block is a second type data block different from the first type data block, determine an update portion corresponding to the data block in the second update data based on an update portion corresponding to the data block in each first update data.
According to the embodiment of the present disclosure, the second processing unit is configured to, among the update portions corresponding to the data blocks in each first update data, determine, if there are mutually offset update portions, an update portion corresponding to the data block in the second update data based on update portions other than the mutually offset update portions.
According to an embodiment of the present disclosure, the obtaining module is configured to perform the following operations in a loop until no more first update data can be obtained: the method comprises the steps of obtaining first updating data based on a current version identification, determining version information after the first updating data is installed, and modifying the version identification based on the version information after the first updating data is installed to be used as the current version identification for obtaining the first updating data.
According to the embodiment of the disclosure, the obtaining of the first update data based on the current version identifier includes sending a obtaining request and receiving the first update data, where the obtaining request includes information that can be used to indicate a storage space of the electronic device, and the failure to obtain more first update data includes receiving first response information that indicates that the storage space of the electronic device is not suitable for receiving more first update data.
According to the embodiment of the present disclosure, the failure to acquire more first update data includes receiving second response information indicating that the latest first update data has been acquired.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any number of the obtaining module 410, the processing module 420, the updating module 430, the processing sub-module, the combining sub-module, the first processing unit, and the second processing unit may be combined and implemented in one module, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the obtaining module 410, the processing module 420, the updating module 430, the processing sub-module, the combining sub-module, the first processing unit, and the second processing unit may 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 a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented by any one of three implementations of software, hardware, and firmware, or by a suitable combination of any several of them. Alternatively, at least one of the obtaining module 410, the processing module 420, the updating module 430, the processing sub-module, the merging sub-module, the first processing unit and the second processing unit may be at least partly implemented as a computer program module, which when executed may perform a corresponding function.
Fig. 5 schematically shows a block diagram of an electronic device 500 according to an embodiment of the disclosure. The computer system illustrated in FIG. 5 is only one example and should not impose any limitations on the scope of use or functionality of embodiments of the disclosure.
As shown in fig. 5, the electronic device 500 includes a processor 510 and a computer-readable storage medium 520. The electronic device 500 may perform a method according to an embodiment of the present disclosure.
In particular, processor 510 may include, for example, a general purpose microprocessor, an instruction set processor and/or related chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), and/or the like. The processor 510 may also include on-board memory for caching purposes. Processor 510 may be a single processing unit or a plurality of processing units for performing different actions of a method flow according to embodiments of the disclosure.
Computer-readable storage media 520, for example, may be non-volatile computer-readable storage media, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 520 may include a computer program 521, which computer program 521 may include code/computer-executable instructions that, when executed by the processor 510, cause the processor 510 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 521 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 521 may include one or more program modules, including for example 521A, modules 521B, … …. It should be noted that the division and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, and when these program modules are executed by the processor 510, the processor 510 may execute the method according to the embodiment of the present disclosure or any variation thereof.
According to an embodiment of the present disclosure, at least one of the obtaining module 410, the processing module 420, the updating module 430, the processing sub-module, the merging sub-module, the first processing unit, and the second processing unit may be implemented as a computer program module described with reference to fig. 5, which, when executed by the processor 510, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: 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), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (9)

1. An update method, comprising:
when target software is in a first version, acquiring at least two first update data, wherein after the target software of the first version is orderly installed with the at least two first update data, the target software can be updated to a second version, and the data of the target software comprises a plurality of independently-updated data blocks;
processing the at least two first updating data to generate at least one second updating data, wherein the number of the second updating data is less than that of the first updating data; and
updating the target software to the second version based on the at least one second update data;
wherein the processing the at least two first update data to generate at least one second update data comprises: processing an update part corresponding to one data block in a plurality of first update data, and generating an update part corresponding to the data block in second update data; and combining the updating parts corresponding to the data blocks to obtain at least one second updating data.
2. The method of claim 1, wherein the first update data is data that requires a reboot of the target software after the target software is updated.
3. The method of claim 2, wherein the processing of the updated portion of the plurality of first update data corresponding to a data block and the generating of the updated portion of the second update data corresponding to the data block comprises at least one of:
when a data block is a first type data block, acquiring an update part corresponding to the data block in the latest first update data as an update part corresponding to the data block in second update data, wherein the update part corresponding to the first type data block of the first update data is used for covering all data in the first type data block during update; or
In the case where the data block is a second type of data block different from the first type of data block, an update portion of the second update data corresponding to the data block is determined based on an update portion of each of the first update data corresponding to the data block.
4. The method of claim 3, wherein the determining the update portion of the second update data corresponding to the data block based on the update portion of each of the first update data corresponding to the data block comprises:
if there are mutually offset update portions among the update portions corresponding to the data blocks in each of the first update data, the update portion corresponding to the data block in the second update data is determined based on the other update portions other than the mutually offset update portions.
5. The method of claim 1, wherein obtaining the plurality of first update data while the target software is in the first version comprises looping through the following until no more first update data can be obtained:
acquiring first updating data based on the current version identification;
determining version information after installing the first update data; and
and modifying the version identification based on the version information after the first updating data is installed to be used as the current version identification for acquiring the first updating data.
6. The method of claim 5, wherein:
the acquiring of the first updating data based on the current version identification comprises sending an acquiring request and receiving the first updating data, wherein the acquiring request comprises information which can be used for representing the storage space of the electronic equipment;
the failure to obtain further first update data comprises receiving first response information indicating that the storage space of the electronic device is not suitable for receiving further first update data.
7. The method of claim 5, wherein the inability to obtain further first update data comprises:
second response information is received, the second response information indicating that the latest first update data has been obtained.
8. An update system, comprising:
the software updating method comprises the steps that an obtaining module is used for obtaining at least two first updating data when target software is in a first version, wherein after the target software in the first version is orderly installed with the at least two first updating data, the target software can be updated to a second version, and the data of the target software comprises a plurality of independently-updated data blocks;
the processing module is used for processing the at least two first updating data and generating at least one second updating data, wherein the number of the second updating data is less than that of the first updating data; and
an update module to update the target software to the second version based on the at least one second update data;
wherein the processing the at least two first update data to generate at least one second update data comprises: processing an update part corresponding to one data block in a plurality of first update data, and generating an update part corresponding to the data block in second update data; and combining the updating parts corresponding to the data blocks to obtain at least one second updating data.
9. An electronic device, comprising:
a processor; and
a memory having computer-readable instructions stored thereon that, when executed by the processor, cause the processor to:
when target software is in a first version, acquiring at least two first update data, wherein after the target software of the first version is orderly installed with the at least two first update data, the target software can be updated to a second version, and the data of the target software comprises a plurality of independently-updated data blocks;
processing the at least two first updating data to generate at least one second updating data, wherein the number of the second updating data is less than that of the first updating data; and
updating the target software to the second version based on the at least one second update data;
wherein the processing the at least two first update data to generate at least one second update data comprises: processing an update part corresponding to one data block in a plurality of first update data, and generating an update part corresponding to the data block in second update data; and combining the updating parts corresponding to the data blocks to obtain at least one second updating data.
CN201811156178.XA 2018-09-30 2018-09-30 Updating method, system and electronic equipment Active CN109189442B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811156178.XA CN109189442B (en) 2018-09-30 2018-09-30 Updating method, system and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811156178.XA CN109189442B (en) 2018-09-30 2018-09-30 Updating method, system and electronic equipment

Publications (2)

Publication Number Publication Date
CN109189442A CN109189442A (en) 2019-01-11
CN109189442B true CN109189442B (en) 2022-03-25

Family

ID=64908085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811156178.XA Active CN109189442B (en) 2018-09-30 2018-09-30 Updating method, system and electronic equipment

Country Status (1)

Country Link
CN (1) CN109189442B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475185A (en) * 2020-03-11 2020-07-31 苏州浪潮智能科技有限公司 Method and system for stably upgrading BMC (baseboard management controller) image across large versions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081536A (en) * 2010-12-30 2011-06-01 华为终端有限公司 Method for updating increment, and server
CN103927201A (en) * 2014-03-25 2014-07-16 优视科技有限公司 Method and device for updating game files
CN106708537A (en) * 2017-01-22 2017-05-24 百度在线网络技术(北京)有限公司 Application updating method and application updating device
CN108183960A (en) * 2017-12-29 2018-06-19 中国平安人寿保险股份有限公司 File updating method, server, storage medium and device based on CDN
CN108228216A (en) * 2018-01-02 2018-06-29 联想(北京)有限公司 Update method, information processing system and electronic equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256228A (en) * 2002-02-28 2003-09-10 Denso Corp Program rewriting device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081536A (en) * 2010-12-30 2011-06-01 华为终端有限公司 Method for updating increment, and server
CN103927201A (en) * 2014-03-25 2014-07-16 优视科技有限公司 Method and device for updating game files
CN106708537A (en) * 2017-01-22 2017-05-24 百度在线网络技术(北京)有限公司 Application updating method and application updating device
CN108183960A (en) * 2017-12-29 2018-06-19 中国平安人寿保险股份有限公司 File updating method, server, storage medium and device based on CDN
CN108228216A (en) * 2018-01-02 2018-06-29 联想(北京)有限公司 Update method, information processing system and electronic equipment

Also Published As

Publication number Publication date
CN109189442A (en) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109117169B (en) Method and device for repairing kernel vulnerability
US9727327B1 (en) Software distribution framework
US10831751B2 (en) Query parallelism method
US9110709B2 (en) Preserving changes to a configuration of a running virtual machine
US8914785B2 (en) Providing virtual appliance system firmware images
US20170322796A1 (en) Device and method for updating firmware and firmware update system
US9063894B2 (en) Cascade ordering
US20150242201A1 (en) Method for updating firmware and electronic device thereof
CN110007974B (en) Method and device applied to starting of operating system and electronic equipment
KR101748833B1 (en) Software failure locating method, apparatus and equipment
CN110213368B (en) Data processing method, data processing device and computer system
CN105138352B (en) Method and device for installing application plug-in
CN109189442B (en) Updating method, system and electronic equipment
CN111367583A (en) Service loading method and device, electronic equipment and medium
US10277667B2 (en) Method and apparatus for executing application based on open computing language
CN112650521A (en) Software development kit SDK (software development kit) hot repair method and device and electronic equipment
CN113515448A (en) Method and device for acquiring starting time information of application program
CN110417597B (en) Method and device for monitoring certificate, electronic equipment and readable storage medium
US10430173B2 (en) Techniques for updating components of a computer device while enabling components for availability
CN113127082A (en) Data processing method, server, service node, system and storage medium
CN110532099B (en) Resource isolation method and apparatus, electronic device, and medium
CN112882921B (en) Fault simulation method and device
CN110888649B (en) Application deployment method, application baseline creation method and device
CN109255641B (en) Business object processing method and device
US9880904B2 (en) Supporting multiple backup applications using a single change tracker

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant