CN102945182A - Application program updating method and device - Google Patents
Application program updating method and device Download PDFInfo
- Publication number
- CN102945182A CN102945182A CN2012105211813A CN201210521181A CN102945182A CN 102945182 A CN102945182 A CN 102945182A CN 2012105211813 A CN2012105211813 A CN 2012105211813A CN 201210521181 A CN201210521181 A CN 201210521181A CN 102945182 A CN102945182 A CN 102945182A
- Authority
- CN
- China
- Prior art keywords
- data file
- version
- new version
- file
- application program
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006870 function Effects 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims description 33
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 20
- 238000004891 communication Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
The invention relates to the field of network data communication and discloses an application program updating method and device. The device comprises an application shell unit and a memory unit, wherein the application shell unit further comprises a first shell sub unit and a second shell sub unit. The first shell sub unit is suitable for realizing the function of an application program by starting up a data file and supplying executive authority for the data file when the data file in the memory unit is an executable file; and the second shell sub unit is suitable for realizing the function of the application program according to user interface information and service logic information encapsulated in the data file when the data file in the memory unit is a non-executable file. By use of the technical scheme, the application program can be updated without user participation, i.e., users do not need the operations, in the prior art, of unloading an older version application program and installing a new version application program, so that the problem of cumbersome user operation during the process of application program updating is solved.
Description
Technical Field
The invention relates to the technical field of network data communication, in particular to an application program updating method and device.
Background
The application program refers to a user program based on an operating system on the terminal equipment. The terminal devices include personal computers, handheld devices, mobile phones, tablet computers, and the like, but are not limited to these categories.
Updating of an application refers to a process of replacing an old version of the application with a new version of the application, and generally comprises the following steps: 1. uninstalling the old version of the application program; 2. and installing the application program of the new version.
The main reasons for application updates (or upgrades as they may be) are: adding new functions, repairing bugs, improving product performance, etc.
The application update process in the prior art includes prompting a user that a new version needs to be updated, downloading a new version application package by the user, uninstalling the old version, and then installing the new version. Such updating operations are cumbersome, requiring the user to perform the uninstalling and installing actions each time the user updates, and increasing the complexity of the operations if the user updates frequently.
Disclosure of Invention
In view of the above, the present invention has been made to provide an application updating method and a corresponding application updating apparatus that overcome or at least partially solve the above problems.
According to an aspect of the present invention, there is provided an application program update method, including:
the application program consists of a shell program and a data file; wherein, the data file is packaged with the user interface and the service logic of the application program;
the shell program realizes the functions of the application program through the data file;
when the application program needs to be updated, the shell program acquires a new version of data file, and then the function of the application program is realized through the new version of data file;
wherein the data file is an executable file or a non-executable file;
when the data file is an executable file, the shell program realizes the function of the application program by starting the data file and giving the execution right to the data file; and when the data file is an unexecutable file, the shell program realizes the function of the application program according to the user interface information and the service logic information encapsulated in the data file.
Optionally, the data file is an executable file in a form of a dynamic link library; or the data file is a non-executable file in a text or picture form.
Optionally, when the data file is an executable file, a start interface for starting the data file and a close interface for closing the data file are defined in the data file.
Optionally, when the data file is an executable file, a version obtaining interface is further defined in the data file;
the shell program acquires the data file of the new version, and the functions of the application program are realized through the data file of the new version, wherein the functions comprise:
the shell program acquires the version information of the original data file through a version acquisition interface in the original data file, carries the version information in a version query request message and sends the version information to a server;
the shell program receives a version query response message returned by the server, and if the version query response message contains new version information, the new version data file is downloaded according to the new version information;
and the shell program closes the original data file through a closing interface in the original data file, starts the new version data file through a starting interface of the new version data file and gives the execution right to the new version data file.
Optionally, the data file is an unexecutable file, and the data file further includes version information;
the shell program acquires the data file of the new version, and the functions of the application program are realized through the data file of the new version, wherein the functions comprise:
the shell program acquires version information from an original data file;
the shell program carries the version information in a version query request message and sends the version information to a server;
the shell program receives a version query response message returned by the server, and if the version query response message contains new version information, the new version data file is downloaded according to the new version information;
and the shell program realizes the functions of the application program according to the user interface information and the service logic information encapsulated in the new version data file.
Optionally, before downloading the new version data file according to the new version information, the method further includes:
and the shell program prompts whether the user updates or not, and executes the step of downloading the new version data file according to the new version information when receiving an update confirmation instruction of the user.
According to another aspect of the present invention, there is provided an application updating apparatus, including: an application housing unit and a storage unit;
the storage unit is suitable for storing a data file which encapsulates the user interface and the service logic of the application program;
the application shell unit is suitable for realizing the functions of the application program through the data files in the storage unit; when the application program needs to be updated, the method is suitable for acquiring a new version of the data file and saving the new version of the data file into the storage unit, and then realizing the function of the application program through the new version of the data file in the storage unit;
wherein the application housing unit further comprises: a first housing subunit and a second housing subunit;
the first shell subunit is suitable for realizing the functions of the application program by starting the data file and giving the execution right to the data file when the data file in the storage unit is an executable file;
and the second shell subunit is suitable for realizing the function of the application program according to the user interface information and the service logic information encapsulated in the data file when the data file in the storage unit is the non-executable file.
Optionally, the storage unit is adapted to store data files in the form of a dynamic link library, or adapted to store data files in the form of text or pictures.
Optionally, the storage unit is further adapted to store a data file in the form of an executable file in which a start interface for starting the data file and a close interface for closing the data file are defined.
Optionally, the storage unit is further adapted to store a data file in the form of an executable file in which a start interface for starting the data file, a close interface for closing the data file, and a version acquisition interface are defined;
the application housing unit further comprises: a first download update subunit;
the first download updating subunit is suitable for acquiring the version information of the data file through the version acquisition interface of the data file in the form of the executable file in the storage unit, carrying the version information in a version query request message and sending the version query request message to the server, receiving a version query response message returned by the server, and downloading the data file in the form of the executable file of the new version according to the new version information and storing the data file in the storage unit if the version query response message contains the new version information;
the first shell subunit is further adapted to close the original data file in the form of an executable file in the storage unit through a closing interface in the original data file, start the new version data file in the form of an executable file in the storage unit through a starting interface in the new version data file, and give the new version data file execution rights.
Optionally, the storage unit is further adapted to store a data file in the form of a non-executable file containing version information;
the application housing unit further comprises: a second download update subunit;
the second downloading and updating subunit is suitable for acquiring version information from the data file in the form of the unexecutable file in the storage unit, carrying the version information in a version query request message, sending the version query request message to the server, receiving a version query response message returned by the server, and downloading the data file in the form of the unexecutable file of a new version according to the new version information and storing the data file in the storage unit if the version query response message contains the new version information;
and the second shell subunit is further adapted to implement the function of the application program according to the user interface information and the service logic information encapsulated in the new version data file in the form of the non-executable file in the storage unit.
Optionally, the application housing unit further comprises: a prompt subunit;
the prompting subunit is adapted to prompt the user whether to update before the first download updating subunit or the second download updating subunit downloads the new version data file according to the new version information, and notify the first download updating subunit or the second download updating subunit to download the new version data file according to the new version information when receiving an update confirmation instruction of the user.
The application program consists of a shell program and a data file, wherein the data file is packaged with a user interface and business logic of the application program, and the shell program realizes the functions of the application program through the data file; in the technical scheme that when the application program needs to be updated, the shell program acquires the data file of the new version, and then the function of the application program is realized through the data file of the new version, because the user interface and the service logic of the application program are encapsulated in the data file, the application program only needs to update the data file when being updated, the shell program does not need to be updated, the process of updating the data file is completed by the shell program, and a user does not need to participate, namely the user does not need to unload the application program of the old version and install the application program of the new version like the prior art, thereby solving the problem that the user operation is complicated in the process of updating 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
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 illustrates a flow diagram of an application update method according to one embodiment of the invention;
FIG. 2 illustrates a flow diagram of an application update process in scenario one in accordance with one embodiment of the present invention;
FIG. 3 illustrates a flow diagram of an application update process in scenario two, according to one embodiment of the invention;
FIG. 4 illustrates a flow diagram of an application update process in scenario two, according to one embodiment of the invention;
FIG. 5 is a block diagram illustrating an application update apparatus according to an embodiment of the present invention;
fig. 6 is a block diagram illustrating an application updating apparatus according to still another embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may 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 disclosure to those skilled in the art.
FIG. 1 shows a flow diagram of an application update method according to one embodiment of the invention. In this embodiment, the application program is composed of a shell program and a data file, and as shown in fig. 1, the application program updating method includes:
s110, the shell program realizes the functions of the application program through the data file, wherein the user interface and the service logic of the application program are packaged in the data file.
In an embodiment of the present invention, the data file may be an executable file or may also be a non-executable file.
In one embodiment of the invention, the data file may be an executable file in the form of a DLL (Dynamic Link Library). Alternatively, in another embodiment of the present invention, the data file may also be a non-executable file in the form of text or pictures.
S120, when the application program needs to be updated, the shell program acquires the data file of the new version, and then the function of the application program is realized through the data file of the new version.
In one embodiment of the invention, when the data file is an executable file, the shell program implements the functionality of the application by launching the data file and giving the data file execution rights. In another embodiment of the invention, when the data file is a non-executable file, the shell program implements the functionality of the application program according to the user interface information and the business logic information encapsulated in the data file.
In the embodiment of the invention, the client facing the user is a shell program, and how to display the specific interface and how to go the business logic is determined by the data file rather than the code. Therefore, when the application program needs to be upgraded, the shell program does not need to be updated, and only the latest data file needs to be downloaded. Because the shell program does not need to be updated and the process of updating the data file is completed by the shell program, the user does not need to participate, namely the user does not need to carry out the operations of uninstalling the application program of the old version and installing the application program of the new version like the prior art, thereby solving the problem that the user operation is complicated in the process of updating the application program.
The scheme of the invention is explained by taking an application program on a Windows operating system as an example: the application program on Windows operating system is based on MSI (Microsoft install Package) package, only some interfaces for starting and updating are needed when MSI package is made, the actual user interface and business logic are packaged in data file, the data file can be DLL but not limited to DLL. The MSI package created is the shell program described in this application. The shell program finds the corresponding entry in the data file and then loads and gives the execution right to complete the starting of the application program. When the application program needs to be updated, the shell program only needs to download the latest data file, and the new data file is given the execution right after the downloading is finished. The user does not need to uninstall the application program and install a new installation package, and can experience the function of the latest version of the application program without performing updating operation for the user.
As mentioned above, when an application needs to be updated, the shell needs to acquire a new updated data file. Typically, the new updated data file is downloaded from the server of the service provider of the application. The server of the service provider of the application is simply referred to herein as the server. The shell program needs to interact with the server. In one embodiment of the invention, the shell and the server communicate based on the HTTP protocol.
In an embodiment of the present invention, when the data file is an executable file, a start interface for starting the data file and a close interface for closing the data file are defined in the data file. In addition, for the convenience of updating, a version acquisition interface is also defined in the data file.
The following describes the technical solution of the present invention with three scenarios for updating an application.
Scene one
FIG. 2 shows a flowchart of an application update process in scenario one, according to one embodiment of the present invention. As shown in fig. 2, the method comprises the following steps:
step S201, the shell program sends a version query request carrying version information of the current data file to the server.
The current data file contains version information. When the current data file is an executable file, the shell program acquires the version information of the current data file by calling the version acquisition interface of the current data file. When the current data file is a text or a picture or other non-executable file, the shell program directly acquires the version information of the current data file. For example, the version of the current data file is 1.0.
Step S202, after receiving the version query request of the shell program, the server finds the data file with the local updated version by comparing the local data file version information, and returns the version query response containing the new version information to the shell program.
For example, in this step, the server finds that the local latest version is 1.1, which is newer than 1.0, and the information of the new version data file is carried in the version query response message and returned to the shell program. Here, the new version information includes: the version value of the new version data file and the download address of the new version data file. In one embodiment of the present invention, if there is a new version of the data file, a version header field is set in the query response message, and the value of the version header field is the version value of the new version of the data, such as 1.1, and the value of the version header field is the address of the new version of the data file is set in the query response message. If there is no new version of the data file, the version header field and the data file header field are not set in the query response message.
Step S203, the shell program finds that the version inquiry response message contains the new version information, and prompts the user whether to update.
In one embodiment of the invention, a WIN API MessageBox may be used, with the OK and Cancel buttons available for user selection.
In step S204, the user confirms the update.
For example, for clicking on the ok button to confirm the update.
And step S205, after receiving the confirmation update information of the user, the shell program requests the server to download the new version data file according to the new version information in the version inquiry response.
Specifically, the shell program requests the server to download the new version data file according to the address of the new version data file in the version inquiry response.
And step S206, downloading by the server, and obtaining a new version data file by the shell program through downloading.
If the data file is an executable file, the shell program performs the following steps S207-S209. If the data file is an unexecutable file, the shell program directly realizes the function of the application program according to the user interface information and the service logic information encapsulated in the new version data file without using the current original data file.
In step S207, the shell closes the current data file.
And when the current data file is an executable data file, the shell program closes the current data file by calling a closing interface of the current data file.
In step S208, the shell program loads the new version data file.
In step S209, the shell starts the new version data file.
And when the current data file is an executable data file, the shell program starts the new version data file by calling a starting interface of the new version data file.
In step S210, the user sees a new user interface.
In the process, the user can complete the updating only by selecting and confirming according to the prompt, and does not need to do other additional operations.
Scene two
FIG. 3 shows a flowchart of an application update process in scenario two, according to one embodiment of the present invention. As shown in fig. 3, the method comprises the following steps:
step S301, the shell program sends a version inquiry request carrying the version information of the current data file to the server.
For example, the version of the current data file is 1.0.
Step S302, after receiving the version query request of the shell program, the server finds the local data file without the updated version by comparing the local data file version information, and returns the version query response without the new version information to the shell program.
For example, in this step, if the server finds that the local latest version is also 1.0, the query response message informs that the current version 1.0 of the shell program is the latest version, and the update is not needed. Since no update is required, the shell does not need to perform an update operation.
Scene three
FIG. 4 shows a flowchart of an application update process in scenario two, according to one embodiment of the present invention. As shown in fig. 4, the method comprises the following steps:
step S401, the shell program sends a version inquiry request carrying the version information of the current data file to the server.
For example, the version of the current data file is 1.0.
Step S402, after receiving the version inquiry request of the shell program, the server finds the data file with local updated version by comparing the local data file version information, and returns the version inquiry response containing the new version information to the shell program.
For example, in this step, the server finds that the local latest version is 1.1, which is newer than 1.0, and the information of the new version data file is carried in the version query response message and returned to the shell program. Here, the new version information includes: the version value of the new version data file and the download address of the new version data file.
Step S403, the shell program finds that the version inquiry response message includes the new version information, and prompts the user whether to update.
In one embodiment of the invention, a WIN API MessageBox may be used, with the OK and Cancel buttons available for user selection.
In step S404, the user rejects the update. For example, for clicking a cancel button to reject an update, at which time the shell program does not need to perform an update operation.
For example, taking the development of a Windows notepad program as an example, the main interface of the notepad program is a Windows form, on which a text box is arranged, when designing here, the form and the business logic of the notepad program need to be packaged in a DLL, and the version needs to be marked, that is, the DLL is the data file of the notepad program. Then a set of defined interfaces needs to be implemented in the DLL of the notepad program:
INT WINAPI Start (void objects)// shell program starts DLL through the interface;
INT WINAPI Exit (void objects)// the shell program closes the DLL through the interface, and needs to be used when updating;
VERSION WINAPI GetVersion (), and/or used when the shell program obtains the VERSION of the DLL.
The shell program of the notepad program, when executed, loads and starts the DLL by calling INT WINAPI Start, and gives the DLL execution right, because of the execution right, the DLL can do many things, such as opening threads, windowing, accessing background data, and the like. The shell program obtains VERSION information of the DLL file by calling VERSION winapigneversion, and the shell program closes the DLL file by calling INTWINAPI Exit.
And creating a form of the notepad through a createwindowEx function, mounting a message pump, and unloading the style and the size of the form, the data volume and the function of the control and the like into the DLL. And its version is denoted 1.0.0.0 in DLL.
It is assumed that there is a hole in the DLL of version 1.0.0.0 and UNICODE encoded text cannot be supported. To solve this problem a new DLL was developed in which the vulnerability was fixed, identified with version 1.0.0.1. The new DLL is submitted to the server.
The shell program of the notebook program finds that the version of the DLL on the server is newer than the local version by active query or at the time of starting, so that the shell program downloads the new version of the DLL to the local, then calls the INT WINAPI Exit interface of the original DLL to unload the original DLL, and then calls the INTWINAPI Start interface of the new DLL to load and start the new DLL. Therefore, the version seen by the user is the version without the vulnerability, and the aim of updating is fulfilled. The user does not need to uninstall the entire program and then reinstall the MSI, and the user does not need to do anything other than confirm whether an update is needed.
Besides repairing bugs, the updating of the application program can also improve any aspect, such as modifying a user interface, adding functions and the like.
The technical scheme of the invention saves the trouble of downloading, updating, unloading and installing for the user, and the user can experience seamless updating.
Fig. 5 is a block diagram illustrating an application update apparatus according to an embodiment of the present invention. As shown in fig. 5, the application updating apparatus includes: a housing unit 501 and a storage unit 502 are applied.
The storage unit 502 is adapted to store a data file encapsulating a user interface and service logic of an application.
An application shell unit 501 adapted to implement the functions of an application program by data files in the storage unit 502; and when the application needs to be updated, the method is suitable for acquiring the new version of the data file and saving the data file to the storage unit 502, and then realizing the function of the application through the new version of the data file in the storage unit 502.
The apparatus shown in fig. 5 omits the process of downloading, uninstalling and installing the update by the user, so that the user can experience seamless update.
Fig. 6 is a block diagram illustrating an application updating apparatus according to still another embodiment of the present invention. As shown in fig. 6, the application updating apparatus includes: an application shell unit 601 and a storage unit 602.
The storage unit 602 is adapted to store data files encapsulating user interfaces and business logic of application programs.
An application shell unit 601 adapted to implement the functions of an application program by data files in the storage unit 602; and when the application needs to be updated, the method is suitable for acquiring the new version of the data file and saving the data file to the storage unit 602, and then implementing the function of the application through the new version of the data file in the storage unit 602.
Referring to fig. 6, the application case unit 610 includes: a first shell subunit 601, a second shell subunit 602, a first download update subunit 603, a second download update subunit 604, and a prompt subunit 605.
In one embodiment of the present invention, the application housing unit 610 may include the first housing subunit 601 and the second housing subunit 602, may include only the first housing subunit 601, or may include only the second housing subunit 602.
The first shell subunit 601 is adapted to implement the function of the application program by starting a data file in the storage unit 620 and giving the data file an execution right when the data file is an executable file.
The second housing subunit 602 is adapted to, when the data file in the storage unit 620 is an unexecutable file, implement the function of the application program according to the user interface information and the service logic information encapsulated in the data file.
In an embodiment of the invention, the storage unit 620 is adapted to store data files in the form of a dynamic link library, or to store data files in the form of text or pictures.
In an embodiment of the present invention, the storage unit 620 is adapted to store a data file in the form of an executable file in which a start interface for starting the present data file and a close interface for closing the present data file are defined.
In an embodiment of the present invention, the storage unit 620 is further adapted to store the data file in the form of an executable file in which a start interface for starting the data file, a close interface for closing the data file, and a version acquiring interface are defined. The application housing unit 610 includes at least: a first shell subunit 601 and a first download update subunit 603. The first download updating subunit 603 is adapted to obtain version information of the data file through the version obtaining interface of the data file in the form of the executable file in the storage unit 620, send the version information to the server by being carried in the version query request message, receive the version query response message returned by the server, and if the version query response message contains the new version information, download the data file in the form of the executable file in the new version according to the new version information and store the data file in the storage unit 620. The first shell subunit 601 is adapted to close the original data file in the form of an executable file in the storage unit 620 through a closing interface in the original data file, start the new version data file in the form of an executable file in the storage unit 620 through a starting interface in the new version data file, and give execution right to the new version data file, so as to implement the function of the application program.
In a further embodiment of the invention the storage unit 620 is adapted to hold the data file in the form of a non-executable file containing version information. The application housing unit 610 includes at least: a second shell sub-unit 602 and a second download update sub-unit 604. The second downloading and updating subunit 604 is adapted to obtain version information from the data file in the form of the non-executable file in the storage unit 620, send the version information to the server by being carried in the version query request message, receive the version query response message returned by the server, and download the data file in the form of the non-executable file in a new version according to the new version information and store the data file in the storage unit 620 if the version query response message contains the new version information. The second housing subunit 602 is adapted to implement the function of the application according to the user interface information and the service logic information encapsulated in the new version data file in the form of the non-executable file in the storage unit 620.
The prompting subunit 605 is adapted to prompt the user whether to update before the first download updating subunit 603 or the second download updating subunit 604 downloads the new version data file according to the new version information, and notify the first download updating subunit 603 or the second download updating subunit 604 of downloading the new version data file according to the new version information when receiving an update confirmation instruction from the user.
In the apparatus shown in fig. 6, how the specific interface of the application is displayed and how the business logic is run are determined by the data file in the storage unit. Therefore, when the application program needs to be upgraded, the application shell unit downloads the latest data file and stores the latest data file in the storage unit, and then the application shell unit realizes the function of the application program according to the new data file. Therefore, the user does not need to participate, and the problem of complex operation of the user in the updating process of the application program is solved.
In summary, the application according to the present invention is composed of a shell program and a data file, wherein the data file encapsulates a user interface and a service logic of the application, and the shell program implements a function of the application through the data file; in the technical scheme that when the application program needs to be updated, the shell program acquires the data file of the new version, and then the function of the application program is realized through the data file of the new version, because the user interface and the service logic of the application program are encapsulated in the data file, the application program only needs to update the data file when being updated, the shell program does not need to be updated, the process of updating the data file is completed by the shell program, and a user does not need to participate, namely the user does not need to unload the application program of the old version and install the application program of the new version like the prior art, thereby solving the problem that the user operation is complicated in the process of updating the application program.
It should be noted that:
the algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in an application update apparatus according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
Claims (12)
1. An application update method, the method comprising:
the application program consists of a shell program and a data file; wherein, the data file is packaged with the user interface and the service logic of the application program;
the shell program realizes the functions of the application program through the data file;
when the application program needs to be updated, the shell program acquires a new version of data file, and then the function of the application program is realized through the new version of data file;
wherein the data file is an executable file or a non-executable file;
when the data file is an executable file, the shell program realizes the function of the application program by starting the data file and giving the execution right to the data file; and when the data file is an unexecutable file, the shell program realizes the function of the application program according to the user interface information and the service logic information encapsulated in the data file.
2. The method of claim 1, wherein,
the data file is an executable file in a dynamic link library form;
or,
the data file is a non-executable file in the form of text or picture.
3. The method according to claim 1, wherein when the data file is an executable file, a start interface for starting the data file and a close interface for closing the data file are defined in the data file.
4. The method of claim 3, wherein when the data file is an executable file, a version acquisition interface is further defined in the data file;
the shell program acquires the data file of the new version, and the functions of the application program are realized through the data file of the new version, wherein the functions comprise:
the shell program acquires the version information of the original data file through a version acquisition interface in the original data file, carries the version information in a version query request message and sends the version information to a server;
the shell program receives a version query response message returned by the server, and if the version query response message contains new version information, the new version data file is downloaded according to the new version information;
and the shell program closes the original data file through a closing interface in the original data file, starts the new version data file through a starting interface of the new version data file and gives the execution right to the new version data file.
5. The method of claim 1, wherein the data file is a non-executable file and further comprises version information;
the shell program acquires the data file of the new version, and the functions of the application program are realized through the data file of the new version, wherein the functions comprise:
the shell program acquires version information from an original data file;
the shell program carries the version information in a version query request message and sends the version information to a server;
the shell program receives a version query response message returned by the server, and if the version query response message contains new version information, the new version data file is downloaded according to the new version information;
and the shell program realizes the functions of the application program according to the user interface information and the service logic information encapsulated in the new version data file.
6. The method of claim 4 or 5, wherein before downloading the new version data file according to the new version information, the method further comprises:
and the shell program prompts whether the user updates or not, and executes the step of downloading the new version data file according to the new version information when receiving an update confirmation instruction of the user.
7. An application update apparatus, the apparatus comprising: an application housing unit and a storage unit;
the storage unit is suitable for storing a data file which encapsulates the user interface and the service logic of the application program;
the application shell unit is suitable for realizing the functions of the application program through the data files in the storage unit; when the application program needs to be updated, the method is suitable for acquiring a new version of the data file and saving the new version of the data file into the storage unit, and then realizing the function of the application program through the new version of the data file in the storage unit;
wherein the application housing unit further comprises: a first housing subunit and a second housing subunit;
the first shell subunit is suitable for realizing the functions of the application program by starting the data file and giving the execution right to the data file when the data file in the storage unit is an executable file;
and the second shell subunit is suitable for realizing the function of the application program according to the user interface information and the service logic information encapsulated in the data file when the data file in the storage unit is the non-executable file.
8. The apparatus of claim 7, wherein,
the storage unit is suitable for storing data files in a dynamic link library form or data files in a text or picture form.
9. The apparatus of claim 7, wherein,
the storage unit is further suitable for storing the data file which is defined with an executable file form of a starting interface used for starting the data file and a closing interface used for closing the data file.
10. The apparatus of claim 9, wherein,
the storage unit is further suitable for storing the data files in the form of executable files, wherein a starting interface for starting the data file, a closing interface for closing the data file and a version acquisition interface are defined in the data files;
the application housing unit further comprises: a first download update subunit;
the first download updating subunit is suitable for acquiring the version information of the data file through the version acquisition interface of the data file in the form of the executable file in the storage unit, carrying the version information in a version query request message and sending the version query request message to the server, receiving a version query response message returned by the server, and downloading the data file in the form of the executable file of the new version according to the new version information and storing the data file in the storage unit if the version query response message contains the new version information;
the first shell subunit is further adapted to close the original data file in the form of an executable file in the storage unit through a closing interface in the original data file, start the new version data file in the form of an executable file in the storage unit through a starting interface in the new version data file, and give the new version data file execution rights.
11. The apparatus of claim 7, wherein,
the storage unit is further suitable for storing a data file in the form of a non-executable file containing version information;
the application housing unit further comprises: a second download update subunit;
the second downloading and updating subunit is suitable for acquiring version information from the data file in the form of the unexecutable file in the storage unit, carrying the version information in a version query request message, sending the version query request message to the server, receiving a version query response message returned by the server, and downloading the data file in the form of the unexecutable file of a new version according to the new version information and storing the data file in the storage unit if the version query response message contains the new version information;
and the second shell subunit is further adapted to implement the function of the application program according to the user interface information and the service logic information encapsulated in the new version data file in the form of the non-executable file in the storage unit.
12. The apparatus of claim 10 or 11, wherein the application housing unit further comprises: a prompt subunit;
the prompting subunit is adapted to prompt the user whether to update before the first download updating subunit or the second download updating subunit downloads the new version data file according to the new version information, and notify the first download updating subunit or the second download updating subunit to download the new version data file according to the new version information when receiving an update confirmation instruction of the user.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210521181.3A CN102945182B (en) | 2012-12-06 | 2012-12-06 | Application program update method and apparatus |
CN201610115046.7A CN105740027B (en) | 2012-12-06 | 2012-12-06 | Application program update method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210521181.3A CN102945182B (en) | 2012-12-06 | 2012-12-06 | Application program update method and apparatus |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610115046.7A Division CN105740027B (en) | 2012-12-06 | 2012-12-06 | Application program update method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102945182A true CN102945182A (en) | 2013-02-27 |
CN102945182B CN102945182B (en) | 2016-03-30 |
Family
ID=47728131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210521181.3A Active CN102945182B (en) | 2012-12-06 | 2012-12-06 | Application program update method and apparatus |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102945182B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981880A (en) * | 2012-12-06 | 2013-03-20 | 北京奇虎科技有限公司 | Method and device for realizing application program updating |
CN104123152A (en) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | Updating method and device for application program in mobile terminal and mobile terminal |
CN104516761A (en) * | 2015-01-12 | 2015-04-15 | 北京恒华伟业科技股份有限公司 | Desktop application updating method and device |
CN104636172A (en) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | Application upgrading method and device |
CN105159732A (en) * | 2015-10-13 | 2015-12-16 | 北京奇虎科技有限公司 | Method for installing or updating application program in mobile terminal and mobile terminal |
CN105389182A (en) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | Software upgrading method and apparatus |
CN105404522A (en) * | 2014-07-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Method for building intelligent terminal application program, device for building intelligent terminal application program and intelligent terminal |
CN105511927A (en) * | 2015-12-21 | 2016-04-20 | 上海华测导航技术股份有限公司 | Method for upgrading radio firmware |
CN105607935A (en) * | 2015-12-24 | 2016-05-25 | 北京奇虎科技有限公司 | Application updating method and terminal and server |
CN105677886A (en) * | 2016-01-18 | 2016-06-15 | 浪潮通用软件有限公司 | File updating method, device and system |
CN108762821A (en) * | 2017-04-18 | 2018-11-06 | 海马云(天津)信息技术有限公司 | Device and method, the electronic equipment of electronic equipment operation application |
CN115080141A (en) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | Data processing method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039196A1 (en) * | 2003-08-13 | 2005-02-17 | Sasidharan Prasanth Nalini | Method and system for using a library |
CN1859125A (en) * | 2006-03-31 | 2006-11-08 | 华为技术有限公司 | System and its method for central remote automatic upgrading software |
CN101848558A (en) * | 2010-02-02 | 2010-09-29 | 美商威睿电通公司 | Software and firmware updating method and applicable wireless internet access device thereof |
-
2012
- 2012-12-06 CN CN201210521181.3A patent/CN102945182B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039196A1 (en) * | 2003-08-13 | 2005-02-17 | Sasidharan Prasanth Nalini | Method and system for using a library |
CN1859125A (en) * | 2006-03-31 | 2006-11-08 | 华为技术有限公司 | System and its method for central remote automatic upgrading software |
CN101848558A (en) * | 2010-02-02 | 2010-09-29 | 美商威睿电通公司 | Software and firmware updating method and applicable wireless internet access device thereof |
Non-Patent Citations (1)
Title |
---|
高艳军: "数据安全管理系统加壳技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981880B (en) * | 2012-12-06 | 2015-12-09 | 北京奇虎科技有限公司 | A kind of method and apparatus realizing the renewal of application program |
CN102981880A (en) * | 2012-12-06 | 2013-03-20 | 北京奇虎科技有限公司 | Method and device for realizing application program updating |
CN104123152A (en) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | Updating method and device for application program in mobile terminal and mobile terminal |
CN105404522A (en) * | 2014-07-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Method for building intelligent terminal application program, device for building intelligent terminal application program and intelligent terminal |
CN104516761A (en) * | 2015-01-12 | 2015-04-15 | 北京恒华伟业科技股份有限公司 | Desktop application updating method and device |
CN104636172A (en) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | Application upgrading method and device |
CN104636172B (en) * | 2015-03-09 | 2019-02-05 | 联想(北京)有限公司 | A kind of application upgrade method and apparatus |
CN105159732B (en) * | 2015-10-13 | 2018-08-03 | 北京奇虎科技有限公司 | In mobile terminal installation or the method and mobile terminal of more new application |
CN105159732A (en) * | 2015-10-13 | 2015-12-16 | 北京奇虎科技有限公司 | Method for installing or updating application program in mobile terminal and mobile terminal |
CN105389182A (en) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | Software upgrading method and apparatus |
CN105511927A (en) * | 2015-12-21 | 2016-04-20 | 上海华测导航技术股份有限公司 | Method for upgrading radio firmware |
CN105607935A (en) * | 2015-12-24 | 2016-05-25 | 北京奇虎科技有限公司 | Application updating method and terminal and server |
CN105607935B (en) * | 2015-12-24 | 2019-12-13 | 北京奇虎科技有限公司 | Application program updating method, terminal and server |
CN105677886A (en) * | 2016-01-18 | 2016-06-15 | 浪潮通用软件有限公司 | File updating method, device and system |
CN108762821A (en) * | 2017-04-18 | 2018-11-06 | 海马云(天津)信息技术有限公司 | Device and method, the electronic equipment of electronic equipment operation application |
CN115080141A (en) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | Data processing method and system |
Also Published As
Publication number | Publication date |
---|---|
CN102945182B (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102945182A (en) | Application program updating method and device | |
CN102981880A (en) | Method and device for realizing application program updating | |
CN105740027A (en) | Application program updating method and device | |
CN109547570B (en) | Service registration method, device, registration center management equipment and storage medium | |
US9357378B1 (en) | Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device | |
US8607224B2 (en) | System for packaging native program extensions together with virtual machine applications | |
CN108376079B (en) | Automatic application updates | |
US8555280B2 (en) | Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform | |
CN107992308B (en) | Plug-in management method for android terminal application program | |
US9363622B1 (en) | Separation of client identification composition from customization payload to original equipment manufacturer layer | |
CN106293696B (en) | Method for displaying downloading and installing state of application program and corresponding device thereof | |
CN110945480A (en) | System and method for updating and loading applications | |
CN107291481B (en) | Component updating method, device and system | |
US9875109B2 (en) | Method and apparatus for generating user adaptive application in mobile terminal | |
CN103353845A (en) | Method and device for uploading and pushing script | |
CN107193609B (en) | Function module calling method and device in application and electronic equipment | |
CN106230977B (en) | A kind of client functionality loading method, system, client and server-side | |
CN114125028A (en) | Running method, device, equipment, storage medium and program product of micro application | |
CN110968331A (en) | Method and device for running application program | |
CN108563472B (en) | Service plug-in loading method and device based on multi-open application | |
US20240345829A1 (en) | Mobile service upgrade method and apparatus, and terminal | |
US10209978B1 (en) | Mobile application installation service on a mobile phone | |
CN105740006A (en) | Cross-platform service providing method of wearable intelligent device based on transparent computing | |
US11190523B1 (en) | Post-activation installation of custom applications with system privileges | |
CN106775790B (en) | Control calling method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |