CN111309341A - Android application installation flow optimization method based on time-consuming prediction - Google Patents

Android application installation flow optimization method based on time-consuming prediction Download PDF

Info

Publication number
CN111309341A
CN111309341A CN202010097839.7A CN202010097839A CN111309341A CN 111309341 A CN111309341 A CN 111309341A CN 202010097839 A CN202010097839 A CN 202010097839A CN 111309341 A CN111309341 A CN 111309341A
Authority
CN
China
Prior art keywords
application
installation
module
model
prediction
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
CN202010097839.7A
Other languages
Chinese (zh)
Other versions
CN111309341B (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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN202010097839.7A priority Critical patent/CN111309341B/en
Publication of CN111309341A publication Critical patent/CN111309341A/en
Application granted granted Critical
Publication of CN111309341B publication Critical patent/CN111309341B/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/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses an android application installation flow optimization method based on time-consuming prediction, and aims to solve the problem of application installation flow optimization in intelligent mobile equipment. The technical scheme includes that an application installation system is modified, an Android-oriented application installation time-consuming prediction system is added in the application installation system, and the Android-oriented application installation time-consuming prediction system is composed of a prediction center database, a data collection module, a model construction module, a model service module, a data acquisition module, a data feedback module, an information acquisition module, a prediction time-consuming module and an installation progress indication module; the modified application installation system predicts application installation time consumption by using the application installation package file and the structural characteristics of the application installation package file, provides application installation progress information by using the application installation predicted time consumption, and optimizes an application installation process by using the application installation progress information. By adopting the method and the device, the time consumption of application installation can be rapidly predicted, and the application installation flow is optimized.

Description

Android application installation flow optimization method based on time-consuming prediction
Technical Field
The invention relates to the field of Application (APP) optimization, in particular to an android (android) device Application installation process optimization problem based on time-consuming prediction.
Background
Due to the advantages of expandability, usability, safety, stability and the like, the Android device is paid more attention from various research organizations since birth, and attracts researchers from various industries. On one hand, due to the portability of the Android device, the unique characteristics of the Android device can be used widely while the Android device obtains the consistent and favorable comment of users, and therefore, the application of the Android device is increased day by day; on the other hand, as applications installed on Android devices are explosively increased, some of the hidden disadvantages are continuously highlighted. For example, when a user needs to download and install an application that is just needed and needs to be used urgently, the user cannot know the time actually consumed by installing the application except the basic introduction of the application and the size of the application (i.e., the size of the storage space occupied by the application), so that the user can only carelessly watch the installation page to wait for the end of installation, the efficiency is extremely low, and the user cannot adapt to an efficient fast-paced environment at all. Especially, in a scenario where a user needs to install a large number of applications in batch for testing, the application installation process can only be performed sequentially, resulting in an excessively long installation period. If the application installation time can be accurately predicted and displayed on the application detail page or the application installation interface, the application installation process can be optimized and the application installation time can be shortened. In order to improve QoE (quality of experience) of a user in an application installation process on an Android device, and meanwhile, in order to enable an application optimization researcher to quickly obtain application installation time, application installation time-consuming influence factors are analyzed through application installation time-consuming prediction, and then a corresponding application installation time-consuming optimization strategy is researched.
Although the Android device has high expandability, the Android device belongs to a resource-limited device, the performance of the application program at the same level as that provided on the fixed computer cannot be achieved, the same user experience is achieved, researchers in all aspects are dedicated to optimizing the application installed on the Android device, the performance of the Android device can be expected to be the same as that of the fixed computer, and the limited resources can be expected to be utilized to the maximum extent. Researchers have made many efforts to optimize applications, such as computing migration, separation of data plane and control plane, etc., and also have solved the problem of long time consumption of applications by using post-compilation code optimization and transformation to customize Objective-C applications to reduce time consumption caused by dynamic scheduling, but do not consider the problem caused by the structure of the applications themselves. In addition, some research works want to dynamically install the application, but an effective application installation time-consuming prediction model is not established, and only can be obtained through statistics in advance. In summary, for the situation that the application installation time cannot be accurately predicted in the prior art and research work, if an effective application installation time prediction model can be established according to the size of the APP and the structural characteristics of the APP, the application installation time can be accurately predicted, the application installation process can be optimized, and a better result can be obtained.
In order to accurately research the influence of the structure of the APP on the application installation time, the invention analyzes the structure of an Apk (Android application package) file, the Apk file is a compressed package file, the file structure of the Apk file is shown in fig. 1, and as can be seen from fig. 1, the Apk file mainly comprises the following files: arsc, lib, assets, res, META-INF, class, dex and AndroidManifest. Wherein, the resources.arcc file records the mapping between the resource file and the resource ID; the "lib" folder holds different types of dynamic link library files on which the application depends; the "assets" folder stores static resource files such as picture resource files, JSON configuration files, binary data files, HTML5 offline resource files and the like which need to be packaged into an application program; the res folder stores resource files of the application, including storage icons, pictures, constants such as character strings/numbers/colors, UI (user interface) layout, menus, animations compiled in a binary format, and the like; the META-INF folder stores certificates of application developers to verify the identity of third party developers; dex file stores Dalvilk byte code compiled from Java code, as executable file; xml document stores system manifest documents, including configuration and declaration of four major components in Android (i.e., Activity, Service, broadcastdetect and ContentProvider), application package name, version support, rights specification, and the like. Thus, in addition to class. dex files being executable files, the other six files (i.e., resources. arsc, lib/, assets/, res/, met-INF/and android manifest. xml files) are all relevant resource configuration files.
Fig. 2 is an overall architecture diagram of a current APP installation system. Installation of general APP on Android equipment is accomplished by 2 modules: 1) a data module; 2) and (6) an APP installation module. The data module consists of an application center database and an application management submodule; the APP installation module is composed of an application acquisition sub-module and an application installation sub-module. Fig. 3 is a flowchart of a current main APP installation process, and the specific steps are as follows:
first, an application installation system is deployed.
An application center database and an application management submodule are deployed on a cloud server, the application center database is connected with the application management submodule, the application center database stores an application center data table and stores original data of an App, wherein the original data of the App comprises an App identifier, an App class identifier, an Apk file (Android application package, namely an application installation package) and the like, the application management submodule is responsible for monitoring an external request, then sending an access request to the application center database, and finally packing a result (the requested application installation package, namely the Apk file) returned by the database into a json file and sending the json file to a module for sending the external request.
An application acquisition submodule and an application installation submodule are deployed at a terminal, the application sub-installation module is connected with the application acquisition submodule, and the application acquisition submodule is connected with the application installation submodule and the application management submodule. The application installation sub-module monitors a user downloading request, sends the downloading request to the application acquisition sub-module, and executes an application installation process after a return result is acquired. And after receiving the downloading request, the application acquisition submodule forwards the downloading request to the application management submodule, acquires a return result (namely an Apk file), and returns the result to the application installation submodule.
The second step is that: and the application installation submodule continues to monitor the user request, if the application downloading of the user on the terminal equipment is monitored, the third step is executed, and if the application downloading of the user on the terminal equipment is not monitored, the second step is carried out to continue to monitor the user request.
The third step: the application installation sub-module acquires a user downloading request and sends the downloading request to the application acquisition module.
The fourth step: and the application acquisition submodule receives the downloading request and sends the downloading request to the cloud application management submodule.
The fifth step: and the application management submodule receives the download list request and sends a data access request to the application center database.
And a sixth step: and the application center database returns a request result to the application management submodule, and the application management submodule acquires the request result and sends the request result to the application acquisition submodule.
The seventh step: and the application acquisition submodule acquires the request result and forwards the request result to the application installation submodule.
Eighth step: and the application installation submodule acquires the Apk file from the request result returned by the application acquisition submodule, loads an application installation interface according to the Apk file and executes an application installation process.
The ninth step: and after the installation is finished, the terminal equipment enters an installation finishing interface.
In combination with the APP installation process and the analysis of the Apk file structure, the application installation time is related to the APP size, and the Apk file is divided into 2 parts, namely, a DEX (class. DEX file, namely Dalvilk byte code file) file and other resource configuration files (resources. arm, lib/, assets/, res/, META-INF/and android manifest. xml files) except the DEX file, and the influence of the APP size, the DEX file size and the other file sizes on the application installation time is considered at the same time. In addition, in order to prevent decompression from affecting the installation process, the Apk file size before decompression (ZippedApkSize), the DEX file size before decompression (ZippedDexSize), the other file size before decompression (ZippedOtherSize), the uncompressed Apk file size (ApkSize), the uncompressed DEX file size (DexSize), and the other file size after decompression (OtherSize) should be used together as the factors affecting the application installation time, and thus the application installation time consumption is predicted to optimize the application installation flow.
In summary, in consideration of the problems of user experience, application installation time consumption prediction and the like, no published literature related to the method for optimizing the APP installation process is available at home and abroad at present. The invention provides an idea of providing effective application installation time-consuming prediction information for a user, provides a method for optimizing an application installation process based on an Apk file and the structural characteristics of the Apk file by facing Android equipment, establishes and realizes an application installation time-consuming prediction system based on the Android equipment, has good practical value, not only can enable the user to obtain better user experience, but also can optimize the application installation process, and all the prior open documents or open research work do not relate to the content in the aspect.
Disclosure of Invention
The technical problem to be solved by the invention is to solve the problem of optimizing the application installation process in the intelligent mobile device, and provide an android application installation process optimization method based on time-consuming prediction to optimize the application installation process.
In order to solve the technical problems, the invention is realized by the following technical scheme: the method comprises the steps of modifying an application installation system, adding an Android-oriented application installation time consumption prediction system in the application installation system, enabling a terminal (Android equipment) to obtain application installation time consumption in advance before application installation is finished, and optimizing an installation process according to application installation progress information.
The invention specifically comprises the following steps:
firstly, an application installation system is modified, an Android-oriented application installation time-consuming prediction system is added in the application installation system, and an original application installation submodule in the application installation system is modified. The Android-oriented application installation time-consuming prediction system comprises 5 modules, namely a prediction center database, a data collection module, a model construction module, a model service module, a data acquisition module, and 4 modules, namely a data feedback module, an information acquisition module, a time-consuming prediction module and an installation progress indication module, which are arranged on a terminal device, wherein the 5 modules arranged on the cloud side and the 4 modules arranged on the terminal device cooperate with the improved application installation submodule in a labor-sharing manner to jointly complete installation time-consuming prediction. The Android-oriented application installation time-consuming prediction system is cooperated with an original application center database, an application management submodule, an application acquisition submodule and an application installation submodule in the application installation system to optimize an installation process.
Each terminal device is provided with a data feedback module, an information acquisition module, an application installation submodule, a time-consuming prediction module, an installation progress indication module and an application acquisition submodule.
The application installation submodule is connected with the information acquisition module, the installation progress indication module, the data feedback module and the application acquisition submodule; the application installation submodule monitors a user request, sends a downloading request to the application acquisition submodule, receives an Apk file from the application acquisition submodule, sends the Apk file to the information acquisition module, sends an application installation progress request to the installation progress indication module, and acquires an installation progress bar and countdown information from the installation progress indication module; and the application installation submodule guides the terminal equipment to execute an application installation process, adds the installation progress bar and the countdown information to an application installation interface of the terminal, and sends the actual time consumption of application installation to the data feedback module after the application installation is finished.
And the installation progress indication module is connected with the application installation submodule and the time-consuming prediction module. The installation progress indicating module acquires an application installation progress request from the application installation submodule, sends the application installation prediction time consumption request to the prediction time consumption module, acquires application installation prediction time consumption from the prediction time consumption module, makes an installation progress bar and countdown information according to the application installation prediction time consumption, and sends the installation progress bar and the countdown information to the application installation submodule.
The time-consuming prediction module is connected with the installation progress indication module, the model service module and the information acquisition module. The time-consuming prediction module receives a time-consuming prediction request sent by the installation progress indication module, sends the information acquisition request to the information acquisition module, and obtains basic application data from the information acquisition module, namely a device number (namely a device model), a device version number (namely a kernel version number of the device) and application size information (namely ApkSize, DexSize, other Size, ZippedApkSize, ZippedDexSize and ZippedOtherSize, wherein ApkSize refers to the size of an Apk file after decompression, DexSize refers to the size of a DEX file after decompression, OtherSize refers to the size of other files after decompression, ZippedApkSize refers to the size of an Apk file before decompression, ZippedDexSize refers to the size of a DEX file before decompression, and ZippedOtherSize refers to the size of other files before decompression) and then sends the device number, device and time-consuming prediction model request to the model service module. And the time-consuming prediction module acquires an installation time-consuming prediction model file from the model service module, calculates the application installation prediction time consumption according to the application size information, and returns the application installation prediction time consumption to the installation progress indication module.
The information acquisition module is connected with the application installation submodule, the data feedback module and the time-consuming prediction module. The information acquisition module acquires application size information according to the Apk file sent by the application installation module, acquires the equipment number and the equipment version number of the terminal equipment, and sends the equipment number, the equipment version number and the application size information to the data feedback module. The information acquisition module receives an information acquisition request from the time-consuming prediction module and sends basic application data, namely equipment number, equipment version number and application size information to the time-consuming prediction module.
The data feedback module is connected with the information acquisition module, the application installation submodule and the data collection module. The data feedback module receives basic application data, namely the equipment number, the equipment version number and the application size information from the information acquisition module, receives the actual application installation time from the application installation submodule, and sends the application installation data (including the equipment number, the equipment version number, the application size information and the actual application installation time) to the data collection module.
The prediction center database is connected with the data collection module and the data acquisition module, and 2 data tables, namely an application data table and a model data table, are stored. The application data table contains 11 fields: APP name, APP version number, equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize, and actual time consumption of application installation; the model data table stores 3 fields, namely, the equipment number, the equipment version number and the installation time-consuming prediction model file. Wherein the ApkSize field indicates the decompressed Apk file size, the DexSize field indicates the decompressed DEX file size, the OtherSize field indicates other file sizes after decompression, the ZippedApkSize field indicates the Apk file size before decompression, the ZippedDexSize field indicates the DEX file size before decompression, and the ZippedOtherSize field indicates other file sizes before decompression; the application installation actual time consumption field saves the application installation actual time consumption.
The model service module is connected with the time-consuming prediction module, the model construction module, the data collection module and the data acquisition module. The model service module receives the time-consuming prediction model installation request, the equipment number and the equipment version number from the time-consuming prediction module, sends the time-consuming prediction model installation request, the equipment number and the equipment version number to the data collection module, obtains a return result (namely the time-consuming prediction model installation file obtained by the data collection module from the prediction center database), and returns the time-consuming prediction model installation file to the time-consuming prediction module. And if the installation time-consuming prediction model file is not empty, the model service module sends the installation time-consuming prediction model file to the time-consuming prediction module. If the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, receives the installation time-consuming prediction model file constructed by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module together, (the data collection module stores the non-empty installation time-consuming prediction model file constructed by the model construction module into a model data table of a prediction center database, so that the installation time-consuming prediction model file corresponding to the equipment number and the equipment version number in the model data table is not empty).
The data collection module is connected with the prediction center database, the data feedback module and the model service module, receives the equipment number, the equipment version number, the application size information and the actual application installation time consumption from the data feedback module, and inserts the equipment number, the equipment version number, the application size information and the actual application installation time consumption into an application data table of the prediction center database; if the data collection module receives a time-consuming prediction model installation request, an equipment number and an equipment version number from the model service module, inquiring a model data table of a prediction center database according to the equipment number and the equipment version number received from the model service module to obtain a time-consuming prediction model installation file, and returning the time-consuming prediction model installation file to the model service module; and if the data collection module receives the installation time-consuming prediction model file, the equipment number and the equipment version number from the model service module, inserting the equipment number, the equipment version number and the installation time-consuming prediction model file (which are not null) received from the model service module into a model data table of the prediction center database.
The data acquisition module is connected with the model service module, the prediction center database and the model construction module. The data acquisition module receives the equipment number and the equipment version number from the model service module, inquires an application data table of the prediction center database according to the equipment number and the equipment version number, acquires application installation data comprising ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption of application installation, and sends the application installation data acquired from the prediction center database to the model construction module.
The model building module is connected with the data acquisition module and the model service module. The model building module receives the application installation data from the data acquisition module, builds a prediction model according to the application installation data to obtain an installation time-consuming prediction model file, and sends the installation time-consuming prediction model file to the model service module.
And secondly, the cloud server operates to initialize an application data table and a model data table in a prediction center database, and the method comprises the following steps:
and initializing 11 fields of the APP name, the APP version number, the equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and the actual time consumption of application installation of the application data table in the prediction center database, and 3 fields of the equipment number, the equipment version number and the time consumption of installation of the model data table to be empty.
Thirdly, predicting the time consumption of application installation by the modified application installation system, wherein the specific method comprises the following steps:
3.1. the application installation submodule monitors a user request, if the user clicks on application downloading on the android device, the step is converted to 3.1.1, and if the user does not click on the application downloading on the android device, the step is converted to 3.1 to continue monitoring the user request;
3.1.1. the application installation submodule acquires a user downloading request and sends the downloading request to the application acquisition submodule;
3.1.2. the application acquisition submodule receives the downloading request and sends the downloading request to the cloud application management submodule;
3.1.3. the application management submodule receives the downloading request and sends a data access request to the application center database;
3.1.4. the application management submodule acquires a request result (namely an Apk file) from an application center database and sends the request result to the application acquisition submodule;
3.1.5. the application acquisition submodule acquires a request result from the application management submodule and forwards the request result to the application installation submodule;
3.1.6. and the application installation submodule acquires the Apk file from the request result returned by the application acquisition submodule.
3.2. The application installation submodule sends the Apk file to the information acquisition module and simultaneously sends an application installation progress information request to the installation progress indication module;
3.3. the information acquisition module acquires an APP name, an APP version number and application size information (namely ApkSize, zippedApkSize, DexSize, OtherSize, zippedDexSize and zippedOtherSize) according to the Apk file, acquires the equipment number and the equipment version number of the terminal equipment (namely calling member variables of android.
3.4. The installation progress indicating module sends an application installation prediction time consumption request to the time consumption predicting module after receiving the application installation progress information request from the application installation submodule;
3.5. the time-consuming prediction module receives an application installation time-consuming prediction request from the installation progress indication module and then sends an information acquisition request (including equipment number, equipment version number and application size information) to the information acquisition module;
3.6 the information acquisition module receives the information acquisition request from the time-consuming prediction module and then sends the information of the equipment number, the equipment version number and the application size to the time-consuming prediction module;
3.7 the time-consuming prediction module combines the equipment number and the equipment version number received from the information acquisition module into a prediction model request and sends the prediction model request to the model service module, and requests the prediction model from the model service module;
3.8. the model service module receives a prediction model request from the prediction time-consuming module and sends the prediction model request to the data collection module;
3.9. the data collection module queries a model data table in a prediction center database according to the equipment number and the equipment version number in the prediction model request received from the model service module to acquire an installation time-consuming prediction model file;
3.10. the data collection module sends the installation time-consuming prediction model file to the model service module;
3.11. the model service module judges the installation time-consuming prediction model file received from the data collection module, and the method comprises the following steps:
3.11.1. if the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, and the operation is converted to 3.11.2; and if the installation time-consuming prediction model file is not empty, turning to 3.12.
3.11.2. The data acquisition module inquires an application data table of an application center database according to the equipment number and the equipment version number, and acquires application size information and actual time consumption of application installation;
3.11.3. if the number N of the result rows returned by the prediction center database is more than or equal to N, wherein N is a positive integer, and generally N is more than or equal to 100; the data acquisition module sends the application size information and the actual application installation time consumption received from the prediction center database to the model construction module, and the operation is switched to 3.11.3.1; if the number of the rows of the results returned by the database is less than 100, the data acquisition module creates an empty file as an installation time-consuming prediction model file and sends the empty file to the model service module, and then the number of the empty file is converted to 3.12;
3.11.3.1. data allocation: the model building module receives n pieces of application installation data from the data acquisition module, each piece of application installation data consists of seven pieces of data, namely ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption T of application installation, and the application installation data is obtained according to A by taking a strip as a unit: b is assigned a training set and a test set, where 0< a <1, 0< B <1, and a + B ═ 1, a > B.
3.11.3.2. Model initialization: the model building module builds a multivariate relational model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T (experiments prove that the time-consuming prediction results of application installation with almost-different precision can be obtained by using a multivariate linear model and a neural network model, so that the prediction results are not limited).
If the multivariate linear model is adopted to establish the multivariate relational model, the method comprises the following steps: establishing a multivariate linear model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, i.e. as the model formula I
T=a*Sapk+b*SDEX+c*Sothers+d*Szapk+e*Szdex+f*Szothers+ g, model formula one
Wherein S isapk、SDEX、Sothers、Szapk、Szdex、SzothersApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize and ZippedOtherSize are respectively expressed, T represents the actual time consumption of application and installation, a model formula I represents an established multivariate linear model, and a, b, c, d, e, f and g represent multivariate linear model parameters.
The method for establishing the multivariate relation model by adopting the neural network model comprises the following steps: establishing a neural network model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, as shown in model formula II, that is
T ═ B ═ tan (a ═ SIZE + a) + B, model equation two
Wherein, tan represents hyperbolic tangent S-type function, SIZE is an input vector composed of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize, T represents the actual time consumption of application and installation, formula two represents the established neural network model, and A, B, a and B represent the parameters of the neural network model.
3.11.3.3. Model training: according to a training set distributed by 3.11.3.1, a model building module trains a 3.11.3.2 established multivariate relation model (namely, the multivariate relation model is trained to accord with a data development rule, the specific training method is determined according to the specific model, if the multivariate relation model adopts a multivariate linear model, the model training method is a linear regression method, namely, model fitting is carried out on the multivariate linear model through linear regression, if the multivariate relation model adopts a neural network model, the training method is a gradient descent method), model parameters, namely, an application and installation time consumption prediction model are obtained, model parameters are stored by adopting a certain data structure (such as a dictionary, a list, a tree, a graph and the like), and the model parameters stored by adopting a certain data structure are application and installation time consumption prediction model files.
3.11.3.4. And (3) prediction evaluation: in order to reasonably evaluate the model and prevent the situation that the application installation time consumption prediction model is over-fitted in the training process to cause certain errors, the model construction module installs the actual time consumption T according to the application in the test set distributed in step 3.11.3.1 and an application installation time consumption prediction model file obtained by training in step 3.11.3.3, and calculates (namely substituting the model parameters and the application size information into the right side of the multivariate relational model (namely the model formula I or the model formula II)) the result obtained according to the size information (comprising ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize) of the application in the test set as the predicted value of T, namely the predicted value of the application installation time consumption T is the predicted value of the application installation time consumption TpredictFor T and TpredictCalculating the prediction error according to the formula three:
Figure BDA0002385850120000101
wherein n is the number of application data contained in the test set,
Figure BDA0002385850120000102
the time consumption prediction model is used for carrying out time consumption prediction on the application size information in the ith piece of application data to obtain an application installation time consumption prediction result TiInstalling real consumption for testing application in ith data in setWhen the value is more than or equal to 1, i is less than or equal to n. The smaller the error value, the closer the model prediction result is to the real result.
3.11.3.5. If the error is smaller than the threshold Q (Q is set according to the tolerance of the user in the actual use process and is generally within the range of 5-60 seconds), sending the application installation time consumption prediction model file obtained by the training in the step 3.11.3.3 to a model service module, and turning to 3.11.4; if error is greater than or equal to the threshold Q, 3.11.3.1 is switched, the application installation data is redistributed, and the model is retrained.
3.11.4. The model service module receives the installation time-consuming prediction model file sent by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module; meanwhile, the model service module sends the installation time consumption prediction model file to the time consumption prediction module;
3.12. the data collection module inserts the equipment number, the equipment version number and the installation time-consuming prediction model file into a model data table of a prediction center database;
3.13. the time-consuming prediction module receives the installation time-consuming prediction model file from the model service module, judges the installation time-consuming prediction model file, and orders T to the time-consuming prediction module if the installation time-consuming prediction model file is emptypredict0, rotating to 3.14; if the installation time consumption prediction model file is not empty, the time consumption prediction module analyzes the installation time consumption prediction model file to obtain model parameters, meanwhile, according to the application size information obtained in the step 3.6, the model parameters and the application size information are substituted into a multivariable relation model (namely a model formula I or a model formula II) to obtain application installation prediction time consumption T, and the T is enabled to bepredictT, turn 3.14;
3.14. the predicted time consumption module is used for installing the application to predict time consumption TpredictSending the information to an installation progress indicating module;
fourthly, the installation progress indication module utilizes the application installation predicted time consumption T received from the predicted time consumption modulepredictProviding visual application installation progress information, and the specific method comprises the following steps:
predicting elapsed time T if application installationpredictAt 0, the installation progress indication module sets the application installation progress information set to null,sending the application installation progress information set to an application installation submodule, and turning to the fifth step;
predicting elapsed time T if application installationpredictGreater than 0, the installation progress indicating module according to TpredictMaking an application installation progress bar and application installation countdown (setting the total progress value of the installation progress bar to T)predictThe initial value of the application installation countdown is also set to Tpredict) Sending the application installation progress bar and the application installation countdown as an application installation progress information set to an application installation submodule, and turning to the fifth step;
fifthly, the application installation submodule receives an application installation progress information set from the installation progress indication module, namely an application installation progress bar and application installation countdown, and optimizes an application installation process, wherein the specific method comprises the following steps:
5.1. the application installation submodule continues to receive the Apk file from the application acquisition submodule;
5.2. if the installation progress information set is empty, the application installation sub-module guides the android device to load into an application installation interface, and a typeface such as 'the application installation time-consuming prediction model which is not adapted to the device' is displayed on the application installation interface (according to the above steps, if the application installation progress information is empty, the T is indicatedpredicT is 0, TpredictIf the value is 0, the installation time-consuming prediction file is empty, and no adaptive model exists), and 5.2.2 is converted; if the installation progress information set is not empty, turning to 5.2.1;
5.2.1. the application installation submodule optimizes an application installation process, installs the application on the android device and records the actual time-consuming T of the application installation, and the method comprises the following steps:
5.2.1.1. the application installation sub-module guides the android device to load an application installation interface, and an application installation progress bar and application installation countdown information are added to the installation interface;
5.2.1.2. the application installation submodule guides a PackageInstaller arranged in the android system to execute Apk installation actions and initiates an installation request to a PackageManager in a middle layer of the android system;
5.2.1.3. the PackageManager sends the installation request to PackageManagerSerivce of an Android system service layer in a binder (one of the Android system inter-process communication modes);
5.2.1.4. after receiving the installation request, the PackageManagerSerivce submits the installation request to a system service process insert of the android system in a socket internal process communication mode;
install and Apk optimization is performed by installd, the method comprising:
5.2.1.5.1. executing a do _ install function, calling the install function of the android system, and completing operations such as Apk file copying, directory creation, permission change and the like;
5.2.1.5.2. executing a do _ dexopt of the android system, calling the dexopt of the android system, and executing Apk optimization, wherein the method comprises the following steps:
5.2.1.5.2.1. calculating a path of an optimized target file to be generated according to parameters transmitted from the packagemanagerSerivce;
5.2.1.5.2.2. creating an optimized target file and changing the authority, and obtaining a read-write operation handle of the optimized target file;
5.2.1.5.2.3. calling an executable program dex2oat or dexopt arranged in the android system to execute Apk file optimization operation, and generating an optimization target file used for final execution;
5.2.1.6. the application installation submodule guides the installation equipment to load an application installation ending interface, records the actual application installation time T, sends the actual application installation time T to the data feedback module, and turns to 5.3;
5.2.2. calling a pm install-r apppath (pm install-r apppath) execution installation flow by the application installation submodule, installing the application on the equipment, and turning to 5.5;
5.3. the data feedback module sends the APP name, the APP version number, the application size information (namely ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize), the equipment number and the equipment version number which are received from the information acquisition module, and the actual application installation time T which is received from the application installation submodule to the data collection module;
5.4. the data collection module inquires an application data table of the prediction center database according to the APP name, the APP version number, the equipment number and the equipment version number, and the method comprises the following steps:
5.4.1. if the return result of the prediction center database is empty, the data collection module inserts all data (namely APP name, APP version number, ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize, equipment number and equipment version number) into the application data table, and 5.5 is turned;
5.5. and finishing the application installation task.
The invention can achieve the following technical effects:
1. the third step of the invention predicts the time consumption of application installation by using the application installation package file (Apk file) and the self structural characteristics.
2. The invention can be used for predicting the time consumption of installation without the limitation of the model of the equipment and can support various equipment.
3. In the fifth step, the application installation process is optimized by predicting the time consumption of application installation, and a user can know the installation progress and the remaining time in the installation process.
Therefore, for an application developer, the application installation time consumption debugging can be carried out on any intelligent mobile device by adopting the method and the system, and the application installation time consumption details are added on an application installation interface. For the user, the application installation interface on any intelligent mobile device can be actively informed of the time consumption of the application installation. For an application optimization researcher, the method can be used for rapidly acquiring the application installation time consumption, analyzing influence factors of the application installation time consumption according to an application installation time consumption prediction model and researching a corresponding optimization strategy.
Drawings
Fig. 1 is a structural description of an Apk file described in the background art.
Fig. 2 is a logical structure diagram of an application installation system according to the background art.
Fig. 3 is a flowchart of application installation described in the background.
Fig. 4 is a logic structure diagram of the application installation system after the first step of modification of the present invention.
FIG. 5 is a schematic diagram of a prediction center database structure according to the present invention.
Fig. 6 is an overall flow chart of the present invention.
Detailed Description
Fig. 6 is an overall flow chart of the present invention. As shown in fig. 6, the present invention includes the steps of:
firstly, an application installation system is modified, as shown in fig. 4, an Android-oriented application installation time-consuming prediction system is added to the application installation system, and an original application installation sub-module in the application installation system is modified. The Android-oriented application installation time-consuming prediction system comprises 5 modules, namely a prediction center database, a data collection module, a model construction module, a model service module, a data acquisition module, and 4 modules, namely a data feedback module, an information acquisition module, a time-consuming prediction module and an installation progress indication module, which are arranged on a terminal device, wherein the 5 modules arranged on the cloud side and the 4 modules arranged on the terminal device cooperate with the improved application installation submodule in a labor-sharing manner to jointly complete installation time-consuming prediction. The Android-oriented application installation time-consuming prediction system is cooperated with an original application center database, an application management submodule, an application acquisition submodule and an application installation submodule in the application installation system to optimize an installation process.
Each terminal device is provided with a data feedback module, an information acquisition module, an application installation submodule, a time-consuming prediction module, an installation progress indication module and an application acquisition submodule.
The application installation submodule is connected with the information acquisition module, the installation progress indication module, the data feedback module and the application acquisition submodule; the application installation submodule monitors a user request, sends a downloading request to the application acquisition submodule, receives an Apk file from the application acquisition submodule, sends the Apk file to the information acquisition module, sends an application installation progress request to the installation progress indication module, and acquires an installation progress bar and countdown information from the installation progress indication module; and the application installation submodule guides the terminal equipment to execute an application installation process, adds the installation progress bar and the countdown information to an application installation interface of the terminal, and sends the actual time consumption of application installation to the data feedback module after the application installation is finished.
And the installation progress indication module is connected with the application installation submodule and the time-consuming prediction module. The installation progress indicating module acquires an application installation progress request from the application installation submodule, sends the application installation prediction time consumption request to the prediction time consumption module, acquires application installation prediction time consumption from the prediction time consumption module, makes an installation progress bar and countdown information according to the application installation prediction time consumption, and sends the installation progress bar and the countdown information to the application installation submodule.
The time-consuming prediction module is connected with the installation progress indication module, the model service module and the information acquisition module. The time-consuming prediction module receives a time-consuming prediction request sent by the installation progress indication module, sends the information acquisition request to the information acquisition module, and obtains basic application data from the information acquisition module, namely a device number (namely a device model), a device version number (namely a kernel version number of the device) and application size information (namely ApkSize, DexSize, other Size, ZippedApkSize, ZippedDexSize and ZippedOtherSize, wherein ApkSize refers to the size of an Apk file after decompression, DexSize refers to the size of a DEX file after decompression, OtherSize refers to the size of other files after decompression, ZippedApkSize refers to the size of an Apk file before decompression, ZippedDexSize refers to the size of a DEX file before decompression, and ZippedOtherSize refers to the size of other files before decompression) and then sends the device number, device and time-consuming prediction model request to the model service module. And the time-consuming prediction module acquires an installation time-consuming prediction model file from the model service module, calculates the application installation prediction time consumption according to the application size information, and returns the application installation prediction time consumption to the installation progress indication module.
The information acquisition module is connected with the application installation submodule, the data feedback module and the time-consuming prediction module. The information acquisition module acquires application size information according to the Apk file sent by the application installation submodule, and meanwhile, automatically acquires the equipment number and the equipment version number of the terminal equipment, and sends the equipment number, the equipment version number and the application size information to the data feedback module. The information acquisition module receives an information acquisition request from the time-consuming prediction module and sends basic application data, namely equipment number, equipment version number and application size information to the time-consuming prediction module.
The data feedback module is connected with the information acquisition module, the application installation submodule and the data collection module. The data feedback module receives basic application data, namely the equipment number, the equipment version number and the application size information from the information acquisition module, receives the actual application installation time from the application installation submodule, and sends the application installation data (including the equipment number, the equipment version number, the application size information and the actual application installation time) to the data collection module.
The prediction center database is connected with the data collection module and the data acquisition module, and as shown in fig. 5, the prediction center database stores 2 data tables in total, namely an application data table and a model data table. The application data table contains 11 fields: APP name, APP version number, equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize, and actual time consumption of application installation; the model data table stores 3 fields, namely, the equipment number, the equipment version number and the installation time-consuming prediction model file. Wherein the ApkSize field indicates the decompressed Apk file size, the DexSize field indicates the decompressed DEX file size, the OtherSize field indicates other file sizes after decompression, the ZippedApkSize field indicates the Apk file size before decompression, the ZippedDexSize field indicates the DEX file size before decompression, and the ZippedOtherSize field indicates other file sizes before decompression; the application installation actual time consumption field saves the application installation actual time consumption.
The model service module is connected with the time-consuming prediction module, the model construction module, the data collection module and the data acquisition module. The model service module receives the time-consuming prediction model installation request, the equipment number and the equipment version number from the time-consuming prediction module, sends the time-consuming prediction model installation request, the equipment number and the equipment version number to the data collection module, obtains a return result (namely the time-consuming prediction model installation file obtained by the data collection module from the prediction center database), and returns the time-consuming prediction model installation file to the time-consuming prediction module. And if the installation time-consuming prediction model file is not empty, the model service module sends the installation time-consuming prediction model file to the time-consuming prediction module. If the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, receives the installation time-consuming prediction model file constructed by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module together, (the data collection module stores the non-empty installation time-consuming prediction model file constructed by the model construction module into a model data table of a prediction center database, so that the installation time-consuming prediction model file corresponding to the equipment number and the equipment version number in the model data table is not empty).
The data collection module is connected with the prediction center database, the data feedback module and the model service module, receives the equipment number, the equipment version number, the application size information and the actual application installation time consumption from the data feedback module, and inserts the equipment number, the equipment version number, the application size information and the actual application installation time consumption into an application data table of the prediction center database; if the data collection module receives a time-consuming prediction model installation request, an equipment number and an equipment version number from the model service module, inquiring a model data table of a prediction center database according to the equipment number and the equipment version number received from the model service module to obtain a time-consuming prediction model installation file, and returning the time-consuming prediction model installation file to the model service module; and if the data collection module receives the installation time-consuming prediction model file, the equipment number and the equipment version number from the model service module, inserting the equipment number, the equipment version number and the installation time-consuming prediction model file (which are not null) received from the model service module into a model data table of the prediction center database.
The data acquisition module is connected with the model service module, the prediction center database and the model construction module. The data acquisition module receives the equipment number and the equipment version number from the model service module, inquires an application data table of the prediction center database according to the equipment number and the equipment version number, acquires application installation data comprising ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption of application installation, and sends the application installation data acquired from the prediction center database to the model construction module.
The model building module is connected with the data acquisition module and the model service module. The model building module receives the application installation data from the data acquisition module, builds a prediction model according to the application installation data to obtain an installation time-consuming prediction model file, and sends the installation time-consuming prediction model file to the model service module.
And secondly, the cloud server operates to initialize an application data table and a model data table in a prediction center database, and the method comprises the following steps:
and initializing 11 fields of the APP name, the APP version number, the equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and the actual time consumption of application installation of the application data table in the prediction center database, and 3 fields of the equipment number, the equipment version number and the time consumption of installation of the model data table to be empty.
Thirdly, predicting the time consumption of application installation by the modified application installation system, wherein the specific method comprises the following steps:
3.1. the application installation submodule monitors a user request, if the user clicks on application downloading on the android device, the step is converted to 3.1.1, and if the user does not click on the application downloading on the android device, the step is converted to 3.1 to continue monitoring the user request;
3.1.1. the application installation submodule acquires a user downloading request and sends the downloading request to the application acquisition submodule;
3.1.2. the application acquisition submodule receives the downloading request and sends the downloading request to the cloud application management submodule;
3.1.3. the application management submodule receives the downloading request and sends a data access request to the application center database;
3.1.4. the application management submodule acquires a request result (namely an Apk file) from an application center database and sends the request result to the application acquisition submodule;
3.1.5. the application acquisition submodule acquires a request result from the application management submodule and forwards the request result to the application installation submodule;
3.1.6. and the application installation submodule acquires the Apk file from the request result returned by the application acquisition submodule.
3.2. The application installation submodule sends the Apk file to the information acquisition module and simultaneously sends an application installation progress information request to the installation progress indication module;
3.3. the information acquisition module acquires an APP name, an APP version number and application size information (namely ApkSize, zippedApkSize, DexSize, OtherSize, zippedDexSize and zippedOtherSize) according to the Apk file, calls member variables of android.
3.4. The installation progress indicating module sends an application installation prediction time consumption request to the time consumption predicting module after receiving the application installation progress information request from the application installation submodule;
3.5. the time-consuming prediction module receives an application installation time-consuming prediction request from the installation progress indication module and then sends an information acquisition request (including equipment number, equipment version number and application size information) to the information acquisition module;
3.6 the information acquisition module receives the information acquisition request from the time-consuming prediction module and then sends the information of the equipment number, the equipment version number and the application size to the time-consuming prediction module;
3.7 the time-consuming prediction module combines the equipment number and the equipment version number received from the information acquisition module into a prediction model request and sends the prediction model request to the model service module, and requests the prediction model from the model service module;
3.8. the model service module receives a prediction model request from the prediction time-consuming module and sends the prediction model request to the data collection module;
3.9. the data collection module queries a model data table in a prediction center database according to the equipment number and the equipment version number in the prediction model request received from the model service module to acquire an installation time-consuming prediction model file;
3.10. the data collection module sends the installation time-consuming prediction model file to the model service module;
3.11. the model service module judges the installation time-consuming prediction model file received from the data collection module, and the method comprises the following steps:
3.11.1. if the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, and the operation is converted to 3.11.2; and if the installation time-consuming prediction model file is not empty, turning to 3.12.
3.11.2 the data acquisition module inquires the application data table of the application center database according to the device number and the device version number to acquire the application size information and the actual time consumption of application installation;
3.11.3, if the number N of result rows returned by the prediction center database is greater than or equal to N, wherein N is a positive integer, and generally N is greater than or equal to 100; the data acquisition module sends the application size information and the actual application installation time consumption received from the prediction center database to the model construction module, and the operation is switched to 3.11.3.1; if the number of the rows of the results returned by the database is less than 100, the data acquisition module creates an empty file as an installation time-consuming prediction model file and sends the empty file to the model service module, and then the number of the empty file is converted to 3.12;
3.11.3.1. data allocation: the model building module receives n pieces of application installation data from the data acquisition module, each piece of application installation data consists of seven pieces of data, namely ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption T of application installation, and the application installation data is obtained according to A by taking a strip as a unit: b is assigned a training set and a test set, where 0< a <1, 0< B <1, and a + B ═ 1, a > B.
3.11.3.2. Model initialization: the model building module builds a multivariate relational model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T (experiments prove that the time-consuming prediction results of application installation with almost-different precision can be obtained by using a multivariate linear model and a neural network model, so that the prediction results are not limited).
If the multivariate linear model is adopted to establish the multivariate relational model, the method comprises the following steps: establishing a multivariate linear model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, i.e. as the model formula I
T=a*Sapk+b*SDEX+c*Sothers+d*Szapk+e*Szdex+f*Szothers+ g, model formula one
Wherein S isapk、SDEX、Sothers、Szapk、Szdex、SzothersApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize and ZippedOtherSize are respectively expressed, T represents the actual time consumption of application and installation, a model formula I represents an established multivariate linear model, and a, b, c, d, e, f and g represent multivariate linear model parameters.
The method for establishing the multivariate relation model by adopting the neural network model comprises the following steps: establishing a neural network model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, as shown in model formula II, that is
T ═ B ═ tan (a ═ SIZE + a) + B, model equation two
Wherein, tan represents hyperbolic tangent S-type function, SIZE is an input vector composed of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize, T represents the actual time consumption of application and installation, formula two represents the established neural network model, and A, B, a and B represent the parameters of the neural network model.
3.11.3.3. Model training: according to a training set distributed by 3.11.3.1, a model building module trains a 3.11.3.2 established multivariate relation model (namely, the multivariate relation model is trained to accord with a data development rule, the specific training method is determined according to the specific model, if the multivariate relation model adopts a multivariate linear model, the model training method is a linear regression method, namely, model fitting is carried out on the multivariate linear model through linear regression, if the multivariate relation model adopts a neural network model, the training method is a gradient descent method), model parameters, namely, an application and installation time consumption prediction model are obtained, model parameters are stored by adopting a certain data structure (such as a dictionary, a list, a tree, a graph and the like), and the model parameters stored by adopting a certain data structure are application and installation time consumption prediction model files.
3.11.3.4. And (3) prediction evaluation: in order to reasonably evaluate the model and prevent a certain error caused by overfitting and other situations of the application installation time-consuming prediction model in the training process, the model construction module carries out the actual time-consuming T of the application installation in the test set distributed in the step 3.11.3.1 and obtains the application installation time-consuming prediction model trained in the step 3.11.3.3And the model file is used for calculating (namely substituting the model parameters and the application size information into the right side of the multivariate relational model (namely the model formula I or the model formula II)) according to the size information (including ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize) of the applications in the test set to obtain a result as a predicted value of T, namely the predicted time consumption T of the application installationpredictFor T and TpredictCalculating the prediction error according to the formula three:
Figure BDA0002385850120000191
wherein n is the number of application data contained in the test set,
Figure BDA0002385850120000192
the time consumption prediction model is used for carrying out time consumption prediction on the application size information in the ith piece of application data to obtain an application installation time consumption prediction result TiAnd (5) actually consuming time for installing the application in the ith data in the test set, wherein i is more than or equal to 1 and less than or equal to n. The smaller the error value, the closer the model prediction result is to the real result.
3.11.3.5. If the error is smaller than the threshold Q (Q is set according to the tolerance of the user in the actual use process and is generally within the range of 5-60 seconds), sending the application installation time consumption prediction model file obtained by the training in the step 3.11.3.3 to a model service module, and turning to 3.11.4; if error is greater than or equal to the threshold Q, 3.11.3.1 is switched, the application installation data is redistributed, and the model is retrained.
3.11.4. The model service module receives the installation time-consuming prediction model file sent by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module; meanwhile, the model service module sends the installation time consumption prediction model file to the time consumption prediction module;
3.12. the data collection module inserts the equipment number, the equipment version number and the installation time-consuming prediction model file into a model data table of a prediction center database;
3.13. the forecast time consuming module receives installation time consuming forecast from the model service moduleMeasuring the model file, judging the installation time-consuming prediction model file, and if the installation time-consuming prediction model file is empty, enabling the time-consuming prediction module to enable TpredictIs 0, and ispredictSending the information to an installation progress indicating module, and turning to 3.15; if the installation time consumption prediction model file is not empty, the time consumption prediction module analyzes the installation time consumption prediction model file to obtain model parameters, meanwhile, according to the application size information obtained in the step 3.6, the model parameters and the application size information are substituted into a multivariable relation model (namely a model formula I or a model formula II) to obtain application installation prediction time consumption T, and the T is enabled to bepredictT, turn 3.14;
3.14. the predicted time consumption module is used for installing the application to predict time consumption TpredictSending the information to an installation progress indicating module;
fourthly, the installation progress indication module utilizes the application installation predicted time consumption T received from the predicted time consumption modulepredictProviding visual application installation progress information, and the specific method comprises the following steps:
predicting elapsed time T if application installationpredictIf the number of the application installation progress information sets is 0, the installation progress indicating module sets the application installation progress information sets to be null, sends the application installation progress information sets to the application installation submodule, and then the fifth step is carried out;
predicting elapsed time T if application installationpredictGreater than 0, the installation progress indicating module according to TpredictMaking an application installation progress bar and application installation countdown (setting the total progress value of the installation progress bar to T)predictThe initial value of the application installation countdown is also set to Tpredict) Sending the application installation progress bar and the application installation countdown as an application installation progress information set to an application installation submodule, and turning to the fifth step;
fifthly, the application installation submodule receives an application installation progress information set from the installation progress indication module, namely an application installation progress bar and application installation countdown, and optimizes an application installation process, wherein the specific method comprises the following steps:
5.1. the application installation submodule continues to receive ADk the file from the application acquisition submodule;
5.2. if the installation progress information set is empty, the applicationThe installation submodule guides the android device to load an application installation interface, and a typeface such as 'the application installation time-consuming prediction model which is not adapted to the device' is displayed on the application installation interface (according to the steps, if the application installation progress information is null, T is indicatedpredictIs 0, TpredictIf the value is 0, the installation time-consuming prediction file is empty, and no adaptive model exists), and 5.2.2 is converted; if the installation progress information set is not empty, turning to 5.2.1;
5.2.1. the application installation submodule optimizes an application installation process, installs the application on the android device and records the actual time-consuming T of the application installation, and the method comprises the following steps:
5.2.1.1. the application installation sub-module guides the android device to load an application installation interface, and an application installation progress bar and application installation countdown information are added to the installation interface;
5.2.1.2. the application installation submodule guides a PackageInstaller arranged in the android system to execute Apk installation actions and initiates an installation request to a PackageManager in a middle layer of the android system;
5.2.1.3. the PackageManager sends the installation request to PackageManagerSerivce of an Android system service layer in a binder (one of the Android system inter-process communication modes);
5.2.1.4. after receiving the installation request, the PackageManagerSerivce submits the installation request to a system service process insert of the android system in a socket internal process communication mode;
install and Apk optimization is performed by installd, the method comprising:
5.2.1.5.1. executing a do _ install function, calling the install function of the android system, and completing operations such as Apk file copying, directory creation, permission change and the like;
5.2.1.5.2. executing a do _ dexopt of the android system, calling the dexopt of the android system, and executing Apk optimization, wherein the method comprises the following steps:
5.2.1.5.2.1. calculating a path of an optimized target file to be generated according to parameters transmitted from the packagemanagerSerivce;
5.2.1.5.2.2. creating an optimized target file and changing the authority, and obtaining a read-write operation handle of the optimized target file;
5.2.1.5.2.3. calling an executable program dex2oat or dexopt arranged in the android system to execute Apk file optimization operation, and generating an optimization target file used for final execution;
5.2.1.6. the application installation submodule guides the installation equipment to load an application installation ending interface, records the actual application installation time T, sends the actual application installation time T to the data feedback module, and turns to 5.3;
5.2.2. calling a pm install-r apppath (pm install-r apppath) execution installation flow by the application installation submodule, installing the application on the equipment, and turning to 5.5;
5.3. the data feedback module sends the APP name, the APP version number, the application size information (namely ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize), the equipment number and the equipment version number which are received from the information acquisition module, and the actual application installation time T which is received from the application installation submodule to the data collection module;
5.4. the data collection module inquires an application data table of the prediction center database according to the APP name, the APP version number, the equipment number and the equipment version number, and the method comprises the following steps:
5.4.1. if the return result of the prediction center database is empty, the data collection module inserts all data (namely APP name, APP version number, ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize, equipment number and equipment version number) into the application data table, and 5.5 is turned;
5.5. and finishing the application installation task.
The above embodiments are only intended to illustrate the technical solution of the present invention and not to limit the same, and a person skilled in the art can modify the technical solution of the present invention or substitute the same, and a related developer can make personal suitable modification in the specific implementation process of the present invention to achieve the same purpose without departing from the spirit and scope of the present invention, and the scope of the present invention is defined by the claims.

Claims (9)

1. An android application installation process optimization method based on time-consuming prediction is completed by an application installation system, wherein the application installation system comprises an application center database, an application management submodule, an application acquisition submodule and an application installation submodule, and the method is characterized by comprising the following steps:
firstly, modifying an application installation system, adding an Android-oriented application installation time-consuming prediction system in the application installation system, and modifying an original application installation submodule in the application installation system; the Android-oriented application installation time-consuming prediction system consists of 5 modules, namely a prediction center database, a data collection module, a model construction module, a model service module, a data acquisition module, and 4 modules, namely a data feedback module, an information acquisition module, a time-consuming prediction module and an installation progress indication module, which are arranged on a cloud terminal, wherein the 5 modules on the cloud terminal, the 4 modules on the terminal equipment and an improved application installation sub-module are in work-sharing cooperation to jointly complete installation time-consuming prediction; the Android-oriented application installation time-consuming prediction system is cooperated with an original application center database, an application management submodule, an application acquisition submodule and an application installation submodule in the application installation system to optimize an installation process;
each terminal device is provided with a data feedback module, an information acquisition module, an application installation submodule, a time-consuming prediction module, an installation progress indication module and an application acquisition submodule;
the application installation submodule is connected with the information acquisition module, the installation progress indication module, the data feedback module and the application acquisition submodule; the application installation submodule monitors a user request, sends a downloading request to the application acquisition submodule, receives an Apk file from the application acquisition submodule, sends the Apk file to the information acquisition module, sends an application installation progress request to the installation progress indication module, and acquires an installation progress bar and countdown information from the installation progress indication module; the application installation submodule guides the terminal equipment to execute an application installation process, adds an installation progress bar and countdown information to an application installation interface of the terminal, and sends actual time consumption of application installation to the data feedback module after the application installation is finished;
the installation progress indication module is connected with the application installation submodule and the time-consuming prediction module; the installation progress indication module acquires an application installation progress request from the application installation submodule, sends the application installation prediction time consumption request to the prediction time consumption module, acquires application installation prediction time consumption from the prediction time consumption module, makes an installation progress bar and countdown information according to the application installation prediction time consumption, and sends the installation progress bar and the countdown information to the application installation submodule;
the time-consuming prediction module is connected with the installation progress indication module, the model service module and the information acquisition module; the time-consuming prediction module receives a time-consuming prediction request sent by the installation progress indication module, sends an information acquisition request to the information acquisition module, acquires basic application data from the information acquisition module and then sends a device number, a device version number and a model prediction request to the model service module; the time-consuming prediction module acquires an installation time-consuming prediction model file from the model service module, calculates the application installation prediction time-consuming according to the application size information, and returns the application installation prediction time-consuming to the installation progress indication module; the basic application data includes a device number, i.e., a device model, a device version number, i.e., a kernel version number of the device, and application size information; the application size information indicates ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize and ZippedOtherSize, ApkSize indicates the size of an Apk file after decompression, DexSize indicates the size of a DEX file after decompression, OtherSize indicates the size of other files after decompression, ZippedApkSize indicates the size of an Apk file before decompression, ZippedDexSize indicates the size of a DEX file before decompression, and ZippedOtherSize indicates the size of other files before decompression;
the information acquisition module is connected with the application installation submodule, the data feedback module and the time-consuming prediction module; the information acquisition module acquires application size information according to the Apk file sent by the application installation submodule, and simultaneously acquires the equipment number and the equipment version number of the terminal equipment to which the application installation submodule belongs, and sends the equipment number, the equipment version number and the application size information to the data feedback module; the information acquisition module receives an information acquisition request from the time-consuming prediction module and sends basic application data, namely equipment number, equipment version number and application size information to the time-consuming prediction module;
the data feedback module is connected with the information acquisition module, the application installation submodule and the data collection module; the data feedback module receives basic application data, namely equipment number, equipment version number and application size information, from the information acquisition module, receives actual application installation time from the application installation submodule, and sends the application installation data to the data collection module, wherein the application installation data comprises the equipment number, the equipment version number, the application size information and the actual application installation time;
the prediction center database is connected with the data collection module and the data acquisition module, and 2 data tables, namely an application data table and a model data table, are stored; the application data table contains 11 fields: APP name, APP version number, equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize, and actual time consumption of application installation; the model data table stores 3 fields, namely an equipment number, an equipment version number and an installation time-consuming prediction model file;
the model service module is connected with the time-consuming prediction module, the model construction module, the data collection module and the data acquisition module; the model service module receives an installation time-consuming prediction model request, an equipment number and an equipment version number from the time-consuming prediction module, sends the installation time-consuming prediction model request, the equipment number and the equipment version number to the data collection module, acquires an installation time-consuming prediction model file, and returns the installation time-consuming prediction model file to the time-consuming prediction module; if the installation time-consuming prediction model file is not empty, the model service module sends the installation time-consuming prediction model file to the time-consuming prediction module; if the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, receives the installation time-consuming prediction model file constructed by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module;
the data collection module is connected with the prediction center database, the data feedback module and the model service module, receives the equipment number, the equipment version number, the application size information and the actual application installation time consumption from the data feedback module, and inserts the equipment number, the equipment version number, the application size information and the actual application installation time consumption into an application data table of the prediction center database; if the data collection module receives a time-consuming prediction model installation request, an equipment number and an equipment version number from the model service module, inquiring a model data table of a prediction center database according to the equipment number and the equipment version number received from the model service module to obtain a time-consuming prediction model installation file, and returning the time-consuming prediction model installation file to the model service module; if the data collection module receives the installation time-consuming prediction model file, the equipment number and the equipment version number from the model service module, inserting the equipment number, the equipment version number and the installation time-consuming prediction model file received from the model service module into a model data table of a prediction center database;
the data acquisition module is connected with the model service module, the prediction center database and the model construction module; the data acquisition module receives the equipment number and the equipment version number from the model service module, inquires an application data table of the prediction center database according to the equipment number and the equipment version number, acquires application installation data comprising ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption of application installation, and sends the application installation data acquired from the prediction center database to the model construction module;
the model building module is connected with the data acquisition module and the model service module; the model building module receives the application installation data from the data acquisition module, builds a prediction model according to the application installation data to obtain an installation time-consuming prediction model file, and sends the installation time-consuming prediction model file to the model service module;
and secondly, the cloud server operates to initialize an application data table and a model data table in a prediction center database, and the method comprises the following steps: initializing 11 fields of APP name, APP version number, equipment version number, ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and actual time consumption of application installation of an application data table in a prediction center database, and 3 fields of equipment number, equipment version number and installation time consumption prediction model files of a model data table to be empty;
thirdly, predicting the time consumption of application installation by the modified application installation system, wherein the specific method comprises the following steps:
3.1. the application installation submodule monitors a user request, if the user clicks on application downloading on the android device, the step is converted to 3.1.1, and if the user does not click on the application downloading on the android device, the step is converted to 3.1 to continue monitoring the user request;
3.1.1. the application installation submodule acquires a user downloading request and sends the downloading request to the application acquisition submodule;
3.1.2. the application acquisition submodule receives the downloading request and sends the downloading request to the cloud application management submodule;
3.1.3. the application management submodule receives the downloading request and sends a data access request to the application center database;
3.1.4. the application management submodule acquires an Apk file from an application center database and sends the Apk file to the application acquisition submodule;
3.1.5. the application acquisition submodule acquires a request result from the application management submodule and forwards the request result to the application installation submodule;
3.1.6. the application installation submodule acquires an Apk file from a request result returned by the application acquisition submodule;
3.2. the application installation submodule sends the Apk file to the information acquisition module and simultaneously sends an application installation progress information request to the installation progress indication module;
3.3. the information acquisition module acquires an APP name, an APP version number and application size information, namely ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize according to the Apk file, acquires the equipment number and the equipment version number of the terminal equipment, and sends the APP name, the APP version number, the application size information, the equipment number and the equipment version number to the data feedback module;
3.4. the installation progress indicating module sends an application installation prediction time consumption request to the time consumption predicting module after receiving the application installation progress information request from the application installation submodule;
3.5. the time-consuming prediction module receives an application installation time-consuming prediction request from the installation progress indication module, and then sends an information acquisition request to the information acquisition module, wherein the information acquisition request comprises equipment number, equipment version number and application size information;
3.6 the information acquisition module receives the information acquisition request from the time-consuming prediction module and then sends the information of the equipment number, the equipment version number and the application size to the time-consuming prediction module;
3.7 the time-consuming prediction module combines the equipment number and the equipment version number received from the information acquisition module into a prediction model request and sends the prediction model request to the model service module, and requests the prediction model from the model service module;
3.8. the model service module receives a prediction model request from the prediction time-consuming module and sends the prediction model request to the data collection module;
3.9. the data collection module queries a model data table in a prediction center database according to the equipment number and the equipment version number in the prediction model request received from the model service module to acquire an installation time-consuming prediction model file;
3.10. the data collection module sends the installation time-consuming prediction model file to the model service module;
3.11. the model service module judges the installation time-consuming prediction model file received from the data collection module, and the method comprises the following steps:
3.11.1. if the installation time-consuming prediction model file is empty, the model service module sends the equipment number and the equipment version number to the data acquisition module, and the operation is converted to 3.11.2; if the installation time-consuming prediction model file is not empty, turning to 3.12;
3.11.2 the data acquisition module inquires the application data table of the application center database according to the device number and the device version number to acquire the application size information and the actual time consumption of application installation;
3.11.3, if the number N of result rows returned by the prediction center database is greater than or equal to N, where N is a positive integer, the data acquisition module sends the application size information and the actual application installation time consumption received from the prediction center database to the model construction module, and then the operation is turned to 3.11.3.1; if the number of the rows of the database return results is less than N, the data acquisition module creates an empty file as an installation time-consuming prediction model file and sends the empty file to the model service module, and then the number of the empty file is converted to 3.12;
3.11.3.1. data allocation: the model building module receives n pieces of application installation data from the data acquisition module, each piece of application installation data consists of seven pieces of data, namely ApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize, ZippedOtherSize and application installation actual time consumption T, and the application installation data is distributed into a training set and a testing set according to the proportion of A to B by taking a bar as a unit, wherein 0< A <1, 0< B <1, and A + B is 1, A > B;
3.11.3.2. model initialization: the model building module builds a multivariate relation model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, wherein the multivariate relation model is a multivariate linear model or a neural network model;
3.11.3.3. model training: according to a training set distributed by 3.11.3.1, a model construction module trains a multivariable relation model established by 3.11.3.2 to obtain model parameters, namely an application installation time-consuming prediction model, and the model parameters are stored by adopting a data structure, namely the model parameters stored by adopting the data structure are an application installation time-consuming prediction model file;
3.11.3.4. and (3) prediction evaluation: the model construction module substitutes model parameters and application size information into a multivariate relational model according to the application installation actual time consumption T in the test set distributed in the step 3.11.3.1 and the application installation time consumption prediction model file obtained in the step 3.11.3.3, and uses the result obtained by substituting the model parameters and the application size information into the multivariate relational model as the predicted value of T, namely the application installation prediction time consumption TpredictFor T and TpredictCalculating the prediction error according to the formula three:
Figure FDA0002385850110000051
wherein the content of the first and second substances,
Figure FDA0002385850110000052
the time consumption prediction model is used for carrying out time consumption prediction on the application size information in the ith piece of application data to obtain an application installation time consumption prediction result TiFor testing actual time consumption of application installation in the ith data in the set, i is more than or equal to 1 and less than or equal to n, the smaller the error value is, the more the model prediction result is representedApproaching a real result;
3.11.3.5. if the error is smaller than the threshold Q, setting the Q according to the tolerance of the user, and sending the application installation time consumption prediction model file obtained by the training of the 3.11.3.3 step to a model service module in seconds, and turning to 3.11.4; if error is greater than or equal to the threshold Q, turning to 3.11.3.1;
3.11.4. the model service module receives the installation time-consuming prediction model file sent by the model construction module, and sends the equipment number, the equipment version number and the installation time-consuming prediction model file to the data collection module; meanwhile, the model service module sends the installation time consumption prediction model file to the time consumption prediction module;
3.12. the data collection module inserts the equipment number, the equipment version number and the installation time-consuming prediction model file into a model data table of a prediction center database;
3.13. the time-consuming prediction module receives the installation time-consuming prediction model file from the model service module, judges the installation time-consuming prediction model file, and orders T to the time-consuming prediction module if the installation time-consuming prediction model file is emptypredict0, rotating to 3.14; if the installation time consumption prediction model file is not empty, the time consumption prediction module analyzes the installation time consumption prediction model file to obtain model parameters, meanwhile, according to the application size information obtained in the step 3.6, the model parameters and the application size information are substituted into the multivariate relation model to obtain application installation prediction time consumption T, and the T is enabled to bepredictT, turn 3.14;
3.14. the predicted time consumption module is used for installing the application to predict time consumption TpredictSending the information to an installation progress indicating module;
fourthly, the installation progress indication module utilizes the application installation predicted time consumption T received from the predicted time consumption modulepredictProviding visual application installation progress information, wherein the method comprises the following steps: predicting elapsed time T if application installationpredictIf the number of the application installation progress information sets is 0, the installation progress indicating module sets the application installation progress information sets to be null, sends the application installation progress information sets to the application installation submodule, and then the fifth step is carried out; predicting elapsed time T if application installationpredictGreater than 0, the installation progress indicating module according to TpredictMaking an application installation progress bar, application installation countdown, and willThe application installation progress bar and the application installation countdown are used as an application installation progress information set and sent to the application installation submodule, and the fifth step is carried out;
fifthly, the application installation submodule receives an application installation progress information set from the installation progress indication module, namely an application installation progress bar and application installation countdown, and optimizes an application installation process, wherein the specific method comprises the following steps:
5.1. the application installation submodule continues to receive the Apk file from the application acquisition submodule;
5.2. if the installation progress information set is empty, the application installation sub-module guides the android device to load an application installation interface, a typeface such as 'the application installation time-consuming prediction model which is not adapted to the device' is displayed on the application installation interface, and the typeface is converted to 5.2.2; if the installation progress information set is not empty, turning to 5.2.1;
5.2.1. the application installation submodule optimizes an application installation process, installs the application on the android device and records the actual time-consuming T of the application installation, and the method comprises the following steps:
5.2.1.1. the application installation sub-module guides the android device to load an application installation interface, and an application installation progress bar and application installation countdown information are added to the installation interface;
5.2.1.2. the application installation submodule guides a PackageInstaller arranged in the android system to execute Apk installation actions and initiates an installation request to a PackageManager in a middle layer of the android system;
5.2.1.3. the PackageManager sends the installation request to a packagemanagerSerivce of the android system service layer in a binder mode;
5.2.1.4. after receiving the installation request, the PackageManagerSerivce submits the installation request to a system service process insert of the android system in a socket internal process communication mode;
install and Apk optimization is performed by installd, the method comprising:
5.2.1.5.1. executing a do _ install function, calling the install function of the android system, and completing Apk file copying, directory creation and permission change;
5.2.1.5.2. executing a do _ dexopt of the android system, calling the dexopt of the android system, and executing Apk optimization, wherein the method comprises the following steps:
5.2.1.5.2.1. calculating a path of an optimized target file to be generated according to parameters transmitted from the packagemanagerSerivce;
5.2.1.5.2.2. creating an optimized target file and changing the authority, and obtaining a read-write operation handle of the optimized target file;
5.2.1.5.2.3. calling an executable program dex2oat or dexopt arranged in the android system to execute Apk file optimization operation, and generating an optimization target file used for final execution;
5.2.1.6. the application installation submodule guides the installation equipment to load an application installation ending interface, records the actual application installation time T, sends the actual application installation time T to the data feedback module, and turns to 5.3;
5.2.2. calling a pm install-r apppath installation command by the application installation submodule to execute an installation process, installing the application on the equipment, and turning to 5.5;
5.3. the data feedback module sends the APP name, the APP version number and the application size information, namely ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize, the equipment number and the equipment version number, which are received from the information acquisition module, and the actual application installation time consumption T received from the application installation submodule to the data collection module;
5.4. the data collection module inquires an application data table of the prediction center database according to the APP name, the APP version number, the equipment number and the equipment version number, and the method comprises the following steps:
5.4.1. if the return result of the prediction center database is empty, the data collection module inserts all data, namely APP name, APP version number, ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize, equipment number and equipment version number into an application data table, and 5.5 is turned;
5.5. and finishing the application installation task.
2. The method for optimizing the installation flow of the android application based on the time-consuming prediction as recited in claim 1, wherein the step 3.3 includes that the method for the information acquisition module to acquire the device number and the device version number of the terminal device includes calling member variables of android.
3. The method of claim 1, wherein step 3.11.3 provides that N is greater than or equal to 100.
4. The method of claim 1, wherein the model building module in step 3.11.3.2 builds a multivariate relationship model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T using a multivariate linear model by: establishing a multivariate linear model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, namely according to a model formula I
T=a*Sapk+b*SDEX+c*Sothers+d*Szapk+e*Szdex+f*Szothers+ g, model formula one
Wherein S isapk、SDEX、Sothers、Szapk、Szdex、SzothersApkSize, DexSize, OtherSize, ZippedApkSize, ZippedDexSize and ZippedOtherSize are respectively expressed, T represents the actual time consumption of application and installation, formula I represents the established multivariate linear model, and a, b, c, d, e, f and g represent multivariate linear model parameters.
5. The method of claim 1, wherein the model building module in step 3.11.3.2 builds a multivariate relationship model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T using a neural network model by: establishing a neural network model of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize, ZippedOtherSize and T, as shown in a model formula II:
t ═ B ═ tan (a ═ SIZE + a) + B, model equation two
Wherein, tan represents hyperbolic tangent S-type function, SIZE is an input vector composed of ApkSize, ZippedApkSize, DexSize, OtherSize, ZippedDexSize and ZippedOtherSize, T represents actual time consumption of application and installation, a model formula II represents the established neural network model, and A, B, a and B represent neural network model parameters.
6. The time-consuming prediction-based android application installation procedure optimization method of claim 1, wherein when the model building module in step 3.11.3.3 trains the multivariate relational model, if the multivariate relational model adopts a multivariate linear model, the model training method is a linear regression method, i.e., model fitting is performed on the multivariate linear model through linear regression; if the multivariate relation model adopts a neural network model, the training method is a gradient descent method.
7. The method of claim 1, wherein the data structure in step 3.11.3.3 refers to any one of a dictionary, a list, a tree, and a graph.
8. The method for optimizing an android application installation flow based on time-consuming prediction as claimed in claim 1, wherein the threshold Q in step 3.11.3.5 is in a range of 5-60 seconds.
9. The method of claim 1, wherein the fourth step predicts a time-consuming time T for the installation of the applicationpredictWhen the value is larger than 0, the installation progress indicating module is used for indicating the installation progress according to TpredictThe method for making the application installation progress bar and the application installation countdown is to set the total progress value of the installation progress bar as TpredictThe initial value of the application installation countdown is also set to Tpredict
CN202010097839.7A 2020-02-17 2020-02-17 Android application installation flow optimization method based on time-consuming prediction Active CN111309341B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010097839.7A CN111309341B (en) 2020-02-17 2020-02-17 Android application installation flow optimization method based on time-consuming prediction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010097839.7A CN111309341B (en) 2020-02-17 2020-02-17 Android application installation flow optimization method based on time-consuming prediction

Publications (2)

Publication Number Publication Date
CN111309341A true CN111309341A (en) 2020-06-19
CN111309341B CN111309341B (en) 2023-04-07

Family

ID=71145061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010097839.7A Active CN111309341B (en) 2020-02-17 2020-02-17 Android application installation flow optimization method based on time-consuming prediction

Country Status (1)

Country Link
CN (1) CN111309341B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817625A (en) * 2021-01-29 2021-05-18 青岛海信移动通信技术股份有限公司 System upgrading method and device, electronic equipment and storage medium
WO2022017244A1 (en) * 2020-07-23 2022-01-27 华为技术有限公司 Application installation method and electronic device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
US20090144730A1 (en) * 2007-11-30 2009-06-04 Huawei Technologies Co., Ltd. Software deployment method and system, software deployment server and user server
CN101980174A (en) * 2010-11-24 2011-02-23 中国人民解放军国防科学技术大学 Method for automatically testing energy consumption of computer application program interval
US8972975B1 (en) * 2013-04-01 2015-03-03 Google Inc. Bounded installation time optimization of applications
CN106528254A (en) * 2016-12-16 2017-03-22 中南大学 APP rapid loading method
CN106708507A (en) * 2016-11-15 2017-05-24 四川长虹电器股份有限公司 Method for optimizing startup application installation time based on Android system
US20170220335A1 (en) * 2016-02-02 2017-08-03 ZeroTurnaround AS System and Method for Fast Initial and Incremental Deployment of Apps
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN107770365A (en) * 2017-08-30 2018-03-06 天津大学 A kind of prediction of multiple features APP streams and recommendation method based on Android

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
US20090144730A1 (en) * 2007-11-30 2009-06-04 Huawei Technologies Co., Ltd. Software deployment method and system, software deployment server and user server
CN101980174A (en) * 2010-11-24 2011-02-23 中国人民解放军国防科学技术大学 Method for automatically testing energy consumption of computer application program interval
US8972975B1 (en) * 2013-04-01 2015-03-03 Google Inc. Bounded installation time optimization of applications
US20170220335A1 (en) * 2016-02-02 2017-08-03 ZeroTurnaround AS System and Method for Fast Initial and Incremental Deployment of Apps
CN106708507A (en) * 2016-11-15 2017-05-24 四川长虹电器股份有限公司 Method for optimizing startup application installation time based on Android system
CN106528254A (en) * 2016-12-16 2017-03-22 中南大学 APP rapid loading method
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN107770365A (en) * 2017-08-30 2018-03-06 天津大学 A kind of prediction of multiple features APP streams and recommendation method based on Android

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHAN JIANG JIANG: "Research on the Relationship between APP Size and Installation Time in Intelligent Mobile Devices" *
GAURAV SINGH: "Optimizing the boot time of Android on embedded system" *
刘宵婧;桂志鹏;曹军;李锐;吴华意;: "GWR与STARMA结合的WMS响应时间时空预测模型" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022017244A1 (en) * 2020-07-23 2022-01-27 华为技术有限公司 Application installation method and electronic device
EP4170483A4 (en) * 2020-07-23 2023-11-22 Huawei Technologies Co., Ltd. Application installation method and electronic device
CN112817625A (en) * 2021-01-29 2021-05-18 青岛海信移动通信技术股份有限公司 System upgrading method and device, electronic equipment and storage medium
CN112817625B (en) * 2021-01-29 2024-03-08 青岛海信移动通信技术有限公司 System upgrading method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111309341B (en) 2023-04-07

Similar Documents

Publication Publication Date Title
US11954521B2 (en) Deep learning job scheduling method and system and related device
CN108510082B (en) Method and device for processing machine learning model
US20110276939A1 (en) Techniques to enhance software production
WO2008134162A1 (en) Dynamically loading scripts
Garbervetsky et al. Toward full elasticity in distributed static analysis: The case of callgraph analysis
Li et al. DLHub: Simplifying publication, discovery, and use of machine learning models in science
CN111309341B (en) Android application installation flow optimization method based on time-consuming prediction
Kjorveziroski et al. Kubernetes distributions for the edge: serverless performance evaluation
US9904574B2 (en) Parallel computing without requiring antecedent code deployment
EP2769302B1 (en) Use of dynamic profiles for creating and using a distributed computing environment
KR101907660B1 (en) Terminal apparatus having operating system based on web and method for providing service using thereof
Harichane et al. KubeSC‐RTP: Smart scheduler for Kubernetes platform on CPU‐GPU heterogeneous systems
CN112115056B (en) Project deployment method and device, server and storage medium
US11615061B1 (en) Evaluating workload for database migration recommendations
Brady et al. SmartGridRPC: The new RPC model for high performance Grid computing
Wannipurage et al. A Framework to capture and reproduce the Absolute State of Jupyter Notebooks
CN115185611A (en) Method, device, system and equipment for dynamic loading of service grid proxy configuration
CN114860203A (en) Project creation method, project creation device, server and storage medium
Gorton et al. An extensible, lightweight architecture for adaptive J2EE applications
CN109271182B (en) Method and device for upgrading search engine
Li et al. SoDa: A Serverless‐Oriented Deadline‐Aware Workflow Scheduling Engine for IoT Applications in Edge Clouds
US7908375B2 (en) Transparently externalizing plug-in computation to cluster
Hunt et al. A guided tour of the Coign automatic distributed partitioning system
Lordan et al. Enabling GPU support for the COMPSs-Mobile framework
Cunningham et al. NEAMS workbench and BISON fuel performance remote application configuration

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