CN111459531B - Application program upgrading method and device, electronic equipment and storage medium - Google Patents

Application program upgrading method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN111459531B
CN111459531B CN202010315297.6A CN202010315297A CN111459531B CN 111459531 B CN111459531 B CN 111459531B CN 202010315297 A CN202010315297 A CN 202010315297A CN 111459531 B CN111459531 B CN 111459531B
Authority
CN
China
Prior art keywords
installation package
package
application program
upgrade
incremental
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010315297.6A
Other languages
Chinese (zh)
Other versions
CN111459531A (en
Inventor
胡才华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010315297.6A priority Critical patent/CN111459531B/en
Publication of CN111459531A publication Critical patent/CN111459531A/en
Application granted granted Critical
Publication of CN111459531B publication Critical patent/CN111459531B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application program upgrading method, device, electronic equipment and storage medium relate to the technical field of Internet, a client obtains an incremental upgrading packet required by the application program upgrading from a server, and the incremental upgrading packet is used for representing upgrading data information of an installation packet containing second channel information; the client can modify the first channel information in the local installation package into second channel information to obtain the first installation package; and compared with the prior art, the method has the advantages that the server only needs to maintain one version of installation package by modifying the channel information of the local installation package stored by the client, and multiple installation packages are not required to be stored for different channel platforms, so that the maintenance difficulty of the application program during upgrading can be reduced.

Description

Application program upgrading method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of internet technologies, and in particular, to an application program upgrading method, an apparatus, an electronic device, and a storage medium.
Background
In some scenarios, due to the different vendors, it is often necessary to provide installation packages of different channel versions for the same application to provide users from different channels to upgrade the application.
However, the installation packages of a plurality of different channel versions need to be saved so as to upgrade the application programs of different versions, so that the maintenance difficulty is high.
Disclosure of Invention
The invention aims to provide an application program upgrading method, an application program upgrading device, electronic equipment and a storage medium, which can reduce maintenance difficulty during application program upgrading.
In order to achieve the above purpose, the technical scheme adopted in the application is as follows:
in a first aspect, the present application provides an application program upgrading method, which is applied to a client that establishes communication with a server, where an application program is running on the client, and the client further stores a local installation package corresponding to the application program, where the local installation package includes first channel information;
the method comprises the following steps:
obtaining an incremental upgrade package required by the application program upgrade from the server; the incremental upgrade package is used for representing upgrade data information of an installation package containing second channel information;
Modifying the first channel information in the local installation package into the second channel information to obtain a first installation package;
combining the first installation package and the incremental upgrade package to obtain a second installation package;
and running the second installation package to upgrade the application program.
In a second aspect, the present application provides an application program upgrading method, which is applied to a server that establishes communication with a client, where the server stores a standard installation package, and the standard installation package includes second channel information; the method comprises the following steps:
receiving a local version number sent by the client; the local version number characterizes version information of an application program running on the client;
according to the local version number and the standard installation package, incremental package information is fed back to the client so that the client upgrades the application program according to the incremental package information;
the incremental package information comprises a target downloading address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded, and the incremental upgrade package is used for representing upgrade data information of the installation package containing the second channel information.
In a third aspect, the present application provides a first application upgrade apparatus, which is applied to a client that establishes communication with a server, where an application is running on the client, and the client further stores a local installation package corresponding to the application, where the local installation package includes first channel information;
the device comprises:
the processing module is used for obtaining an incremental upgrade package required by the application program upgrade from the server; the incremental upgrade package is used for representing upgrade data information of an installation package containing second channel information;
the processing module is further used for modifying the first channel information in the local installation package into the second channel information to obtain a first installation package;
the processing module is further used for combining the first installation package and the incremental upgrade package to obtain a second installation package;
and the upgrading module is used for running the second installation package so as to upgrade the application program.
In a fourth aspect, the present application provides a second application upgrade apparatus, which is applied to a server that establishes communication with a client, where the server stores a standard installation package, and the standard installation package includes second channel information; the device comprises:
The receiving module is used for receiving the local version number sent by the client; the local version number characterizes version information of an application program running on the client;
the sending module is used for feeding back incremental package information to the client according to the local version number and the standard installation package so that the client upgrades the application program according to the incremental package information;
the incremental package information comprises a target downloading address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded, and the incremental upgrade package is used for representing upgrade data information of the installation package containing the second channel information.
In a fifth aspect, the present application provides an electronic device comprising a memory for storing one or more programs; a processor; the application program upgrade method provided in the first aspect or the application program upgrade method provided in the second aspect is implemented when the one or more programs are executed by the processor.
In a sixth aspect, the present application provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the application upgrade method provided in the first aspect or the application upgrade method provided in the second aspect.
According to the application program upgrading method, the device, the electronic equipment and the storage medium, a client obtains an incremental upgrading packet required by application program upgrading from a server, and the incremental upgrading packet is used for representing upgrading data information of an installation packet containing second channel information; the client can modify the first channel information in the local installation package into second channel information to obtain the first installation package; and compared with the prior art, the method has the advantages that the server only needs to maintain one version of installation package by modifying the channel information of the local installation package stored by the client, and multiple installation packages are not required to be stored for different channel platforms, so that the maintenance difficulty of the application program during upgrading can be reduced.
In order to make the above objects, features and advantages of the present application more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
For a clearer description of the technical solutions of the present application, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present application and should therefore not be considered limiting in scope, and that other related drawings can be obtained from these drawings without the inventive effort for a person skilled in the art.
FIG. 1 illustrates a schematic application scenario diagram of an application upgrade method provided herein;
FIG. 2 shows a schematic block diagram of an electronic device provided herein;
FIG. 3 illustrates a schematic flow diagram of an application upgrade method applied to a client side provided herein;
FIG. 4 shows a schematic flow diagram of the sub-steps of step 203 in FIG. 3;
FIG. 5 shows a schematic flow diagram of the sub-steps of step 201 in FIG. 3;
FIG. 6 shows another schematic flow chart diagram of an application upgrade method provided herein for application on the client side;
FIG. 7 shows a further schematic flow chart diagram of the application program upgrading method applied to the client side provided by the present application;
FIG. 8 shows a schematic flow chart diagram of an application program upgrading method applied to a server side provided by the application;
FIG. 9 illustrates a schematic block diagram of a first application upgrade apparatus provided herein;
fig. 10 is a schematic block diagram of a second application upgrading apparatus provided in the present application.
In the figure: 100-an electronic device; 101-memory; 102-a processor; 103-a communication interface; 400-a first application upgrade apparatus; 401 a processing module; 402-an upgrade module; 500-a second application upgrade device; 501-a receiving module; 502-a transmitting module.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the present application more apparent, the technical solutions in the present application will be clearly and completely described below with reference to the accompanying drawings in some embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments. The components of the present application, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present application, as provided in the accompanying drawings, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. All other embodiments, which are derived by a person skilled in the art from the embodiments given herein without creative efforts, are within the scope of protection of the present application.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further definition or explanation thereof is necessary in the following figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only to distinguish the description, and are not to be construed as indicating or implying relative importance.
It is noted that relational terms such as first and second, and the like are 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. Moreover, 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 one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In some possible scenarios, for the same application, different clients may download the application from different channels, e.g., some users may be accustomed to downloading the application from the a-channel platform, while other users may be accustomed to downloading the application from the B-channel platform; different channel platforms are generally managed by different channel maintainers, so that an application provider providing an installation package of the application program generally needs to issue different versions of the installation package for different channel platforms, thereby enabling different users to download or upgrade the application program from different channel platforms.
However, in some scenarios, since different channel platforms generally have different release requirements for the installation packages of the application programs, the application provider is required to pre-store the installation packages of different versions for the different channel platforms; thus, for the same application program, the application provider generally needs to maintain installation packages of a plurality of different channel versions, and the maintenance difficulty is high.
To this end, based on the above drawbacks, one possible implementation provided in the present application is: the client obtains an incremental upgrade package required by the upgrade of the application program from the server, and the incremental upgrade package is used for representing upgrade data information of an installation package containing second channel information; the client can modify the first channel information in the local installation package into second channel information to obtain the first installation package; the first installation package and the increment upgrading package are combined, and after a second installation package is obtained, the second installation package is operated to upgrade the application program; therefore, the server only needs to maintain one version of installation package, and multiple installation packages are not required to be stored for different channel platforms, so that maintenance difficulty in upgrading of the applicable program is reduced.
Some embodiments of the present application are described in detail below with reference to the accompanying drawings. The following embodiments and features of the embodiments may be combined with each other without conflict.
Referring to fig. 1, fig. 1 shows a schematic application scenario diagram of an application program upgrading method provided in the present application; in some embodiments of the present application, the server and the client may be located in a wireless network or a wired network, through which the server may interact with the client.
In some embodiments of the present application, the client may employ a mobile terminal device, which may be, for example, a smart phone, a personal computer (personal computer, PC), a tablet computer, a wearable mobile terminal, or the like.
In some possible implementations, the application upgrading method provided in the application may be applied to a client as in fig. 1, where an application is running on the client, and the application may provide services for a user, such as providing a live video service, etc.; the client also stores a local installation package corresponding to the application program, and when the client executes the application program upgrading method provided by the application program, the client can acquire an incremental upgrading package corresponding to the local installation package from the server, so that the local installation package is incrementally upgraded, and the upgraded local installation package is operated to upgrade the application program.
In addition, in some other possible implementations, the application program upgrading method provided in the application program upgrading method may also be applied to a server side as in fig. 1; the server can store a standard installation package, and when the server executes the application program upgrading method provided by the application, the server can generate incremental package information required by the client by using the standard installation package, so that the client upgrades the application program according to the incremental package information.
It should be noted that fig. 1 is only a schematic illustration, and illustrates that a server and a client establish communication; in other possible scenarios of the present application, the server may also establish communications with multiple clients, and when each client requests to upgrade a local application program from the server, the server may send the respective required incremental package information to different clients based on the same standard installation package, without adopting other schemes, and needs to determine the respective corresponding channel standard installation package based on the respective channel version of each client, and regenerate the respective required incremental package information.
Referring to fig. 2, fig. 2 shows a schematic block diagram of an electronic device 100 provided in the present application; in some possible implementations, the electronic device 100 may act as the client in fig. 1; of course, in other possible implementations, the electronic device 100 may also be used as the server in fig. 1.
As one possible implementation manner, the electronic device 100 may include a memory 101, a processor 102, and a communication interface 103, where the memory 101, the processor 102, and the communication interface 103 are directly or indirectly electrically connected to each other to implement data transmission or interaction. For example, the components may be electrically connected to each other via one or more communication buses or signal lines.
The memory 101 may be configured to store software programs and modules, such as program instructions/modules corresponding to the first application program upgrading apparatus or the second application program upgrading apparatus provided in the present application, and the processor 102 executes the software programs and modules stored in the memory 101, thereby executing various functional applications and data processing, and further executing the steps of the application program upgrading method provided in the present application and applied to the client side, or the application program upgrading method provided in the present application and applied to the server side. The communication interface 103 may be used for communication of signaling or data with other node devices.
The Memory 101 may be, but is not limited to, a random access Memory (Random Access Memory, RAM), a Read Only Memory (ROM), a programmable Read Only Memory (Programmable Read-Only Memory, PROM), an erasable Read Only Memory (Erasable Programmable Read-Only Memory, EPROM), an electrically erasable programmable Read Only Memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.
The processor 102 may be an integrated circuit chip with signal processing capabilities. The processor 102 may be a general purpose processor including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but also digital signal processors (Digital Signal Processing, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Of course, it is understood that the configuration shown in FIG. 2 is merely illustrative, and that electronic device 100 may also include more or fewer components than shown in FIG. 2, or have a different configuration than shown in FIG. 2. The components shown in fig. 2 may be implemented in hardware, software, or a combination thereof.
The method for upgrading an application provided in the present application will be exemplarily described below with reference to the electronic device 100 shown in fig. 2 as the client in fig. 1.
Referring to fig. 3, fig. 3 is a schematic flow chart of an application program upgrading method applied to a client side, which may include the following steps:
Step 201, obtaining an incremental upgrade package required by application program upgrade from a server;
step 203, modifying the first channel information in the local installation package into second channel information to obtain a first installation package;
step 205, merging the first installation package and the incremental upgrade package to obtain a second installation package;
step 208, running a second installation package to upgrade the application.
In a scenario such as that described above, a client may be running an application through which the client may provide services to a user, such as the live video services described above.
In addition, the client may further store a local installation package corresponding to the application program, where the local installation package may be obtained by downloading from a channel platform by the client, and the local installation package includes first channel information, where the first channel information may be used to indicate the channel platform on which the local installation package is downloaded.
For example, in some possible implementations, the local installation package may be named based on the application name, the current version number, the first channel information; for example, a local installation package named "a_n_xxx.apk", that is, represents: the application program name is a, the current version number is n, and the downloading channel is an xxx platform.
Thus, when the client upgrades the application program, the incremental upgrade package required by the application program upgrade can be obtained from the server.
When the server maintains the installation package of the application program, only one version of standard installation package is required to be maintained, and one version of installation package is not required to be stored for each channel platform; in addition, the standard installation package stored by the server side can contain second channel information, and the incremental upgrade package fed back to the client side by the server side can be generated based on the standard installation package without being generated based on the installation package of other channel versions, so that the incremental upgrade package fed back by the server side can be used for representing upgrade data information of the installation package containing the second channel information.
For example, referring to the naming manner of the local installation package stored in the client, the standard installation package stored in the server may be named based on the name of the installed application program, the current version number and the second channel information; for example, the standard installation package name stored by the server may be "a_m_office. Apk", which indicates that: the name of the application program after the standard installation package is a, the current version number is m, and the standard installation package is downloaded from the service end of the application provider.
In the implementation manner, for example, since the server side can only maintain one version of standard installation package, there is no need to store one version of installation package for each channel platform, and the incremental upgrade package provided by the server side is upgrade data information for characterizing the installation package containing the second channel information; therefore, before upgrading the application program, the client can firstly modify the first channel information in the local installation package into the second channel information to obtain the first installation package, so that the incremental upgrade package obtained by the client from the server can upgrade the first installation package containing the second channel information.
For example, referring to the above example, if the name of the local installation package stored by the client is "a_n_xxx.apk" according to the first channel information and the current version number contained in the local installation package, the channel information of the local installation package is modified according to step 203, and then the name of the modified first installation package according to the channel information and the current version number contained in the first installation package may be expressed as "a_n_office.apk".
In addition, in the solution described in the present application, the step 201 and the step 203 are not necessarily executed sequentially, and the step 201 may be executed first and then the step 203 may be executed, or the step 203 may be executed first and then the step 201 may be executed, which is not limited in the present application. For example, in some other possible implementations of the present application, step 201 may also be performed together with step 203.
The second channel information may be obtained by the client receiving the server in advance, or may be obtained when the client obtains the incremental upgrade package when the client executes step 201 and then step 203.
Thus, when the client obtains the incremental upgrade package and the first installation package required for upgrading the application program, the client may combine the first installation package and the incremental upgrade package, for example, byte code combining the first installation package and the incremental upgrade package by using the bsPatch, thereby upgrading the first installation package to obtain a second installation package, and running the second installation package to upgrade the application program.
Based on the design, the incremental upgrade package required by the application program upgrade is obtained from the server by the client, and the incremental upgrade package is used for representing the upgrade data information of the installation package containing the second channel information; the client can modify the first channel information in the local installation package into second channel information to obtain the first installation package; and compared with the prior art, the method has the advantages that the server only needs to maintain one version of installation package by modifying the channel information of the local installation package stored by the client, and multiple installation packages are not required to be stored for different channel platforms, so that the maintenance difficulty of the application program during upgrading can be reduced.
In order to quickly find the first channel information in the local installation package and modify the first channel information in the local installation package when executing step 203, as a possible implementation manner, the local installation package may further include a local channel identifier, so that the client can quickly find the first channel information in the local installation package based on the local channel identifier.
Based on this, referring to fig. 4 on the basis of fig. 3, fig. 4 shows a schematic flow diagram of the sub-steps of step 203 in fig. 3, step 203 may comprise the sub-steps of:
step 203-1, reading a local channel identifier in a local installation package, and positioning a channel information field in the local installation package;
step 203-2, modifying the first channel information in the channel information field to the second channel information to generate a first installation package.
In an embodiment, when the local installation package is compiled, a positioning rule can be configured in advance to configure the position of channel information in the local installation package; for example, EOCD (End of central directory record, end of catalog identification) may be used to record channel information in a local installation package and channel information fields, as follows! ZXK-! "As a local channel identifier for example, when compiling a local installation package" +| -! ZXK-! "write to the comment field of EOCD, and write the length of channel information to" ≡! ZXK-! "in the first two bytes of the location of the mark".
Thus, in executing step 203, the EOCD may be read first to obtain the local channel identifier in the local installation package as "+|! ZXK-! "then traverse the local installation package, find" +| -! ZXK-! "in the place, and read two bytes forward, assuming that the read information is" 04 00", representing that the channel information in the local installation package occupies 4 bytes, the client can use the read 4 bytes as the channel information field.
Then, after locating the channel information field, the client may modify the first channel information in the channel information field to the second channel information, such as modifying "xxx" to "office" in the above example, to generate the first installation package.
Of course, it will be appreciated that the client may also read the local channel identifier and the first channel information in the local installation package, such as the local channel identifier "correspondingto the above example, in the manner of step 203-1 and step 203-2 before modifying the first channel information in the channel information field to the second channel information! ZXK-! And the first channel information xxx, and storing the read local channel identification and the first channel information in a byte array of the client, so that the local channel identification and the first channel information can be directly read from the byte array to be obtained when the step 203 is executed, and the speed of modifying the channel information in the local installation package by the client is increased.
In addition, to describe the manner of obtaining the incremental upgrade package, referring to fig. 5, fig. 5 shows a schematic flow chart of the sub-steps of step 201 in fig. 3, where step 201 may include the following sub-steps:
step 201-1, a local version number in a local installation package is sent to a server;
step 201-2, receiving incremental package information fed back by a server according to a local version number;
step 201-3, downloading the data packet from the target downloading address, and checking the data packet by using the first check code;
and step 201-4, taking the data packet as an incremental upgrade packet after the verification is passed.
In an embodiment, when the client obtains the incremental upgrade package corresponding to the application program from the server, the client may read the local installation package to obtain a local version number of the local installation package, such as "n" in the above example.
Then, the client sends the acquired local version number "n" of the local installation package to the server, so as to receive the incremental package information fed back by the server according to the local version number "n" of the client, where the incremental package information includes a target download address of the incremental upgrade package required by the application program and a first check code of the incremental upgrade package required by the application program, for example, the first check code may be an MD5 value generated by the server for the incremental upgrade package.
Then, the client downloads the data packet from the target download address according to the target download address in the incremental packet information, and checks the data packet by using the first check code; for example, the MD5 value of the data packet is calculated, and the MD5 value of the data packet is compared with the MD5 value in the received incremental packet information, if the MD5 value and the MD5 value are the same, the verification is passed, and the client can use the data packet as an incremental upgrade packet; if the two are different, the verification is not passed, and the client can send out prompt information, such as displaying word information 'upgrade failure'.
In some possible scenarios, when the client upgrades the application program, the client can not only check the downloaded incremental upgrade package, but also check the upgraded installation package.
Therefore, as a possible implementation manner, the incremental package information received by the client may further include a second check code of the installation package after the application program is upgraded, for example, in the above example, the name of the standard installation package stored by the server is "a_m_office. Apk", which indicates that the current version number of the standard installation package is m, and when the server generates the incremental upgrade package based on the standard installation package, the version number of the local installation package after the client upgrades the local installation package by using the incremental upgrade package should also be m; thus, the second check code received by the client may be the MD5 value of the version number m of the standard installation package stored by the server.
To this end, referring to fig. 6 on the basis of fig. 5, fig. 6 shows another schematic flowchart of the application upgrading method applied to the client side provided in the present application, and before executing step 208, the application upgrading method may further include the following steps:
and step 206, checking the second installation package by using the second check code.
In combination with the above example, after the client executes step 205 to obtain the second installation package, the client may verify the second installation package by using the second verification code in the received incremental package information; for example, the MD5 value of the version number m of the standard installation packet stored by the server in the above example is compared with the MD5 value of the version number of the second installation packet, if the MD5 value of the version number m of the second installation packet is the same, the verification is passed, and the client executes step 208; otherwise, if the text information is different, the client can send out prompt information, such as displaying the text information of 'upgrade failure'.
Thus, through the secondary verification, the version of the application program after the client is upgraded can be ensured to have consistency with the version stored by the server.
In addition, in some possible scenarios, the application provider may count information of each channel platform for different channel platforms, for example, may count downloading amounts of the application program on different channel platforms, and at this time, each client may make the server count downloading amounts of the application program on different channel platforms according to the first channel information sent by each client by reading the first channel information in the local installation package and sending the first channel information to the server.
However, when the client performs the above-mentioned application program upgrading method provided in the present application to upgrade the application program, since the channel information in the installation package locally stored by the client is not the first channel information but the second channel information after performing step 205; therefore, when the statistics is needed, the client sends the second channel information instead of the first channel information to the server; at this time, the server cannot count the download amount of the application program on each channel platform.
Thus, as a possible implementation manner, referring to fig. 7 on the basis of fig. 3, fig. 7 shows a further schematic flow chart diagram of an application program upgrading method applied to a client side provided in the present application, before performing step 208, the application program upgrading method may further include the following steps:
step 207, modifying the second channel information in the second installation package to the first channel information to update the second installation package.
In conjunction with the above example, in one embodiment, the client after performing step 205, the resulting second installation package may be denoted as "a_m_office.
Next, the client may modify the second channel information "office" in the second installation package to the first channel information "xxx" to update the second installation package, and the updated second installation package may be denoted as "a_m_xxx.apk".
The client may then run the updated second installation package "a_m_xxx.apk" to upgrade the application.
Therefore, even if the installation package stored locally at the client is updated, statistics of the platform information of each channel is not affected.
It should be noted that, the second installation package after each upgrade of the client may be used as a local installation package when the client upgrades next time, so that the client may circularly execute the application program upgrading method provided in the application program upgrading method.
In addition, the method for upgrading an application program provided in the present application uses the electronic device shown in fig. 2 as an execution body, and is described when applied to a client as shown in fig. 1; the following illustrates an application program upgrading method provided in the present application when applied to a server as in fig. 1.
Referring to fig. 8, fig. 8 is a schematic flow chart of an application program upgrading method applied to a server side provided in the present application, which may include the following steps:
step 301, receiving a local version number sent by a client;
and step 303, feeding back incremental package information to the client according to the local version number and the standard installation package, so that the client upgrades the application program according to the incremental package information.
In combination with the above example, in an embodiment, the server may store a standard installation package, where the standard installation package may include the second channel information, such as "office" in the above example.
When the server receives the local version number sent by the client, the server does not need to select the installation package of the corresponding version to perform incremental upgrade according to the download channel of the local installation package stored by the client, but only needs to feed back incremental package information to the client according to the received local version number and the standard installation package, so that the client executes the steps of any one of the methods shown in fig. 3 to 7, for example, and upgrades the application program according to the received incremental package information.
For example, the local version number may characterize version information of an application running on the client; after receiving the local version number sent by the client, the server can compare the local version number with the version number of the standard installation package stored by the server, so as to generate incremental package information and feed the incremental package information back to the client.
The incremental package information can comprise a target downloading address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded; after receiving the incremental package information, the client can upgrade the application program running on the client by using the application program upgrading method applied to the client, and the incremental upgrade package can be used for representing upgrading data information of the installation package containing the second channel information.
Therefore, the server only needs to maintain one version of installation package, and multiple installation packages are not required to be stored for different channel platforms, so that maintenance difficulty in application program upgrading is reduced.
For example, according to some commonly used application program upgrading schemes, the number of installation package versions of an application program is p, and the number of channel platforms is q, when the upgrading of the application program is maintained:
the number of incremental upgrade packages that some other schemes at present require maintenance is:
q*(p-1+p-2+……+1)=q*p*(p-1)/2
by utilizing the scheme provided by the application, the number of incremental upgrade packages to be maintained is as follows:
1*(p-1+p-2+……+1)=p*(p-1)/2
therefore, by using the application program upgrading scheme provided by the application program upgrading method, the number of the upgrading packages maintained is only 1/q of that of the common scheme, so that the maintenance number is greatly reduced, and the maintenance difficulty is reduced.
In addition, as a possible implementation manner, when executing step 303, the server may first be, for example, a version difference value between the local version number and the version number of the standard channel packet, and when the version difference value is less than or equal to the set version threshold, the server may use an incremental upgrade manner to feed back the download address of the incremental upgrade packet to the client; when the version difference value is larger than the set version threshold value, the server can feed back the download address of the stored standard channel package to the client.
Also, based on the same inventive concept as the above-mentioned application program upgrading method applied to the client side provided in the present application, referring to fig. 9, fig. 9 shows a schematic block diagram of a first application program upgrading apparatus 400 provided in the present application, where the first application program upgrading apparatus 400 may include a processing module 401 and an upgrading module 402; wherein:
a processing module 401, configured to obtain an incremental upgrade package required for an application upgrade from a server; the incremental upgrade package is used for representing upgrade data information of the installation package containing the second channel information;
the processing module 401 is further configured to modify the first channel information in the local installation package into second channel information, so as to obtain a first installation package;
the processing module 401 is further configured to combine the first installation package with the incremental upgrade package to obtain a second installation package;
an upgrade module 402, configured to run a second installation package to upgrade the application program.
Optionally, as a possible implementation manner, the local installation package further includes a local channel identifier;
the processing module 401 is specifically configured to, when modifying the first channel information in the local installation package into the second channel information to obtain the first installation package:
reading a local channel identifier in a local installation package, and positioning a channel information field in the local installation package;
And modifying the first channel information in the channel information field to the second channel information to generate a first installation package.
Optionally, as a possible implementation manner, when the processing module 401 obtains the incremental upgrade package required for the application program upgrade from the server, the processing module is specifically configured to:
the method comprises the steps of sending a local version number in a local installation package to a server;
receiving incremental package information fed back by a server according to the local version number; the incremental package information comprises a target download address of an incremental upgrade package required by the application program and a first check code of the incremental upgrade package required by the application program;
downloading the data packet from the target downloading address, and checking the data packet by using the first check code;
and when the verification is passed, taking the data packet as an incremental upgrade packet.
Optionally, as a possible implementation manner, the incremental package information further includes a second check code of the installation package after the application program is upgraded;
before the upgrade module 402 runs the second installation package to upgrade the application, the processing module 401 is further configured to:
checking the second installation package by using the second check code;
when the verification passes, the upgrade module 402 runs the second installation package to upgrade the application program.
Optionally, as a possible implementation, before the upgrade module 402 runs the second installation package to upgrade the application program, the processing module 401 is further configured to:
modifying the second channel information in the second installation package into the first channel information to update the second installation package;
the upgrade module 402 is specifically configured to, when running the second installation package to upgrade the application program:
and running the updated second installation package to upgrade the application program.
In addition, based on the same inventive concept as the above-mentioned application program upgrading method applied to the server side provided in the present application, referring to fig. 10, fig. 10 shows a schematic block diagram of a second application program upgrading apparatus 500 provided in the present application, where the second application program upgrading apparatus 500 includes a receiving module 501 and a transmitting module 502; wherein:
a receiving module 501, configured to receive a local version number sent by a client; the local version number characterizes version information of an application program running on the client;
the sending module 502 is configured to feed back incremental package information to the client according to the local version number and the standard installation package, so that the client upgrades the application program according to the incremental package information;
the incremental package information comprises a target download address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded, and the incremental upgrade package is used for representing upgrade data information of the installation package containing second channel information.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners as well. The apparatus embodiments described above are merely illustrative, for example, of the flowcharts and block diagrams in the figures that illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to some embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
It should also be noted that in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in some embodiments of the present application may be integrated together to form a single part, or each module may exist alone, or two or more modules may be integrated to form a single part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method described in some embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk.
The foregoing is only a few examples of the present application and is not intended to limit the present application, and various modifications and variations may be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.
It will be evident to those skilled in the art that the present application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned.

Claims (10)

1. The application program upgrading method is characterized by being applied to a client side for establishing communication with a server side, wherein an application program is operated on the client side, a local installation package corresponding to the application program is also stored on the client side, and the local installation package contains first channel information;
the method comprises the following steps:
obtaining an incremental upgrade package required by the application program upgrade from the server; the incremental upgrade package is used for representing upgrade data information of an installation package containing second channel information;
Modifying the first channel information in the local installation package into the second channel information to obtain a first installation package;
combining the first installation package and the incremental upgrade package to obtain a second installation package;
and running the second installation package to upgrade the application program.
2. The method of claim 1, wherein the local installation package further comprises a local channel identifier;
the step of modifying the first channel information in the local installation package into the second channel information to obtain a first installation package comprises the following steps:
reading the local channel identifier in the local installation package, and positioning a channel information field in the local installation package;
modifying the first channel information in the channel information field to the second channel information to generate the first installation package.
3. The method of claim 1, wherein the step of obtaining an incremental upgrade package from the server for the application upgrade comprises:
the local version number in the local installation package is sent to the server;
receiving incremental package information fed back by the server according to the local version number; the incremental package information comprises a target download address of an incremental upgrade package required by the application program and a first check code of the incremental upgrade package required by the application program;
Downloading a data packet from the target downloading address, and checking the data packet by using the first check code;
and when the verification is passed, taking the data packet as the increment upgrading packet.
4. The method of claim 3, wherein the delta package information further comprises a second check code of the installation package after the application upgrade;
before the step of running the second installation package to upgrade the application, the method further comprises:
checking the second installation package by using the second check code;
and executing the second installation package to upgrade the application program after the verification is passed.
5. The method of claim 1, wherein prior to the step of running the second installation package to upgrade the application program, the method further comprises:
modifying the second channel information in the second installation package to the first channel information to update the second installation package;
the step of running the second installation package to upgrade the application program comprises the following steps:
and running the updated second installation package to upgrade the application program.
6. The application program upgrading method is characterized by being applied to a server side for establishing communication with a client side, wherein the server side stores a standard installation package which contains second channel information; the client side stores a local installation package of an application program, and the local installation package comprises first channel information; the method comprises the following steps:
Receiving a local version number sent by the client; the local version number characterizes version information of an application program running on the client;
according to the local version number and the standard installation package, incremental package information is fed back to the client so that the client upgrades the application program according to the incremental package information;
the incremental package information comprises a target download address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded, and the incremental upgrade package is used for representing upgrade data information of the installation package containing the second channel information;
the step of upgrading the application program by the client according to the incremental package information comprises the following steps: modifying the first channel information in the local installation package into the second channel information to obtain a first installation package; combining the first installation package and the incremental upgrade package to obtain a second installation package; and running the second installation package to upgrade the application program.
7. The application program upgrading device is characterized by being applied to a client side for establishing communication with a server side, wherein an application program is operated on the client side, a local installation package corresponding to the application program is also stored on the client side, and the local installation package contains first channel information;
The device comprises:
the processing module is used for obtaining an incremental upgrade package required by the application program upgrade from the server; the incremental upgrade package is used for representing upgrade data information of an installation package containing second channel information;
the processing module is further used for modifying the first channel information in the local installation package into the second channel information to obtain a first installation package;
the processing module is further used for combining the first installation package and the incremental upgrade package to obtain a second installation package;
and the upgrading module is used for running the second installation package so as to upgrade the application program.
8. The application program upgrading device is characterized by being applied to a server side for establishing communication with a client side, wherein the server side stores a standard installation package, and the standard installation package contains second channel information; the client side stores a local installation package of an application program, and the local installation package comprises first channel information; the device comprises:
the receiving module is used for receiving the local version number sent by the client; the local version number characterizes version information of an application program running on the client;
The sending module is used for feeding back incremental package information to the client according to the local version number and the standard installation package so that the client upgrades the application program according to the incremental package information;
the incremental package information comprises a target download address of an incremental upgrade package required by the application program, a first check code of the incremental upgrade package required by the application program and a second check code of an installation package after the application program is upgraded, and the incremental upgrade package is used for representing upgrade data information of the installation package containing the second channel information;
the step of upgrading the application program by the client according to the incremental package information comprises the following steps: modifying the first channel information in the local installation package into the second channel information to obtain a first installation package; combining the first installation package and the incremental upgrade package to obtain a second installation package; and running the second installation package to upgrade the application program.
9. An electronic device, comprising:
a memory for storing one or more programs;
a processor;
the method of any of claims 1-6 is implemented when the one or more programs are executed by the processor.
10. A computer readable storage medium, on which a computer program is stored, which computer program, when being executed by a processor, implements the method according to any of claims 1-6.
CN202010315297.6A 2020-04-21 2020-04-21 Application program upgrading method and device, electronic equipment and storage medium Active CN111459531B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010315297.6A CN111459531B (en) 2020-04-21 2020-04-21 Application program upgrading method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010315297.6A CN111459531B (en) 2020-04-21 2020-04-21 Application program upgrading method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111459531A CN111459531A (en) 2020-07-28
CN111459531B true CN111459531B (en) 2023-07-18

Family

ID=71684711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010315297.6A Active CN111459531B (en) 2020-04-21 2020-04-21 Application program upgrading method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111459531B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112827180A (en) * 2021-01-21 2021-05-25 厦门雅基软件有限公司 Game updating method, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051723B (en) * 2012-12-27 2016-08-31 广州市动景计算机科技有限公司 A kind of method for updating increment and server, terminal
CN107797818A (en) * 2017-03-28 2018-03-13 平安壹钱包电子商务有限公司 Application program updating method and device
CN108037939A (en) * 2017-12-22 2018-05-15 上海斐讯数据通信技术有限公司 The upgrade method and upgrade-system of a kind of application program
CN108415722A (en) * 2018-03-13 2018-08-17 平安普惠企业管理有限公司 Update method, device, computer equipment and the storage medium of channel application
CN109582323A (en) * 2018-11-23 2019-04-05 网易(杭州)网络有限公司 Increment updating method, device, terminal and the server of application installation package

Also Published As

Publication number Publication date
CN111459531A (en) 2020-07-28

Similar Documents

Publication Publication Date Title
US9128797B2 (en) Method and system for software upgrade
CN107346252B (en) Application updating method and device
CN107547239B (en) Configuration object updating method and device
CN107707584B (en) Application loading method, terminal and platform server
CN105516246B (en) A kind of method and server of anti-application program downloading abduction
CN104602138A (en) Method and device for supporting HLS protocol by streaming media server
CN104123149A (en) Software upgrading method, device, client and system
CN111459531B (en) Application program upgrading method and device, electronic equipment and storage medium
CN114465998A (en) Multi-device file transmission method and device, terminal device and readable storage medium
CN114327710B (en) Function management method, management device, terminal equipment and readable storage medium
CN109213533A (en) A kind of advertisement SDK dynamic loading method, device and terminal
CN107509097B (en) Video sharing method and device and sharing server
CN111752797B (en) Terminal log processing method and device, terminal and storage medium
CN110677443A (en) Data transmitting and receiving method, transmitting end, receiving end, system and storage medium
CN107015821B (en) Incremental updating method and device
CN112416384A (en) Software upgrading method and device and computer equipment
CN104580429A (en) Method for loading communication information, server and cloud disk client
CN108234216B (en) Method and device for downloading data message
CN111124445B (en) Home gateway upgrading method and home gateway
CN112083945A (en) NPM installation package update prompting method and device, electronic equipment and storage medium
CN112114871A (en) Code sharing method, device, server, terminal and medium
CN111654398A (en) Configuration updating method and device, computer equipment and readable storage medium
CN112748931B (en) Compiled file management method, calling method and device and electronic equipment
CN112685097B (en) Data processing method and device
CN109962883B (en) Information indication method, network equipment and user equipment

Legal Events

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