CN115509582A - Application program issuing method, device, equipment and storage medium - Google Patents
Application program issuing method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN115509582A CN115509582A CN202211261549.7A CN202211261549A CN115509582A CN 115509582 A CN115509582 A CN 115509582A CN 202211261549 A CN202211261549 A CN 202211261549A CN 115509582 A CN115509582 A CN 115509582A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- application program
- upgrade package
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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)
Abstract
The invention relates to the technical field of software, and discloses an application program publishing method, device, equipment and storage medium. The method specifically comprises the following steps: the method comprises the steps of obtaining an upgrade package of an application program in operation, analyzing and comparing the upgrade package to obtain an update file, constructing an iteration relation between the update file and software data of a current version of the application program, rendering a new interface on the basis of the current software interface according to the iteration relation, and replacing the software interface of the current version with the new interface when the update operation of the application program is detected to realize the release of the application program. The method realizes dynamic release and update of the application program by constructing the iterative relationship, can obtain new functions which can be used only by upgrading the original version only through dynamic configuration of the system, and reduces the loss rate of clients.
Description
Technical Field
The invention relates to the technical field of software, in particular to a method, a device, equipment and a storage medium for releasing an application program.
Background
At present, in most terminal service requirements, when existing software needs to be changed frequently or new module functions are added, an upgrade iteration version needs to be released continuously, the new module functions can be used only after the terminal downloads and installs the new versions, the technical problems that operation is complex, the period is long, and the new versions cannot be downloaded and installed exist, and meanwhile, customers can be lost in the version iteration process, so that great economic loss is caused. Therefore, dynamic update of the application program is very necessary, and various application dynamic update schemes, such as plug-in update at an Android end, read native (open source cross-platform mobile application development framework) at a mobile end, applet and the like, appear in the market today, but these dynamic update schemes either only support one end to perform update, or have poor system compatibility or have problems in user experience performance, and cannot well balance cross-platform and experience performance.
Disclosure of Invention
The invention mainly aims to solve the technical problem that the prior art cannot realize dynamic and good updating of the application program.
The invention provides an application program issuing method in a first aspect, which comprises the following steps: when an upgrade package of an application program running is detected to exist, the upgrade package is obtained, and the upgrade package is analyzed and compared to obtain an update file, wherein the update file comprises module added data, module deleted data and module changed data; establishing an iterative relationship between module added data, module deleted data and module changed data and software data of the current version of the application program, wherein the iterative relationship is a mapping relationship of display positions of all data on a software interface; according to the iteration relation, a new interface is rendered on the basis of the current software interface; and when the application program is detected to have updating operation, replacing the current version of the software interface with the new interface so as to release the application program.
Optionally, in a first implementation manner of the first aspect of the present invention, when it is detected that there is an upgrade package of an application program in operation, the obtaining of the upgrade package, and performing parsing comparison on the upgrade package to obtain an update file includes: when the upgrade package of the running application program is detected to exist, acquiring identification information of the running application program, and acquiring the upgrade package of the running application program from a server according to the identification information; performing security check on the upgrade package of the running application program through a security check mechanism; after the security verification is passed, analyzing the upgrade package passed by the security verification to obtain a file list of the upgrade package, and comparing the file list with the software data of the current version of the application program to obtain an update file.
Optionally, in a second implementation manner of the first aspect of the present invention, after the security check is passed, the analyzing the upgrade package that is passed by the security check to obtain a file list of the upgrade package, and comparing the file list with the software data of the current version of the application program to obtain an updated file includes: after the safety check is passed, determining a corresponding analysis standard according to the format of the upgrade package, and analyzing the upgrade package based on the analysis standard to obtain a file list of the upgrade package, wherein the file list at least comprises the contents of a central directory and subdirectories; and comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program, and obtaining module adding data, module deleting data and module changing data based on the comparison result.
Optionally, in a third implementation manner of the first aspect of the present invention, the comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program, and obtaining module addition data, module deletion data, and module change data based on a comparison result includes: judging whether a central directory in the file list of the upgrade package is the same as a central directory in the software data of the current version; if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and the contents of the sub-directories in the software data of the current version are the same, if the contents of the sub-directories are different, extracting the data with the difference to obtain module change data; if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module added data; if not, extracting the data with the difference to obtain module deletion data.
Optionally, in a fourth implementation manner of the first aspect of the present invention, the building an iterative relationship between module addition data, module deletion data, and module change data and software data of the current version of the application program includes: respectively acquiring position information of module newly added data, module deleted data and module changed data in an upgrade package file list; obtaining the incidence relation between the data and other module data in an upgrade packet database according to the position information; and acquiring module position information displayed on a software interface, and converting the incidence relation into a mapping relation of the display position of the data on the software interface to obtain the iteration relation between module added data, module deleted data and module changed data and the software data of the current version of the application program.
Optionally, in a fifth implementation manner of the first aspect of the present invention, the rendering a new interface based on the current software interface according to the iterative relationship includes: acquiring rendering plug-in configuration information of a terminal, and determining a corresponding rendering strategy; extracting iteration relations corresponding to the newly added data, the module deleted data and the module changed data, and adjusting the current software display interface layout through the rendering strategy and the iteration relations; and drawing and rendering the software interface and the page jump scheme according to the adjustment result to obtain a new interface.
Optionally, in a sixth implementation manner of the first aspect of the present invention, when it is detected that an update operation exists in the application program, replacing the current version of the software interface with the new interface to implement publishing of the application program, includes: judging whether an updating operation exists or not, wherein the updating operation comprises a refreshing operation and a re-entering operation of the terminal; if yes, issuing a replacement instruction to a background, and acquiring a new interface according to the replacement instruction; and sending the new interface to the front end, covering the software display of the current version, and replacing the software interface of the current version with the new interface to realize the display of the new interface.
A second aspect of the present invention provides an application program issuing apparatus, including: the analysis module is used for acquiring the upgrade package when detecting that the upgrade package of the running application program exists, analyzing and comparing the upgrade package to obtain an update file, wherein the update file comprises module new adding data, module deleting data and module changing data; the construction module is used for constructing an iterative relationship between module new data, module deletion data and module change data and the software data of the current version of the application program, wherein the iterative relationship is a mapping relationship of display positions of all data on a software interface; the rendering module is used for rendering a new interface on the basis of the current software interface according to the iteration relation; and the replacing module is used for replacing the software interface of the current version with the new interface when the application program is detected to have updating operation so as to realize the release of the application program.
Optionally, in a first implementation manner of the second aspect of the present invention, the parsing module includes: the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring identification information of an application program in operation when the upgrade package of the application program in operation is detected to exist, and acquiring the upgrade package of the application program in operation from a server according to the identification information; the verification unit is used for performing safety verification on the upgrade package of the running application program through a safety verification mechanism; and the analysis and comparison unit is used for analyzing the upgrade package passing the safety verification after the safety verification is passed to obtain a file list of the upgrade package, and comparing the file list with the software data of the current version of the application program to obtain an updated file.
Optionally, in a second implementation manner of the second aspect of the present invention, the parsing and comparing unit includes: the analysis subunit is configured to, after the security check is passed, determine a corresponding analysis standard according to the format of the upgrade package, and analyze the upgrade package based on the analysis standard to obtain a file list of the upgrade package, where the file list at least includes contents of the central directory and the subdirectories; and the comparison subunit is used for comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program, and obtaining module adding data, module deleting data and module changing data based on the comparison result.
Optionally, in a third implementation manner of the second aspect of the present invention, the comparing subunit is specifically configured to: judging whether a central directory in the file list of the upgrade package is the same as a central directory in the software data of the current version; if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and subdirectories in the software data of the current version are the same, and if the contents of the subdirectories are different, extracting the data with the difference to obtain module change data; if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module added data; if not, extracting the data with the difference to obtain module deletion data.
Optionally, in a fourth implementation manner of the second aspect of the present invention, the building module includes: the second acquisition unit is used for respectively acquiring the position information of the module newly added data, the module deleted data and the module changed data in the upgrade package file list; the association unit is used for obtaining the association relation between the data and other module data in the upgrade package database according to the position information; and the mapping unit is used for acquiring module position information displayed by the software interface, converting the incidence relation into the mapping relation of the display position of the data on the software interface, and obtaining the iterative relation between module added data, module deleted data and module changed data and the software data of the current version of the application program.
Optionally, in a fifth implementation manner of the second aspect of the present invention, the rendering module includes: the third acquisition unit is used for acquiring rendering plug-in configuration information of the terminal and determining a corresponding rendering strategy; the adjusting unit is used for extracting iteration relations corresponding to the newly added data, the module deleted data and the module changed data and adjusting the current software display interface layout through the rendering strategy and the iteration relations; and the operation unit is used for drawing and rendering the software interface and the page jump scheme according to the adjustment result to obtain a new interface.
Optionally, in a sixth implementation manner of the second aspect of the present invention, the replacing module includes: the terminal comprises a detection unit, a judging unit and a control unit, wherein the detection unit is used for judging whether an updating operation exists or not, and the updating operation comprises a refreshing operation and a re-entering operation of the terminal; the issuing unit is used for issuing a replacement instruction to the background when the updating operation exists and acquiring a new interface according to the replacement instruction; and the covering unit is used for sending the new interface to the front end, covering the software display of the current version, and replacing the software interface of the current version with the new interface to realize the display of the new interface.
A third aspect of the present invention provides an application issuing device comprising a memory having instructions stored therein and at least one processor; the at least one processor calls the instructions in the memory to cause the application issuing device to perform the steps of the application issuing method as described in any one of the preceding claims.
A fourth aspect of the invention provides a computer-readable storage medium having stored thereon instructions which, when executed by a processor, carry out the steps of the application distribution method as defined in any one of the above.
According to the technical scheme, the upgrade package of the running application program is obtained, analysis and comparison are carried out, the update file is obtained, the iteration relation between the update file and the software data of the current version of the application program is built, a new interface is rendered on the basis of the current software interface according to the iteration relation, and the new interface replaces the software interface of the current version when the update operation of the application program is detected, so that the release of the application program is realized. The method realizes dynamic release and update of the application program by constructing the iterative relationship, can obtain new functions which can be used only by upgrading the original version only through dynamic configuration of the system, and reduces the loss rate of clients.
Drawings
Fig. 1 is a schematic diagram of a first embodiment of an application publishing method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a second embodiment of an application publishing method according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a third embodiment of an application publishing method according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an application publishing device according to an embodiment of the present invention;
fig. 5 is another schematic structural diagram of an application publishing device according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of an application publishing device according to an embodiment of the present invention.
Detailed Description
According to the method, an upgrade package of an application program in operation is obtained, analysis and comparison are carried out, an update file is obtained, an iteration relation between the update file and software data of a current version of the application program is established, a new interface is rendered on the basis of the current software interface according to the iteration relation, and when the update operation of the application program is detected, the new interface is replaced for the software interface of the current version, so that the release of the application program is realized, and the loss rate of clients is reduced.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims, as well as in the drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be implemented in other sequences than those illustrated or described herein. Moreover, the terms "comprises," "comprising," or "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, apparatus, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
For convenience of understanding, a detailed flow of the embodiment of the present invention is described below, referring to fig. 1, which is a schematic diagram of a first embodiment of an application publishing method provided by the embodiment of the present invention, and the method specifically includes the following steps:
101. and when detecting that the upgrade package of the running application program exists, acquiring the upgrade package, and analyzing and comparing the upgrade package to obtain an update file.
The update file comprises module addition data, module deletion data and module change data.
In this embodiment, a developer develops a module function, packages, constructs, and deploys the module function to a related server, the Icon of the module is also issued to a resource service corresponding to the module function, the URL of the module and the URL local storage of the picture Icon are obtained, and the unique identifier ID, the Title and the page Type of the module are agreed by a service background, and the module is stored locally and when the network resource is not obtained, for standby, to realize that whether an upgrade package of an application program running in the server exists in real time, a long connection can be established between the terminal and the server, and long connection communication between the terminal and the server is realized.
The method comprises the steps of obtaining identification information of an application program for the application program in operation, sending the identification information to a server, wherein the identification information can comprise data such as a client version number of the application program and a user ID of the application program, can be uniquely matched with the application program in use of the client, inquiring whether update information related to the application program exists in the server according to the identification information, and when the update information of the application program in operation exists in the server, obtaining an upgrade package of the application program in operation, and sending the upgrade package to the client.
Further, the client judges whether the identification information of the received upgrade package is the same as the identification information of the running application program, if so, the next step is performed, if not, the upgrade package acquired from the server is determined not to be the upgrade package of the running application program, the acquiring step is performed again, the error information is fed back to the server, the error information can also be sent to the client, the identification information of the running application program is acquired again, and the steps are performed again to acquire the upgrade package.
Specifically, byte codes can be obfuscated by using an obfuscating scheme of the android platform, class names, fields and method names in the codes are changed into meaningless names, key data in the installation package can be hidden, key files can be encrypted, and then the key data in the installation package can be prevented from being leaked by dynamically decrypting during running.
After the security verification is passed, analyzing the upgrade package passed by the security verification to obtain a file list of the upgrade package, wherein the file list of the upgrade package is represented as a set of data codes of the upgrade package.
Judging whether a central directory in the file list of the upgrade package is the same as a central directory in the software data of the current version; if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and subdirectories in the software data of the current version are the same, and if the contents of the subdirectories are different, extracting the data with the difference to obtain module change data; if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module increase data; if not, extracting the data with the difference to obtain module deletion data.
102. And establishing an iterative relationship between module added data, module deleted data and module changed data and the software data of the current version of the application program.
After determining the updated file of the application program of the new version compared with the application program of the current version, determining the display position of the updated file on the interface of the application program of the current version, that is, establishing an iterative relationship between module new adding data, module deleting data, module changing data and software data of the application program of the current version, wherein the iterative relationship is a mapping relationship of the display positions of all the data on the software interface.
The method for determining the mapping relation of the display positions is not consistent for different update files. Specifically, for the newly added module data, the newly added module data is represented as a component which is newly added on an interface of an application program of a current version and realizes a new function, for the determination of the specific position layout of the newly added component, the position of the newly added module data in software data of the current version of the application program may be determined, specifically, the newly added module data is identified, the relationship between the identified data and other modules is obtained through the analysis and tracing of functions, further, the identified module data includes a picture Icon, a Title, a unique identification ID, and a page Type of the module, the page layout and the display setting of the newly added module may be determined through the specific position coordinates of an Icon of the acquisition module on a display page, in practical application, the display position of the newly added module may also be determined through the relationship between the newly added module and other modules, for example, the newly added module and other modules belong to a parallel relationship, and then the newly added module and other modules may be determined to be displayed on the same interface at a horizontal or an arrangement position.
For module change data, a specific module for performing function change is determined, specifically, the function change data can be realized through a global unique identifier id, and the global unique identifier id usually corresponds to a business requirement for generating a unique record identifier. This id is often the primary key of the database on which the aggregated index is built, i.e. sorted in this field on the physical storage. The query on the record identifier often has a paging or sorting business requirement. There is often a time field over which a normal index is built. The common index stores pointers to actual records, which may be slower than the aggregate index, and if the record identifiers can be generated substantially in time order, the index lookup for this time field may be omitted.
And for the module deletion data, after the deleted module is determined, the position of the module in the software data of the current version of the application program is acquired, so that the position of the module in the current software interface is determined, and the module is directly deleted.
103. And according to the iteration relation, rendering a new interface on the basis of the current software interface.
And the iteration relation is a mapping relation of display positions of all data on the software interface.
And after the mapping relation of the display position of each data on the software interface is obtained, a rendering instruction is generated, the rendering instruction comprises a rendering parameter which is preset by the terminal and can be read by a rendering plug-in, and the adjustment is carried out on the basis of the current software interface according to the rendering instruction. Adding a module and filling related parameters on the basis of the current software interface, wherein the module parameters comprise parameters such as URL link, title and the like of the picture Icon, so that the parameters of the on-line module which is edited and on-line are operated, added, deleted, modified and updated, and the dynamic adjustment of the function of the on-line version is realized.
Specifically, if it is detected that a rendering plug-in preset by the terminal receives a rendering instruction, an update response is sent to the background, where the update response includes an update instruction allowing updating of the page layout, the rendering parameter is read, and layout modification is started, where the layout modification operation may include modifying the position and size of at least one component, deleting a page component that does not need to be displayed, and the like, and may also be compiled into a corresponding local UI component according to a specific platform of the client, and render the layout page. In practical application, a new interface can be obtained by configuring and updating the layout tree corresponding to the current software interface. Specifically, a layout tree corresponding to a current software interface and nodes of the layout tree are obtained, position information of an application program of an update file in a current version is obtained according to types of the nodes and position coordinates in the layout tree, a specific position of the layout tree corresponding to the current software interface and a relation between the specific position of the update file and the nodes of the layout tree are obtained, configuration information is obtained, the layout tree is updated according to the configuration information, page layout is carried out according to the updated layout tree, and a new interface is obtained.
After obtaining a new interface of the running application program, storing the interface to a preset storage position of the terminal, where the preset storage position may be set at a specific position of the terminal background, and in the position, the new interface of the application program is specially stored.
104. And when the application program is detected to have updating operation, replacing the current version of the software interface with the new interface so as to release the application program.
The updating operation refers to refreshing or re-entering operation of the application program by a user. On the home page of the application program, specific data can be solved only through version release of the application program, after the steps are carried out on the upgrade package of the new version of the application program, a display interface of the application program with the new version, namely the new interface, is obtained, whether refreshing or re-entering operation exists in the terminal is detected, if yes, the new interface is obtained, and the new interface covers the software interface of the current version.
The method includes the steps of determining a refreshing operation, detecting a touch operation of a user in a page, specifically, detecting whether an operation of pulling the page downwards exists in a first page of the page, displaying a refreshing icon in the page when the user pulls the page downwards, generating a replacing instruction according to the operation, obtaining a new interface from a preset storage position according to the replacing instruction, wherein the preset storage position can be set at a specific position of a terminal background, and obtaining a corresponding new interface according to the name, the current version number and the like of an application program when obtaining the new interface of a running program. In another implementation manner, if the manner provided by the application program to implement the instant data refresh is to provide a refresh touch area, it may be determined whether a touch operation exists in the refresh area, and whether a replacement command should be generated.
For the determination of re-entry, a background list of the terminal may be detected, specifically, when the user exits from the running application program, an application program is displayed in the background list of the terminal, and the application program runs in the background, that is, the application program is in an open state, is not closed, but is not operated by the user, but runs in a background that is invisible to the user, and similarly occupies a running memory of the terminal. And if the application program is inquired in the background list, generating a replacement instruction, acquiring a new interface and replacing, and displaying the new interface when the user reenters the application program to realize the upgrading and updating of the application program.
In practical application, the replacement operation is not sensible to a user, except for the refreshing or re-entering, the user can also directly send an update request carrying identification information of the application program to the server, directly download an upgrade package of the running application program to the server, but perform the steps without further decompression and installation, and realize the update and the upgrade of the application program of the current version in the background. Further, if the application program is not in use, the background performs the steps to obtain a new interface and replace the current software interface, and when the user starts the application program, the updated application program is displayed.
According to the scheme, the upgrade package of the running application program is obtained, the upgrade package is analyzed and compared to obtain the update file, the iteration relation between the update file and the software data of the current version of the application program is established, a new interface is rendered on the basis of the current software interface according to the iteration relation, and when the update operation of the application program is detected, the new interface replaces the software interface of the current version, so that the release of the application program is achieved. The dynamic release and update of the application program are realized, the new function which can be used only by version upgrade can be obtained only through the dynamic configuration of the system, and the customer attrition rate is reduced.
Referring to fig. 2, a schematic diagram of a second embodiment of the application publishing method according to the embodiment of the present invention includes the following steps:
201. when the upgrade package of the running application program exists, the identification information of the running application program is obtained, and the upgrade package of the running application program is obtained from the server according to the identification information.
After a user downloads or installs an application program on a terminal, unique identification information for distinguishing the user terminal and the application program exists, and based on the identification information, the user terminal can only download and install the same application program uniquely, so that the user terminal can only download and install an upgrade package from a server again when the user terminal wants to upgrade the running application program. For example, in an application scenario based on an application program of a mobile phone terminal, the identifier of the sending end may be an IMEI code of the mobile phone terminal, and the application program or an application market program on the mobile phone terminal may read IMEI code information of the mobile phone terminal, while in an application scenario of a personal computer, the sent identifier information may be an MAC address of the personal computer.
In this embodiment, when the server receives update check information sent by the terminal, the server queries the version number of the upgrade package of the corresponding application program stored in the server according to the application program name and the version number of the information, and when the version number of the upgrade package in the server is higher than the version number of the software corresponding to the update check information, the upgrade package in the server is confirmed to be the required upgrade package and downloaded.
Furthermore, because the upgrade package is uploaded to the server by developers, in order to ensure the downloading safety of the upgrade package, the upgrade package can be encrypted by adopting a symmetric key before updating check information sent by a receiving terminal, the symmetric key adopts an AES-CBC encryption algorithm, and the AES-CBC encryption algorithm can adopt an AES-CBC-128 encryption algorithm and the like.
202. And carrying out security verification on the upgrade package of the running application program through a security verification mechanism.
Before analyzing the upgrade package, verifying the integrity and the safety of the obtained upgrade package through a safety verification mechanism.
203. And after the safety check is passed, determining a corresponding analysis standard according to the format of the upgrade package, and analyzing the upgrade package based on the analysis standard to obtain a file list of the upgrade package.
Wherein the file list of the upgrade package at least comprises the contents of the central directory and the subdirectories.
The terminal can carry out XML analysis on the upgrade package according to a preset semantic expression analysis rule, an interface of the service data of the user is created in the page template updating data, a file list of the upgrade package is obtained, and the purpose of semantic expression analysis is mainly to convert the upgrade package into data which can be understood and identified by a background.
204. And comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the application program of the current version, and obtaining module adding data, module deleting data and module changing data based on the comparison result.
After the safety check is passed, the upgrade package is proved not to be maliciously tampered, the next step can be carried out, the internal structure of the upgrade package is analyzed, the central directory information of the installation package and the central directory information of the upgrade package are compared, and the specific process is as follows: the filename fields of each subdirectory of the central directory of the installation package and the upgrade package are compared in turn, such as the CRC-32 checksum field and the uncompressed size field of the central directory.
Judging whether a central directory in a file list of the upgrade package is the same as a central directory in the software data of the current version; if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and subdirectories in the software data of the current version are the same, and if the contents of the subdirectories are different, extracting the data with the difference to obtain module change data; if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module increase data; if not, extracting the data with the difference to obtain module deletion data.
205. And establishing an iterative relationship between module added data, module deleted data and module changed data and software data of the application program of the current version.
206. And according to the iteration relation, rendering a new interface on the basis of the current software interface.
Analyzing the user interface updating data to obtain the updating data of each component and the layout logic of each component; the mobile terminal application program analyzes the updated data of each component to each user interface control according to the corresponding relation between the components and the user interface controls; and the mobile terminal application program renders a user interface according to the layout logic of each component, and completes the layout conversion control of the page, thereby realizing the dynamic display of the page.
207. And judging whether the updating operation exists, if so, issuing a replacement instruction to the background, and acquiring a new interface according to the replacement instruction.
Wherein the update operation comprises a refresh operation and a re-entry operation of the terminal.
In the home page of the application program, the data of the application program can be refreshed by pulling the page downwards, for the active page of strong operation, instant data can be obtained by simple refreshing, but for specific data, the problem can be solved only by publishing the application program.
208. And acquiring a new interface, covering the software display of the current version, and replacing the software interface of the current version with the new interface to realize the display of the new interface.
According to the scheme, the upgrading packet is acquired from the server and safely downloaded through the identification information of the application program, the downloaded upgrading packet is safely checked, the safety of the upgrading packet is further ensured, and the application program is safely issued and updated.
Referring to fig. 3, a schematic diagram of a third embodiment of the application publishing method according to the embodiment of the present invention includes the following steps:
301. and when detecting that the upgrade package of the running application program exists, acquiring the upgrade package, and analyzing and comparing the upgrade package to obtain an update file.
The update file comprises module adding data, module deleting data and module changing data.
302. And respectively acquiring the position information of the different types of update files in the upgrade package file list.
For different types of update files, the components whose changes occur on the interface of the current version of the application are determined, and for the specific location layout of the components, the location of the different types of update data in the current version of the application can be determined from the location of the different types of update data in the software data of the current version of the application.
303. And obtaining the association relation between the updated file and other module data in the upgrade patch database according to the position information.
304. And converting the incidence relation into a mapping relation of the display position of the update file on the software interface to obtain an iterative relation between the update file and the software data of the application program of the current version.
305. And acquiring rendering plug-in configuration information of the terminal and determining a corresponding rendering strategy.
After the configuration information is obtained, a rendering mode corresponding to a target view which needs to be rendered currently can be queried in the configuration information, because sizes and the like of display interfaces of terminals are different, interface rendering can be performed on different types of clients for realizing file updating, and a data structure specification of interface data is set as follows: data types, including: the configuration information may characterize rendering strategies of views in the target page, for example, the target page includes 3 views to be displayed, the configuration information characterizes that two views may be rendered by a rendering manner of a weex plug-in, and the other view may be rendered by a rendering manner of a native plug-in.
In practical application, the configuration information may be represented as an array, and the identifier of the view and the rendering policy corresponding to the view may be recorded in the array, so that in the configuration information, the identifier of the view and the rendering policy may be in a one-to-one relationship or a one-to-many relationship.
306. And adjusting the layout of the current software display interface through a rendering strategy and an iteration relation.
307. And drawing and rendering the software interface and the page jump scheme according to the adjustment result to obtain a new interface.
The display mode of the page of the application program on the mobile client depends on the development mode of the application program, after the page is adjusted, jumping among a plurality of pages is realized through a jumping interface, the identifier of the jumping interface selected by a user is used as an index to search in a corresponding relation table, if the identifier of the jumping interface exists in the corresponding relation table, the display data corresponding to the jumping page exists in the display data of the current page, and the display data which is pointed by the jumping interface and is common to the jumping page and the current page is obtained from the display data of the current page.
308. And when the application program is detected to have updating operation, replacing the current version of the software interface with the new interface so as to release the application program.
The updating operation refers to refreshing or re-entering operation of the application program by a user. And detecting whether the terminal has refreshing or re-entering operation in the application program, if so, acquiring the new interface, and covering the current version of the software interface with the new interface.
According to the scheme, the position information of the update file in the update package file list is obtained to obtain the association relation between the update file and other module data in the update package database, so that the iteration relation between the update file and the software data of the application program of the current version is obtained, the display position of the update file is determined, and the dynamic update of the running application program is realized.
With reference to fig. 4, a schematic structural diagram of an application publishing device according to an embodiment of the present invention is shown, and includes:
the analysis module 401 is configured to, when detecting that an upgrade package of an application program in operation exists, obtain the upgrade package, and analyze and compare the upgrade package to obtain an update file, where the update file includes module addition data, module deletion data, and module change data;
a building module 402, configured to build an iterative relationship between module addition data, module deletion data, and module change data and software data of the current version of the application program, where the iterative relationship is a mapping relationship of display positions of each data on a software interface;
a rendering module 403, configured to render a new interface based on the current software interface according to the iterative relationship;
and a replacing module 404, configured to, when it is detected that the application program has an updating operation, replace the current version of the software interface with the new interface, so as to implement the release of the application program.
According to the scheme, the upgrade package of the running application program is obtained, the upgrade file is obtained through analysis and comparison, the iteration relation between the upgrade file and the software data of the current version of the application program is established, a new interface is rendered on the basis of the current software interface according to the iteration relation, and the new interface is replaced for the software interface of the current version when the update operation of the application program is detected, so that the dynamic release and update of the application program are realized, the new function which can be used only by the original version upgrade can be obtained only through the dynamic configuration of the system, and the loss rate of customers is reduced.
Referring to fig. 5, another schematic structural diagram of an application publishing device according to an embodiment of the present invention includes:
the analysis module 401 is configured to, when an upgrade package of an application program in operation is detected to exist, obtain the upgrade package, and analyze and compare the upgrade package to obtain an update file, where the update file includes module addition data, module deletion data, and module change data;
a building module 402, configured to build an iterative relationship between module new data, module deletion data, and module change data and software data of the current version of the application program, where the iterative relationship is a mapping relationship of display positions of each data on a software interface;
a rendering module 403, configured to render a new interface based on the current software interface according to the iterative relationship;
and a replacing module 404, configured to, when it is detected that the application program has an updating operation, replace the current version of the software interface with the new interface, so as to implement the release of the application program.
In this embodiment, the parsing module 401 includes:
a first obtaining unit 4011, configured to, when it is detected that an upgrade package of an application program in operation exists, obtain identification information of the application program in operation, and obtain the upgrade package of the application program in operation from a server according to the identification information;
the checking unit 4012 is configured to perform security checking on the upgrade package of the running application program through a security checking mechanism;
and the analysis comparing unit 4013 is configured to, after the security check passes, analyze the upgrade package that passes the security check to obtain a file list of the upgrade package, and compare the file list with the software data of the current version of the application program to obtain an update file.
In this embodiment, the analysis comparing unit 4013 includes:
the analysis subunit is configured to, after the security check is passed, determine a corresponding analysis standard according to the format of the upgrade package, and analyze the upgrade package based on the analysis standard to obtain a file list of the upgrade package, where the file list at least includes contents of the central directory and the subdirectories;
and the comparison subunit is used for comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program, and obtaining module addition data, module deletion data and module change data based on the comparison result.
In this embodiment, the comparing subunit is specifically configured to determine whether a central directory in the file list of the upgrade package is the same as a central directory in the software data of the current version; if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and subdirectories in the software data of the current version are the same, and if the contents of the subdirectories are different, extracting the data with the difference to obtain module change data; if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module added data; if not, extracting the data with the difference to obtain module deletion data.
In this embodiment, the building module 402 includes:
a second obtaining unit 4021, configured to obtain location information of the module addition data, the module deletion data, and the module change data in the upgrade package file list, respectively;
the association unit 4022 is configured to obtain an association relationship between the data in the upgrade package database and other module data according to the location information;
the mapping unit 4023 is configured to acquire module position information displayed on the software interface, and convert the association relationship into a mapping relationship of display positions of the data on the software interface, so as to obtain an iterative relationship between module addition data, module deletion data, and module change data and software data of the current version of the application program.
In this embodiment, the rendering module 403 includes:
a third obtaining unit 4031, configured to obtain rendering plug-in configuration information of the terminal, and determine a corresponding rendering policy;
an adjusting unit 4032, configured to extract an iteration relationship corresponding to the new added data, the module deletion data, and the module change data, and adjust a current software display interface layout according to the rendering policy and the iteration relationship;
and an operation unit 4033, configured to draw and render a software interface and a page jump scheme according to the adjustment result, so as to obtain a new interface.
In this embodiment, the replacing module 404 includes:
a detecting unit 4041, configured to determine whether an update operation exists, where the update operation includes a refresh operation and a re-entry operation of a terminal;
the issuing unit 4042 is configured to issue a replacement instruction to the background when the update operation exists, and acquire a new interface according to the replacement instruction;
and the covering unit 4043 is configured to send the new interface to the front end, cover the software display of the current version, and replace the software interface of the current version with the new interface to achieve display of the new interface.
According to the scheme, the dynamic release and update of the application program are realized by constructing an iterative relationship, the function module is dynamically configured, and when a user refreshes or reenters a page, the user can see the use entrance of a new service, use the new function, and also can adjust the existing decision, policy, flow and function in time according to the existing service rule, so that the client authority can be flexibly controlled and changed.
Fig. 4 to 5 describe the application publishing device in the embodiment of the present invention in detail from the perspective of the modular functional entity, and the application publishing device in the embodiment of the present invention is described in detail from the perspective of hardware processing.
Fig. 6 is a schematic structural diagram of an application issuing device according to an embodiment of the present invention, where the application issuing device 600 may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 610 (e.g., one or more processors) and a memory 620, one or more storage media 630 (e.g., one or more mass storage devices) for storing applications 633 or data 632. Memory 620 and storage medium 630 may be, among other things, transitory or persistent storage. The program stored in the storage medium 630 may include one or more modules (not shown), each of which may include a sequence of instructions for the application issuing device 600. Still further, the processor 610 may be configured to communicate with the storage medium 630 to execute a series of instruction operations in the storage medium 630 on the application issuing device 600 to implement the methods provided by the implementations described above.
The application publishing device 600 may also include one or more power supplies 640, one or more wired or wireless network interfaces 650, one or more input output interfaces 660, and/or one or more operating devices 631, such as Windows Server, mac OS X, unix, linux, freeBSD, and so forth. Those skilled in the art will appreciate that the application distribution device architecture shown in FIG. 6 is not intended to be limiting of the computer devices provided by the present invention and may include more or less components than shown, or some components may be combined, or a different arrangement of components.
The present invention also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium, and may also be a volatile computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the instructions cause the computer to perform the steps of the application program issuing method provided in the foregoing embodiments.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses, devices, and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The integrated unit, if implemented in the form of a software functional unit 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 invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (10)
1. An application program issuing method, characterized by comprising:
when detecting that an upgrade package of an application program running exists, acquiring the upgrade package, analyzing and comparing the upgrade package to obtain an update file, wherein the update file comprises module newly added data, module deleted data and module changed data;
establishing an iterative relationship between module added data, module deleted data and module changed data and software data of the current version of the application program, wherein the iterative relationship is a mapping relationship of display positions of all data on a software interface;
according to the iteration relation, a new interface is rendered on the basis of the current software interface;
and when the application program is detected to have updating operation, replacing the current version of the software interface with the new interface so as to release the application program.
2. The method for issuing the application program according to claim 1, wherein the obtaining the upgrade package when detecting that there is an upgrade package of the running application program, and performing parsing comparison on the upgrade package to obtain an update file includes:
when the upgrade package of the running application program is detected to exist, acquiring identification information of the running application program, and acquiring the upgrade package of the running application program from a server according to the identification information;
performing security verification on the upgrade package of the running application program through a security verification mechanism;
after the security verification is passed, analyzing the upgrade package passed by the security verification to obtain a file list of the upgrade package, and comparing the file list with the software data of the current version of the application program to obtain an update file.
3. The method for issuing the application program according to claim 2, wherein after the security check is passed, parsing the upgrade package that is passed by the security check to obtain a file list of the upgrade package, and comparing the file list with the software data of the current version of the application program to obtain an update file includes:
after the safety check is passed, determining a corresponding analysis standard according to the format of the upgrade package, and analyzing the upgrade package based on the analysis standard to obtain a file list of the upgrade package, wherein the file list at least comprises the contents of a central directory and subdirectories;
and comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program, and obtaining module addition data, module deletion data and module change data based on the comparison result.
4. The method for issuing an application program according to claim 3, wherein the comparing the contents of the central directory and the subdirectories in the file list with the contents of the central directory and the subdirectories of the software data of the current version of the application program and obtaining module addition data, module deletion data, and module change data based on the result of the comparison includes:
judging whether a central directory in a file list of the upgrade package is the same as a central directory in the software data of the current version;
if the central directories are the same, judging whether the contents of the central directories in the file list of the upgrade package and subdirectories in the software data of the current version are the same, and if the contents of the subdirectories are different, extracting the data with the difference to obtain module change data;
if the central directories are different, judging whether the number of the central directories in the file list of the upgrade package is more than that of the central directories in the software data of the current version, if so, extracting the data with the difference to obtain module increase data;
if not, extracting the data with the difference to obtain module deletion data.
5. The application distribution method of any one of claims 1 to 4, wherein the building of iterative relationships between module addition data, module deletion data, and module change data and the software data of the current version of the application comprises:
respectively acquiring position information of module newly added data, module deleted data and module changed data in an upgrade package file list;
obtaining the incidence relation between the data and other module data in an upgrade packet database according to the position information;
and acquiring module position information displayed on a software interface, and converting the incidence relation into a mapping relation of the display position of the data on the software interface to obtain the iteration relation between module added data, module deleted data and module changed data and the software data of the current version of the application program.
6. The application publishing method of claim 5, wherein rendering a new interface based on a current software interface according to the iterative relationship comprises:
acquiring rendering plug-in configuration information of a terminal, and determining a corresponding rendering strategy;
extracting iteration relations corresponding to the newly added data, the module deleted data and the module changed data, and adjusting the current software display interface layout through the rendering strategy and the iteration relations;
and drawing and rendering the software interface and the page jump scheme according to the adjustment result to obtain a new interface.
7. The application program release method according to claim 6, wherein the replacing the new interface with the current version software interface when detecting that the application program has an update operation, so as to implement the release of the application program, comprises:
judging whether an updating operation exists or not, wherein the updating operation comprises a refreshing operation and a re-entering operation of the terminal;
if yes, issuing a replacement instruction to a background, and acquiring a new interface according to the replacement instruction;
and sending the new interface to the front end, covering the software display of the current version, and replacing the software interface of the current version with the new interface to realize the display of the new interface.
8. An application distribution apparatus, characterized in that the application distribution apparatus comprises:
the analysis module is used for acquiring the upgrade package when detecting that the upgrade package of the running application program exists, analyzing and comparing the upgrade package to obtain an update file, wherein the update file comprises module new data, module deletion data and module change data;
the construction module is used for constructing an iterative relationship between module new data, module deletion data and module change data and the software data of the current version of the application program, wherein the iterative relationship is a mapping relationship of display positions of all data on a software interface;
the rendering module is used for rendering a new interface on the basis of the current software interface according to the iteration relation;
and the replacing module is used for replacing the software interface of the current version with the new interface when the application program is detected to have updating operation so as to realize the release of the application program.
9. An application publication device comprising a memory having instructions stored therein and at least one processor; the at least one processor calls the instructions in the memory to cause the application issuing device to perform the steps of the application issuing method according to any one of claims 1 to 7.
10. A computer-readable storage medium having stored thereon instructions which, when executed by a processor, carry out the steps of the application distribution method according to any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261549.7A CN115509582A (en) | 2022-10-14 | 2022-10-14 | Application program issuing method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261549.7A CN115509582A (en) | 2022-10-14 | 2022-10-14 | Application program issuing method, device, equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509582A true CN115509582A (en) | 2022-12-23 |
Family
ID=84510719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211261549.7A Pending CN115509582A (en) | 2022-10-14 | 2022-10-14 | Application program issuing method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509582A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117055937A (en) * | 2023-07-18 | 2023-11-14 | 深圳先锋居善科技有限公司 | Application program updating method and device, electronic equipment and storage medium |
CN117270958A (en) * | 2023-11-22 | 2023-12-22 | 深圳市鲸视科技有限公司 | Software version management method, system, terminal equipment and storage medium |
-
2022
- 2022-10-14 CN CN202211261549.7A patent/CN115509582A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117055937A (en) * | 2023-07-18 | 2023-11-14 | 深圳先锋居善科技有限公司 | Application program updating method and device, electronic equipment and storage medium |
CN117270958A (en) * | 2023-11-22 | 2023-12-22 | 深圳市鲸视科技有限公司 | Software version management method, system, terminal equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885311B (en) | Application program generation method and device | |
CN115509582A (en) | Application program issuing method, device, equipment and storage medium | |
US7062750B2 (en) | Accessing remote stores of source and symbol data for use by computing tools | |
US7548542B2 (en) | Methods and apparatus for transferring data | |
KR101735719B1 (en) | Operating system auto-update procedure | |
CN111258989A (en) | Database migration evaluation method and device, storage medium and computer equipment | |
CN112486547B (en) | Application program updating method and device under multi-tenant scene and electronic equipment | |
US8418169B2 (en) | Management method for managing software module and information processor | |
WO2006110005A1 (en) | Method for providing contents for mobile comunication terminal | |
WO2003093990A2 (en) | Automated installation of an application | |
CN104346184A (en) | Application packaging device and application packaging method | |
US11882154B2 (en) | Template representation of security resources | |
CN103248641A (en) | Network download method, device and system | |
US20210373882A1 (en) | Method and apparatus for generating difference between old and new versions of data for updating software | |
CN108874409A (en) | A kind of information updating method, device, server and system | |
CN107589949A (en) | The distribution of application program installation kit and installation method and corresponding intrument | |
CN111897846A (en) | Cache data verification method, device, equipment and storage medium | |
CN112241298A (en) | Page display method and device, storage medium and electronic device | |
CN106933625A (en) | A kind of method and system of multi-source software upgrading | |
CN112860645A (en) | Processing method and device for offline compressed file, computer equipment and medium | |
CN110990335A (en) | Log archiving method, device, equipment and computer readable storage medium | |
CN109871221A (en) | A kind of system for deployment mobile application software of quickly installing for mobile terminal device | |
CN103019795A (en) | Method and system for upgrading software basic data | |
WO2023092580A1 (en) | Page display method and apparatus, storage medium, and electronic device | |
CN113342918B (en) | Forest resource one-image quality inspection logic rule updating method and system and cloud platform |
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 |