CN110806888A - Application program upgrading method and device and electronic equipment - Google Patents

Application program upgrading method and device and electronic equipment Download PDF

Info

Publication number
CN110806888A
CN110806888A CN201911340761.0A CN201911340761A CN110806888A CN 110806888 A CN110806888 A CN 110806888A CN 201911340761 A CN201911340761 A CN 201911340761A CN 110806888 A CN110806888 A CN 110806888A
Authority
CN
China
Prior art keywords
executable file
main executable
application program
upgrading
name
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.)
Pending
Application number
CN201911340761.0A
Other languages
Chinese (zh)
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911340761.0A priority Critical patent/CN110806888A/en
Publication of CN110806888A publication Critical patent/CN110806888A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention provides an application program upgrading method and device and electronic equipment, and belongs to the technical field of application programs. The application program upgrading method comprises the following steps: downloading and decompressing an upgrade installation package of the target application program to acquire a new version program file of the target application program; storing a second main executable file in the new version program file in a first folder; storing second program files except the second main executable file in the new version program files in a second folder; and under the condition of meeting the preset condition, replacing the first main executable file with the second main executable file to finish upgrading. The technical scheme provided by the embodiment of the invention can reduce the influence of the upgrading operation on the application program used by the user.

Description

Application program upgrading method and device and electronic equipment
Technical Field
The present invention relates to the technical field of application programs, and in particular, to an application program upgrading method and apparatus, and an electronic device.
Background
With the development of scientific technology and the increase in user demand, application programs having various functions have been developed. The development of the application program is convenient for users to use. For example, the application program with the function of beautifying can enable the user to obtain more beautiful portrait photos; for another example, the application program with online payment can facilitate daily fee payment of the user, and cash use is omitted.
With the development of the original functions and the new functions of the application program by the developer, a new version of the application program is released. In this case, if the user wants to enjoy a better function of the application, the application needs to be upgraded.
In the prior art, when a new version application program is installed, an upgrade installation package needs to be downloaded and decompressed to obtain a new version program file, and for version upgrade, the new version program file is generally stored in a folder where an old version program file is located by default, so that the old version program file needs to be deleted first, then the upgrade installation package is decompressed to obtain the new version program file, and the new version program file is stored in the folder. For the upgrading process in the prior art, the processing process is complex and time-consuming. Before the upgrade is not completed, the user cannot use the application program, and the user has a long waiting time to influence the use of the application program by the user.
Disclosure of Invention
The invention provides an upgrading method and device of an application program and electronic equipment, and aims to solve the problem that the upgrading of the current application program is long in time consumption to a certain extent.
In a first aspect of the present invention, there is provided an application program upgrading method, including:
downloading and decompressing an upgrade installation package of a target application program to acquire a new version program file of the target application program;
storing a second main executable file in the new version program file in a first folder; storing second program files, except the second main executable file, in the new version program files in a second folder; before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, and the name of the first main executable file is different from that of the second main executable file in the first folder; storing first program files except the first main executable file in a third folder in the old version program files, wherein the second folder and the third folder are different folders;
under the condition that a preset condition is met, replacing the first main executable file with the second main executable file to finish upgrading; wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
Optionally, the storing the second main executable file in the new version program file in the first folder includes:
modifying the first name of the second main executable file into a second name;
storing the second main executable file with the modified name and the first main executable file into the first folder; wherein the name of the first main executable file is the first name.
Optionally, before the modifying the first name of the second main executable file into the second name, the upgrading method of the application program further includes:
detecting the running state of the target application program;
and under the condition that the target application program is detected to be in a starting state, executing the step of modifying the first name of the second main executable file into a second name.
Optionally, in the case that a preset condition is met, replacing the first main executable file with the second main executable file to complete upgrading, including:
and under the condition that the preset condition is met, modifying the first name of the first main executable file into a third name, modifying the second name of the second main executable file into the first name, and finishing upgrading.
Optionally, after completing the upgrade, the method for upgrading the application program further includes:
and deleting the old version program file and the third folder under the condition that the upgraded target application program is detected to be in a closed state.
In a second aspect of the present invention, there is provided an apparatus for upgrading an application program, including:
the first upgrading module is used for downloading and decompressing an upgrading installation package of a target application program and acquiring a new version program file of the target application program;
the second upgrading module is used for storing a second main executable file in the new version program file into a first folder; storing second program files, except the second main executable file, in the new version program files in a second folder; before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, and the name of the first main executable file is different from that of the second main executable file in the first folder; storing first program files except the first main executable file in a third folder in the old version program files, wherein the second folder and the third folder are different folders;
the third upgrading module is used for replacing the first main executable file with the second main executable file under the condition that a preset condition is met, and upgrading is completed; wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
Optionally, the second upgrade module includes:
the first upgrading unit is used for modifying the first name of the second main executable file into a second name;
the second upgrading unit is used for storing the second main executable file with the modified name and the first main executable file into the first folder; wherein the name of the first main executable file is the first name.
Optionally, the apparatus for upgrading an application further includes:
the detection module is used for detecting the running state of the target application program;
and the control module is used for controlling the first upgrading unit to execute the step of modifying the first name of the second main executable file into a second name under the condition that the detection module detects that the target application program is in a starting state.
Optionally, the third upgrade module includes:
and the third upgrading unit is used for modifying the first name of the first main executable file into a third name and modifying the second name of the second main executable file into the first name under the condition that the preset condition is met, so that upgrading is completed.
Optionally, the apparatus for upgrading an application further includes:
and the cleaning module is used for deleting the old version program file and the third folder under the condition that the upgraded target application program is detected to be in a closed state.
In a third aspect of the present invention, there is also provided an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the steps in the upgrading method of the application program when executing the program stored in the memory.
In a fourth aspect implemented by the present invention, there is also provided a computer-readable storage medium, on which a computer program is stored, which when executed by a processor, implements the method for upgrading an application program as described above.
In a fifth aspect of the embodiments of the present invention, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the method for upgrading an application program as described above.
Aiming at the prior art, the invention has the following advantages:
in the embodiment of the invention, when the application program is upgraded, the upgrade installation package is downloaded and decompressed to obtain the new version program file. The main executable program in the new version program file and the main executable program in the old version program file are stored in the same folder; and the program files except the main executable file in the old version program file and the program files except the main executable file in the new version program file are respectively stored in different folders. Because the first program file and the second program file are not in the same folder, the first program file and the second program file do not conflict with each other, and the names of the main executable files of the new version and the old version are different, so the first program file and the second program file do not conflict with each other, and the new version program file does not influence the operation of the old version application program.
For the subsequent upgrading process provided by the embodiment of the invention, under the condition of meeting the preset condition, the upgrading can be completed by replacing the old version of the main executable file with the new version of the main executable file, and the upgrading process is simple, fast and short in time consumption.
As can be seen from the foregoing analysis, the application upgrading method provided in the embodiment of the present invention may complete part of the upgrading operations, and then complete the remaining upgrading operations when a suitable time is reached. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when the appropriate time is waited for, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, and the influence of the upgrading operation on the use of the application program by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly described below.
Fig. 1 is a schematic flowchart of an application program upgrading method according to an embodiment of the present invention;
fig. 2 is a schematic flowchart of another method for upgrading an application according to an embodiment of the present invention;
FIG. 3 is a schematic block diagram of a system provided by an embodiment of the present invention;
FIG. 4 is a schematic flow chart of an example provided by an embodiment of the present invention;
fig. 5 is a block diagram of an application program upgrading apparatus according to an embodiment of the present invention;
fig. 6 is a block diagram of an upgrading apparatus for an application according to another embodiment of the present invention;
fig. 7 is a block diagram of an electronic device provided in an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
Fig. 1 is a schematic flowchart of an application program upgrading method according to an embodiment of the present invention. As shown in fig. 1, the method for upgrading the application program may include:
step 101: and downloading and decompressing the upgrade installation package of the target application program to acquire a new version program file of the target application program.
In the embodiment of the invention, when the target application program is detected to have a new version, prompt information can be generated and displayed to remind a user whether to confirm the upgrade, the upgrade installation package is downloaded when the upgrade confirmation operation input by the user is received, and after the upgrade installation package is downloaded, the decompression is automatically carried out to obtain a new version program file of the target application program so as to carry out the version upgrade; and when the target application program is detected to have a new version, the upgrade installation package can be automatically downloaded and decompressed, and a new version program file of the target application program is obtained. In particular, the method may be selected according to actual requirements, and the embodiment of the present invention does not limit this.
The target application described herein may be any application installed in the electronic device. Electronic devices described herein include, but are not limited to: notebook computers, desktop computers, vehicle-mounted terminals, mobile phones, tablet computers, personal digital assistants, wearable devices, and the like.
Step 102: storing a second main executable file in the new version program file in a first folder; and storing the second program files except the second main executable file in the new version program files in a second folder.
Before the second main executable file is stored in the first folder, the first main executable file in the old version program file is also saved in the first folder. In the first folder, the name of the first main executable file is different from the name of the second main executable file. The first program files except the first main executable file in the old version program files are stored in a third folder, and the second folder and the third folder are different folders. The old version program file is a program file of a target application program stored in the electronic device before the new version program file is obtained.
In the embodiment of the invention, the main executable files in the new version program file and the old version program file are stored in the same folder (namely the first folder), and the conflict between the two files is avoided through different names. And other program files except the main executable file in the new and old version program files are respectively stored in different folders to avoid the conflict between the files. Therefore, the new version program file does not influence the operation of the old version application program, so that the upgrading process is not limited to be carried out in the closed state of the old version application program, but also can be carried out in the operation process of the old version application program, the use of the old version application program by a user is not influenced, and the subsequent upgrading process does not need to be carried out immediately, and the upgrading is finished after waiting for a proper time. In addition, in the embodiment of the invention, the processing process of isolating the program file is simpler, the data processing amount is small, and the time consumption is short.
Optionally, the first main executable file and the second main executable file are stored in an installation directory, and the first program file and the second program file are stored in a working directory in the installation directory, that is, the first folder, the second folder, and the third folder are different folders. When the upgrade installation package is decompressed, a folder (namely a second folder) for storing the new version program file is created under the installation directory, and then the new version program file is stored in the folder. And establishing an association relationship between the first main executable file and the first program file, and establishing an association relationship between the second main executable file and the second program file.
Step 103: and under the condition of meeting the preset condition, replacing the first main executable file with the second main executable file to finish upgrading.
The preset conditions described herein may be: detecting the closing operation of the target application program, namely: the second main executable file can replace the first main executable file to complete the upgrade when detecting that the user actively quits the target application program of the old version. The user actively quits the target application program, which indicates that the user does not need to use the target application program at this time, so that the use of the target application program by the user is not influenced by performing the rest of upgrading operation at this time.
The preset conditions described herein may also be: detecting the starting operation of the target application program, namely: or, in the case that it is detected that the program entry of the old version of the target application program is triggered, before the first main executable file of the old version is not loaded, replacing the first main executable file with the second main executable file, and completing the upgrade. At this time, the second main executable file can be directly loaded, that is, the new version program file is started to work, and the operation parameters of the user are transferred to the new version program file. Due to the switching operation between the new version and the old version, the processing process is simple, the data volume is small, and therefore the method can be completed quickly. Experiments prove that the method can be completed only by 200ms generally, the consumed time is short, the user is difficult to perceive, and the waiting time is short. Therefore, even if the user quits the target application program due to misoperation and restarts the application program in a short time, the use of the application program by the user is not influenced due to program upgrading, and the user can directly use the application program of a new version when restarting the application program.
Optionally, replacing the first main executable file with the second main executable file may be: and deleting the first main executable file and reserving the second main executable file.
The application upgrading method provided by the embodiment of the invention can complete part of upgrading operation firstly, and then complete the rest of upgrading operation when the appropriate time is reached. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when waiting to reach a proper time, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, the influence of the upgrading operation on the application program used by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program is detected, the upgrading of the application program can be completed unconsciously by the user, and the user can be upgraded invisibly.
Fig. 2 is a schematic flowchart of another method for upgrading an application program according to an embodiment of the present invention. As shown in fig. 2, the method for upgrading the application program may include:
step 201: and downloading and decompressing the upgrade installation package of the target application program to acquire a new version program file of the target application program.
In the embodiment of the invention, when the target application program is detected to have a new version, a prompt message can be generated and displayed to remind a user whether to confirm the upgrade, and when the upgrade confirmation operation input by the user is received, the upgrade installation package is downloaded. And after the upgrade installation package is downloaded, automatically decompressing to obtain a new version program file of the target application program so as to upgrade the version. In the embodiment of the invention, when the target application program is detected to have a new version, the upgrade installation package can be automatically downloaded and decompressed, and a new version program file of the target application program is obtained so as to carry out version upgrade. It is understood that the two ways described above can be selected according to actual requirements, and the embodiments of the present invention do not limit this.
The target application described herein may be any application installed in the electronic device. Electronic devices described herein include, but are not limited to: notebook computers, desktop computers, vehicle-mounted terminals, mobile phones, tablet computers, personal digital assistants, wearable devices, and the like.
Step 202: and modifying the first name of the second main executable file into a second name, and storing the modified second main executable file and the first main executable file in the first folder.
The name of the first main executable file is a first name, and the first name is a main executable file in an old version program file of the target application program. The second main executable file is a main executable file in the new version program file of the target application program.
The main executable generally has a unique and identical name, whether it is an old version application or a new version application. When the application program is started, the main executable program is determined and loaded according to the unique name. For example, as shown in fig. 3, program entries for applications in a personal computer, such as desktop shortcuts, start menus, command lines, opening modes, etc., are associated with the main executable program having the unique name, i.e., the main executable program having the unique name is loaded when the applications are entered through the program entries. Therefore, the first main executable file and the second main executable file originally have the same name, but in order to enable the two files to be stored in the same folder at the same time without conflict, in the embodiment of the invention, the first name of the second main executable file is modified into the second name, and then the second main executable file modified into the second name and the first main executable file with the first name are stored in the first folder. For example, the first and second main executable file original names are: exe (i.e., first name), in order to allow two files to be stored in the same folder at the same time without conflict, the name of the second main executable file may be modified to: exe (i.e., second name), while the first main executable retains the original name. As shown in fig. 3, xyz.exe in the figure is a first main executable file, xyz _ new.exe in the figure is a second main executable file, folders in which xyz.exe and xyz _ new.exe are located are first folders, 1.0.0.1 in the figure is a third folder, and 1.0.0.2 in the figure is a second folder.
Alternatively, when modifying the file name of the second main executable file, the following rule may be set: the second main executable file is identical to the file name body of the first main executable file, for example, the file name bodies of the first main executable file are all 'xyz', and the file name of the second main executable file is added with a recognizable suffix, for example, 'new', compared with the file name of the first main executable file, so that the upgrading state of the target application program can be directly and quickly recognized in the upgrading process.
Step 203: and storing the second program files except the second main executable file in the new version program files in a second folder.
And storing the first program files except the first main executable file in the old version program files in a third folder, wherein the second folder and the third folder are different folders.
In the embodiment of the invention, the main executable files in the new version program file and the old version program file are stored in the same folder (namely the first folder), and the conflict between the two files is avoided through different names. And other program files except the main executable file in the new and old version program files are respectively stored in different folders to avoid the conflict between the files. Therefore, the new version program file does not influence the operation of the old version application program, so that the upgrading process is not limited to be carried out in the closed state of the old version application program, but also can be carried out in the operation process of the old version application program, the use of the old version application program by a user is not influenced, and the subsequent upgrading process does not need to be carried out immediately, and the upgrading is finished after waiting for a proper time. In addition, in the embodiment of the invention, the processing process of isolating the program file is simpler, the data processing amount is small, and the time consumption is short.
Step 204: and under the condition of meeting the preset condition, modifying the first name of the first main executable file into a third name, modifying the second name of the second main executable file into the first name, and finishing upgrading.
In the embodiment of the present invention, when performing an upgrade, a first name of a first main executable file is modified to a third name, a second name of a second main executable file is modified to the first name, for example, the first name xyz.exe of the first main executable file is modified to: and xyz _ old.exe, modifying the second name xyz _ new.exe of the second main executable file into the first name: exe, thereby causing the second main executable to replace the first main executable. Thus, when the target application program is restarted, the main executable file of the new version can be directly loaded.
Wherein the first name xyz.exe of the first main executable file is modified to: the purpose of persisting xyz _ old.exe is to: the first main executable file is used as a backup file, so that the first main executable file can be restarted when the upgrading fails, and the normal operation of the target application program is ensured.
The preset conditions described herein may be: detecting the closing operation of the target application program, namely: the second main executable file can replace the first main executable file to complete the upgrade when detecting that the user actively quits the target application program of the old version. The user actively quits the target application program, which indicates that the user does not need to use the target application program at this time, so that the use of the target application program by the user is not influenced by performing the rest of upgrading operation at this time.
The preset conditions described herein may also be: detecting the starting operation of the target application program, namely: or, in the case that it is detected that the program entry of the old version of the target application program is triggered, before the first main executable file of the old version is not loaded, replacing the first main executable file with the second main executable file, and completing the upgrade. At this time, the second main executable file can be directly loaded, that is, the new version program file is started to work, and the operation parameters of the user are transferred to the new version program file. Due to the switching operation between the new version and the old version, the processing process is simple, the data volume is small, and therefore the method can be completed quickly. Experiments prove that the method can be completed only by 200ms generally, the consumed time is short, the user is difficult to perceive, and the waiting time is short. Therefore, even if the user quits the target application program due to misoperation and restarts the application program in a short time, the use of the application program by the user is not influenced due to program upgrading, and the user can directly use the application program of a new version when restarting the application program, so that the user can realize the senseless upgrading.
The application upgrading method provided by the embodiment of the invention can complete part of upgrading operation firstly, and then complete the rest of upgrading operation when the appropriate time is reached. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when waiting to reach a proper time, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, the influence of the upgrading operation on the application program used by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program is detected, the upgrading of the application program can be completed unconsciously by the user, and the user can be upgraded invisibly.
Optionally, the first main executable file and the second main executable file are stored in an installation directory, and the first program file and the second program file are stored in a working directory in the installation directory, that is, the first folder, the second folder, and the third folder are different folders. When the upgrade installation package is decompressed, a folder (namely a second folder) for storing the new version program file is created under the installation directory, and then the new version program file is stored in the folder. And establishing an association relationship between the first main executable file and the first program file, and establishing an association relationship between the second main executable file and the second program file.
Optionally, before modifying the first name of the second main executable file into the second name, the method for upgrading the application program further includes:
in the embodiment of the invention, before the first name of the second main executable file is modified into the second name, the running state of the target application program can be detected. And under the condition that the target application program is detected to be in the starting state, modifying the first name of the second main executable file into a second name.
Under the condition that the target application program is in a closed state, the second main executable file can directly replace the first main executable file, namely, the first name xyz.exe of the first main executable file can be directly modified into: xyz _ old.exe, and the second main executable file is directly stored under the installation directory under the first name xyz.exe without performing the step of modifying the first name to the second name. However, when the target application program is in the starting state, the second main executable file cannot directly replace the first main executable file, and the step of modifying the first name of the second main executable file into the second name is performed at this time.
Optionally, after completing the upgrade, the method for upgrading the application program further includes: and deleting the old version program file and the second folder under the condition that the upgraded target application program is detected to be in a closed state.
In the embodiment of the present invention, in order to avoid occupation of the old version program file on the storage space, under the condition that the upgrade is successful and the upgraded target application program is in the closed state, a cleaning operation is performed to delete the old version program file and the folder (i.e., the third folder) storing the old version program file, so as to reduce occupation of the files on the memory space of the electronic device. The purpose of cleaning operation when the upgraded target application program is in a closed state is as follows: the problem that the user experiences when using the application program due to the fact that competitive consumption of resources such as a CPU (central processing unit), a memory and the like caused by cleaning operation is generated in the process of using the target application program is avoided.
In order to better understand the technical solutions provided by the embodiments of the present invention, an example is described below.
As shown in fig. 4, this example includes:
step 401, if it is detected that the application program a has a new version, an upgrade flow is automatically triggered, upgrade is started, an upgrade installation package is downloaded, and then step 402 is performed.
As shown in fig. 3, the executable file update.exe in the old version program file of the application program a may call update.dll, perform checking of the upgrade condition, and download the upgrade installation package when the upgrade condition is satisfied. Wherein, update.exe is an upgrading main program, and update.dll is a calling program for realizing upgrading service.
Step 402, starting the upgrade installation package, creating a folder with the name of 1.0.0.2 for storing the new version program files under the installation directory, writing all the program files in the new version program files except the second main executable file xyz.
As shown in fig. 3, after the upgrade installation package is downloaded, the upgrade installation package is decompressed through the upgrade installation package executable file (i.e., upgrade package. exe), so as to obtain a new version program file, and a folder named 1.0.0.2 is generated, and all the program files in the new version program file except for the second main executable file xyz.
Program files other than the first main executable file xyz.exe among the old version program files of the application program a are stored in a folder named 1.0.0.1. The first main executable file xyz.
Step 403: the operating state of the application a is determined, and then step 404 or step 405 is entered.
Step 404: if the application program A is detected to be in the closed state, the second main executable file xyz.
The second main executable file can replace the first main executable file in at least two ways as follows:
the first is that: the first main executable file xyz.exe under the installation directory can be directly deleted, the second main executable file xyz.exe replaces the first main executable file xyz.exe and is left under the installation directory to be used as a key conflict file during next version update, and the upgrading process is completed.
Secondly, the following steps: the name xyz.exe of the first main executable file may also be modified to: and the xyz _ old.exe is used as a backup, the second main executable file xyz.exe replaces the first main executable file and is reserved in the installation directory to be used as a key conflict file during next version updating, and the upgrading process is completed.
Wherein, when the second main executable file replaces the first main executable file, the process can be completed through update.
Step 405: if the application program A is detected to be in the starting state, modifying the name xyz.exe of the second main executable file to be: exe, then step 406 or step 407.
When the application program a is in a start state, the second main executable file xyz.exe cannot replace the first main executable file xyz.exe, and the upgrade package exe may modify the name xyz.exe of the second main executable file to: xyz _ new.exe, and storing the second main executable file xyz _ new.exe in the same folder as the first main executable file xyz.exe.
Step 406: and under the condition that the closing operation of the application program A is detected, modifying the name xyz.exe of the first main executable file into xyz _ old.exe, modifying the name xyz _ new.exe of the second main executable file into xyz.exe, and replacing the first main executable file with the second main executable file to finish the upgrading process.
As shown in fig. 3, when the detection application program exits, update.exe in the new version program file is called, so that the second main executable file replaces the first main executable file, and the upgrade process is completed.
Step 407: if the starting operation of the application program A is detected, the name xyz.exe of the first main executable file is modified to xyz _ old.exe, the name xyz _ new.exe of the second main executable file is modified to xyz.exe, the second main executable file replaces the first main executable file, and the parameters of the user operation are transferred to the new version program file.
Sometimes, the upgrade may not be performed at a time of waiting for the shutdown operation of the application program a, and if the application program a is still in the startup state, the user directly shuts down the electronic device, and in this case, the upgrade may be continued when the application program a is restarted. At this time, if it is detected that the second main executable file xyz _ new.exe exists, the update.exe in the new version program file is called, so that the second main executable file replaces the first main executable file, and the upgrading process is completed. In this way, although the user starts the old version application program, the user really uses the new version application program in the starting process of the application program because the upgrading is completed in the starting process, and the whole process does not need user intervention operation and consumes less time.
Finally, it should be noted that main.dll in fig. 3 is a main calling program, and is mainly used for implementing program services, such as a starting process, page interaction, a calling process, and the like.
In summary, the application upgrading method provided in the embodiment of the present invention may complete part of the upgrading operations, and then complete the remaining upgrading operations after waiting for a suitable time. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when waiting to reach a proper time, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, the influence of the upgrading operation on the application program used by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program is detected, the upgrading of the application program can be completed unconsciously by the user, and the user can be upgraded invisibly.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Fig. 5 is a block diagram of an application upgrading apparatus according to an embodiment of the present invention, and as shown in fig. 5, the image processing apparatus 500 may include:
the first upgrade module 501 is configured to download and decompress an upgrade installation package of a target application program, and obtain a new version program file of the target application program.
A second upgrade module 502, configured to store a second main executable file in the new version program file in a first folder; and storing second program files except the second main executable file in the new version program files in a second folder.
Before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, the name of the first main executable file is different from that of the second main executable file in the first folder, the first program files except the first main executable file in the old version program file are stored in a third folder, and the second folder and the third folder are different folders.
A third upgrading module 503, configured to replace the first main executable file with the second main executable file to complete upgrading when a preset condition is met.
Wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
The application upgrading device provided by the embodiment of the invention can complete part of upgrading operation firstly, and then complete the rest of upgrading operation when the appropriate time is reached. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when waiting to reach a proper time, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, the influence of the upgrading operation on the application program used by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program is detected, the upgrading of the application program can be completed unconsciously by the user, and the user can be upgraded invisibly.
Fig. 6 is a block diagram of an upgrading apparatus for another application according to an embodiment of the present invention, and as shown in fig. 6, the image processing apparatus 600 may include:
the first upgrade module 601 is configured to download and decompress an upgrade installation package of a target application program, and obtain a new version program file of the target application program.
A second upgrade module 602, configured to store a second main executable file in the new version program file in a first folder; and storing second program files except the second main executable file in the new version program files in a second folder.
Before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, the name of the first main executable file is different from that of the second main executable file in the first folder, the first program files except the first main executable file in the old version program file are stored in a third folder, and the second folder and the third folder are different folders.
A third upgrading module 603, configured to replace the first main executable file with the second main executable file to complete upgrading when a preset condition is met.
Wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
Optionally, the second upgrade module 602 includes:
a first upgrade unit 6021 configured to modify the first name of the second main executable file into a second name.
A second upgrade unit 6022, configured to store the second main executable file with the modified name in the first folder together with the first main executable file.
Wherein the name of the first main executable file is the first name.
Optionally, the apparatus for upgrading an application 600 further includes:
a detecting module 604, configured to detect an operating state of the target application.
A control module 605, configured to control the first upgrade unit 6021 to execute the step of modifying the first name of the second main executable file into a second name when the detection module 604 detects that the target application program is in a start state.
Optionally, the third upgrade module 603 includes:
a third upgrading unit 6031, configured to modify the first name of the first main executable file into a third name and modify the second name of the second main executable file into the first name when the preset condition is met, and complete upgrading.
Optionally, the apparatus for upgrading an application 600 further includes:
a cleaning module 606, configured to delete the old version program file and the third folder when it is detected that the upgraded target application program is in a closed state.
The application upgrading device provided by the embodiment of the invention can complete part of upgrading operation firstly, and then complete the rest of upgrading operation when the appropriate time is reached. For the partial upgrading operation which is completed firstly, the partial upgrading operation can be completed in the starting state of the application program and can also be completed in the closing state of the application program, and the use of the application program by a user is not influenced; and for the upgrading operation performed when waiting to reach a proper time, only the main executable file of the new version is needed to replace the main executable file of the old version, the upgrading speed is high, the time consumption is short, the influence of the upgrading operation on the application program used by the user can be reduced no matter the time is the exit of the application program or the starting operation of the application program is detected, the upgrading of the application program can be completed unconsciously by the user, and the user can be upgraded invisibly.
For the above device embodiments, since they are basically similar to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points.
An embodiment of the present invention further provides an electronic device, as shown in fig. 7, including a processor 701, a communication interface 702, a memory 703 and a communication bus 704, where the processor 701, the communication interface 702, and the memory 703 complete mutual communication through the communication bus 704.
A memory 703 for storing a computer program;
the processor 701 is configured to implement the following steps when executing the program stored in the memory 703:
downloading and decompressing an upgrade installation package of a target application program to acquire a new version program file of the target application program;
storing a second main executable file in the new version program file in a first folder; storing second program files, except the second main executable file, in the new version program files in a second folder; before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, the name of the first main executable file is different from that of the second main executable file in the first folder, the first program files except the first main executable file in the old version program file are stored in a third folder, and the second folder and the third folder are different folders;
under the condition that a preset condition is met, replacing the first main executable file with the second main executable file to finish upgrading; wherein the preset conditions at least include: and detecting the closing of the target application program or detecting the starting operation of the target application program.
Optionally, the storing, in a first folder, a first main executable file in the old version program file of the target application program and a second main executable file in the new version program file includes:
modifying the first name of the second main executable file into a second name;
storing the second main executable file with the modified name and the first main executable file into the first folder; wherein the name of the first main executable file is the first name.
Optionally, before the first name of the second main executable file is modified to the second name, when the processor 701 executes the program stored in the memory 703, the following steps are further implemented:
detecting the running state of the target application program;
and under the condition that the target application program is detected to be in a starting state, executing the step of modifying the first name of the second main executable file into a second name.
Optionally, in the case that a preset condition is met, replacing the first main executable file with the second main executable file to complete upgrading, including:
and under the condition that the preset condition is met, modifying the first name of the first main executable file into a third name, modifying the second name of the second main executable file into the first name, and finishing upgrading.
Optionally, after the upgrade is completed, when the processor 701 executes the program stored in the memory 703, the following steps are further implemented:
and deleting the old version program file and the third folder under the condition that the upgraded target application program is detected to be in a closed state.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the terminal and other equipment.
The Memory may include a Random Access Memory (RAM) or a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the device can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component.
In still another embodiment provided by the present invention, a computer-readable storage medium is further provided, which stores instructions that, when executed on a computer, cause the computer to execute the method for upgrading an application program described in the above embodiment.
In yet another embodiment provided by the present invention, a computer program product containing instructions is also provided, which when run on a computer, causes the computer to execute the method for upgrading an application program described in the above embodiment.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims (12)

1. An application program upgrading method, comprising:
downloading and decompressing an upgrade installation package of a target application program to acquire a new version program file of the target application program;
storing a second main executable file in the new version program file in a first folder; storing second program files, except the second main executable file, in the new version program files in a second folder; before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, and the name of the first main executable file is different from that of the second main executable file in the first folder; storing first program files except the first main executable file in a third folder in the old version program files, wherein the second folder and the third folder are different folders;
under the condition that a preset condition is met, replacing the first main executable file with the second main executable file to finish upgrading; wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
2. The method for upgrading an application program according to claim 1, wherein storing the second main executable file in the new version program file in the first folder comprises:
modifying the first name of the second main executable file into a second name;
storing the second main executable file with the modified name and the first main executable file in the first folder; wherein the name of the first main executable file is the first name.
3. The method for upgrading an application program according to claim 2, wherein before the modifying the first name of the second main executable file into the second name, the method for upgrading an application program further comprises:
detecting the running state of the target application program;
and under the condition that the target application program is detected to be in a starting state, executing the step of modifying the first name of the second main executable file into a second name.
4. The method for upgrading the application program according to claim 2, wherein in the case that a preset condition is met, replacing the first main executable file with the second main executable file to complete upgrading comprises:
and under the condition that the preset condition is met, modifying the first name of the first main executable file into a third name, modifying the second name of the second main executable file into the first name, and finishing upgrading.
5. The method for upgrading an application program according to claim 1, wherein after the upgrading is completed, the method for upgrading an application program further comprises:
and deleting the old version program file and the third folder under the condition that the upgraded target application program is detected to be in a closed state.
6. An apparatus for upgrading an application program, comprising:
the first upgrading module is used for downloading and decompressing an upgrading installation package of a target application program and acquiring a new version program file of the target application program;
the second upgrading module is used for storing a second main executable file in the new version program file into a first folder; storing second program files, except the second main executable file, in the new version program files in a second folder; before the second main executable file is stored in the first folder, a first main executable file in an old version program file is also stored in the first folder, and the name of the first main executable file is different from that of the second main executable file in the first folder; storing first program files except the first main executable file in a third folder in the old version program files, wherein the second folder and the third folder are different folders;
the third upgrading module is used for replacing the first main executable file with the second main executable file under the condition that a preset condition is met, and upgrading is completed; wherein the preset conditions at least include: detecting a closing operation of the target application program or detecting a starting operation of the target application program.
7. The apparatus for upgrading an application program according to claim 6, wherein the second upgrading module comprises:
the first upgrading unit is used for modifying the first name of the second main executable file into a second name;
the second upgrading unit is used for storing the second main executable file with the modified name and the first main executable file into the first folder; wherein the name of the first main executable file is the first name.
8. The apparatus for upgrading an application program according to claim 7, further comprising:
the detection module is used for detecting the running state of the target application program;
and the control module is used for controlling the first upgrading unit to execute the step of modifying the first name of the second main executable file into a second name under the condition that the detection module detects that the target application program is in a starting state.
9. The apparatus for upgrading an application program according to claim 7, wherein the third upgrading module comprises:
and the third upgrading unit is used for modifying the first name of the first main executable file into a third name and modifying the second name of the second main executable file into the first name under the condition that the preset condition is met, so that upgrading is completed.
10. The apparatus for upgrading an application program according to claim 6, further comprising:
and the cleaning module is used for deleting the old version program file and the third folder under the condition that the upgraded target application program is detected to be in a closed state.
11. An electronic device is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the steps of the method for upgrading an application program according to any one of claims 1 to 5 when executing the program stored in the memory.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a method of upgrading an application program as claimed in any one of claims 1 to 5.
CN201911340761.0A 2019-12-23 2019-12-23 Application program upgrading method and device and electronic equipment Pending CN110806888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911340761.0A CN110806888A (en) 2019-12-23 2019-12-23 Application program upgrading method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911340761.0A CN110806888A (en) 2019-12-23 2019-12-23 Application program upgrading method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN110806888A true CN110806888A (en) 2020-02-18

Family

ID=69493317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911340761.0A Pending CN110806888A (en) 2019-12-23 2019-12-23 Application program upgrading method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN110806888A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328284A (en) * 2020-11-13 2021-02-05 杭州萤石软件有限公司 Application program upgrading method, system, equipment and storage medium
CN112346765A (en) * 2020-11-06 2021-02-09 北京奇艺世纪科技有限公司 Application program upgrading method and device, electronic equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955702A (en) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 Method and device for installing and upgrading software
CN106502725A (en) * 2016-09-30 2017-03-15 歌尔科技有限公司 The upgrade method of application program, equipment and electronic equipment
CN107239295A (en) * 2016-03-29 2017-10-10 腾讯科技(深圳)有限公司 The method and software updating apparatus of a kind of software upgrading
CN107479933A (en) * 2017-08-21 2017-12-15 惠州Tcl移动通信有限公司 A kind of application program for mobile terminal upgrade method, storage device and mobile terminal
CN107506221A (en) * 2017-09-28 2017-12-22 阿里巴巴集团控股有限公司 Application program updating method, apparatus and equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955702A (en) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 Method and device for installing and upgrading software
CN107239295A (en) * 2016-03-29 2017-10-10 腾讯科技(深圳)有限公司 The method and software updating apparatus of a kind of software upgrading
CN106502725A (en) * 2016-09-30 2017-03-15 歌尔科技有限公司 The upgrade method of application program, equipment and electronic equipment
CN107479933A (en) * 2017-08-21 2017-12-15 惠州Tcl移动通信有限公司 A kind of application program for mobile terminal upgrade method, storage device and mobile terminal
CN107506221A (en) * 2017-09-28 2017-12-22 阿里巴巴集团控股有限公司 Application program updating method, apparatus and equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346765A (en) * 2020-11-06 2021-02-09 北京奇艺世纪科技有限公司 Application program upgrading method and device, electronic equipment and readable storage medium
CN112346765B (en) * 2020-11-06 2024-03-01 北京奇艺世纪科技有限公司 Application program upgrading method and device, electronic equipment and readable storage medium
CN112328284A (en) * 2020-11-13 2021-02-05 杭州萤石软件有限公司 Application program upgrading method, system, equipment and storage medium

Similar Documents

Publication Publication Date Title
US10242023B2 (en) Programming model for synchronizing browser caches across devices and web services
US9098370B2 (en) Apparatus and methods for improving uninstall process
US20150278033A1 (en) Terminal and application restoring method
CN105867947A (en) Data processing method and device after upgrades of preset applications
CN105740425A (en) File storage method and apparatus
CN107291481B (en) Component updating method, device and system
CN103631617A (en) Method and device for unloading system application on terminal equipment
CN109522500B (en) Webpage display method, device, terminal and storage medium
WO2002075531A1 (en) Method for loading and executing an application in an embedded environment
US20210271491A1 (en) Application processing method, device, electronic device and storage medium
CN109117153B (en) Application processing method, device, terminal and storage medium
CN110806888A (en) Application program upgrading method and device and electronic equipment
CN111666516A (en) Page loading method and device, electronic equipment and storage medium
CN112486552A (en) Server hot update method, device, equipment and storage medium
CN102968321A (en) Application program installation device and application program installation method
CN112181467B (en) Method and device for upgrading memory firmware of terminal, terminal and storage medium
CN111400091B (en) Factory setting restoration method, factory setting restoration device and mobile terminal
CN106155808B (en) Method and device for managing computer system resources
JP2007034623A (en) Detection method for computer virus, program, recording medium with its program stored and detection device for computer virus
CN109408155B (en) Application starting method and device
CN113138785A (en) Application program updating method and device
CN109976790B (en) Application updating method, device, terminal and storage medium
CN112667421A (en) Authorization detection method, device, terminal and storage medium
CN113721959A (en) Information processing method and device and electronic equipment
CN112100479A (en) Application access method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200218