A management method, device and equipment of an application program and a storage medium

By acquiring and analyzing the application's dependency package information in advance and using multi-threading technology to process large amounts of data, the problem of low efficiency in installing applications from app stores is solved, enabling rapid installation of target applications.

CN115658092BActive Publication Date: 2025-11-28ZHONGKE FANGDE SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211316932.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-26
Publication Date
2025-11-28
Estimated Expiration
2042-10-26

AI Technical Summary

Technical Problem

Installing applications through app stores is inefficient and negatively impacts the user experience.

Method used

By obtaining the first dependency package information and the installed second dependency package information from the target application's installation file, the third dependency package information is determined. Upon receiving the installation instruction, the required dependency packages and installation packages of the target application are quickly downloaded and installed. Multi-threading technology is used to process large amounts of dependency packages and installation packages.

Benefits of technology

It improves the efficiency of application installation, shortens installation time, reduces waiting time for dependency package information analysis, and enhances user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115658092B_ABST
    Figure CN115658092B_ABST
Patent Text Reader

Abstract

The application discloses a kind of applied to the management method, device and storage medium of application program of computer technical field, first acquisition target application program's installation file, and parsing installation file, obtain first dependent package information;Second dependent package information is obtained again;If target application program is the application program satisfying preloading condition, third dependent package information is determined based on first dependent package information and second dependent package information, and third dependent package information includes the information of at least one third dependent package, and third dependent package is dependent package needing to be downloaded;In response to obtaining first installation instruction for target application program, the installation package of target application program is downloaded, and third dependent package is downloaded according to third dependent package information;Target application program is installed based on the installation package of target application program and each third dependent package.Target application program can be quickly downloaded according to third dependent package information, and the efficiency of installation target application program is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a management method and device of application program, equipment and storage medium. BACKGROUND

[0002] When a user needs to install an application program on a device, the user usually searches for the application program to be installed through an application store installed in the device, and downloads an installation package required for installing the application program through the application store. The installation of the application program is realized by parsing the installation package of the application program downloaded.

[0003] At present, the efficiency of installing the application program through the application store by the user is low, which affects the use of the application program by the user. SUMMARY

[0004] Therefore, the present application provides a management method and device of application program, equipment and storage medium, which can improve the efficiency of installing the application program through the application store.

[0005] To solve the above problems, the technical scheme provided by the present application is as follows:

[0006] In a first aspect, the present application provides a management method of application program, which comprises:

[0007] obtaining an installation file of a target application program, wherein the installation file comprises first dependency package information required for installing the target application program, and the first dependency package information comprises information of at least one first dependency package, and the first dependency package is a dependency package required for installing the target application program except for an installation package of the target application program;

[0008] parsing the installation file to obtain the first dependency package information included in the installation file;

[0009] obtaining second dependency package information, wherein the second dependency package information comprises information of at least one second dependency package, and the second dependency package is an installed dependency package;

[0010] if the target application program meets a pre-loading condition, determining third dependency package information based on the first dependency package information and the second dependency package information, wherein the third dependency package information comprises information of at least one third dependency package, and the third dependency package is a dependency package required for downloading to install the target application program;

[0011] in response to a first installation instruction for the target application program, downloading an installation package of the target application program, and downloading each third dependency package according to the third dependency package information;

[0012] install the target application based on the installation package of the target application and each of the third dependency package.

[0013] In a possible implementation, if the target application does not satisfy the preloading condition, the method further includes:

[0014] In response to a second installation instruction for the target application, determining third dependency package information based on the first dependency package information and second dependency package information, the third dependency package information including information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application;

[0015] Downloading an installation package of the target application, and downloading each of the third dependency package according to the third dependency package information;

[0016] installing the target application based on the installation package of the target application and each of the third dependency package.

[0017] In a possible implementation, the downloading each of the third dependency package according to the third dependency package information includes:

[0018] obtaining each of the third dependency package according to the third dependency package information;

[0019] If there is a third dependency package with a data volume greater than a first threshold value, dividing each of the third dependency package with the data volume greater than the first threshold value into a plurality of sub dependency packages;

[0020] adopting a plurality of threads to download the sub dependency package respectively, each of the thread being configured to download at least one of the sub dependency package;

[0021] If there is a third dependency package with a data volume less than or equal to the first threshold value, downloading each of the third dependency package with the data volume less than or equal to the first threshold value.

[0022] In a possible implementation, if there is a third dependency package with a data volume greater than a first threshold value, before the installing the target application based on the installation package of the target application and each of the third dependency package, the method further includes:

[0023] assembling a plurality of the sub dependency package downloaded to obtain each of the third dependency package with the data volume greater than the first threshold value;

[0024] moving each of the third dependency package with the data volume greater than the first threshold value to an installation directory of the target application.

[0025] In a possible implementation, the downloading the installation package of the target application includes:

[0026] if the data amount of the installation package is greater than a second threshold value, dividing the installation package into a plurality of sub-installation packages;

[0027] adopting a plurality of threads to download the sub-installation packages respectively, each thread being used to download at least one of the sub-installation packages.

[0028] In a possible implementation, before installing the target application based on the installation package of the target application and the third dependent package, the method further comprises:

[0029] assembling the plurality of sub-installation packages downloaded to obtain the installation package;

[0030] moving the installation package to an installation directory of the target application.

[0031] In a possible implementation, the determining the third dependent package information based on the first dependent package information and the second dependent package information comprises:

[0032] taking information of a dependent package in the first dependent package information which is different from the second dependent package information as the third dependent package information.

[0033] In a possible implementation, the third dependent package information is stored in a dependency relationship tree of the target application, the dependency relationship tree comprising a corresponding relationship between the target application and the third dependent package and comprising the third dependent package information.

[0034] In a possible implementation, the method further comprises:

[0035] after determining that the target application satisfies a pre-loading condition, establishing a dependency relationship tree comprising a corresponding relationship between the target application and the first dependent package and comprising the first dependent package information based on the first dependent package information;

[0036] deleting, based on the second dependent package information, the first dependent package information in the dependency relationship tree which is same as the second dependent package information, and taking the remaining first dependent package information as the third dependent package information;

[0037] deleting, from the dependency relationship tree, the corresponding relationship between the target application and the first dependent package whose information is same as the information of the second dependent package, and taking the remaining corresponding relationship between the target application and the first dependent package as the corresponding relationship between the target application and the third dependent package to obtain a dependency relationship tree comprising the corresponding relationship between the target application and the third dependent package and the third dependent package information.

[0038] In a second aspect, the present application provides a management device of an application program, the device comprising:

[0039] a first obtaining unit configured to obtain an installation file of a target application program, the installation file comprising first dependency package information required for installing the target application program, the first dependency package information comprising information of at least one first dependency package, the first dependency package being a dependency package required for installing the target application program other than an installation package of the target application program;

[0040] a parsing unit configured to parse the installation file to obtain the first dependency package information comprised in the installation file;

[0041] a second obtaining unit configured to obtain second dependency package information, the second dependency package information comprising information of at least one second dependency package, the second dependency package being an installed dependency package;

[0042] a determining unit configured to, if the target application program meets a pre-loading condition, determine third dependency package information based on the first dependency package information and the second dependency package information, the third dependency package information comprising information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application program;

[0043] a downloading unit configured to, in response to a first installation instruction for the target application program, download an installation package of the target application program and download each of the third dependency packages according to the third dependency package information;

[0044] an installing unit configured to install the target application program based on the installation package of the target application program and each of the third dependency packages.

[0045] In a possible implementation, if the target application program does not meet the pre-loading condition, the determining unit is further configured to, in response to a second installation instruction for the target application program, determine third dependency package information based on the first dependency package information and the second dependency package information, the third dependency package information comprising information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application program;

[0046] the downloading unit is further configured to download an installation package of the target application program and download each of the third dependency packages according to the third dependency package information;

[0047] the installing unit is further configured to install the target application program based on the installation package of the target application program and each of the third dependency packages.

[0048] In a possible implementation, the downloading unit is configured to download each of the third dependency packages according to the third dependency package information, comprising:

[0049] The downloading unit is specifically configured to acquire each third dependent package according to the third dependent package information.

[0050] If there is a third dependent package with a data volume greater than a first threshold value, each third dependent package with the data volume greater than the first threshold value is divided into a plurality of sub-dependent packages.

[0051] A plurality of threads are adopted to download the sub-dependent packages respectively, and each thread is configured to download at least one sub-dependent package.

[0052] If there is a third dependent package with a data volume less than or equal to the first threshold value, each third dependent package with the data volume less than or equal to the first threshold value is downloaded.

[0053] In a possible implementation, if there is a third dependent package with a data volume greater than a first threshold value, the apparatus further includes:

[0054] A first assembling unit is configured to assemble the plurality of downloaded sub-dependent packages to obtain each third dependent package with the data volume greater than the first threshold value.

[0055] A first moving unit is configured to move each third dependent package with the data volume greater than the first threshold value to an installation directory of the target application program.

[0056] In a possible implementation, the downloading unit is configured to download an installation package of the target application program, and includes:

[0057] The downloading unit is specifically configured to divide the installation package into a plurality of sub-installation packages if a data volume of the installation package is greater than a second threshold value.

[0058] A plurality of threads are adopted to download the sub-installation packages respectively, and each thread is configured to download at least one sub-installation package.

[0059] In a possible implementation, the apparatus further includes:

[0060] A second assembling unit is configured to assemble the plurality of downloaded sub-installation packages to obtain the installation package.

[0061] A second moving unit is configured to move the installation package to the installation directory of the target application program.

[0062] In a possible implementation, the determining unit is configured to determine third dependent package information based on the first dependent package information and the second dependent package information, and includes:

[0063] The determining unit is specifically configured to take information of a dependent package different from the second dependent package information in the first dependent package information as the third dependent package information.

[0064] In a possible implementation, the third dependent package information is stored in a dependency tree of the target application, the dependency tree including a correspondence between the target application and the third dependent package and including the third dependent package information.

[0065] In a possible implementation, the apparatus further includes:

[0066] The establishing unit is configured to, after determining that the target application meets the preloading condition, establish a dependency tree including a correspondence between the target application and the first dependent package and including the first dependent package information based on the first dependent package information.

[0067] The first deleting unit is configured to, based on the second dependent package information, delete first dependent package information same as the second dependent package information in the dependency tree, and take remaining first dependent package information as the third dependent package information.

[0068] The second deleting unit is configured to delete, in the dependency tree, a correspondence between the target application and a first dependent package whose information is same as information of the second dependent package, and take a correspondence between the target application and a remaining first dependent package as a correspondence between the target application and the third dependent package, to obtain a dependency tree including the correspondence between the target application and the third dependent package and the third dependent package information.

[0069] In a third aspect, the present application provides an application management device, including: a processor, a memory, a system bus;

[0070] The processor and the memory are connected through the system bus;

[0071] The memory is configured to store one or more programs, the one or more programs including instructions, the instructions causing the processor to execute the application management method of the first aspect and any possible implementation included in the first aspect when executed by the processor.

[0072] In a fourth aspect, the present application provides a computer readable storage medium, the computer readable storage medium storing instructions, the instructions causing the terminal device to execute the application management method of the first aspect and any possible implementation included in the first aspect when running on the terminal device.

[0073] In a fifth aspect, the present application provides a computer program product, which comprises instructions, when executed on a computer, cause the computer to perform the application management method of the first aspect and any possible implementation of the first aspect.

[0074] Therefore, the present application has the following beneficial effects:

[0075] The present application provides an application management method, device, equipment and storage medium. The method first acquires an installation file of a target application. The installation file comprises first dependency package information required for installing the target application. The first dependency package information comprises information of one or more first dependency packages. The first dependency package is a dependency package required for installing the target application, except for an installation package of the target application. After obtaining the installation file of the target application, the installation file is parsed to obtain the first dependency package information. Second dependency package information of installed dependency packages is then acquired. The second dependency package information comprises information of one or more second dependency packages. The second dependency package is an installed dependency package. If the target application is an application satisfying a preloading condition, third dependency package information is determined based on the first dependency package information and the second dependency package information. The third dependency package information comprises information of one or more third dependency packages. The third dependency package is a dependency package required to be downloaded for installing the target application. In this way, the third dependency package required for installing the target application can be quickly determined in response to a first installation instruction for the target application, thereby improving the efficiency of installing the target application. In response to acquiring the first installation instruction for the target application, an installation package of the target application is downloaded, and each third dependency package is downloaded according to the third dependency package information. The target application is installed based on the installation package of the target application and each third dependency package. Based on the third dependency package information obtained in advance, each third dependency package can be quickly downloaded, and it is not necessary to analyze the dependency package information after acquiring the first installation instruction, thereby shortening the time for installing the target application in response to the first installation instruction and improving the efficiency of installing the target application. BRIEF DESCRIPTION OF DRAWINGS

[0076] Figure 1 A scenario schematic diagram provided for an embodiment of the present application;

[0077] Figure 2 A flowchart of an application management method provided for an embodiment of the present application;

[0078] Figure 3 A flowchart of downloading the installation package of the target application and downloading each third dependency package according to the third dependency package information provided for an embodiment of the present application;

[0079] Figure 4 A structural schematic diagram of an application management device provided by an embodiment of the present application;

[0080] Figure 5 A block diagram of a device for application management provided by an embodiment of the present application;

[0081] Figure 6 A structural schematic diagram of a server in some embodiments of the present application. DETAILED DESCRIPTION

[0082] In order to facilitate understanding and explanation of the technical solutions provided by the embodiments of the present application, the background art of the present application will be described first.

[0083] When a user installs an application on a device, the user needs to download an application installation related data package. For example, for a Linux operating system, the user installs an application through an apt-get command or installs the application through an application store on the device. The application installation related data package includes an installation package of the application and a dependency package. The dependency package is a data package required for installing the application. The user installs the application through the apt-get command or the application store, needs to first acquire installation information of the application, analyzes a dependency relationship tree of the application based on the installation information of the application, determines a dependency package to be downloaded according to dependency package information included in the dependency relationship tree, downloads the dependency package and the installation package of the application, and implements installation of the application based on the dependency package and the installation package. However, the process of analyzing the dependency relationship tree of the application is relatively complex, which leads to low efficiency of installing the application.

[0084] Based on this, the embodiment of the present application provides a kind of application management method, device and storage medium, which first obtains the installation file of target application, wherein the installation file includes the first dependent package information required for installing target application, and the first dependent package information includes the information of one or more first dependent packages, and the first dependent package is the data package required for installing the target application except the installation package of the target application, after obtaining the installation file of target application, the installation file is parsed, and the first dependent package information is obtained.Second dependent package information is obtained. Second dependent package information includes the information of one or more second dependent packages. Second dependent package is installed dependent package.If the target application is the application that meets the preloading condition, third dependent package information is determined based on the first dependent package information and the second dependent package information. Third dependent package information includes the information of one or more third dependent packages. Third dependent package is the dependent package required for installing target application. In this way, the third dependent package required for installing target application can be determined faster in response to the first installation instruction for the target application, and the efficiency of installing the target application is improved. In response to obtaining the first installation instruction for the target application, the installation package of the target application is downloaded, and the third dependent package is downloaded according to the third dependent package information; the target application is installed based on the installation package of the target application and the third dependent package. Based on the third dependent package information obtained by preloading, the third dependent package can be quickly downloaded, and there is no need to analyze the dependent package information after obtaining the first installation instruction, so as to shorten the time for installing the target application in response to the first installation instruction and improve the efficiency of installing the target application.

[0085] In order to facilitate understanding of the technical solutions provided by the embodiments of the present application, the scene to which the application management method provided by the embodiments of the present application is applied will be described below with reference to the accompanying drawings. Referring to Figure 1 As shown in the figure, it is a kind of scene schematic diagram provided by the embodiment of the present application.

[0086] In actual application, the device of the user is installed with an application program of the application store. The administrator 101 of the application program uploads the installation file of the target application program to be listed on the application store to the server 102 of the application store. After obtaining the installation file of the target application program, the server 102 of the application store parses the installation file to obtain the first dependency package information included in the installation file. The first dependency package information includes the information of one or more first dependency packages. The first dependency package is a dependency package required for installing the target application program except for the installation package of the target application program. The client 103 of the application store obtains the first dependency package information recorded by the server 102 of the application store. The client 103 of the application store obtains the second dependency package information. The second dependency package information includes the information of the dependency package, that is, the second dependency package, which has been installed in the target device where the client 103 of the application store is located. If the target application program is an application program satisfying a preloading condition, the client 103 of the application store determines the third dependency package information based on the first dependency package information and the second dependency package information. The third dependency package information includes the information of one or more third dependency packages. The third dependency package information is the dependency package information different from the second dependency package information in the first dependency package information. According to the third dependency package information, each third dependency package required to be downloaded for installing the target application program can be determined. The user triggers a first installation instruction for the target application program in the client 103 of the application store. The client 103 of the application store downloads each third dependency package and the installation package of the target application program from the server 102 of the application store based on the third dependency package information. The client 103 of the application store implements the installation of the target application program based on each third dependency package and the installation package downloaded.

[0087] It should be noted that, Figure 1 The application scenario shown is only an example, and the application program management method provided in the embodiments of the present application can also be applied to other scenarios, which are not limited herein.

[0088] Referring to Figure 2 The figure is a flow diagram of an application program management method provided in the embodiments of the present application. The method includes S201-S206:

[0089] S201: Obtain an installation file of a target application program, wherein the installation file includes first dependency package information required for installing the target application program, the first dependency package information includes the information of one or more first dependency packages, and the first dependency package is a data package required for installing the target application program except for an installation package of the target application program.

[0090] The installation file of the target application is generally published by a manager of the target application. The installation file of the target application is a file for indicating an installation method of the target application. The installation file of the target application includes source information of the target application, version information, information of an installation package for installing the target application, information of a dependency package other than the installation package for installing the target application, that is, first dependency package information, and other information related to installation of the target application. It should be noted that the first dependency package information includes information of one or more first dependency packages. The first dependency package is a dependency package required for installing the target program. The first dependency package information can include names of the first dependency packages.

[0091] In a possible implementation, the installation information of the target application is stored in a deb file. The first dependency package information is stored in a depends item in debian / control of the deb file.

[0092] S202: The installation file is parsed to obtain the first dependency package information included in the installation file.

[0093] The installation file is parsed to read the first dependency package information included in the installation file. The first dependency package information can be used to determine the first dependency package required for installing the target application.

[0094] For example, the deb file stores the first dependency package information, and the depends item in debian / control of the deb file is parsed to obtain the first dependency package information.

[0095] It should be noted that the embodiments of the present application do not limit the specific implementation of parsing the installation file to obtain the first dependency package information included in the installation file. In a possible implementation, the application management method is applied to an application store. After the application store obtains the installation file of the target application published by the manager of the target application, the installation file is parsed.

[0096] In some possible implementations, the installation file of the target application needs to be updated corresponding to the running of the target application, and after it is monitored that the installation file of the target application is updated, the updated installation file is parsed to obtain more accurate first dependency package information.

[0097] S203: Obtain second dependency package information, the second dependency package information including information of one or more second dependency packages, the second dependency package being an installed dependency package.

[0098] It should be noted that the dependency packages of different applications can be the same. For the dependency packages already installed on the device, the installation can not be downloaded again. Information of the dependency packages already installed on the device, that is, second dependency package information, is obtained. The second dependency package information can be the names of the respective second dependency packages. The obtained second dependency package information is the information of the respective dependency packages already installed on the current device. When it is monitored that the device downloads a new dependency package, the second dependency package information is updated to obtain more accurate second dependency package information.

[0099] In a possible implementation, the application management method is applied to an application store. The second dependency package information of the target device on which the application store is installed or run is read each time the application store is started. As an example, the application store can read the second dependency package information recorded in the var / lib / dpkg / status directory in the target device. After the second dependency package information is obtained, the application store stores the second dependency package information in the memory of the target device. In this way, the second dependency package information is read from the memory subsequently, and the information of the dependency packages that need to be installed, that is, third dependency package information, is determined faster.

[0100] S204: If the target application program meets the pre-loading condition, third dependency package information is determined based on the first dependency package information and the second dependency package information, the third dependency package information including the information of one or more third dependency packages, the third dependency package being a dependency package that needs to be downloaded to install the target application program.

[0101] The pre-loading condition is a condition that is preset to load the information of the dependency package that needs to be installed before the installation instruction is obtained. The pre-loading condition can be set according to the use frequency of the application program, for example, the pre-loading condition is that the historical download quantity is greater than a first threshold, or the pre-loading condition is that the use heat is greater than a second threshold.

[0102] In the embodiment of the application, it is determined whether the target application program meets the pre-loading condition. If the target application program meets the pre-loading condition, the first dependency package information and the second dependency package information of the target application program are loaded, and the third dependency package information is determined. As an example, the pre-loading condition is that the ranking of the use heat is in the top 100, and the use heat of the target application program is obtained. If the ranking of the use heat of the target application program is in the top 100, it is determined that the target application program meets the pre-loading condition. The third dependency package information is pre-loaded for the target application program that meets the pre-loading condition, so that the computing resources and the storage resources of the target device can be more reasonably applied, and the waste of the resources of the target device is avoided.

[0103] After determining that the target application satisfies the pre-loading condition, third dependency package information is determined according to the first dependency package information and the second dependency package information. The third dependency package information includes information of one or more third dependency packages. The third dependency package is a dependency package that needs to be downloaded for installing the target application. Specifically, the first dependency package information is compared with the second dependency package information, and a difference between the two is obtained as the third dependency package information. By loading the third dependency package information in advance, the third dependency package can be directly downloaded based on the third dependency package information after the first installation instruction is obtained subsequently, thereby improving the speed of downloading the third dependency package.

[0104] In a possible implementation, the third dependency package information can be stored in a dependency relationship tree of the target application. The dependency relationship tree of the target application can include a correspondence between the target application and the third dependency package, and the third dependency package information. Specifically, after determining that the target application satisfies the pre-loading condition, a dependency relationship tree including a correspondence between the target application and the first dependency package, and the first dependency package information is established based on the first dependency package information; the first dependency package information that is the same as the second dependency package information in the dependency relationship tree is deleted based on the second dependency package information, and the remaining first dependency package information is the third dependency package information; and the correspondence between the first dependency package and the target application in the dependency relationship tree, which has the same information as the second dependency package, is deleted, and the remaining correspondence between the first dependency package and the target application is the correspondence between the target application and the third dependency package. In this way, the dependency relationship tree including the correspondence between the target application and the third dependency package and the third dependency package information is obtained.

[0105] S205: In response to the first installation instruction for the target application, the installation package of the target application is downloaded, and each third dependency package is downloaded according to the third dependency package information.

[0106] The present application does not limit the triggering manner of the first installation instruction for the target application. In a possible implementation, a user can trigger the first installation instruction for the target application by clicking an installation button corresponding to the target application in a display interface of a client of an application market installed on a target device. In another possible implementation, an automatic installation program for installing the target application is preset, and the first installation instruction for the target application is triggered by running the automatic installation program.

[0107] In response to the first installation instruction for the target application, each third dependency package is downloaded based on the third dependency package information determined in S204, and the installation package of the target application is downloaded.

[0108] It should be noted that the embodiments of the present application do not limit the sequence of downloading the third dependent package and the installation package. In a possible implementation, the third dependent package is downloaded and parsed first, so as to continue the installation based on the installation package subsequently. Correspondingly, the third dependent packages are downloaded based on the third dependent package information first, and after it is determined that the third dependent packages are downloaded successfully, the third dependent packages are parsed respectively, and the installation package is downloaded. In another possible implementation, the third dependent packages and the installation package are downloaded simultaneously, and the installation is performed after the third dependent packages and the installation package are downloaded completely.

[0109] In order to facilitate the installation of the target application program, the third dependent packages and the installation package are downloaded into files in a preset installation directory. As an example, the preset installation directory can be var / cache / apt / archives.

[0110] In some possible implementations, the data amount of the third dependent package or the data amount of the installation package is large, and for the third dependent package or the installation package with a large data amount, a multi-threaded manner can be used for downloading. The embodiments of the present application provide a specific implementation of downloading the installation package of the target application program, and a specific implementation of downloading the third dependent packages according to the third dependent package information. For details, please refer to the following.

[0111] S206: installing the target application program based on the installation package of the target application program and the third dependent packages.

[0112] The target application program is installed by using the downloaded installation package of the target application program and the third dependent packages.

[0113] Based on the related content of S201-S206, by pre-acquiring the first dependent package information required for installing the target application program and acquiring the second dependent package information that has been installed, the first dependent package information and the second dependent package information of the target application program that meet the pre-loading condition can be pre-loaded, the third dependent package information required for downloading to install the target application program is obtained, the third dependent package is determined quickly based on the third dependent package information obtained by pre-analysis after the first installation instruction is acquired, the time for analyzing and determining the third dependent package information after the first installation instruction is acquired is reduced, and therefore the efficiency of installing the target application program is improved.

[0114] In a possible implementation, the result of determining whether the target application program meets the pre-loading condition is that the target application program does not meet the pre-loading condition. For this scenario, the method provided by the embodiments of the present application further includes the following steps:

[0115] A1: in response to a second installation instruction for the target application program, determining third dependency package information based on the first dependency package information and second dependency package information, the third dependency package being a dependency package required to be downloaded for installing the target application program.

[0116] After obtaining the first dependency package information and the second dependency package information, the first dependency package information and the second dependency package information are not processed. After obtaining the second installation instruction for the target application program, in response to the second installation instruction, the third dependency package information is determined according to the first dependency package information and the second dependency package information.

[0117] The application does not limit the triggering mode of the second installation instruction for the target application program. In a possible implementation, a user can trigger the second installation instruction for the target application program by clicking an installation button corresponding to the target application program in a display interface of a client of an application market installed on a target device. In another possible implementation, an automatic installation program for installing the target application program is preset, and the second installation instruction for the target application program is triggered by running the automatic installation program.

[0118] The third dependency package is a dependency package required to be downloaded for installing the target application program. Specifically, the first dependency package information and the second dependency package information are compared, and the difference between the two is obtained as the third dependency package information. Based on the pre-obtained first dependency package information and the second dependency package information, the third dependency package information can be quickly determined, and the speed of downloading the third dependency package is improved.

[0119] In a possible implementation, the third dependency package information can be stored in a dependency relationship tree of the target application program. The dependency relationship tree of the target application program can include the correspondence between the target application program and the third dependency package, and the third dependency package information. Specifically, after it is determined that the target application program meets the pre-loading condition, a dependency relationship tree including the correspondence between the target application program and the first dependency package and the first dependency package information is established based on the first dependency package information, and then the dependency relationship tree and the first dependency package information that is the same as the second dependency package information are deleted based on the second dependency package information, and the remaining first dependency package information is the third dependency package information; and the correspondence between the target application program and the first dependency package that is the same as the second dependency package information in the dependency relationship tree is deleted, and the remaining correspondence between the target application program and the first dependency package is the correspondence between the target application program and the third dependency package. In this way, the dependency relationship tree including the correspondence between the target application program and the third dependency package and the third dependency package information is obtained.

[0120] A2: downloading an installation package of the target application program, and downloading each of the third dependency packages according to the third dependency package information.

[0121] In some possible implementation manners, each third dependent package and installation package is downloaded into a file in a preset installation directory. As an example, the preset installation directory can be var / cache / apt / archives.

[0122] In some possible implementation manners, the data volume of the third dependent package or the data volume of the installation package is large, and for the third dependent package or the installation package with a large data volume, a multi-threaded manner can be used for downloading. The embodiment of the present application provides a specific implementation manner of downloading the installation package of the target application program and a specific implementation manner of downloading each third dependent package according to the third dependent package information. For details, please refer to the following.

[0123] A3: installing the target application program based on the installation package of the target application program and each third dependent package.

[0124] The installation package of the target application program and each third dependent package are used to install the target application program.

[0125] In the process of downloading the application program, if the data volume of the installation package of the application program or the data volume of the dependent package is large, the time for downloading the installation package of the application program or the dependent package is long, which leads to slow speed of installing the application program.

[0126] Based on such problems, the embodiment of the present application can specifically include the following steps B1-B4 according to the third dependent package information to download each third dependent package.

[0127] B1: obtaining each third dependent package according to the third dependent package information.

[0128] It should be noted that when the first dependent packages included in the first dependent package information have all been downloaded, that is, the first dependent package information is the same as the second dependent package information, it is indicated that the dependent packages for installing the target application program have all been downloaded, and no other dependent package needs to be downloaded. When the first dependent package information includes a first dependent package that has not been downloaded, that is, the first dependent package information is different from the second dependent package information, the third dependent package information is determined according to the first dependent package information and the second dependent package information. The third dependent package information includes information of obtaining each dependent package that needs to be downloaded.

[0129] B2: if there is a third dependent package with a data volume greater than a first threshold value, each third dependent package with a data volume greater than the first threshold value is divided into a plurality of sub-dependent packages.

[0130] After obtaining each third dependent package, it is determined whether the data amount of each third dependent package is greater than a first threshold. The first threshold is a data amount of a third dependent package that needs to be downloaded using multi-threading and is set in advance. The first threshold can be determined based on the download capability of the target device. If the data amount of a third dependent package is greater than the first threshold, it means that the data amount of the third dependent package is large. The third dependent package whose data amount is greater than the first threshold can be downloaded using multi-threading to speed up the download.

[0131] Before downloading each third dependent package whose data amount is greater than the first threshold, the third dependent package is divided into a plurality of sub-dependent packages. In one possible implementation, each third dependent package obtained by dividing the third dependent package based on the first threshold includes a plurality of sub-dependent packages, and the data amount of each sub-dependent package is less than or equal to the first threshold.

[0132] B3: The plurality of threads are used to download the sub-dependent packages respectively, and each thread is used to download one or more sub-dependent packages.

[0133] The divided sub-dependent packages are added to a download task list, and a plurality of threads are called to download the sub-dependent packages included in the download task list. The number of threads used to download the sub-dependent packages is not limited in the embodiments of the present application, and can be set based on the resources of the target device.

[0134] In some possible implementations, all the sub-dependent packages downloaded using multi-threading need to be assembled to obtain a complete target dependent package. In order to facilitate the assembly, all the downloaded sub-dependent packages are stored in a temporary storage file, and after all the sub-dependent packages of the target dependent package are downloaded, the sub-dependent packages are assembled to obtain the target dependent package. After the complete target dependent package is obtained, the target dependent package is moved to the installation directory of the target application program. In this way, based on the target dependent package in the installation directory of the target application program, the installation of the target application program can be continued.

[0135] B4: If there is a third dependent package whose data amount is less than or equal to the first threshold, each third dependent package whose data amount is less than or equal to the first threshold is downloaded.

[0136] For the third dependent package whose data amount is less than or equal to the first threshold, no large download resource needs to be consumed, and the third dependent package can be directly downloaded. It should be noted that in one possible implementation, for the third dependent package whose data amount is less than or equal to the first threshold, the third dependent package can be directly downloaded to the installation directory of the target application program.

[0137] In addition, the downloading of the installation package of the target application program described in the embodiments of the present application can include the following steps C1-C2:

[0138] C1: if the data amount of the installation package is greater than a second threshold, divide the installation package into a plurality of sub-installation packages.

[0139] Before downloading the installation package, it is determined whether the data amount of the installation package is greater than a second threshold. The second threshold is a data amount of an installation package that needs to use multi-threaded downloading, which is set in advance. The second threshold can be determined based on the downloading capability of the target device. If the data amount of the installation package is greater than the second threshold, it indicates that the data amount of the installation package is large, and the multi-threaded downloading manner can be used to speed up the downloading speed.

[0140] Before downloading the installation package, the installation package is divided into a plurality of sub-installation packages. In a possible implementation, the installation package is divided based on the second threshold, and the data amount of each sub-installation package obtained by dividing the installation package is less than or equal to the second threshold.

[0141] C2: using a plurality of threads to download the plurality of sub-installation packages respectively, each thread being used to download one or more sub-installation packages.

[0142] The divided sub-installation packages are added to a download task list, and a plurality of threads are called to download the sub-installation packages included in the download task list. The number of threads used to download the sub-installation packages is not limited in the embodiments of the present application, and can be set based on the resources of the target device.

[0143] In some possible implementation, the plurality of sub-installation packages downloaded by using the plurality of threads need to be assembled to obtain a complete installation package. In order to facilitate the assembly, the plurality of downloaded sub-installation packages are first stored in a temporary storage file, and after all the sub-installation packages of the installation package are downloaded, the plurality of sub-installation packages are assembled to obtain the installation package. After the complete installation package is obtained, the installation package is moved to the installation directory of the target application program. In this way, based on the installation package in the installation directory of the target application program, the installation of the target application program can be continued.

[0144] Based on the above-described B1-B4, a specific implementation of downloading the third dependent package according to the third dependent package information, and C1-C2, a specific implementation of downloading the installation package of the target application program, as an example, the embodiments of the present application provide a flowchart of downloading the installation package of the target application program and downloading the third dependent package according to the third dependent package information. Referring to Figure 3 As shown in the figure, the figure includes the following steps:

[0145] S301: obtaining an information list including third dependent package information.

[0146] The information list includes third dependency package information. The number of rows of the information list is greater than or equal to the number of the third dependency packages. Each row of the information list stores information of one third dependency package in the third dependency package information.

[0147] S302: Read the information of the third dependency package included in the i-th row of the information list, obtain the third dependency package according to the information of the third dependency package in the row, and determine whether the data amount of the third dependency package is greater than a first threshold.

[0148] The initial value of i is 1. The information of the third dependency package included in the first row of the information list is read first.

[0149] Obtain the third dependency package based on the information of the third dependency package obtained this time. The first threshold is a data amount of the third dependency package that needs to be downloaded by using multi-threading and is set in advance. Compare the data amount of the third dependency package with the first threshold to determine whether the third dependency package needs to be divided. S303: If the data amount of the third dependency package is greater than the first threshold, divide the third dependency package according to the first threshold to obtain a plurality of sub-dependency packages, and add the download tasks of the plurality of sub-dependency packages to the task list.

[0150] If the data amount of the third dependency package is greater than the first threshold, it means that the data amount of the third dependency package is large, and the third dependency package is divided into a plurality of sub-dependency packages. In a possible implementation, the third dependency package is divided based on the first threshold, and the data amount of each sub-dependency package obtained is less than or equal to the first threshold.

[0151] Add the download tasks of the sub-dependency packages obtained by division to the task list.

[0152] It should be noted that S305 is performed after S303 is executed.

[0153] S304: If the data amount of the third dependency package is less than or equal to the first threshold, add the download task of the third dependency package to the task list.

[0154] If the data amount of the third dependency package is less than or equal to the first threshold, it means that the data amount of the third dependency package is small, and the third dependency package does not need to be divided. The download task of the third dependency package is added to the task list.

[0155] It should be noted that S305 is performed after S304 is executed.

[0156] S305: Increase the value of i by 1.

[0157] After the processing of the download task of the third dependency package this time is completed, the value of i is increased by 1.

[0158] S306: judging the size relation between the value of i and the number of the information of the third dependent package included in the information list.

[0159] If the value of i is greater than the maximum row sequence number of the information list storing the information of the third dependent package, S307 is executed to process the installation package.

[0160] If the value of i is less than or equal to the maximum row sequence number of the information list storing the information of the third dependent package, S302 is executed to read the information of other third dependent package stored in the information list.

[0161] S307: judging whether the data amount of the installation package is greater than the second threshold value.

[0162] The installation package is obtained, and the data amount of the installation package is compared with the second threshold value. The second threshold value is a data amount of the installation package which needs to be downloaded by using multi-threading and is set in advance. The second threshold value can be determined based on the download capability of the target device.

[0163] S308: if the data amount of the installation package is greater than the second threshold value, the installation package is divided according to the second threshold value to obtain a plurality of sub-installation packages, and the download tasks of the plurality of sub-installation packages are added to the task list.

[0164] If the data amount of the installation package is greater than the second threshold value, the data amount of the installation package is large, and the installation package is divided into a plurality of sub-installation packages. In a possible implementation, the installation package is divided based on the second threshold value, and the data amount of each of the plurality of sub-installation packages is less than or equal to the second threshold value.

[0165] The download tasks of the plurality of sub-installation packages are added to the task list.

[0166] It should be noted that after S308 is executed, S310 is executed to process the download tasks.

[0167] S309: if the data amount of the installation package is less than or equal to the second threshold value, the download task of the installation package is added to the task list.

[0168] If the data amount of the installation package is less than or equal to the second threshold value, the data amount of the installation package is small, and the download task of the installation package is added to the task list without dividing the installation package.

[0169] It should be noted that after S309 is executed, S310 is executed to process the download tasks.

[0170] S310: processing the download tasks included in the task list by using multi-threading.

[0171] The multiple threads are called to download the sub-installation packages included in the download task list. Embodiments of the present application do not limit the number of threads for downloading the sub-installation packages, and the number of threads can be set based on the resources of the target device.

[0172] S311: If the task list includes a download task of a sub-dependency package, the downloaded sub-dependency package is assembled to obtain a third dependency package.

[0173] The multiple sub-dependency packages need to be assembled first to obtain a complete third dependency package. In order to facilitate the assembly process, the downloaded multiple dependency packages are stored in a temporary storage file first, and after the download of the multiple sub-dependency packages belonging to the same third dependency package is completed, the multiple sub-dependency packages are assembled to obtain the third dependency package.

[0174] S312: The assembled third dependency package is moved to the installation directory for installation of the third dependency package.

[0175] After the complete third dependency package is assembled, the third dependency package is moved to the installation directory of the target application program. In this way, based on the third dependency package in the installation directory of the target application program, the installation of the target application program can be continued.

[0176] S313: If the task list includes a download task of a sub-installation package, the downloaded sub-installation package is assembled to obtain an installation package.

[0177] The multiple sub-installation packages need to be assembled first to obtain a complete installation package. In order to facilitate the assembly process, the downloaded multiple sub-installation packages are stored in a temporary storage file first, and after the download of the multiple sub-installation packages of the installation package is completed, the multiple sub-installation packages are assembled to obtain the complete installation package.

[0178] S314: The assembled installation package is moved to the installation directory for installation of the installation package.

[0179] After the complete installation package is assembled, the installation package is moved to the installation directory of the target application program. Based on the installation package in the installation directory of the target application program, the installation of the target application program can be continued.

[0180] S315: If the task list includes a download task of a third dependency package, the downloaded third dependency package is stored in the installation directory for installation of the third dependency package.

[0181] If the third dependency package that has not been divided is included, the complete third dependency package can be obtained directly through downloading. The third dependency package is stored in the installation directory, the third dependency package is parsed, and the installation of the third dependency package is implemented.

[0182] S316: If the task list includes a download task of the installation package, the obtained installation package is stored in the installation directory to install the installation package.

[0183] If the installation package is not divided, the complete installation package can be obtained directly by downloading. The installation package is stored in the installation directory, the installation package is parsed, and the installation of the installation package is implemented.

[0184] Based on the application program management method provided by the embodiment of the application, the embodiment of the application provides an application program management device. Referring to Figure 4 As shown in the figure, the figure is a structural schematic diagram of an application program management device provided by the embodiment of the application. The application program management device comprises:

[0185] The first obtaining unit 401 is configured to obtain an installation file of a target application program, wherein the installation file comprises first dependency package information required for installing the target application program, and the first dependency package information comprises information of at least one first dependency package, and the first dependency package is a dependency package required for installing the target application program except for an installation package of the target application program.

[0186] The parsing unit 402 is configured to parse the installation file to obtain the first dependency package information included in the installation file.

[0187] The second obtaining unit 403 is configured to obtain second dependency package information, wherein the second dependency package information comprises information of at least one second dependency package, and the second dependency package is an installed dependency package.

[0188] The determining unit 404 is configured to determine third dependency package information based on the first dependency package information and the second dependency package information if the target application program meets a preloading condition, wherein the third dependency package information comprises information of at least one third dependency package, and the third dependency package is a dependency package required for downloading to install the target application program.

[0189] The downloading unit 405 is configured to download an installation package of the target application program in response to a first installation instruction for the target application program, and download each third dependency package according to the third dependency package information.

[0190] The installing unit 406 is configured to install the target application program based on the installation package of the target application program and each third dependency package.

[0191] In a possible implementation, if the target application does not satisfy the preloading condition, the determining unit 404 is further configured to, in response to a second installation instruction for the target application, determine third dependency package information based on the first dependency package information and second dependency package information, the third dependency package information including information of at least one third dependency package, the third dependency package being a dependency package that needs to be downloaded to install the target application.

[0192] The downloading unit 405 is further configured to download an installation package of the target application and download each third dependency package according to the third dependency package information.

[0193] The installing unit 406 is further configured to install the target application based on the installation package of the target application and each third dependency package.

[0194] In a possible implementation, the downloading unit 405, configured to download each third dependency package according to the third dependency package information, includes the following.

[0195] The downloading unit 405 is specifically configured to acquire each third dependency package according to the third dependency package information.

[0196] If there is a third dependency package with a data volume greater than a first threshold value, each third dependency package with the data volume greater than the first threshold value is divided into a plurality of sub-dependency packages.

[0197] A plurality of threads are used to download the sub-dependency packages, and each thread is configured to download at least one sub-dependency package.

[0198] If there is a third dependency package with a data volume less than or equal to the first threshold value, each third dependency package with the data volume less than or equal to the first threshold value is downloaded.

[0199] In a possible implementation, if there is a third dependency package with a data volume greater than a first threshold value, the apparatus further includes the following.

[0200] A first assembling unit is configured to assemble the plurality of downloaded sub-dependency packages to obtain each third dependency package with the data volume greater than the first threshold value.

[0201] A first moving unit is configured to move each third dependency package with the data volume greater than the first threshold value to an installation directory of the target application.

[0202] In a possible implementation, the downloading unit 405, configured to download the installation package of the target application, includes the following.

[0203] The downloading unit 405 is specifically configured to divide the installation package into a plurality of sub-installation packages if the data amount of the installation package is greater than a second threshold value.

[0204] A plurality of threads are adopted to download the sub-installation packages respectively, and each thread is configured to download at least one sub-installation package.

[0205] In a possible implementation, the apparatus further includes:

[0206] A second assembling unit is configured to assemble the plurality of downloaded sub-installation packages to obtain the installation package.

[0207] A second moving unit is configured to move the installation package to an installation directory of the target application program.

[0208] In a possible implementation, the determining unit 404 is configured to determine third dependency package information based on the first dependency package information and the second dependency package information, including:

[0209] The determining unit 404 is specifically configured to take information of a dependency package that is different from the second dependency package information in the first dependency package information as the third dependency package information.

[0210] In a possible implementation, the third dependency package information is stored in a dependency relationship tree of a target application program, the dependency relationship tree including a corresponding relationship between the target application program and the third dependency package, and including the third dependency package information.

[0211] In a possible implementation, the apparatus further includes:

[0212] A establishing unit is configured to, after determining that the target application program satisfies a preloading condition, establish a dependency relationship tree including a corresponding relationship between the target application program and the first dependency package and including the first dependency package information based on the first dependency package information.

[0213] A first deleting unit is configured to, based on the second dependency package information, delete first dependency package information that is the same as the second dependency package information in the dependency relationship tree, and take remaining first dependency package information as the third dependency package information.

[0214] A second deleting unit is configured to delete, in the dependency relationship tree, a corresponding relationship between a first dependency package and the target application program, the first dependency package having information that is the same as information of the second dependency package, and take a remaining corresponding relationship between a first dependency package and the target application program as a corresponding relationship between the target application program and the third dependency package, to obtain a dependency relationship tree including the corresponding relationship between the target application program and the third dependency package and the third dependency package information.

[0215] Each embodiment in the specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same or similar parts between embodiments can be referred to each other.

[0216] As to the apparatus in the above embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method, and will not be described in detail here.

[0217] Embodiments of the present application provide a management device for an application, comprising a memory and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by one or more processors, and the one or more programs contain a method for managing the application described in one or more embodiments.

[0218] Figure 5 FIG. 5 is a block diagram of a management device 500 for an application according to an exemplary embodiment. For example, the device 500 can be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, and the like.

[0219] Referring to Figure 5 , the device 500 can include one or more of the following components: a processing component 502, a memory 504, a power supply component 506, a multimedia component 508, an audio component 510, an input / output (I / O) interface 512, a sensor component 514, and a communication component 516.

[0220] The processing component 502 usually controls the overall operations of the device 500, such as operations associated with displaying, making phone calls, data communications, camera operations and recording operations. The processing component 502 can include one or more processors 520 to execute instructions to complete all or part of the steps of the methods described above. In addition, the processing component 502 can include one or more modules to facilitate the interaction between the processing component 502 and other components. For example, the processing component 502 can include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.

[0221] The memory 504 is configured to store various types of data to support the operation of the device 500. Examples of such data include instructions for any application or method operating on the device 500, contact data, phonebook data, messages, pictures, videos, and the like. The memory 504 can be implemented by any type of volatile or nonvolatile storage devices or a combination thereof such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read only memory (PROM), read only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0222] The power supply component 506 supplies power for various components of the device 500. The power supply component 506 can include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 500.

[0223] The multimedia component 508 includes a screen providing an output interface between the device 500 and a user. In some embodiments, the screen can include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, swiping, and gestures on the touch panel. The touch sensors can not only sense a boundary of a touching or swiping action, but also detect duration and pressure related to the touching or swiping action. In some embodiments, the multimedia component 508 includes a front camera and / or a rear camera. The front and / or rear camera can receive external multimedia data when the device 500 is in an operation mode, such as a shooting mode or a video mode. Each of the front and rear camera can be a fixed optical lens system or have a focal length and optical zoom capability.

[0224] The audio component 510 is configured to output and / or input audio signals. For example, the audio component 510 includes a microphone (MIC) configured to receive external audio signals when the device 500 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the memory 504 or transmitted via the communication component 516. In some embodiments, the audio component 510 also includes a speaker for outputting audio signals.

[0225] The I / O interface 512 provides an interface between the processing component 502 and peripheral interface modules, which can be a keyboard, a click wheel, a button, and the like. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.

[0226] The sensor component 514 includes one or more sensors for providing status assessments for various aspects of the device 500. For example, the sensor component 514 can detect an open / closed position of the device 500, relative positioning of components of the device 500, such as a display and keypad of the device 500, changes in position of the device 500 or a component of the device 500, presence or absence of user contact with the device 500, orientation or acceleration / deceleration of the device 500, and temperature changes of the device 500. The sensor component 514 can include proximity sensor(s) configured to detect presence of nearby objects without any physical contact. The sensor component 514 can further include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 514 can further include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0227] The communication component 516 is configured to facilitate wired or wireless communication between the device 500 and another device. The device 500 can access a wireless network based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technology.

[0228] In an exemplary embodiment, the device 500 can be implemented using one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic elements, for performing the above-described methods.

[0229] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions, such as the memory 504 including instructions, is also provided, which can be executed by the processor 520 of the device 500 to perform the above-described methods. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disc, and an optical data storage device, etc.

[0230] Figure 6Figure 6 is a schematic diagram of a server in some embodiments of the present application. The server 600 can vary greatly in configuration and performance, and can include one or more central processing units (CPU) 622 (e.g., one or more processors) and memory 632, one or more storage media 630 (e.g., one or more mass storage devices) storing applications 642 or data 644. The memory 632 and the storage media 630 can be of the temporary or persistent storage variety. The programs stored in the storage media 630 can include one or more modules (not shown), each of which can include a series of instructions for operating on the server. Further, the CPU 622 can be configured to communicate with the storage media 630 to execute the series of instructions stored in the storage media 630 on the server 600.

[0231] The server 600 can also include one or more power supplies 626, one or more wired or wireless network interfaces 650, one or more input / output interfaces 658, one or more keyboards 656, and / or one or more operating systems 641, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0232] A non-transitory computer readable storage medium having instructions stored therein, which when executed by a processor of an apparatus (a server or a terminal), cause the apparatus to perform Figure 1 the method of managing applications as shown.

[0233] A non-transitory computer readable storage medium having instructions stored therein, which when executed by a processor of an apparatus (a server or a terminal), cause the apparatus to perform the method of managing applications as described in the foregoing Figure 2 corresponding embodiments, and thus will not be repeated here. In addition, the description of the beneficial effects achieved by using the same method will also not be repeated. For technical details of the computer program product or the computer program embodiments involved in the present application that have not been disclosed, please refer to the description of the method embodiments of the present application.

[0234] In addition, it should be noted that: the present application also provides a computer program product or a computer program, which can include computer instructions. The computer instructions can be stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor can execute the computer instructions to cause the computer device to perform the method of managing applications as described in the foregoing Figure 2The management method of the application program in the corresponding embodiment is described, and thus, the description will not be repeated here. In addition, the beneficial effects of using the same method are not repeated. For technical details not disclosed in the computer program product or computer program embodiments involved in the present application, please refer to the description of the method embodiments of the present application.

[0235] It should be noted that the embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system or device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part.

[0236] It should be understood that in the present application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" is used to describe the association between the associated objects, which means that there can be three kinds of relationships, for example, "A and / or B" can represent three cases: only A, only B, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the front and rear associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single item or multiple items. For example, at least one of a, b or c, can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0237] It should also be noted that in this paper, relationship terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including a…" does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0238] The application provides an application management method, an application management device and a readable storage medium.

Claims

1. A management method of an application program, characterized by, The method comprises: obtaining an installation file of a target application, the installation file comprising first dependency package information required for installing the target application, the first dependency package information comprising information of at least one first dependency package, the first dependency package being a dependency package required for installing the target application other than an installation package of the target application; parsing the installation file to obtain the first dependency package information included in the installation file; obtaining second dependency package information, the second dependency package information comprising information of at least one second dependency package, the second dependency package being an installed dependency package; if the target application meets a pre-loading condition, determining third dependency package information based on the first dependency package information and the second dependency package information, the third dependency package information comprising information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application; the third dependency package information is stored in a dependency relationship tree of the target application, the dependency relationship tree comprising a corresponding relationship between the target application and the third dependency package and comprising the third dependency package information; specifically, after determining that the target application meets the pre-loading condition, a dependency relationship tree comprising a corresponding relationship between the target application and the first dependency package and comprising the first dependency package information is established based on the first dependency package information; the same first dependency package information as the second dependency package information in the dependency relationship tree is deleted based on the second dependency package information, and the remaining first dependency package information is used as the third dependency package information; the corresponding relationship between the first dependency package and the target application in the dependency relationship tree, which has the same information as the second dependency package, is deleted, and the corresponding relationship between the remaining first dependency package and the target application is used as the corresponding relationship between the target application and the third dependency package, thereby obtaining a dependency relationship tree comprising the corresponding relationship between the target application and the third dependency package and the third dependency package information; in response to a first installation instruction for the target application, downloading an installation package of the target application and downloading each third dependency package according to the third dependency package information; installing the target application based on the installation package of the target application and each third dependency package.

2. The method of claim 1, wherein, if the target application does not meet the pre-loading condition, the method further comprises: in response to a second installation instruction for the target application, determining third dependency package information based on the first dependency package information and the second dependency package information, the third dependency package information comprising information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application; downloading an installation package of the target application and downloading each third dependency package according to the third dependency package information; installing the target application based on the installation package of the target application and each third dependency package.

3. The method according to claim 1 or 2, characterized in that, the downloading of each third dependency package according to the third dependency package information comprises: According to the third dependency package information, each of the third dependency packages is acquired; If there is a third dependency package with a data volume greater than a first threshold value, each of the third dependency packages with the data volume greater than the first threshold value is divided into a plurality of sub-dependency packages; A plurality of threads are used to download the sub-dependency packages, and each thread is used to download at least one sub-dependency package; If there is a third dependency package with a data volume less than or equal to the first threshold value, each of the third dependency packages with the data volume less than or equal to the first threshold value is downloaded.

4. The method of claim 3, wherein, If there is a third dependency package with a data volume greater than a first threshold value, before the target application program is installed based on the installation package of the target application program and each of the third dependency packages, the method further comprises: Assembling the plurality of downloaded sub-dependency packages to obtain each of the third dependency packages with the data volume greater than the first threshold value; Moving each of the third dependency packages with the data volume greater than the first threshold value to an installation directory of the target application program.

5. The method according to claim 1 or 2, characterized in that, The downloading of the installation package of the target application program comprises: If the data volume of the installation package is greater than a second threshold value, the installation package is divided into a plurality of sub-installation packages; A plurality of threads are used to download the sub-installation packages, and each thread is used to download at least one sub-installation package.

6. The method of claim 5, wherein, Before the target application program is installed based on the installation package of the target application program and the third dependency packages, the method further comprises: Assembling the plurality of downloaded sub-installation packages to obtain the installation package; Moving the installation package to an installation directory of the target application program.

7. The method according to claim 1 or 2, characterized in that, The determination of the third dependency package information based on the first dependency package information and the second dependency package information comprises: The information of a dependency package different from the second dependency package information in the first dependency package information is taken as the third dependency package information.

8. An application management apparatus characterized by comprising: The apparatus comprises: A first acquisition unit is configured to acquire an installation file of a target application program, wherein the installation file comprises first dependency package information required for installing the target application program, and the first dependency package information comprises information of at least one first dependency package, and the first dependency package is a dependency package required for installing the target application program except for an installation package of the target application program; An analysis unit is configured to analyze the installation file to obtain the first dependency package information comprised in the installation file; A second acquisition unit is configured to acquire second dependency package information, wherein the second dependency package information comprises information of at least one second dependency package, and the second dependency package is an installed dependency package. The determining unit is configured to determine third dependency package information based on the first dependency package information and the second dependency package information if the target application program meets the pre-loading condition, the third dependency package information comprising information of at least one third dependency package, the third dependency package being a dependency package required to be downloaded for installing the target application program; the third dependency package information being stored in a dependency relationship tree of the target application program, the dependency relationship tree comprising a corresponding relationship between the target application program and the third dependency package and comprising the third dependency package information; specifically, after determining that the target application program meets the pre-loading condition, the dependency relationship tree comprising a corresponding relationship between the target application program and the first dependency package and comprising the first dependency package information is established based on the first dependency package information; the first dependency package information same as the second dependency package information in the dependency relationship tree is deleted based on the second dependency package information, and the remaining first dependency package information is used as the third dependency package information; the corresponding relationship between the first dependency package and the target application program in the dependency relationship tree, the information of which is same as the information of the second dependency package, is deleted, and the corresponding relationship between the remaining first dependency package and the target application program is used as the corresponding relationship between the target application program and the third dependency package, so as to obtain the dependency relationship tree comprising the corresponding relationship between the target application program and the third dependency package and the third dependency package information; The downloading unit is configured to download an installation package of the target application program in response to a first installation instruction for the target application program, and download each third dependency package according to the third dependency package information. The installing unit is configured to install the target application program based on the installation package of the target application program and each third dependency package.

9. A management device of an application program, characterized by, It comprises: a processor, a memory, and a system bus; the processor and the memory are connected through the system bus; the memory is configured to store one or more programs, the one or more programs comprising instructions which, when executed by the processor, cause the processor to execute the application program management method of any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores instructions, when the instructions run on the terminal device, cause the terminal device to execute the application program management method of any one of claims 1-7.

Citation Information

Patent Citations

  • Shelving method and processing method of application program of application store and computer equipment

    CN113485722A

  • Project operation method and device, server and storage medium

    CN114860202A