CN112416412A - Heat deployment method and system based on sub-application - Google Patents

Heat deployment method and system based on sub-application Download PDF

Info

Publication number
CN112416412A
CN112416412A CN202011363163.8A CN202011363163A CN112416412A CN 112416412 A CN112416412 A CN 112416412A CN 202011363163 A CN202011363163 A CN 202011363163A CN 112416412 A CN112416412 A CN 112416412A
Authority
CN
China
Prior art keywords
sub
application
installation
installation package
deployment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011363163.8A
Other languages
Chinese (zh)
Other versions
CN112416412B (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.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information 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 Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN202011363163.8A priority Critical patent/CN112416412B/en
Publication of CN112416412A publication Critical patent/CN112416412A/en
Application granted granted Critical
Publication of CN112416412B publication Critical patent/CN112416412B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

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 belongs to the technical field of android application, and particularly relates to a heat deployment method and a system based on sub-application.A client acquires a sub-application list from a background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number; for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user. The invention can realize the dynamic addition/update of the sub-application function under the condition that the user does not sense, meets the application requirement and has better application prospect.

Description

Heat deployment method and system based on sub-application
Technical Field
The invention belongs to the technical field of android applications, and particularly relates to a heat deployment method and system based on sub-applications.
Background
The traditional Android application program needs to release the whole installation package when updating some function points, and a user manually confirms the updating, pulls the installation package, confirms the installation process and finally completes the updating. Because the traditional updating mode needs to download and install the whole installation package again, the time consumption is long, meanwhile, the updating process needs manual participation, and the user experience is poor.
Disclosure of Invention
Therefore, the invention provides a heat deployment method and system based on sub-application, which can realize dynamic addition/update of sub-application functions under the condition that a user does not sense and meet application requirements.
According to the design scheme provided by the invention, the heat deployment method based on the sub-application comprises the following contents:
the client acquires a sub-application list from the background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number;
for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user.
As the heat deployment method based on the sub-application, the client downloads the corresponding sub-application installation package through the file server for heat deployment installation aiming at the sub-application which is not installed in the list from the sub-application list acquired in the background server.
In the heat deployment method based on the sub-applications, each sub-application installation package to be released latest is stored in the file server.
As the heat deployment method based on the sub-application, further, a publisher uploads a sub-application installation package to be published latest to a file server after signing by a private key; and aiming at the sub-application installation package downloaded from the file server, the client uses the public key issued by the issuer to check the signature, if the signature is checked successfully, the heat deployment installation is carried out, otherwise, the flow is ended.
As the heat deployment method based on the sub-application, further, in the heat deployment and installation of the sub-application, the sub-application installation package is copied to the virtual system program directory, and the executable binary file in the installation package is decompressed to the directory.
In the heat deployment method based on the sub-application, an application sandbox directory is adopted as the virtual system program directory.
The heat deployment method based on the sub-application is characterized in that after the heat deployment installation is finished, the heat deployment installation package is predicted to be cached in the virtual system program directory for application starting.
As the heat deployment method based on the sub-application, the main process controls the installation, the uninstallation, the starting and the query of the sub-application in the sub-process; the sub-process is pre-embedded with the pit Activity, and when the real Activity is started, the system Activity management service starts the pit Activity first and then forwards the real Activity.
As the heat deployment method based on the sub-application, the main process firstly generates an encryption string according to the serial number of the sub-application and transmits the encryption string to the sub-application, so that the main process can conveniently identify the sub-application when calling.
Further, based on the above method, the present invention also provides a thermal deployment system based on sub-applications, including: the client acquires a sub-application list from the background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number; for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user.
The invention has the beneficial effects that:
according to the method, the client is used for downloading the update application installation package from the file server, so that the function of dynamically adding/updating the sub-application can be realized under the condition that a user does not sense, and the requirement of rapid iteration of the Android application is met; meanwhile, when the bug on the sub application line is found, the on-line can be quickly repaired, and the user does not sense the bug. In addition, the main process can manage the installation, uninstallation and startup of the sub-applications in the sub-process, and the sub-applications can cross-process use the capacity of the main process through the SDK, so that the upgrading efficiency of the sub-applications is improved, the memory load occupied by upgrading is reduced, the user experience can be effectively improved, and the method has a better application prospect.
Description of the drawings:
FIG. 1 is a schematic flow chart of a thermal deployment based on sub-applications in an embodiment;
FIG. 2 is a schematic diagram illustrating the implementation of the main process in the embodiment for sub-application installation, uninstallation, startup and query control;
FIG. 3 is a schematic diagram illustrating cross-process communication between a host process and a sub-process in an embodiment.
The specific implementation mode is as follows:
in order to make the objects, technical solutions and advantages of the present invention clearer and more obvious, the present invention is further described in detail below with reference to the accompanying drawings and technical solutions.
An embodiment of the present invention, as shown in fig. 1, provides a heat deployment method based on sub-applications, which includes the following steps:
the client acquires a sub-application list from the background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number;
for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user.
The client is used for downloading the update application installation package from the file server, the function of dynamically adding/updating the sub-application can be achieved under the condition that a user does not sense the sub-application, and the requirement of rapid iteration of the Android application is met.
Referring to fig. 1, the detailed flow of the sub-application-based hot deployment installation can be designed as follows:
step 1, a user opens a sub-application list through a client;
step 2, the client sends a request to a background server to obtain a sub-application list;
step 3, the background server returns each piece of sub-application information in the application list, wherein the sub-application information at least comprises SN, MD5, a version number and a sub-application installation package apk downloading path;
step 4, the user clicks and opens the sub-application through the client;
step 5, the client judges whether the sub-application needs to be upgraded, and if so, the sub-application needs to be upgraded;
step 6, the client requests a file server to download the sub-application installation package apk;
step 7, the file server returns a sub-application installation package apk based on the request of the client;
and 8, the client performs hot deployment installation based on the sub-application installation package apk.
Further, after step 3, the method may further include: and the client judges whether the corresponding sub-application is installed or not, if so, the step 4 is carried out, and if not, the step 6 is carried out.
It can be understood that, in the step 5, if the upgrade is not needed, the sub-application may be started according to the click action of the user.
Further, the step 6 and the step 7 may specifically include:
the sub-application installation package apk is signed by a digital certificate private key of an issuer before being issued, and the signed sub-application installation package apk is uploaded to a file server; the file server returns a signed sub-application installation package apk based on the request of the client; and the client checks the signed sub-application installation package apk by adopting the digital certificate public key of the publisher, if the signature is successfully checked, the hot deployment installation is carried out, and if the signature is not successfully checked, the subsequent flow is directly ended.
Further, step 8 may specifically include: copying a child application installation package apk to an application sandbox specific directory; the so file of the child application installation package apk is decompressed under the application sandbox specific directory.
Further, after the step 8, the method may further include: pre-loading the sub-application installation package apk and caching the apk into an application sandbox specific directory; and starting the sub-application.
It should be noted that the purpose of preloading is to solve the problem that the first time the hot deployment sub-application is started up is long. The realization principle is as follows: and actively constructing a DexClassLoader at the asynchronous thread, transmitting a path of the sub-application installation package apk and an odex path for storing the cache file after preloading, and completing the preloading work of the sub-application installation package apk.
As shown in fig. 2, the main process completes the control of the installation, uninstallation, startup, and query capabilities of the sub-application in the sub-process through ContentProvider + aid dl; the Activity with pit position pre-embedded in the subprocess is delivered to the system Activity management service to start the pit position Activity when the real Activity is started, and then the pit position Activity is forwarded to the real Activity
According to the embodiment of the present invention, further, the starting the sub-application may further include: when the main process starts the sub-application, an encryption string is generated according to the unique identifier SN of the sub-application, wherein the encryption string generation formula can be expressed as: an encrypted string ═ SM4(SN + "#" + Snowflake algorithm distributed unique id, SM3("{ certain string }"); and the main process transmits the encryption string to the sub-application, and the subsequent sub-application needs to transmit the encryption string back when calling the main process capability for the main process to identify the specific sub-application.
As shown in fig. 3, after the host process passes the encryption string to the sub-application, the method may further include: the sub-application acquires a Binder interface of the AIDL of the main process container through the contentProvider; the sub-application transmits the encryption string back to the main process container through AIDL calling capability; and the main process container verifies the encryption string, identifies the corresponding sub-application, then determines the execution capacity of the sub-application and returns the execution capacity to the sub-application.
The main process container encapsulates service capabilities such as obtaining an un-login code, selecting a contact person, and the like, and when the child application uses the capabilities, the child application needs to call the capabilities of the main process in a cross-process communication manner because the child application is in the middle of the child process. The main process of the invention realizes the capacity service based on the AIDL cross-process communication mechanism, and the binder interface is exposed outwards through the contentProvider for the calling end (sub application) to obtain. The sub-application relies on remoteSdk in the development stage, and the capacity call to the main process is conveniently initiated through the package of the SDK, the bottom layer principle of the package is to obtain a Binder agent of the AIDL through the contentProvider, and then the capacity call is directly initiated through the AIDL directly in the follow-up process, and the capacity call result returned by the main process is obtained.
Further, based on the above thermal deployment method, an embodiment of the present invention further provides a sub-application-based thermal deployment system, for implementing any one of the above sub-application-based thermal deployment schemes, where the system includes: the system comprises a client, a background server and a file server; the client acquires the sub-application information from the background server, downloads the sub-application installation package apk from the file server if the sub-application information is not installed or needs to be upgraded, and then performs hot deployment installation on the basis of the sub-application installation package apk.
According to the scheme provided by the embodiment of the invention, the sub-application functions can be dynamically added/updated under the condition that a user does not sense, and the requirement of quick iteration is met. Meanwhile, when the bug on the sub application line is found, the on-line can be quickly repaired, and the user does not sense the bug. In addition, the main process can manage the installation, uninstallation and startup of the sub-application in the sub-process, and the sub-application can cross-process use the capability of the main process through the SDK.
Unless specifically stated otherwise, the relative steps, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present invention.
Based on the foregoing method or system, an embodiment of the present invention further provides a network device, including: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the system or perform the method described above.
Based on the above system, the embodiment of the present invention further provides a computer readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the above system.
The device provided by the embodiment of the present invention has the same implementation principle and technical effect as the system embodiment, and for the sake of brief description, reference may be made to the corresponding content in the system embodiment for the part where the device embodiment is not mentioned.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing system embodiments, and are not described herein again.
In all examples shown and described herein, any particular value should be construed as merely exemplary, and not as a limitation, and thus other examples of example embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, and computer program products according to various embodiments of the present invention. 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.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer-readable storage medium executable by a processor. 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 system according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Finally, it should be noted that: the above-mentioned embodiments are only specific embodiments of the present invention, which are used for illustrating the technical solutions of the present invention and not for limiting the same, and the protection scope of the present invention is not limited thereto, although the present invention is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the embodiments of the present invention, and they should be construed as being included therein. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A heat deployment method based on sub-applications is characterized by comprising the following steps:
the client acquires a sub-application list from the background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number;
for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user.
2. The sub-application-based hot deployment method according to claim 1, wherein for the sub-applications not installed in the list, the client downloads the corresponding sub-application installation packages through the file server for hot deployment installation from the sub-application list acquired in the backend server.
3. The sub-application-based hot deployment method according to claim 1 or 2, wherein each sub-application installation package to be newly issued is stored in the file server.
4. The sub-application-based thermal deployment method according to claim 3, wherein the publisher uploads the latest sub-application installation package to be published to the file server after signing by a private key; and aiming at the sub-application installation package downloaded from the file server, the client uses the public key issued by the issuer to check the signature, if the signature is checked successfully, the heat deployment installation is carried out, otherwise, the flow is ended.
5. A sub-application-based hot deployment method as claimed in claim 1, wherein in the sub-application hot deployment installation, the sub-application installation package is copied to the virtual system program directory, and the executable binary files in the installation package are decompressed under the directory.
6. The method for sub-application-based thermal deployment of claim 5, wherein the virtual system program directory employs an application sandbox directory.
7. A sub-application-based thermal deployment method as claimed in claim 5, wherein after the thermal deployment installation is completed, the sub-application installation package is predicted to be cached in the virtual system program directory for application startup.
8. The sub-application-based thermal deployment method according to claim 1, wherein the host process controls installation, uninstallation, startup and querying of the sub-application in the sub-process; the sub-process is pre-embedded with the pit Activity, and when the real Activity is started, the system Activity management service starts the pit Activity first and then forwards the real Activity.
9. The method for thermal deployment based on sub-applications as claimed in claim 8, wherein the host process first generates an encryption string based on the sub-application serial number and transmits the encryption string to the sub-application, thereby facilitating the identification of the sub-application when the host process calls.
10. A sub-application based thermal deployment system, comprising: the client acquires a sub-application list from the background server according to a user use request, wherein the sub-application list comprises each sub-application serial number, an abstract, a version number and an installation package downloading path; acquiring a corresponding sub-application in the sub-application list according to a user application click request, and judging whether the sub-application needs to be upgraded or not according to the version number; for the sub-application needing to be upgraded, the client downloads the sub-application installation package through the file server and carries out hot deployment installation; the sub-application which does not need to be upgraded is directly started according to the clicking action of the user.
CN202011363163.8A 2020-11-28 2020-11-28 Heat deployment method and system based on sub-application Active CN112416412B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011363163.8A CN112416412B (en) 2020-11-28 2020-11-28 Heat deployment method and system based on sub-application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011363163.8A CN112416412B (en) 2020-11-28 2020-11-28 Heat deployment method and system based on sub-application

Publications (2)

Publication Number Publication Date
CN112416412A true CN112416412A (en) 2021-02-26
CN112416412B CN112416412B (en) 2022-04-15

Family

ID=74842854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011363163.8A Active CN112416412B (en) 2020-11-28 2020-11-28 Heat deployment method and system based on sub-application

Country Status (1)

Country Link
CN (1) CN112416412B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091763A1 (en) * 2000-11-06 2002-07-11 Shah Lacky Vasant Client-side performance optimization system for streamed applications
US20130298116A1 (en) * 2010-11-19 2013-11-07 Beijing Qihoo Technology Company Limited Method and System for Intelligent Installation/Upgrading of Software
CN107205014A (en) * 2017-04-14 2017-09-26 腾讯科技(深圳)有限公司 A kind of application program method for down loading and client
CN108509211A (en) * 2018-02-07 2018-09-07 深圳壹账通智能科技有限公司 Application program updating method, apparatus, mobile terminal and storage medium
CN110286922A (en) * 2019-05-22 2019-09-27 深圳壹账通智能科技有限公司 Using downloading updating method, device, computer equipment and storage medium
CN110750280A (en) * 2019-09-30 2020-02-04 深圳市金百锐通信科技有限公司 Application upgrading method and system based on Android platform and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091763A1 (en) * 2000-11-06 2002-07-11 Shah Lacky Vasant Client-side performance optimization system for streamed applications
US20130298116A1 (en) * 2010-11-19 2013-11-07 Beijing Qihoo Technology Company Limited Method and System for Intelligent Installation/Upgrading of Software
CN107205014A (en) * 2017-04-14 2017-09-26 腾讯科技(深圳)有限公司 A kind of application program method for down loading and client
CN108509211A (en) * 2018-02-07 2018-09-07 深圳壹账通智能科技有限公司 Application program updating method, apparatus, mobile terminal and storage medium
CN110286922A (en) * 2019-05-22 2019-09-27 深圳壹账通智能科技有限公司 Using downloading updating method, device, computer equipment and storage medium
CN110750280A (en) * 2019-09-30 2020-02-04 深圳市金百锐通信科技有限公司 Application upgrading method and system based on Android platform and storage medium

Also Published As

Publication number Publication date
CN112416412B (en) 2022-04-15

Similar Documents

Publication Publication Date Title
EP1584007B1 (en) System to automatically process components on a device
US7703090B2 (en) Patch un-installation
US20150100955A1 (en) Method and System for Updating Software
CN1790266B (en) Method and system for downloading updates
KR102042723B1 (en) Methods for updating applications
KR101643022B1 (en) Catalog-based software component management
US7665081B1 (en) System and method for difference-based software updating
US8996667B2 (en) Deploying an operating system
CN107168742A (en) Application quick deployment method based on customization Android platform
US20040098427A1 (en) Device memory management during electronic file updating
US20130055231A1 (en) System and method for incremental software installation
CN108268346B (en) Data backup method, device, equipment and storage medium
CN110765394A (en) So file loading method and device, storage medium and terminal equipment
CN110532016B (en) Version management method, version updating method and version management system
CN114296777A (en) Software upgrading method, device, server and computer readable storage medium
CN112416412B (en) Heat deployment method and system based on sub-application
CA2511056A1 (en) System for registry-based automatic installation and component handling on a device
EP2680135B1 (en) Methods for updating applications
WO2022028046A1 (en) Image configuration method, device and system, and storage medium
CN105243325A (en) Method for residual process file in mobile terminal, mobile terminal and server
JP5401586B2 (en) Network storage control device, network storage system, and network storage control method
KR100444945B1 (en) Effective mobile data management method for mobile device
JP5037546B2 (en) Network storage control device, network storage system, and network storage control method
CN116775137A (en) Operating system starting method and device
CN115061707A (en) Cross-network-segment application deployment method and terminal

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