Application downloading and installing method, application aging method and electronic device

By splitting the application installation package into multiple sub-packages and downloading them simultaneously from different devices or servers, the problem of slow download speeds on electronic devices is solved, resulting in a faster application installation process and improved user experience.

CN116074305BActive Publication Date: 2025-10-24HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111280483.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-30
Publication Date
2025-10-24
Estimated Expiration
2041-10-30

AI Technical Summary

Technical Problem

In existing technologies, electronic devices experience slow download speeds when downloading applications from the cloud, resulting in a poor user experience.

Method used

The application installation package is split into multiple sub-packages, and these sub-packages are downloaded simultaneously from different devices or servers to reduce download time.

Benefits of technology

By retrieving application sub-packages in a distributed manner, download speeds are improved and user experience is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116074305B_ABST
    Figure CN116074305B_ABST
Patent Text Reader

Abstract

The application is suitable for the terminal technical field, and particularly relates to an application downloading and installing method, an application aging method and an electronic device. In the application downloading and installing method, a first application comprises at least a first part and a second part, the first part comprises a first sub-package, and the second part comprises a second sub-package. When a first electronic device detects a trigger event of downloading the first application, the first electronic device can acquire the first sub-package from a second device and acquire the second sub-package from a third device, so as to install the first application according to the first part and the second part. The second device is different from the third device, so that different sub-packages of the first application are acquired from different devices in a distributed manner, the time of downloading and installing the first application by the first electronic device is reduced, the speed of downloading and installing the first application is improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of terminals, and particularly relates to an application downloading and installing method, an application aging method, an electronic device, and a computer readable storage medium. BACKGROUND

[0002] With the development of electronic devices and Internet technologies, electronic devices are becoming more and more powerful, greatly enriching and facilitating people's daily life. The powerful functions of electronic devices depend on the applications downloaded in the electronic devices. At present, electronic devices mainly download and install packages from the cloud to install and use applications. However, due to the influence of network bandwidth and network transmission rate, the package downloading mode from the cloud has the problem of slow downloading speed. SUMMARY

[0003] The application embodiments provide an application downloading and installing method, an application aging method, an electronic device, and a computer readable storage medium, which can solve the problem of slow downloading speed of applications in the prior art.

[0004] In a first aspect, the application embodiments provide an application downloading and installing method applied to a first electronic device. The method can include the following steps.

[0005] The first electronic device detects a trigger event of downloading a first application, the first application includes at least a first part and a second part, the first part includes a first sub-package, and the second part includes a second sub-package;

[0006] The first electronic device acquires the first sub-package from a second device and acquires the second sub-package from a third device, and the second device is different from the third device;

[0007] The first electronic device installs the first application according to the first part and the second part.

[0008] In the above application downloading and installing method, the installation package of the first application can be split into the first part and the second part, the first part can include the first sub-package, and the second part can include the second sub-package. When the first electronic device detects the trigger event of downloading the first application, the first electronic device can acquire the first sub-package from the second device and simultaneously acquire the second sub-package from the third device. By acquiring different sub-packages of the first application from different devices in a distributed manner, the time of downloading and installing the first application by the first electronic device can be reduced, the speed of downloading and installing the first application by the first electronic device can be improved, and user experience can be improved.

[0009] The first application can be any application. For example, the first application can be a feature ability (FA), and the trigger event can be a click or touch operation on the FA that is not installed. For example, when a user opens a service center of the first electronic device and clicks on an FA that is not installed in the service center, the first electronic device can determine the FA as the first application, and can determine that the trigger event of downloading the FA is detected. Alternatively, the first application can be an application that is not installed in an application market, and the trigger event can be a click or touch operation on an installation or download button corresponding to the application. For example, when a user opens the application market in the first electronic device and clicks on an installation or download button corresponding to a short message application, the first electronic device can determine the short message application as the first application, and can determine that the trigger event of downloading the short message application is detected.

[0010] It can be understood that the second device can be a second electronic device of the user, and the third device can be a third electronic device of the user or a server. That is, the first electronic device can obtain the first sub-package from the second electronic device, and obtain the second sub-package from the third electronic device; or the first electronic device can obtain the first sub-package from the second electronic device, and obtain the second sub-package from the server.

[0011] For example, the first sub-package obtained by the first electronic device can be stored in the second electronic device; or can be obtained by the second electronic device, for example, can be obtained by the second electronic device from a server, or can be obtained by the second electronic device from another electronic device that stores the first sub-package. That is, when the second device is a second electronic device of the user, if the first sub-package is stored in the second electronic device, the first electronic device can obtain the first sub-package stored in the second electronic device; if the first sub-package is not stored in the second electronic device, the first electronic device can send a request to the second electronic device to obtain the first sub-package from a server or from another electronic device that stores the first sub-package, and send the obtained first sub-package to the first electronic device.

[0012] For example, when the third device is a third electronic device of the user, the second sub-package obtained by the first electronic device can be stored in the third electronic device; or can be obtained by the third electronic device, for example, can be obtained by the third electronic device from a server, or can be obtained by the third electronic device from another electronic device that stores the second sub-package. The other electronic device can also be a second electronic device of the user.

[0013] In a possible implementation, the first part can further include a third sub-package, and the first electronic device can acquire the third sub-package from a fourth device, which is a fourth electronic device of the user or a server. The fourth electronic device can be the same as the second electronic device, or the fourth electronic device can be the same as the third electronic device. Of course, the fourth electronic device can also be an electronic device other than the second electronic device and the third electronic device.

[0014] In another possible implementation, the second part can further include a fourth sub-package, and the first electronic device can acquire the fourth sub-package from a fifth device. The fifth device can be a fifth electronic device of the user or a server. It should be understood that the fifth electronic device can be the same as the second electronic device, or the fifth electronic device can be the same as the third electronic device, or the fifth electronic device can be the same as the fourth electronic device. Of course, the fifth electronic device can also be an electronic device other than the second electronic device, the third electronic device, and the fourth electronic device.

[0015] It can be understood that the first part is a basic part of the first application, and the second part is a feature part, and the second part is related to the attribute of the first electronic device, or the first part is a feature part, and the second part is a basic part.

[0016] In a possible implementation, before the first electronic device acquires the first sub-package from the second device and acquires the second sub-package from the third device, the method can further include:

[0017] The first electronic device determines a first download time for downloading the first sub-package and a second download time for downloading the second sub-package.

[0018] The first electronic device determines a download strategy according to the first download time and the second download time, and the download strategy includes that the first electronic device acquires the first sub-package from the second device and acquires the second sub-package from the third device.

[0019] In the application downloading and installing method provided in this implementation, the first electronic device can determine a download strategy according to a first download time for downloading the first sub-package and a second download time for downloading the second sub-package, to determine the second device and the third device according to the download times, so as to ensure that the first electronic device acquires the first application in a short time, improve the download speed of the first electronic device, and improve the user experience.

[0020] It should be understood that the first download time of the first sub-package can be the time for the first electronic device to obtain the first sub-package from any sixth device storing the first sub-package, or can be the sum of the time for a certain electronic device of the user to download the first sub-package from any sixth device storing the first sub-package and the time for the electronic device to transmit the downloaded first sub-package to the first electronic device. Similarly, the second download time of the second sub-package can be the time for the first electronic device to obtain the second sub-package from any device storing the second sub-package, or can be the sum of the time for a certain electronic device of the user to download the second sub-package from any device storing the second sub-package and the time for the electronic device to transmit the downloaded second sub-package to the first electronic device.

[0021] In a possible implementation, the first electronic device can determine the download strategy according to the sum of the first download time and the second download time being the shortest, so that the time for the first electronic device to obtain the first application is the shortest, the download speed of the application is improved, and the user experience is improved.

[0022] In another possible implementation, the first electronic device can also obtain the download strategies in which the sum of the first download time and the second download time is less than or equal to a preset time threshold, and determine the final target download strategy from the download strategies. In an example, the first electronic device can determine the target download strategy according to the use condition and / or device performance of the device corresponding to the download strategies. In another example, the first electronic device can determine the target download strategy according to the selection operation of the user, that is, the user can select the target download strategy from the download strategies. The preset time threshold can be set by default by the first electronic device, or can be set by the user, for example, the user can set the preset time threshold according to the maximum download time that the user can accept.

[0023] For example, the first electronic device determines the first download time of downloading the first sub-package, which can include:

[0024] The first electronic device obtains the size of the first sub-package and the first speed corresponding to the first sub-package, and the first speed corresponding to the first sub-package includes the speed of the first electronic device downloading the first sub-package from a sixth device storing the first sub-package, or includes the speed of a seventh device downloading the first sub-package and the speed of the seventh device transmitting the first sub-package to the first electronic device.

[0025] The first electronic device determines the first download time of downloading the first sub-package according to the size of the first sub-package and the first speed.

[0026] It should be understood that when the first download time of the first sub package is the time for the first electronic device to obtain the first sub package from any sixth device storing the first sub package, the first speed corresponding to the first sub package can be the speed of the first electronic device downloading the first sub package from the sixth device. Assuming that there are multiple sixth devices storing the first sub package, when the first electronic device downloads the first sub package from the jth sixth device, the time t j,delay1 is needed to reach the stable speed v j,max1 , that is, the first speed, and then the jth first download time (that is, the time for the first electronic device to download the first sub package from the jth sixth device) T j1 = t j,delay1 + max (volume1-volume1', 0) / v j,max1 , volume1 is the size of the first sub package, and volume1' is the size of the sub package downloaded by the first electronic device from the sixth device within the time t j,delay1 .

[0027] Similarly, when the first download time of the first sub package is the sum of the time for the seventh device to download the first sub package from any sixth device storing the first sub package and the time for the seventh device to transmit the downloaded first sub package to the first electronic device, the first speed corresponding to the first sub package can include the speed of the seventh device downloading the first sub package from the sixth device and the speed of the seventh device transmitting the downloaded first sub package to the first electronic device. At this time, the first electronic device can determine the time for the seventh device to download the first sub package from the sixth device according to the speed of the seventh device downloading the first sub package from the sixth device and the size of the first sub package, and can determine the time for the seventh device to transmit the first sub package to the first electronic device according to the speed of the seventh device transmitting the first sub package to the first electronic device and the size of the first sub package. The seventh device can be an electronic device of a user. The specific determination manner of the time can refer to the determination manner of T j1 .

[0028] In a possible implementation manner, after the first electronic device installs the first application according to the first part and the second part, the method can further include:

[0029] The first electronic device determines a third download time of downloading the first sub package and a fourth download time of downloading the second sub package;

[0030] The first electronic device determines a target sub package to be aged according to the third download time and the fourth download time, and ages the target sub package, the target sub package being the first sub package or the target sub package being the second sub package, and the aging of the target sub package including deleting the target sub package or uninstalling the target sub package.

[0031] It should be understood that the third download time and the fourth download time can be acquired in the same way as the first download time and the second download time. For example, the first electronic device can directly determine the first download time as the third download time and / or the second download time as the fourth download time. For example, after the first electronic device downloads and installs the first application, if the device storing the first sub-package does not change, the first electronic device can directly determine the first download time as the second download time to reduce the determination process of the download time and improve the aging efficiency. Similarly, after the first electronic device downloads and installs the first application, if the device storing the second sub-package does not change, the first electronic device can directly determine the second download time as the fourth download time to reduce the determination process of the download time.

[0032] For example, when the target sub-package is the first sub-package, the first electronic device can age the target sub-package, which can include:

[0033] The first electronic device ages the first sub-package and retains the second sub-package.

[0034] For example, when the target sub-package is the second sub-package, the first electronic device can age the target sub-package, which can include:

[0035] The first electronic device ages the second sub-package and retains the first sub-package.

[0036] In the application download and installation method provided by the implementation, when the first electronic device needs to age the first application that has been downloaded and installed, the first electronic device can determine the download time of each sub-package of the first application, and can age the first application according to the download time of each sub-package, so as to retain part of the sub-package of the first application. Therefore, when the first application needs to be used again, the first electronic device only needs to download part of the sub-package of the first application, instead of the entire installation package of the first application, which can reduce the download time of the first application, improve the speed of starting the first application again, and improve the user experience.

[0037] For example, the first electronic device can retain the sub-package with the longest download time, and can age other sub-packages of the first application, that is, can retain the sub-package with a slower download speed, so that the download time of the first application can be reduced when the first application is started again. It should be understood that aging the target sub-package can mean uninstalling the target sub-package or deleting the target sub-package.

[0038] In a second aspect, the embodiments of the present application provide an application aging method, which can be applied to a first electronic device, and can include:

[0039] The first electronic device determines a first application, the first application including a first sub-package and a second sub-package;

[0040] The first electronic device performs different processing on the first sub-package and the second sub-package, including that the first electronic device ages the first sub-package and retains the second sub-package, or the first electronic device ages the first sub-package at a first time and ages the second sub-package at a second time; and the first electronic device aging the first sub-package includes that the first electronic device deletes or uninstalls the first sub-package.

[0041] In a possible implementation, the first electronic device performs different processing on the first sub-package and the second sub-package, and the method can further include:

[0042] The first electronic device obtains a first download time of the first sub-package and a second download time of the second sub-package;

[0043] The first electronic device determines a target sub-package to be aged according to the first download time and the second download time, and ages the target sub-package, the target sub-package being the first sub-package or the second sub-package.

[0044] For example, when the target sub-package is the first sub-package, the first electronic device aging the target sub-package can include:

[0045] The first electronic device ages the first sub-package and retains the second sub-package.

[0046] When the target sub-package is the second sub-package, the first electronic device aging the target sub-package can include:

[0047] The first electronic device ages the second sub-package and retains the first sub-package.

[0048] In the application aging method, the installation package of an application can be split into a first sub-package and a second sub-package. When the first electronic device needs to age the installed application, the first electronic device can determine the time of downloading each sub-package of the application again, and can age the application according to the download time of each sub-package, to retain part of the sub-packages of the application, so that the first electronic device only needs to download part of the sub-packages of the application when the application is needed to be used next time, instead of downloading the entire installation package of the application, which can reduce the download time of the application, improve the speed of starting the application again, and improve the user experience.

[0049] Exemplarily, the first electronic device may retain the sub-package with the longest download time and age the other sub-packages of the application, that is, retain the sub-packages with slower download speeds, so that the download time of the application can be reduced when the application is started again.

[0050] It is understandable that the first electronic device determining the first application may include:

[0051] The first electronic device obtains a first duration of a second application, where the first duration is a continuous duration during which the second application is not used, and the second application is any application in the first electronic device;

[0052] When the first duration is greater than or equal to a preset duration threshold, the first electronic device determines that the second application is the first application.

[0053] Exemplarily, the first electronic device acquiring the first download time of the first sub-packet may include:

[0054] The first electronic device obtains, by the first electronic device, a size of the first sub-packet and a first speed corresponding to the first sub-packet, where the first speed corresponding to the first sub-packet includes a speed at which the first electronic device downloads the first sub-packet from a second device storing the first sub-packet, or includes a speed at which a third device downloads the first sub-packet and a speed at which the third device transmits the first sub-packet to the first electronic device;

[0055] The first electronic device determines a first download time of the first sub-packet according to the size of the first sub-packet and the first speed.

[0056] In a third aspect, an embodiment of the present application provides an application downloading and installation device, which is applied to a first electronic device. The device may include:

[0057] a trigger event detection module, configured to detect a trigger event for downloading a first application, wherein the first application includes at least a first part and a second part, the first part includes a first sub-package, and the second part includes a second sub-package;

[0058] a first sub-packet obtaining module, configured to obtain the first sub-packet from a second device and obtain the second sub-packet from a third device; the second device is different from the third device;

[0059] An application installation module is configured to install the first application according to the first part and the second part.

[0060] Exemplarily, the second device is the user's second electronic device, and the third device is the user's third electronic device or a server.

[0061] In a possible implementation, the first sub-package obtained by the first electronic device is stored in the second electronic device, or the first sub-package obtained by the first electronic device is obtained by the second electronic device.

[0062] In another possible implementation, when the third device is a third electronic device of the user, the second sub-package obtained by the first electronic device is stored in the third electronic device, or the second sub-package obtained by the first electronic device is obtained by the third electronic device.

[0063] For example, the first part further includes a third sub-package, and the apparatus can further include:

[0064] The third sub-package obtaining module is configured to obtain the third sub-package from a fourth device, the fourth device being a fourth electronic device of the user or a server.

[0065] For example, the second part further includes a fourth sub-package, and the apparatus can further include:

[0066] The fourth sub-package obtaining module is configured to obtain the fourth sub-package from a fifth device.

[0067] It can be understood that the first part is a basic part of the first application; the second part is a feature part, and the second part is related to the attribute of the first electronic device; or the first part is a feature part, and the second part is a basic part.

[0068] In a possible implementation, the apparatus can further include:

[0069] The first download time determining module is configured to determine a first download time for downloading the first sub-package and a second download time for downloading the second sub-package.

[0070] The download strategy determining module is configured to determine a download strategy according to the first download time and the second download time, the download strategy including that the first electronic device obtains the first sub-package from the second device and obtains the second sub-package from the third device.

[0071] For example, the first download time determining module can include:

[0072] The first speed obtaining unit is configured to obtain the size of the first sub-package and a first speed corresponding to the first sub-package, the first speed corresponding to the first sub-package including a speed of downloading the first sub-package from a sixth device storing the first sub-package by the first electronic device, or including a speed of downloading the first sub-package by a seventh device and a speed of transmitting the first sub-package from the seventh device to the first electronic device.

[0073] a first download time determining unit, configured to determine a first download time of downloading the first sub-package according to a size of the first sub-package and the first speed

[0074] In another possible implementation, the apparatus can further include:

[0075] a third download time determining module, configured to determine a third download time of downloading the first sub-package and a fourth download time of downloading the second sub-package;

[0076] a target sub-package aging module, configured to determine a target sub-package to be aged according to the third download time and the fourth download time, and age the target sub-package, the target sub-package being the first sub-package or the target sub-package being the second sub-package, the aging of the target sub-package including deleting the target sub-package or uninstalling the target sub-package.

[0077] For example, when the target sub-package is the first sub-package, the target sub-package aging module is specifically configured to age the first sub-package and retain the second sub-package.

[0078] When the target sub-package is the second sub-package, the target sub-package aging module is specifically configured to age the second sub-package and retain the first sub-package.

[0079] In a fourth aspect, an embodiment of the present application provides an application aging apparatus, applied to a first electronic device, and the apparatus can include:

[0080] a first application determining module, configured to determine a first application, the first application including a first sub-package and a second sub-package;

[0081] a sub-package processing module, configured to perform different processing on the first sub-package and the second sub-package, the different processing of the first sub-package and the second sub-package by the first electronic device including that the first electronic device ages the first sub-package and retains the second sub-package, or the first electronic device ages the first sub-package at a first time and ages the second sub-package at a second time, the aging of the first sub-package by the first electronic device including that the first electronic device deletes the first sub-package or uninstalls the first sub-package.

[0082] In a possible implementation, the sub-package processing module can include:

[0083] a download time obtaining unit, configured to obtain a first download time of a first sub-package and a second download time of a second sub-package;

[0084] The target sub-package aging unit is configured to determine a target sub-package to be aged according to the first download time and the second download time, and age the target sub-package, wherein the target sub-package is the first sub-package, or the target sub-package is the second sub-package.

[0085] For example, when the target sub-package is the first sub-package, the target sub-package aging unit is specifically configured to age the first sub-package and retain the second sub-package.

[0086] When the target sub-package is the second sub-package, the target sub-package aging unit is specifically configured to age the second sub-package and retain the first sub-package.

[0087] In a possible implementation, the first application determining module can include:

[0088] The time length obtaining unit is configured to obtain a first time length of a second application, the first time length being a continuous time length during which the second application is not used, and the second application being any application in the first electronic device;

[0089] The first application determining unit is configured to determine, when the first time length is greater than or equal to a preset time length threshold, the second application as the first application.

[0090] For example, the download time obtaining unit can include:

[0091] The first speed determining sub-unit is configured to obtain a size of the first sub-package and a first speed corresponding to the first sub-package, wherein the first speed corresponding to the first sub-package includes a speed at which the first electronic device downloads the first sub-package from a second device storing the first sub-package, or includes a speed at which a third device downloads the first sub-package and a speed at which the third device transmits the first sub-package to the first electronic device.

[0092] The download time determining sub-unit is configured to determine a first download time of the first sub-package according to the size of the first sub-package and the first speed.

[0093] In a fifth aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, and when the processor executes the computer program, the electronic device implements the application download and installation method in any one of the first aspect, or implements the application aging method in any one of the second aspect.

[0094] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program. The computer program is executed by a computer to cause the computer to implement the application download and installation method in any one of the first aspect, or implement the application aging method in any one of the second aspect.

[0095] In a seventh aspect, an embodiment of the present application provides a computer program product, which, when executed on an electronic device, causes the electronic device to implement the application download and installation method in any one of the first aspect, or implement the application aging method in any one of the second aspect.

[0096] It can be understood that the beneficial effects of the third aspect described above can be referred to the related description in the first aspect, the beneficial effects of the fourth aspect described above can be referred to the related description in the second aspect, and the beneficial effects of the fifth aspect to the seventh aspect can be referred to the related description in the first aspect or the second aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0097] Figure 1 FIG. 1 is a structural schematic diagram of an electronic device to which an application download and installation method provided by an embodiment of the present application is applicable;

[0098] Figure 2 FIG. 2 is a software architecture schematic diagram to which the application download and installation method provided by an embodiment of the present application is applicable;

[0099] Figure 3 FIG. 3 is a system structure diagram to which the application download and installation method provided by an embodiment of the present application is applicable;

[0100] Figure 4 FIG. 4 is an application scenario schematic diagram provided by an embodiment of the present application; Figure 5 Figure 1 FIG. 5 is an application scenario schematic diagram provided by an embodiment of the present application;

[0101] Figure 6 Figure 2 FIG. 6 is an application scenario schematic diagram provided by an embodiment of the present application;

[0102] Figure 7 FIG. 7 is an application scenario schematic diagram provided by an embodiment of the present application; Figure 3

[0103] Figure 8 FIG. 8 is an application scenario schematic diagram provided by an embodiment of the present application; Figure 4

[0104] Figure 9 FIG. 9 is a flowchart of the application download and installation method provided by an embodiment of the present application;

[0105] Figure 10 ​​​​is a schematic diagram of an application scenario of the aging method provided in Embodiment Two of the present application. DETAILED DESCRIPTION

[0106] It should be understood that the term "comprises" as used in the specification and the appended claims indicates the presence of the described features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0107] It should also be understood that the term "and / or" as used in the specification and the appended claims, means any one or more of the associated listed items, as well as all possible combinations of the items.

[0108] As used in the specification and the appended claims, the term "if' can be interpreted as meaning "when" or "once" or "in response to a determination" or "in response to a detection" depending on the context. Similarly, the phrase "if determined" or "if detected [the described condition or event]" can be interpreted to mean "once determined" or "in response to a determination" or "once detected [the described condition or event]" or "in response to a detection [the described condition or event]" depending on the context.

[0109] In addition, in the description of the specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.

[0110] The reference in the specification to "one embodiment" or "some embodiments" etc. means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. Thus, the appearance of the phrases "in one embodiment", "in some embodiments", "in other some embodiments", "in yet some embodiments", etc. in various places in the specification is not necessarily all referring to the same embodiment, but means "one or more but not all embodiments", unless otherwise specifically noted. The terms "comprise", "include", "have" and their conjugates mean "including but not limited to", unless otherwise specifically noted.

[0111] In addition, the "multiple" mentioned in the embodiments of the present application should be interpreted as two or more.

[0112] The steps involved in the application download installation method and the application aging method provided in the embodiments of the present application are merely examples, and not all steps are necessarily performed, or the content in each information or message is necessarily selected. In use, they can be increased or reduced as needed. The same step or step or message with the same function in different embodiments can be mutually referenced.

[0113] The service scenarios described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of network architecture and the emergence of new service scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0114] With the development of electronic devices and Internet technology, mobile phones, computers, tablet computers, smart large screens, wearable devices and other electronic devices have become an essential part of people's daily life. The functions of electronic devices are also becoming more and more powerful, greatly enriching and facilitating people's daily life. Among them, the powerful functions of electronic devices depend on the applications downloaded in the electronic devices. Therefore, how to quickly download and install applications has become the focus of the field. At present, electronic devices mainly download application installation packages from the cloud to install and use the applications. However, due to the influence of network bandwidth and network transmission rate, the method of downloading installation packages from the cloud has the problem of slow download speed.

[0115] In addition, in order to reduce the resource occupation of electronic devices and improve the processing performance of electronic devices, the electronic devices need to perform aging processing on the applications in the electronic devices. Among them, aging processing refers to deleting or uninstalling the applications. At present, when it is determined that an application meets a preset aging condition (for example, the application has not been used for a long time), the electronic device performs aging processing on the entire installation package of the application, that is, deletes or uninstalls the entire installation package of the application. This aging processing method causes the user to need to download the entire installation package of the application again when the user wants to use the application next time, which greatly reduces the speed of starting the application again and reduces the user experience.

[0116] To solve the above problems, the embodiments of the present application provide an application download installation method, which splits the installation package of an application into multiple sub-packages, and the cloud and the electronic device that has downloaded the application can store the sub-packages of the application. When a first electronic device detects a trigger event of downloading the application, the first electronic device can simultaneously download part of the sub-packages of the application from a second device and a third device to reduce the time of downloading the installation package of the application by the first electronic device, improve the speed of downloading the application by the first electronic device, and improve the user experience.

[0117] In addition, the application also provides an application aging method. When a first electronic device needs to age an application, the first electronic device can determine the time for downloading each sub-package of the application again, and age the application according to the download time of each sub-package, so as to retain part of the sub-packages of the application. When the application needs to be used next time, the first electronic device only needs to download part of the sub-packages of the application, instead of the entire installation package of the application, so that the download time of the application can be reduced, the speed of starting the application again can be improved, and the user experience can be improved.

[0118] The application download and installation method and the application aging method provided by the application can be applied to an electronic device. The electronic device can be a mobile phone, a tablet computer, a wearable device (such as a smart watch, smart glasses, smart earphones, etc.), a smart large screen, a vehicle-mounted device, a smart sound box, an augmented reality (AR) / virtual reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), a desktop computer, etc. The specific type of the electronic device is not limited in the application.

[0119] The electronic device related to the application is first introduced as follows. Figure 1 , Figure 1 A structural schematic diagram of the electronic device 100 is shown.

[0120] As shown in Figure 1As shown, the electronic device 100 can include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headset jack 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 can include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0121] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different component arrangements. The components shown can be implemented in hardware, software, or a combination of software and hardware.

[0122] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units can be independent devices, or can be integrated in one or more processors.

[0123] The controller can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching and executing instructions.

[0124] The processor 110 can also include a memory that stores instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The cache memory can hold instructions or data that the processor 110 has recently used or is likely to use again. If the processor 110 needs to use the instructions or data again, it can be retrieved directly from the cache memory. This avoids repeated accesses to the main memory, reducing the latency of the processor 110 and thus improving the efficiency of the system.

[0125] In some embodiments, the processor 110 can include one or more interfaces. The interfaces can include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0126] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 can include multiple sets of I2C buses. The processor 110 can be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example, the processor 110 can be coupled to the touch sensor 180K through an I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface and implement the touch function of the electronic device 100.

[0127] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple sets of I2S buses. The processor 110 can be coupled to the audio module 170 through the I2S bus, enabling communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the I2S interface, enabling the function of answering a phone call through a Bluetooth headset.

[0128] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 can be coupled with the wireless communication module 160 through a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 through the PCM interface, realizing the function of answering a phone call through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0129] The UART interface is a universal serial bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface, realizing the Bluetooth function. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 through the UART interface, realizing the function of playing music through a Bluetooth headset.

[0130] The MIPI interface can be used to connect the processor 110 and peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes the camera serial interface (CSI), the display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate through the CSI interface, realizing the shooting function of the electronic device 100. The processor 110 and the display screen 194 communicate through the DSI interface, realizing the display function of the electronic device 100.

[0131] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 and the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0132] The USB interface 130 is an interface that meets the USB standard specification, which can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 100, or to transmit data between the electronic device 100 and peripheral devices. It can also be used to connect a headset to play audio through the headset. The interface can also be used to connect other electronic devices, such as AR devices, etc.

[0133] It can be understood that the interface connection relationship between the modules shown in the embodiments of the present application is only illustrative and does not constitute a limitation on the structure of the electronic device 100. In some other embodiments of the present application, the electronic device 100 can also use different interface connection modes or a combination of multiple interface connection modes in the above embodiments.

[0134] The charging management module 140 is configured to receive charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input through a wireless charging coil of the electronic device 100. The charging management module 140 can charge the battery 142 and also supply power to the electronic device through the power management module 141.

[0135] The power management module 141 is configured to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to supply power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be configured to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be arranged in the processor 110. In some other embodiments, the power management module 141 and the charging management module 140 can also be arranged in the same device.

[0136] The wireless communication function of the electronic device 100 can be realized through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor.

[0137] The antenna 1 and the antenna 2 are configured to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0138] The mobile communication module 150 can provide a solution for wireless communication including 2G / 3G / 4G / 5G, etc. applied to the electronic device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transfer to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor, and radiate as electromagnetic waves through the antenna 1. In some embodiments, at least part of the function modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least part of the function modules of the mobile communication module 150 can be disposed in the same device as at least part of the modules of the processor 110.

[0139] The modem processor can include a modulator and a demodulator. The modulator is configured to modulate a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The low-frequency baseband signal processed by the baseband processor is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the microphone 170B, etc.), or displays an image or a video through the display screen 194. In some embodiments, the modem processor can be a separate device. In other embodiments, the modem processor can be independent of the processor 110, and disposed in the same device as the mobile communication module 150 or other function modules.

[0140] The wireless communication module 160 can provide a solution for wireless communication including wireless local area networks (WLAN) (e.g., wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, etc. applied to the electronic device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives an electromagnetic wave via the antenna 2, frequency-modulates and filters the electromagnetic wave signal, and transmits the processed signal to the processor 110. The wireless communication module 160 can also receive a signal to be transmitted from the processor 110, frequency-modulate it, amplify it, and radiate it as an electromagnetic wave via the antenna 2.

[0141] In some embodiments, the antenna 1 and the mobile communication module 150 of the electronic device 100 are coupled, and the antenna 2 and the wireless communication module 160 are coupled, so that the electronic device 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology can include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology, etc. The GNSS can include a global positioning system (GPS), a global navigation satellite system (GLONASS), a beidu navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and / or a satellite based augmentation systems (SBAS).

[0142] The electronic device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, which is connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs, which execute program instructions to generate or change display information.

[0143] The display screen 194 is configured to display images, videos, and the like. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flex light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diodes (QLED), or the like. In some embodiments, the electronic device 100 can include one or N display screens 194, where N is a positive integer greater than 1.

[0144] The electronic device 100 can implement the photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor.

[0145] The ISP is configured to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, the light is transmitted to the camera photosensitive element through the lens, the light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing to convert it into an image visible to the naked eye. The ISP can also optimize the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature, and other parameters of the shooting scene. In some embodiments, the ISP can be disposed in the camera 193.

[0146] The camera 193 is configured to capture still images or videos. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then transmitted to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, the electronic device 100 can include one or N cameras 193, where N is a positive integer greater than 1.

[0147] The digital signal processor is used to process digital signals, in addition to being able to process digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.

[0148] The video codec is used to compress or decompress digital video. The electronic device 100 can support one or more video codecs. In this way, the electronic device 100 can play or record videos in multiple encoding formats, such as: moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.

[0149] The NPU is a neural-network (NN) calculation processor, which can quickly process input information by drawing on the structure of a biological neural network, such as drawing on the transmission mode between human brain neurons, and can also constantly self-learn. Through the NPU, the electronic device 100 can realize intelligent cognition applications such as image recognition, face recognition, voice recognition, text understanding, etc.

[0150] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to realize data storage functions. For example, music, video, etc. Files are saved in the external memory card.

[0151] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 can include a program storage area and a data storage area. The program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phonebook, etc.), etc. In addition, the internal memory 121 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various function applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121 and / or instructions stored in the memory disposed in the processor.

[0152] The electronic device 100 can realize audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor, etc. For example, music playing, recording, etc.

[0153] The audio module 170 is configured to convert digital audio information into an analog audio signal output, and to convert an analog audio input into a digital audio signal. The audio module 170 can also be configured to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some of the functions of the audio module 170 can be disposed in the processor 110.

[0154] The speaker 170A, also referred to as a "loudspeaker", is configured to convert an audio electrical signal into a sound signal. The electronic device 100 can listen to music or listen to a hands-free call through the speaker 170A.

[0155] The receiver 170B, also referred to as a "earpiece", is configured to convert an audio electrical signal into a sound signal. When the electronic device 100 receives a call or a voice message, the user can listen to the voice by holding the receiver 170B close to the ear.

[0156] The microphone 170C, also referred to as a "microphone", "transducer", is configured to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can make a sound by holding the mouth close to the microphone 170C, and input the sound signal into the microphone 170C. The electronic device 100 can be provided with at least one microphone 170C. In other embodiments, the electronic device 100 can be provided with two microphones 170C, in addition to collecting sound signals, noise reduction functions can also be realized. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C, in addition to collecting sound signals, noise reduction, and can also identify the source of the sound, realize directional recording function, etc.

[0157] The earphone interface 170D is configured to connect a wired earphone. The earphone interface 170D can be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0158] The pressure sensor 180A is configured to sense a pressure signal and convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194. The pressure sensor 180A can be of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, etc. The capacitive pressure sensor can include at least two parallel plates of conductive material. When a force is applied to the pressure sensor 180A, the capacitance between the electrodes changes. The electronic device 100 determines the intensity of the pressure based on the change in capacitance. When a touch operation is applied to the display screen 194, the electronic device 100 detects the intensity of the touch operation based on the pressure sensor 180A. The electronic device 100 can also calculate the position of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation instructions. For example, when a touch operation with a touch operation intensity less than a first pressure threshold is applied to a short message application icon, an instruction to view a short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold is applied to the short message application icon, an instruction to create a new short message is executed.

[0159] The gyroscope sensor 180B can be configured to determine the motion attitude of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake photography. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of shaking of the electronic device 100, calculates the distance that the lens module needs to compensate based on the angle, and lets the lens offset the shaking of the electronic device 100 by reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and motion sensing game scenarios.

[0160] The barometric pressure sensor 180C is configured to measure air pressure. In some embodiments, the electronic device 100 calculates the altitude based on the air pressure value measured by the barometric pressure sensor 180C, and assists in positioning and navigation.

[0161] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can detect the opening and closing of a flip cover by using the magnetic sensor 180D. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Further, based on the detected opening and closing state of the cover or the flip cover, the electronic device 100 can set a feature such as automatic unlocking of the flip cover.

[0162] The acceleration sensor 180E can detect the magnitude of acceleration of the electronic device 100 in various directions (typically three axes). When the electronic device 100 is stationary, the acceleration sensor 180E can detect the magnitude and direction of gravity. The acceleration sensor 180E can also be used to identify the attitude of the electronic device, and can be applied to landscape / portrait screen switching and pedometer applications.

[0163] Distance sensor 180F is configured to measure distance. Electronic device 100 can measure distance by infrared or laser. In some embodiments, electronic device 100 can utilize distance sensor 180F to measure distance for fast focusing when taking a picture.

[0164] Proximity light sensor 180G can include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode can be an infrared light emitting diode. Electronic device 100 emits infrared light outwardly through the light emitting diode. Electronic device 100 detects infrared reflected light from nearby objects using the photodiode. When sufficient reflected light is detected, electronic device 100 can determine that there is an object near electronic device 100. When insufficient reflected light is detected, electronic device 100 can determine that there is no object near electronic device 100. Electronic device 100 can utilize proximity light sensor 180G to detect that a user is holding electronic device 100 close to the ear for a phone call, so as to automatically turn off the screen to save power. Proximity light sensor 180G can also be used for automatic unlocking and locking of the screen in a holster mode or a pocket mode.

[0165] Ambient light sensor 180L is configured to sense ambient light brightness. Electronic device 100 can adaptively adjust the brightness of display screen 194 according to the sensed ambient light brightness. Ambient light sensor 180L can also be used to automatically adjust white balance when taking a picture. Ambient light sensor 180L can also cooperate with proximity light sensor 180G to detect whether electronic device 100 is in a pocket to prevent accidental touch.

[0166] Fingerprint sensor 180H is configured to collect a fingerprint. Electronic device 100 can utilize the collected fingerprint characteristics to implement fingerprint unlocking, access application lock, fingerprint picture taking, fingerprint call answering, and the like.

[0167] Temperature sensor 180J is configured to detect temperature. In some embodiments, electronic device 100 utilizes the temperature detected by temperature sensor 180J to implement temperature processing strategies. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 implements performance reduction of a processor located near temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, electronic device 100 heats battery 142 to avoid abnormal shutdown of electronic device 100 caused by low temperature. In other embodiments, when the temperature is lower than yet another threshold, electronic device 100 implements voltage boosting of the output voltage of battery 142 to avoid abnormal shutdown caused by low temperature.

[0168] Touch sensor 180K, also referred to as "touch device". Touch sensor 180K can be disposed on display screen 194, and touch sensor 180K and display screen 194 form a touch screen, also referred to as "touch panel". Touch sensor 180K is configured to detect touch operations applied to or near the touch sensor 180K. The touch sensor can transmit the detected touch operation to the application processor to determine the touch event type. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K can also be disposed on the surface of electronic device 100, which is different from the position of display screen 194.

[0169] Bone conduction sensor 180M can obtain vibration signals. In some embodiments, bone conduction sensor 180M can obtain vibration signals of the human body sound part vibration bone block. Bone conduction sensor 180M can also contact the human body pulse to receive blood pressure pulsation signals. In some embodiments, bone conduction sensor 180M can also be disposed in a headset to form a bone conduction headset. Audio module 170 can analyze voice signals based on the vibration signals of the sound part vibration bone block obtained by the bone conduction sensor 180M to realize voice functions. The application processor can analyze heart rate information based on the blood pressure pulsation signals obtained by the bone conduction sensor 180M to realize heart rate detection functions.

[0170] Keys 190 include power on / off keys, volume keys, and the like. Keys 190 can be mechanical keys. They can also be touch keys. Electronic device 100 can receive key input and generate key signal input related to user settings and function control of electronic device 100.

[0171] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts and also for touch vibration feedback. For example, touch operations applied to different applications (such as taking pictures, playing audio, etc.) can correspond to different vibration feedback effects. Touch operations applied to different regions of display screen 194 can also correspond to different vibration feedback effects of motor 191. Different application scenarios (such as time reminders, received messages, alarms, games, etc.) can also correspond to different vibration feedback effects. Touch vibration feedback effects can also be customizable.

[0172] Indicator 192 can be an indicator light, which can be used to indicate charging status, power changes, and also to indicate messages, missed calls, notifications, and the like.

[0173] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the electronic device 100 by inserting it into or removing it from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.

[0174] The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present application, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100.

[0175] Figure 2 It is a software structure block diagram of the electronic device 100 according to an embodiment of the present application.

[0176] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0177] The application layer can include a series of application packages.

[0178] like Figure 2 As shown, the application package can include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, smart fitness, etc.

[0179] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0180] like Figure 2 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0181] The window manager is used to manage windows programs. The window manager can acquire the display screen size, determine whether there is a status bar, lock the screen, and intercept the screen, etc.

[0182] The content provider is used to store and acquire data, and make the data accessible to the application program. The data can include video, image, audio, dialed and received phone, browsing history and bookmark, phone book, etc.

[0183] The view system includes visual controls, such as a control for displaying text, a control for displaying pictures, etc. The view system can be used to build an application program. A display interface can be composed of one or more views. For example, a display interface including a short message notification icon can include a view for displaying text and a view for displaying pictures.

[0184] The phone manager is used to provide the communication function of the electronic device 100. For example, the management of the call state (including call connection, call hang-up, etc.).

[0185] The resource manager provides various resources for the application program, such as localized strings, icons, pictures, layout files, video files, etc.

[0186] The notification manager makes the application program display notification information in the status bar, which can be used to convey a type of message, which can automatically disappear after a short stay without user interaction. For example, the notification manager is used to inform the completion of downloading, message reminders, etc. The notification manager can also be a notification in the form of a chart or a scroll bar text appearing in the top status bar of the system, such as a notification of an application program running in the background, and can also be a notification in the form of a dialogue window appearing on the screen. For example, prompting text information in the status bar, issuing a prompt sound, the electronic device vibrating, the indicator light flashing, etc.

[0187] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

[0188] The core library contains two parts: one part is the function function called by the java language, and the other part is the core library of Android.

[0189] The application program layer and the application program framework layer run in the virtual machine. The virtual machine executes the java file of the application program layer and the application program framework layer into a binary file. The virtual machine is used to perform the management of the object life cycle, the management of the stack, the management of the thread, the management of the security and the exception, and the garbage collection, etc.

[0190] The system library can include a plurality of functional modules. For example, a surface manager, media libraries, a three-dimensional graphics processing library (e.g., OpenGL ES), a 2D graphics engine (e.g., SGL), etc.

[0191] The surface manager is used to manage the display subsystem and provides a plurality of applications with a fusion of 2D and 3D layers.

[0192] The media libraries support a plurality of commonly used audio, video format playback and recording, and static image files, etc. The media libraries can support a plurality of audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0193] The three-dimensional graphics processing library is used to implement three-dimensional graphics drawing, image rendering, synthesis, and layer processing, etc.

[0194] The 2D graphics engine is a drawing engine for 2D drawing.

[0195] The kernel layer is a layer between hardware and software. The kernel layer at least includes a display driver, a camera driver, an audio driver, and a sensor driver.

[0196] Embodiment One

[0197] The application download and installation method provided by Embodiment One of the present application will be described in detail below in combination with the accompanying drawings and specific application scenarios.

[0198] In the embodiment of the present application, the installation package of an application can be split into a plurality of sub-packages. When a certain electronic device needs to download and install the application, the electronic device needs to download all the sub-packages of the application to install the application according to all the sub-packages. When the electronic device only obtains part of the sub-packages of the application, the electronic device will not be able to install the application, or the installed application will have a problem that all or part of the functions cannot be used.

[0199] In the embodiment of the present application, the developer can develop each sub-package respectively, thereby improving the convenience of application development. For example, in the installation-free application (i.e., an application that can be used after being installed in the background by the system program framework without explicit installation, such as an atomic service or a feature ability (FA)), the developer can split the installation package of the application into one or more harmonyos ability packages (hap) according to functions, one hap corresponding to one ability, and the ability being an abstraction of the capability of the application and an important component of the application. Each ability can be independently run and can complete a specific function, and one or more functions can complete a specific convenient service. The application downloading and installing method provided in the embodiment will be exemplarily described below by taking the installation-free application as an example.

[0200] For each installation-free application, since the application often needs to be applied to different types of electronic devices, the developer needs to develop each installation package of the application for different types of electronic devices. In the embodiment, the developer can divide each installation package of the application into one or more sub-packages according to functions and develop each sub-package respectively to obtain the sub-package corresponding to each installation package. Then, the developer can send the sub-package corresponding to each installation package to the cloud (which can also be referred to as a server). After receiving the sub-package corresponding to each installation package, the cloud can divide the installation package into at least a first part and a second part, the first part can include a first sub-package, and the second part can include a second sub-package. The first sub-package and the second sub-package can each include one or more. The first sub-package can be a basic part of the application, i.e., a sub-package that is included in each installation package of the application, that is, the first sub-package is a data package that can be commonly used in different types of electronic devices. The second sub-package can be a feature part, i.e., the second sub-package can be a sub-package specific to a certain installation package, that is, the second sub-package is a data package corresponding to the characteristics (or attributes) of a certain type of electronic device. Alternatively, after obtaining the sub-package corresponding to each installation package, the developer can first divide the sub-package into the first part and the second part, and then send the first part and the second part to the cloud. Therefore, for any application, the cloud can store the first sub-package of the application and each second sub-package corresponding to each type of electronic device, so as to reduce the number of data packages stored by the cloud for each application and reduce the storage burden of the cloud.

[0201] It can be understood that the first part of the above description is a basic part, and the second part is a characteristic part, which is only illustrative and should not be understood as a limitation of the embodiments of the present application. In the embodiments of the present application, the first part can also be a characteristic part, and the second part can be a common part. Hereinafter, the first part as a basic part and the second part as a characteristic part will be exemplarily described.

[0202] Please refer to Figure 3 , Figure 3 The system structure diagram to which the application download installation method provided by the embodiment is applied is shown. As Figure 3 shown, the system can include a cloud 300, a first electronic device 110 and at least one second electronic device 120. Among them, the first electronic device 110 is an electronic device that needs to download an application, and the second electronic device 120 is an electronic device that is communicatively connected with the first electronic device 110 through a communication network. The first electronic device 110 can also be communicatively connected with the cloud 300 through a communication network, and the cloud 300 stores a first sub-package and a second sub-package of each application that can be applied to the first electronic device 110. As Figure 3 shown in (a), the first electronic device 110 and the second electronic device 120 Figure 3 in (a) are exemplarily described by taking one as an example) can be electronic devices of the same type, for example, both can be mobile phones, at which time the cloud 300 can store the first sub-package and the second sub-package of each application that can be applied to the mobile phone. For example, when a call application and a music application can be applied to the mobile phone, the cloud 300 can store the first sub-package R and the second sub-package A of the call application, and store the first sub-package S and the second sub-package B of the music application.

[0203] It should be understood that when the first electronic device 110 and the second electronic device 120 are electronic devices of the same type but have different characteristics, that is, when the first electronic device 110 and the second electronic device 120 are electronic devices of the same type but have different second sub-packages, the first electronic device 110 can be regarded as an electronic device of a different type from the second electronic device 120 for downloading and installing the application.

[0204] Among them, the first electronic device 110 can determine whether the download of the first application is needed according to whether a trigger event of downloading the first application is detected. It should be understood that the first application can be any application. Exemplarily, the first application can be FA, and the trigger event can be a click or touch operation on the uninstalled FA or the like. Alternatively, the first application can be an uninstalled application in an application market, and the trigger event can be a click or touch operation on the installation or download button corresponding to the application or the like.

[0205] Alternatively, as Figure 3As shown in (b) of FIG. 1, the first electronic device 110 and the second electronic device 120 Figure 3 As shown in (b) of FIG. 1, the first electronic device 110 and the second electronic device 120

[0206] In this case, the communication network can be a local area network such as Bluetooth, WiFi, ZigBee or NFC, or a wide area network such as 2G, 3G, 4G, 5G, future evolved public land mobile network (PLMN) or Internet.

[0207] In the following, the first sub-packet of an application and the second sub-packet corresponding to each type of electronic device respectively include multiple examples, and the process of downloading the application by the first electronic device 110 is described in detail.

[0208] It can be understood that when the first electronic device 110 needs to download a certain application, whether the second electronic device 120 has downloaded the application will make the process of downloading the application by the first electronic device 110 different. In the following, the process of downloading the application by the first electronic device 110 is described in detail from two aspects that all the second electronic devices 120 do not download the application and that there is a second electronic device 120 that has downloaded the application.

[0209] I. None of the second electronic devices 120 downloads the application

[0210] In this embodiment, when the first electronic device 110 needs to download an application, the first electronic device 110 can first determine whether the second electronic devices 120 have downloaded the application. When none of the second electronic devices 120 has downloaded the application, it indicates that only the cloud 300 stores the first sub-package and the second sub-packages of the application, at this time, the first electronic device 110 can download the first sub-package and the second sub-package corresponding to the first electronic device 110 from the cloud 300. For example, in the application scenario shown in (b) of FIG. 1, when the mobile phone needs to download the call application, if the smart watch, computer, tablet computer and smart large screen do not download the call application, it indicates that only the cloud 300 stores the first sub-package R and the second sub-packages (i.e. A, B, C, D, E) of the call application, at this time, the mobile phone can download the first sub-package R and the second sub-package A corresponding to the mobile phone from the cloud 300. Figure 3

[0211] For example, the first electronic device 110 can determine whether the second electronic devices 120 have downloaded the application according to the sub-package information of the application in the second electronic devices 120. Specifically, when the application needs to be downloaded, the first electronic device 110 can send a first query request to the cloud 300 to query the sub-package information of the application, for example, the first electronic device 110 can call the pagequery interface to send the first query request to the cloud 300. After receiving the first query request, the cloud 300 can query the sub-package information of the application, and can return the queried sub-package information to the first electronic device 110 in the form of an array (for example, {sub-package 1, sub-package 2, …, sub-package n}). Subsequently, the first electronic device 110 can send a second query request to each of the second electronic devices 120 to query the sub-package information of the application in the second electronic devices 120, for example, the first electronic device 110 can call the queryDevicesFa interface to send the second query request to each of the second electronic devices 120. After receiving the second query request, the second electronic devices 120 can query the relevant information of the application in the second electronic devices 120, and can send the query result to the first electronic device 110. Then, the first electronic device 110 can determine whether the second electronic devices 120 have downloaded the application according to the query result returned by the second electronic devices 120 and the sub-package information returned by the cloud 300.

[0212] ​It should be noted that generally only the electronic device to which the application can be applied will download the application, and therefore when the first electronic device 110 needs to download the application, the first electronic device 110 can first determine the types of the second electronic devices 120 to which the application can be applied. Then, the first electronic device 110 can determine whether the second electronic devices 120 of these types have downloaded the application. That is, the first electronic device 110 only needs to send a second query request to the second electronic devices 120 of these types to query the related information of the application, and does not need to send a second query request to each second electronic device 120, thereby reducing the number of queries, improving the query efficiency, and improving the application download speed of the first electronic device 110.

[0213] For example, in the application scenario shown in (b) of FIG. 1, when the mobile phone needs to download the smart fitness application, the mobile phone can first determine the types of the electronic devices to which the smart fitness application can be applied. Assuming that the types of the electronic devices to which the smart fitness application can be applied are a mobile phone, a smart watch, and a smart large screen, at this time, the mobile phone can only send a second query request to the smart watch and the smart large screen, respectively, to request to query whether the smart watch and the smart large screen have the related information of the smart fitness application. When it is determined that the smart watch has the related information of the smart fitness application, and the smart large screen does not have the related information of the smart fitness application, the mobile phone can determine that the smart watch has downloaded the smart fitness application, and the smart large screen has not downloaded the smart fitness application. Figure 3

[0214] It can be understood that when the developer uploads the installation package of an application to the cloud 300, the developer can simultaneously upload the types of the electronic devices to which the application can be applied, or the cloud 300 can determine the types of the electronic devices to which the application can be applied according to the installation package of the application (for example, each second sub package in the installation package). That is, the cloud 300 can store the types of the electronic devices to which each application can be applied. Therefore, the first electronic device 110 can directly send a type query request to the cloud 300 to query the types of the electronic devices to which the application can be applied.

[0215] Please refer to Figure 4 and Figure 5 , Figure 4 and Figure 5 show the application scenario provided by the embodiment Figure 1 . As Figure 4 and Figure 5 ​As shown, in this application scenario, when each second electronic device 120 does not download the application, the first electronic device 110 can send a download instruction to at least one second electronic device 120, the download instruction being used to instruct the at least one second electronic device 120 to download the first sub-package of the application and / or the second sub-package corresponding to the first electronic device 110 from the cloud 300, and send the downloaded first sub-package and / or second sub-package to the first electronic device 110.

[0216] In one example, the first electronic device 110 can instruct a certain second electronic device 120 to download a complete installation package (i.e., the first sub-package of the application and the second sub-package corresponding to the first electronic device 110) from the cloud 300. Specifically, the first electronic device 110 can first determine a first time at which each second electronic device 120 downloads the complete installation package from the cloud 300 and a second time at which each second electronic device 120 sends the complete installation package to the first electronic device 110. Then, the first electronic device 110 can determine the second electronic device 120 with the shortest sum of the first time and the second time as the final second electronic device 120 to download the complete installation package from the cloud 300, and send a download instruction to the determined second electronic device 120 to instruct it to download the first sub-package of the application and the second sub-package corresponding to the first electronic device 110 from the cloud 300, and send the downloaded first sub-package and second sub-package to the first electronic device 110. That is, by using a second electronic device with better performance to download the application, the time for the first electronic device 110 to download the application can be reduced, the download speed of the first electronic device 110 can be improved, and the user experience can be improved.

[0217] For example, in the application scenario shown in FIG. 1, the first electronic device 110 can determine that the second electronic device 120-1 has the best performance, and instruct the second electronic device 120-1 to download the complete installation package from the cloud 300. Figure 3In the application scenario shown in (b) in FIG. 1, when the mobile phone needs to download a music application, and the smart watch, the computer, the tablet computer, and the smart large screen do not download the music application, the mobile phone can first determine a first time TW1 at which the smart watch downloads a first sub-package S of the music application and a second sub-package F corresponding to the mobile phone from the cloud 300, and a second time TW2 at which the smart watch sends the first sub-package S and the second sub-package F to the mobile phone, a first time TC1 at which the computer downloads the first sub-package S and the second sub-package F from the cloud 300, and a second time TC2 at which the computer sends the first sub-package S and the second sub-package F to the mobile phone, a first time TP1 at which the tablet computer downloads the first sub-package S and the second sub-package F from the cloud 300, and a second time TP2 at which the tablet computer sends the first sub-package S and the second sub-package F to the mobile phone, and a first time TS1 at which the smart large screen downloads the first sub-package S and the second sub-package F from the cloud 300, and a second time TS2 at which the smart large screen sends the first sub-package S and the second sub-package F to the mobile phone. Assuming that the mobile phone determines that (TP1+TP2) < (TW1+TW2) < (TC1+TC2) < (TS1+TS2), the mobile phone can determine the tablet computer as a second electronic device that downloads the first sub-package S and the second sub-package F from the cloud 300. At this time, as shown in (a) in FIG. 1, the mobile phone can send a download instruction to the tablet computer, to instruct the tablet computer to download the first sub-package S and the second sub-package F of the music application from the cloud 300, and send the downloaded first sub-package S and second sub-package F to the mobile phone. Figure 4

[0218] In this embodiment, the first time at which any second electronic device 120 downloads the complete installation package from the cloud 300 can be determined according to the network transmission speed between the second electronic device 120 and the cloud 300 and the size volume of the complete installation package. all Assuming that the jthsecond electronic device 120 downloads the complete installation package from the cloud 300, needs to pass through a time t j,delay1 to reach a stable speed v j,max1 , then the first time T j1 at which the jthsecond electronic device 120 downloads the complete installation package from the cloud 300 is t j,delay1 + max(volume all – volume1, 0) / v j,max1 , volume1 is the size of the installation package downloaded from the cloud 300 by the second electronic device 120 within the time t j,delay1 .

[0219] ​Similarly, the second time when the second electronic device 120 sends the complete installation package to the first electronic device 110 can be determined based on the network transmission speed between the second electronic device 120 and the first electronic device 110 and the size of the complete installation package. all Assume that the jth second electronic device 120 transmits the complete installation package to the first electronic device 110 after a period of time t j,delay2 Reaching a stable speed v j,max2 , then the second time T at which the jth second electronic device 120 sends the complete installation package to the first electronic device 110 is j2 =t j,delay2 +max(volume all -volume2,0) / v j,max2 , volume2 is at time t j,delay2 The size of the installation package transmitted by the second electronic device 120 to the first electronic device 110.

[0220] The network transmission speed between the second electronic device 120 and the cloud 300 refers to the transmission speed of the network connected between the second electronic device 120 and the cloud 300 when the first electronic device 110 requests to download the application. Similarly, the network transmission speed between the second electronic device 120 and the first electronic device 110 refers to the transmission speed of the network connected between the second electronic device 120 and the first electronic device 110 when the first electronic device 110 requests to download the application. It is understood that the network transmission speed between the second electronic device 120 and the cloud 300, as well as the network transmission speed between the second electronic device 120 and the first electronic device 110, can be determined according to actual conditions.

[0221] It should be noted that the above determination of the second electronic device having the shortest sum of the first time and the second time as the second electronic device 120 that ultimately downloads the complete installation package from the cloud 300 is for illustrative purposes only and should not be construed as limiting the embodiments of the present application. In the embodiments of the present application, the first electronic device 110 may also obtain second electronic devices for which the sum of the first time and the second time is less than or equal to a preset time threshold, and determine from these second electronic devices the electronic device that ultimately downloads the complete installation package from the cloud 300.

[0222] Exemplarily, the first electronic device 110 can determine the electronic device that ultimately downloads the complete installation package from the cloud 300 based on the current usage and / or device performance of these second electronic devices. For example, the second electronic device that is currently in an idle state can be determined as the electronic device that ultimately downloads the complete installation package from the cloud 300.

[0223] For example, the first electronic device 110 can determine the electronic device that finally downloads the complete installation package from the cloud 300 according to the selection operation of the user, i.e., the user can select the electronic device that finally downloads the complete installation package from the cloud 300 from the second electronic devices.

[0224] The preset time threshold can be set by default by the first electronic device 110 or can be set by the user, for example, the user can set the preset time threshold according to the maximum download time that the user can accept, such as setting the preset time threshold to 40 seconds, 60 seconds, or 80 seconds, etc.

[0225] Similarly, the second electronic device with the shortest sum of the third time and the fourth time (or the fifth time and the sixth time) is determined as the second electronic device 120 that finally downloads the first sub-package or the second sub-package from the cloud 300, which is only illustrative and should not be construed as a limitation of the embodiments of the present application.

[0226] In another example, the first electronic device 110 can instruct a certain second electronic device 120 to download all the first sub-packages of the application from the cloud 300, and at the same time, the first electronic device 110 can download all the second sub-packages corresponding to the first electronic device 110 from the cloud 300; or the first electronic device 110 can instruct a certain second electronic device 120 to download all the second sub-packages corresponding to the first electronic device 110 from the cloud 300, and at the same time, the first electronic device 110 can download all the first sub-packages of the application from the cloud 300; or the first electronic device 110 can instruct a certain second electronic device 120 to download all the first sub-packages of the application from the cloud 300, and instruct another second electronic device 120 to download all the second sub-packages corresponding to the first electronic device 110 from the cloud 300, so as to download the installation package of the application by the first electronic device 110 and the second electronic device 120, or multiple second electronic devices 120, to reduce the time of downloading the application by the first electronic device 110 and improve the download speed of the first electronic device 110.

[0227] In a possible implementation, the first electronic device 110 can determine the third time at which each second electronic device 120 downloads the entire first sub-package from the cloud 300 and the fourth time at which the downloaded first sub-package is sent to the first electronic device 110. Then, the first electronic device 110 can determine the second electronic device 120 whose sum of the third time and the fourth time is the shortest as the final second electronic device 120 that downloads the entire first sub-package from the cloud 300, and send a download instruction to the determined second electronic device 120 to instruct it to download the entire first sub-package of the application from the cloud 300, and can send the downloaded first sub-package to the first electronic device 110, while the first electronic device 110 can download the entire second sub-package corresponding to the first electronic device 110 from the cloud 300.

[0228] For example, in the application scenario shown in (b) of Figure 3 , when the phone needs to download a call application, and the smart watch, the computer, the tablet computer, and the smart large screen do not download the call application, the phone can first determine the third time TW 13 at which the smart watch downloads the first sub-package R of the call application from the cloud 300 and the fourth time TW 14 at which the first sub-package R is sent to the phone, the third time TC 13 at which the computer downloads the first sub-package R from the cloud 300 and the fourth time TC 14 at which the first sub-package R is sent to the phone, the third time TP 13 at which the tablet computer downloads the first sub-package R from the cloud 300 and the fourth time TP 13 at which the first sub-package R is sent to the phone, the third time TS 13 at which the smart large screen downloads the first sub-package R from the cloud 300 and the fourth time TS 14 at which the first sub-package R is sent to the phone. Assuming that the phone determines that (TC 13 + TC 14 ) < (TP 13 + TP 14 ) < (TS 13 + TS 14 ) < (TW 13 + TW 14 ), the phone can determine the computer as the second electronic device that downloads the first sub-package R from the cloud 300, at this time, as shown in (b) of Figure 4 , the phone can send a download instruction to the computer to instruct the computer to download the first sub-package R of the call application from the cloud 300 and send the downloaded first sub-package R to the phone. When the computer receives the download instruction, it can send a first download request to the cloud 300 to request to download the first sub-package R. At the same time, the phone can send a second download request to the cloud 300 to request to download the second sub-package A corresponding to the phone.

[0229] In another possible implementation, the first electronic device 110 can determine the third time at which each second electronic device 120 downloads all the second sub-packets corresponding to the first electronic device 110 from the cloud 300, and the fourth time at which the second electronic device 120 sends the downloaded second sub-packets to the first electronic device 110. Then, the first electronic device 110 can determine the second electronic device 120 whose sum of the third time and the fourth time is the shortest as the final second electronic device 120 that downloads the second sub-packets from the cloud 300, and send a download instruction to the determined second electronic device 120 to instruct it to download all the second sub-packets corresponding to the first electronic device 110 from the cloud 300 and send the downloaded second sub-packets to the first electronic device 110, while the first electronic device 110 can download the first sub-packets of the application from the cloud 300.

[0230] For example, in the application scenario shown in (b) of Figure 3 When the phone needs to download the call application, and none of the smart watch, the computer, the tablet computer, and the smart large screen has downloaded the call application, the phone can first determine the third time TW 23 at which the smart watch downloads the second sub-packet A corresponding to the first electronic device 110 from the cloud 300, and the fourth time TW 24 at which the smart watch sends the second sub-packet A to the phone, the third time TC 23 at which the computer downloads the second sub-packet A from the cloud 300, and the fourth time TC 24 at which the computer sends the second sub-packet A to the phone, the third time TP 23 at which the tablet computer downloads the second sub-packet A from the cloud 300, and the fourth time TP 24 at which the tablet computer sends the second sub-packet A to the phone, the third time TS 23 at which the smart large screen downloads the second sub-packet A from the cloud 300, and the fourth time TS 24 at which the smart large screen sends the second sub-packet A to the phone. Assuming that the phone determines that (TS 23 + TS 24 ) < (TC 23 + TC 24 ) < (TP 23 + TP 24 ) < (TW 23 + TW 24 ), the phone can determine the smart large screen as the second electronic device that downloads the second sub-packet A from the cloud 300. At this time, as shown in (c) of Figure 5As shown in (a) of FIG. 6, when the smart phone needs to download the call application, and the smart watch, the computer, the tablet computer and the smart TV have not downloaded the call application, the smart phone can first determine the third time TW 13 of the smart watch for downloading the first sub package R of the call application from the cloud 300, and the fourth time TW 14 of the smart watch for sending the first sub package R to the smart phone, the third time TC 13 of the computer for downloading the first sub package R from the cloud 300, and the fourth time TC 14 of the computer for sending the first sub package R to the smart phone, the third time TP 13 of the tablet computer for downloading the first sub package R from the cloud 300, and the fourth time TP 14 of the tablet computer for sending the first sub package R to the smart phone, the third time TS 13 of the smart TV for downloading the first sub package R from the cloud 300, and the fourth time TS 14 of the smart TV for sending the first sub package R to the smart phone.

[0231] In another possible implementation, the first electronic device 120 can determine the third time of each second electronic device 120 for downloading the first sub package of the application from the cloud 300 and the fourth time of each second electronic device 120 for sending the downloaded first sub package to the first electronic device 110, and determine the fifth time of each second electronic device 120 for downloading the second sub package corresponding to the first electronic device 110 from the cloud 300 and the sixth time of each second electronic device 120 for sending the downloaded second sub package to the first electronic device 110. Then, the first electronic device 110 can determine the second electronic device a with the shortest sum of the third time and the fourth time as the electronic device for downloading the first sub package of the application from the cloud 300, and can determine the second electronic device b with the shortest sum of the fifth time and the sixth time as the electronic device for downloading the second sub package corresponding to the first electronic device 110 from the cloud 300. At this time, the first electronic device 110 can send the first download instruction to the second electronic device a, and simultaneously send the second download instruction to the second electronic device b, the first download instruction is used to instruct to download the first sub package of the application and send the downloaded first sub package to the first electronic device 110, and the second download instruction is used to instruct to download the second sub package corresponding to the first electronic device 110 and send the downloaded second sub package to the first electronic device 110.

[0232] For example, in the application scenario shown in (b) of FIG. 6, when the smart phone needs to download the call application, and the smart watch, the computer, the tablet computer and the smart TV have not downloaded the call application, the smart phone can first determine the third time TW 13 of the smart watch for downloading the first sub package R of the call application from the cloud 300, and the fourth time TW 14 of the smart watch for sending the first sub package R to the smart phone, the third time TC 13 of the computer for downloading the first sub package R from the cloud 300, and the fourth time TC 14 of the computer for sending the first sub package R to the smart phone, the third time TP 13 of the tablet computer for downloading the first sub package R from the cloud 300, and the fourth time TP 14 of the tablet computer for sending the first sub package R to the smart phone, the third time TS 13 of the smart TV for downloading the first sub package R from the cloud 300, and the fourth time TS 14 of the smart TV for sending the first sub package R to the smart phone. 13 14 13 14 13 14 13 1414 At the same time, the first electronic device 110 can also determine the fifth time TW when the smart watch downloads the second sub-package A corresponding to the first electronic device 110 from the cloud 300. 25 and the sixth time TW at which the second sub-packet A is sent to the mobile phone 26 , the fifth time TC when the computer downloads the second sub-package A from the cloud 300 25 And the sixth time TC at which the second sub-packet A is sent to the mobile phone 26 The tablet computer downloads the fifth time TP of the second sub-package A from the cloud 300 25 and the sixth time TP at which the second sub-packet A is sent to the mobile phone 26 , the smart screen downloads the fifth time TS of the second sub-package A from the cloud 300 25 And the sixth time TS for sending the second sub-packet A to the mobile phone 26 . Assume that the mobile phone determines (TC 13 +TC 14 )<(TS 13 +TS 14 )<(TP 13 +TP 14 )<(TW 13 +TW 14 ), and (TS 25 +TS 26 )<(TC 25 +TC 26 )<(TP 25 +TP 26 )<(TW 25 +TW 26 ), the mobile phone can determine the computer as the second electronic device that downloads the first sub-package R from the cloud 300, and determine the smart screen as the second electronic device that downloads the second sub-package A from the cloud 300, such as Figure 5 As shown in (b) of the figure, the mobile phone can send a first download instruction to the computer to instruct the computer to download the first sub-package R from the cloud 300 and send the downloaded first sub-package R to the mobile phone. At the same time, the mobile phone can send a second download instruction to the smart screen to instruct the smart screen to download the second sub-package A from the cloud 300 and send the downloaded second sub-package A to the mobile phone. When the computer receives the first download instruction, it can send a first download request to the cloud 300 to request the download of the first sub-package R. When the smart screen receives the second download instruction, it can send a second download request to the cloud 300 to request the download of the second sub-package A.

[0233] Among them, the determination methods of the third time, fourth time, fifth time and sixth time are similar to the determination methods of the first time or second time mentioned above, and the principles are basically the same. The specific contents can be referred to the above description and will not be repeated here.

[0234] It should be noted that when the second electronic device a and the second electronic device b are the same electronic device, the first electronic device 110 can acquire that the sum of the third time and the fourth time of the second electronic device a is only greater than T a , the second electronic device c, and acquire that the sum of the fifth time and the sixth time of the second electronic device d is only greater than T b . Wherein, T a is the sum of the third time and the fourth time corresponding to the second electronic device a, T b is the sum of the fifth time and the sixth time corresponding to the second electronic device b. Hereinafter, the sum of the third time and the fourth time corresponding to the second electronic device c is denoted as T c , and the sum of the fifth time and the sixth time corresponding to the second electronic device d is denoted as T d . Meanwhile, the first electronic device 110 can determine the time T a ' when the second electronic device a downloads all the first sub-packets and all the second sub-packets corresponding to the first electronic device 110. Subsequently, the first electronic device 110 determines the smaller value between T c and T d , and performs the download of the application according to the smaller value, T a , T b and T a '.

[0235] For example, when T c <T d , and (T b +T c ) < T a ', the first electronic device 110 can determine that all the first sub-packets of the application are downloaded by the second electronic device c, and all the second sub-packets corresponding to the first electronic device 110 are downloaded by the second electronic device b. When T c >T d , and (T a +T d ) < T a ', the first electronic device 110 can determine that all the first sub-packets of the application are downloaded by the second electronic device a, and all the second sub-packets corresponding to the first electronic device 110 are downloaded by the second electronic device d. When T c <T d , and (T b +T c ) > T a ', or when T c >T d , and (T a +T d ) > T aWhen the first electronic device 110 determines that the second electronic device a downloads the first sub-packet of the application and the second sub-packet corresponding to the first electronic device 110, the first electronic device 110 can determine that the second electronic device a downloads the entire first sub-packet of the application and the entire second sub-packet corresponding to the first electronic device 110.

[0236] In another example, the first electronic device 110 can instruct the first electronic device 110 and at least two of the second electronic devices 120 to distributeively download the first sub-packet of the application. Alternatively, the first electronic device 110 can instruct the first electronic device 110 and at least two of the second electronic devices 120 to distributeively download the second sub-packet corresponding to the first electronic device 110. Alternatively, the first electronic device 110 can instruct the first electronic device 110 and at least two of the second electronic devices 120 to distributeively download the installation package of the application (i.e., the first sub-packet and the second sub-packet corresponding to the first electronic device 110). That is, by distributing the installation package of the application through multiple electronic devices, the download time of the installation package can be reduced, and the speed of the first electronic device 110 downloading the application can be improved.

[0237] The following will be exemplarily described by taking an example in which the first electronic device 110 instructs the first electronic device 110 and at least two of the second electronic devices 120 to distributeively download the first sub-packet of the application. The distribution of the second sub-packet corresponding to the first electronic device 110 and the distribution of the installation package of the application can refer to the related content of the distribution of the first sub-packet of the application.

[0238] Specifically, the first electronic device 110 can determine all possible grouping manners of grouping the first sub-packet of the application according to the number of the second electronic devices 120, and group the first sub-packet of the application according to each grouping manner to obtain each sub-packet group corresponding to each grouping manner. Subsequently, for each grouping manner, the first electronic device 110 can determine all possible distribution manners corresponding to the grouping manner. Then, the first electronic device 110 can determine the download time corresponding to each distribution manner, and can determine the download strategy corresponding to the application according to the distribution manner with the shortest download time. The download strategy can include each electronic device downloading the first sub-packet of the application and the sub-packet required to be downloaded by each electronic device. Each sub-packet group can include one or more first sub-packets, and the number of sub-packet groups corresponding to each grouping manner is s∈[2,1+n], where n is the number of the second electronic devices 120.

[0239] Please refer to Figure 6 , Figure 6 application scenarios provided by the embodiment are shown in FIG. 1 Figure 2 . As Figure 6As shown, in this application scenario, the first electronic device 110 can be a mobile phone, and the second electronic devices 120 can include a smart watch and a tablet computer. The mobile phone, the smart watch and the tablet computer are respectively connected to the cloud 300 through a communication network. The cloud 300 stores a call application applicable to the mobile phone, and a first sub-package R of the call application can include {R1, R2, R3, R4, R5, R6}, and neither the smart watch nor the tablet computer downloads the call application.

[0240] When the mobile phone needs to download the call application, the mobile phone can determine all possible grouping manners of grouping the first sub-package R according to the number of the second electronic devices 120, and can group the first sub-package R according to each grouping manner respectively to obtain each sub-package group corresponding to each grouping manner. For example, the mobile phone can obtain grouping manner A, grouping manner B and grouping manner C according to a manner of dividing the first sub-package R into two sub-package groups, and obtain grouping manner D, grouping manner E and grouping manner F according to a manner of dividing the first sub-package R into three sub-package groups. Exemplarily, the sub-package group corresponding to the grouping manner A can include {R1, R2, R3, R4, R5} and {R6}, the sub-package group corresponding to the grouping manner B can include {R1, R3, R5, R6} and {R2, R4}, the sub-package group corresponding to the grouping manner C can include {R1, R3, R4} and {R2, R5, R6}, the sub-package group corresponding to the grouping manner D can include {R1, R2}, {R3, R4} and {R5, R6}, the sub-package group corresponding to the grouping manner E can include {R1, R2, R3}, {R4, R5} and {R6}, the sub-package group corresponding to the grouping manner F can include {R1, R3, R4, R6}, {R2} and {R5}, and the like.

[0241] For each grouping manner, the mobile phone can determine all possible distributed downloading manners corresponding to the grouping manner, and determine the downloading time corresponding to each distributed downloading manner. For example, for the grouping manner C, the mobile phone can determine that the first distributed downloading manner is that the mobile phone downloads the sub-package group {R1, R3, R4} and the smart watch downloads the sub-package group {R2, R5, R6}; the second distributed downloading manner is that the mobile phone downloads the sub-package group {R1, R3, R4} and the tablet computer downloads the sub-package group {R2, R5, R6}; the third distributed downloading manner is that the mobile phone downloads the sub-package group {R2, R5, R6} and the smart watch downloads {R1, R3, R4}; the fourth distributed downloading manner is that the mobile phone downloads the sub-package group {R2, R5, R6} and the tablet computer downloads the sub-package group {R1, R3, R4}; the fifth distributed downloading manner is that the smart watch downloads the sub-package group {R1, R3, R4} and the tablet computer downloads the sub-package group {R2, R5, R6}; and the sixth distributed downloading manner is that the smart watch downloads the sub-package group {R2, R5, R6} and the tablet computer downloads the sub-package group {R1, R3, R4}. Specifically, the downloading time T1 corresponding to the first distributed downloading manner is max(TI 11 , TW 12 + TW 13 ), TI 11 is the time for the mobile phone to download the first sub-package {R1, R3, R4} from the cloud 300, TW 12 is the time for the smart watch to download the first sub-package {R2, R5, R6} from the cloud 300, TW 13 is the time for the smart watch to transmit the first sub-package {R2, R5, R6} to the mobile phone. The downloading time T5 corresponding to the fifth distributed downloading manner is max(TW 51 + TW 52 , TP 53 + TP 54 ), TW 51 is the time for the smart watch to download the first sub-package {R1, R3, R4} from the cloud 300, TW 52 is the time for the smart watch to transmit the first sub-package {R1, R3, R4} to the mobile phone, TP 53 is the time for the tablet computer to download the first sub-package {R2, R5, R6} from the cloud 300, TP 54 is the time for the tablet computer to transmit the first sub-package {R2, R5, R6} to the mobile phone. The determining principles of the downloading time corresponding to the second distributed downloading manner, the downloading time corresponding to the third distributed downloading manner, the downloading time corresponding to the fourth distributed downloading manner, and the downloading time corresponding to the first distributed downloading manner are the same, and the determining principles of the downloading time corresponding to the fifth distributed downloading manner and the downloading time corresponding to the sixth distributed downloading manner are the same, and thus are not described herein.

[0242] Subsequently, the mobile phone can acquire the distributed downloading mode with the shortest downloading time, and download the first sub-packets according to the distributed downloading mode. Assuming that the downloading time of the fourth distributed downloading mode is the shortest among all the distributed downloading modes, the mobile phone can determine that the first sub-packets {R2, R5, R6} are downloaded from the cloud 300 by the mobile phone, and the first sub-packets {R1, R3, R4} are downloaded from the cloud 300 by the tablet computer. At this time, the mobile phone can send a downloading instruction to the tablet computer to instruct the tablet computer to download the first sub-packet R1, the first sub-packet R3 and the first sub-packet R4 of the application from the cloud 300, and send the downloaded first sub-packet R1, the first sub-packet R3 and the first sub-packet R4 to the mobile phone. When the tablet computer receives the downloading instruction, the tablet computer can send a first downloading request to the cloud 300 to request downloading the first sub-packet R1, the first sub-packet R3 and the first sub-packet R4. At the same time, the mobile phone itself can send a second downloading request to the cloud 300 to request downloading the first sub-packet R2, the first sub-packet R5 and the first sub-packet R6 of the application.

[0243] Due to the large size difference of the first sub-packets, and the downloading speed of each electronic device generally needs a certain cache time to reach the optimal stable speed, in order to ensure the stability of the downloading, the first sub-packets can be downloaded by hierarchical allocation. That is, in the embodiment, before the first sub-packets of the application are grouped, the first electronic device 110 can first classify the first sub-packets according to the size of the first sub-packets, that is, the first sub-packets are divided into a preset level, and each level can include one or more first sub-packets. Then, the first electronic device 110 can group all the first sub-packets in each level as a whole to obtain each sub-packet group corresponding to each grouping mode, and each sub-packet group can include all the first sub-packets in at least one level. For each grouping mode, the first electronic device 110 can determine all possible distributed downloading modes corresponding to the grouping mode. Subsequently, the first electronic device 110 can determine the downloading time corresponding to each distributed downloading mode, and determine the downloading strategy corresponding to the application according to the distributed downloading mode with the shortest downloading time, that is, determine the electronic devices downloading the first sub-packets of the application and the sub-packets required to be downloaded by each electronic device.

[0244] It can be understood that the first electronic device 110 can determine the preset level according to the actual situation, for example, the first electronic device 110 can divide the first sub-packets of the application into three levels according to (0, volume], (volume, 10*volume] and (10*volume, ∞], and volume can be the size of the downloaded sub-packet when the first electronic device 110 reaches the optimal stable speed.

[0245] It should be noted that the first electronic device 110 can obtain the download time required for the first electronic device 110 to directly download the first sub package of the application, and the shortest download time required for a second electronic device 120 to download the first sub package after determining the download time corresponding to the distributed download manner, and can determine the electronic device that finally downloads the first sub package according to the multiple download times. For example, the first electronic device can determine the electronic device that finally downloads the first sub package according to the shortest time in the multiple download times.

[0246] II. The second electronic device 120 has downloaded the application

[0247] In this embodiment, when the second electronic device 120 has downloaded the application (for the convenience of description, the second electronic device 120 that has downloaded the application will be referred to as the third electronic device below), the first electronic device 110 can download the application according to whether the installation package downloaded by the third electronic device includes the second sub package corresponding to the first electronic device 110.

[0248] (I) The installation package downloaded by the third electronic device does not include the second sub package corresponding to the first electronic device 110

[0249] Specifically, when each electronic device downloads the application, it can only download the first sub package of the application and the second sub package corresponding to the electronic device. Therefore, when the first electronic device 110 downloads the application, if there is a third electronic device, it indicates that the third electronic device has the first sub package of the application. That is, the cloud 300 has the second sub package corresponding to the first electronic device 110, and the third electronic device and the cloud 300 both have the first sub package of the application. At this time, the first electronic device 110 can download the second sub package corresponding to the first electronic device 110 from the cloud 300, and can download the first sub package of the application from the cloud 300 and / or the third electronic device. Wherein the first electronic device 110 only downloads the first sub package of the application and the content of the second sub package corresponding to the first electronic device 110 from the cloud 300 can refer to the description of the first electronic device 110 downloading the complete installation package of the application from the cloud 300.

[0250] For example, the first electronic device 110 can download the first sub-packet of the application from the third electronic device, and can simultaneously download the second sub-packet corresponding to the first electronic device 110 from the cloud 300. At this time, when the third electronic device is one, the first electronic device 110 can download the first sub-packet from the one third electronic device. When the third electronic device is a plurality, the first electronic device 110 can determine the third electronic device with the shortest download time, and download the first sub-packet from the third electronic device with the shortest download time. At this time, the download time refers to the time required for the first electronic device 110 to download all the first sub-packets from the third electronic device. At this time, the download time and the download time described later can be determined in the same manner as the determination of the first time, and thus a detailed description thereof will not be given.

[0251] Alternatively, the first electronic device 110 can download the second sub-packet corresponding to the first electronic device 110 from the cloud 300, and can download the first sub-packet of the application from the cloud 300 and the third electronic device in a distributed manner. Specifically, the first electronic device 110 can determine all possible grouping manners of grouping the first sub-packet according to the number of third electronic devices, and can group the first sub-packet according to each grouping manner to obtain each sub-packet group corresponding to each grouping manner. At this time, the number of sub-packet groups corresponding to each grouping manner is s ∈ [2, 1 + n], and n is the number of third electronic devices. For each grouping manner, the first electronic device 110 can determine all possible distributed download manners corresponding to the grouping manner. Then, the first electronic device 110 can determine the download time corresponding to each distributed download manner, and download the application according to the distributed download manner with the shortest download time.

[0252] Similarly, after determining the download time corresponding to the distributed download manner, the first electronic device 110 can acquire the download time required for the first electronic device 110 to directly download the second sub-packet of the application, and the shortest download time required for one second electronic device 120 to download the second sub-packet, and can determine the electronic device that finally downloads the second sub-packet according to the plurality of download times. For example, the first electronic device can determine the electronic device that finally downloads the second sub-packet according to the shortest time among the plurality of download times.

[0253] Referring to the foregoing description, the download time corresponding to the distributed download manner is the maximum value of the time required for the first electronic device 110 to download the partial first sub-packet from the devices involved in the distributed download manner. Since the first electronic device 110 needs to download the second sub-packet corresponding to the first electronic device 110 from the cloud 300, when the distributed download manner involves downloading the first sub-packet from the cloud 300, the time for the first electronic device 110 to download the first sub-packet from the cloud 300 can include the time for the first electronic device 110 to download the second sub-packet corresponding to the first electronic device 110 from the cloud 300 and the time for the first electronic device 110 to download the partial first sub-packet from the cloud 300.

[0254] Referring to the foregoing description, the download time corresponding to the distributed download manner is the maximum value of the time required for the first electronic device 110 to download the partial first sub-packet from the devices involved in the distributed download manner. Since the first electronic device 110 needs to download the second sub-packet corresponding to the first electronic device 110 from the cloud 300, when the distributed download manner involves downloading the first sub-packet from the cloud 300, the time for the first electronic device 110 to download the first sub-packet from the cloud 300 can include the time for the first electronic device 110 to download the second sub-packet corresponding to the first electronic device 110 from the cloud 300 and the time for the first electronic device 110 to download the partial first sub-packet from the cloud 300. Figure 7 Figure 7 An application scenario provided by the embodiment is shown in FIG. 1. Figure 3 In the application scenario, the phone needs to download a call application, the first sub-packet R of the call application can include {R1, R2, R3, R4, R5, R6}, and the phone determines that the smart watch and the tablet computer have both downloaded the call application. That is, the smart watch has the first sub-packet {R1, R2, R3, R4, R5, R6} and the second sub-packet B of the call application, and the tablet computer has the first sub-packet {R1, R2, R3, R4, R5, R6} and the second sub-packet D of the call application.

[0255] At this time, the phone can determine the time TW of downloading the first sub-packet {R1, R2, R3, R4, R5, R6} from the smart watch and the time TP of downloading the first sub-packet {R1, R2, R3, R4, R5, R6} from the tablet computer, assuming that the phone determines TW < TP, as shown in (a) of FIG. 1. Figure 7 The phone can send a first download request to the cloud 300 to request to download the second sub-packet A corresponding to the phone, as shown in (a) of FIG. 1. At the same time, the phone can send a second download request to the smart watch to request to download the first sub-packet {R1, R2, R3, R4, R5, R6}.

[0256] ​Alternatively, the mobile phone can determine all possible grouping manners of grouping the first sub-packets, and group the first sub-packets {R1, R2, R3, R4, R5, R6} according to each grouping manner respectively to obtain each sub-packet group corresponding to each grouping manner. For example, the mobile phone can obtain grouping manner d and grouping manner e according to the manner of dividing the first sub-packets {R1, R2, R3, R4, R5, R6} into two sub-packet groups, and obtain grouping manner f and grouping manner g according to the manner of dividing the first sub-packets {R1, R2, R3, R4, R5, R6} into three sub-packet groups. The sub-packet group corresponding to the grouping manner d can include {R1, R2, R4} and {R3, R5, R6}, the sub-packet group corresponding to the grouping manner e can include {R1, R4, R5, R6} and {R2, R3}, the sub-packet group corresponding to the grouping manner f can include {R1, R2, R3}, {R4, R5} and {R6}, and the sub-packet group corresponding to the grouping manner g can include {R2, R3}, {R1, R5} and {R4, R6}.

[0257] For each grouping manner, the mobile phone can determine all possible distributed downloading manners corresponding to the grouping manner, and determine the downloading time corresponding to each distributed downloading manner. For example, for the grouping manner d, the mobile phone can determine that the first distributed downloading manner can be that the mobile phone downloads the sub-packet group {R1, R2, R4} from the smart watch and simultaneously downloads {R3, R5, R6} from the tablet computer, the second distributed downloading manner can be that the mobile phone downloads {R3, R5, R6} from the smart watch and simultaneously downloads {R1, R2, R4} from the tablet computer, the third distributed downloading manner can be that the mobile phone downloads the sub-packet group {R1, R2, R4} from the cloud and simultaneously downloads {R3, R5, R6} from the smart watch, and the fourth distributed downloading manner can be that the mobile phone downloads {R3, R5, R6} from the cloud and simultaneously downloads {R1, R2, R4} from the tablet computer. The downloading time corresponding to the first distributed downloading manner = max(TW, TP), where TW is the time for the mobile phone to download the first sub-packets {R1, R2, R4} from the smart watch, and TP is the time for the mobile phone to download the first sub-packets {R3, R5, R6} from the tablet computer. The downloading time corresponding to the third distributed downloading manner = max(TC, TW), where TC is the time for the mobile phone to download the first sub-packets {R1, R2, R4} and the second sub-packet A from the cloud, and TW is the time for the mobile phone to download the first sub-packets {R3, R5, R6} from the smart watch. It should be understood that the determination principle of the downloading time corresponding to the second distributed downloading manner is the same as that of the downloading time corresponding to the first distributed downloading manner, and the determination principle of the downloading time corresponding to the fourth distributed downloading manner is the same as that of the downloading time corresponding to the third distributed downloading manner.

[0258] Then, the mobile phone can download the application according to the distributed downloading mode with the shortest downloading time. Assuming that the mobile phone determines that the downloading time corresponding to the distributed downloading mode two is the shortest, at this time, the mobile phone can send a first downloading request to the cloud 300 to request downloading the second sub-package A, and can send a second downloading request to the smart watch to request downloading the first sub-package {R3, R5, R6}, and can send a third downloading request to the tablet computer to request downloading the first sub-package {R1, R2, R4}. Figure 7

[0259] (ii) The installation package downloaded by the third electronic device includes the second sub-package corresponding to the first electronic device 110

[0260] Here, when the third electronic device and the first electronic device 110 are electronic devices of the same type and have the same characteristics, or when the electronic devices download the application, and the entire installation package of the application (i.e., the first sub-package of the application and the second sub-package corresponding to each type of electronic device) can be downloaded, if the third electronic device exists, it indicates that the third electronic device and the cloud 300 both have the first sub-package of the application and the second sub-package corresponding to the first electronic device 110. At this time, the first electronic device 110 can download the first sub-package of the application from the cloud 300 and / or the third electronic device, and can download the second sub-package corresponding to the first electronic device 110 from the cloud 300 and / or the third electronic device.

[0261] Here, the first electronic device 110 downloads the first sub-package of the application from the cloud 300 or the third electronic device, and downloads the second sub-package corresponding to the first electronic device 110 from the cloud 300 and the third electronic device, and the first electronic device 110 downloads the first sub-package of the application from the cloud 300 and the third electronic device, and downloads the second sub-package corresponding to the first electronic device 110 from the cloud 300 or the third electronic device. The principle is basically the same as the principle that the first electronic device 110 downloads the second sub-package corresponding to the first electronic device 110 from the cloud 300, and downloads the first sub-package of the application from the cloud 300 and the third electronic device, and the specific content can be referred to the foregoing description.

[0262] The process that the first electronic device 110 downloads the second sub-package corresponding to the first electronic device 110 from the cloud 300 and the third electronic device, and downloads the first sub-package of the application from the cloud 300 and the third electronic device will be exemplarily described below in combination with a specific application scenario.

[0263] Please refer to Figure 8 , Figure 8 application scenario provided by the embodiment is shown Figure 4 ​In this application scenario, the phone needs to download a call application, a first sub-package R of the call application can include {R1, R2, R3, R4, R5, R6}, a second sub-package corresponding to the phone can include {A1, A2, A3, A4}, and the phone determines that the smart watch, the tablet computer, and the smart large screen have all downloaded the call application, that is, the smart watch, the tablet computer, and the smart large screen all have the first sub-package {R1, R2, R3, R4, R5, R6} and the second sub-package {A1, A2, A3, A4} of the call application.

[0264] At this time, the phone can determine all possible grouping manners of grouping all sub-packages {R1, R2, R3, R4, R5, R6, A1, A2, A3, A4} of the call application, and can group all sub-packages {R1, R2, R3, R4, R5, R6, A1, A2, A3, A4} of the application according to each grouping manner respectively to obtain each sub-package group corresponding to each grouping manner.

[0265] For example, the phone can obtain grouping manner F1 and first grouping manner F2 according to a manner of dividing all sub-packages {R1, R2, R3, R4, R5, R6, A1, A2, A3, A4} into two sub-package groups, and so on, can obtain grouping manner F3 and grouping manner F4 according to a manner of dividing all sub-packages {R1, R2, R3, R4, R5, R6, A1, A2, A3, A4} into three sub-package groups, and so on, and can obtain grouping manner F5 and grouping manner F6 according to a manner of dividing all sub-packages {R1, R2, R3, R4, R5, R6, A1, A2, A3, A4} into four sub-package groups, and so on. It is assumed that the sub-package group corresponding to the grouping manner F1 can include {R1, R2, R3, A1, A2} and {R4, R5, R6, A3, A4}, the sub-package group corresponding to the grouping manner F2 can include {R1, R2, R3, R4} and {R5, R6, A1, A2, A3, A4}, the sub-package group corresponding to the grouping manner F3 can include {R1, R2, A1, A2}, {R3, R4, A3}, and {R5, R6, A4}, the sub-package group corresponding to the grouping manner F4 can include {R1, R2, R3}, {R4, R5, R6}, and {A1, A2, A3, A4}, the sub-package group corresponding to the grouping manner F5 can include {R1, R2, A2}, {R3, R4}, {R5, R6}, and {A1, A3, A4}, and the sub-package group corresponding to the grouping manner F6 includes {R1, R2, R3}, {R4, R5, R6}, {A1, A2}, and {A3, A4}.

[0266] For each grouping manner, the first electronic device 110 can determine all possible distributed downloading manners corresponding to the grouping manner, and determine the downloading time corresponding to each distributed downloading manner. For example, for the grouping manner F6, the mobile phone can determine that the distributed downloading manner one can be: the mobile phone downloads {R1, R2, R3} from the cloud, downloads {R4, R5, R6} from the smart watch, downloads {A1, A2} from the tablet computer, and downloads {A3, A4} from the smart large screen; the distributed downloading manner two can be: the mobile phone downloads {R1, R2, R3} from the smart watch, downloads {R4, R5, R6} from the tablet computer, downloads {A1, A2} from the cloud, and downloads {A3, A4} from the smart large screen; the distributed downloading manner three can be: the mobile phone downloads {R1, R2, R3} from the cloud, downloads {R4, R5, R6} from the tablet computer, downloads {A1, A2} from the smart large screen, and downloads {A3, A4} from the smart watch; the distributed downloading manner four can be: the mobile phone downloads {R1, R2, R3} from the smart large screen, downloads {R4, R5, R6} from the cloud, downloads {A1, A2} from the tablet computer, and downloads {A3, A4} from the smart watch, and so on. Wherein, the downloading time corresponding to the distributed downloading manner one = max(TC, TW, TP, TS), wherein TC is the time for the mobile phone to download {R1, R2, R3} from the cloud, TW is the time for the mobile phone to download {R4, R5, R6} from the smart watch, TP is the time for the mobile phone to download {A1, A2} from the tablet computer, and TS is the time for the mobile phone to download {A3, A4} from the smart large screen. It should be understood that the determination of the downloading time corresponding to the distributed downloading manners two, three, and four is similar.

[0267] Then, the mobile phone can download the application according to the distributed downloading manner with the shortest downloading time. Assuming that the mobile phone determines that the distributed downloading manner four corresponds to the shortest downloading time, at this time, as shown in FIG. 6, the mobile phone can send a first downloading request to the smart large screen to request to download {R1, R2, R3}. Meanwhile, the mobile phone can send a second downloading request to the cloud 300 to request to download {R4, R5, R6}, a third downloading request to the tablet computer to request to download {A1, A2}, and a fourth downloading request to the smart watch to request to download {A3, A4}. Figure 8

[0268] It should be noted that after the first electronic device 110 determines the downloading time corresponding to the distributed downloading manner, the first electronic device 110 can obtain the downloading time required for the first electronic device 110 to directly download the entire installation package of the application from the cloud 300 or any third electronic device, and can determine the downloading manner of the final downloading according to the multiple downloading times. For example, the first electronic device can determine the downloading manner of the final downloading according to the shortest time in the multiple downloading times.

[0269] ​It can be understood that when the third electronic device exists, the first electronic device 110 can also instruct the at least one second electronic device 120 to download the first sub-package and / or the second sub-package of the application from the cloud 300 and / or the third electronic device, and send the downloaded first sub-package and / or second sub-package to the first electronic device 110. Wherein, the content that the first electronic device 110 instructs the second electronic device 120 to download the first sub-package and / or the second sub-package of the application from the cloud 300 and / or the third electronic device can refer to the foregoing description, and will not be described here.

[0270] The application download and installation method provided by the embodiment will be exemplarily described below. Please refer to Figure 9 , Figure 9 The application sub-packet download method provided by the embodiment is shown in a schematic flow chart. As shown in Figure 9 When the first electronic device 110 needs to download an application, the first electronic device 110 can send a first query request to the cloud 300 to request to query the sub-package information of the application, for example, the first electronic device 110 can call the pagequery interface to send the first query request to the cloud 300. After receiving the first query request, the cloud 300 can query the sub-package information of the application, and return the queried sub-package information to the first electronic device 110 in an array form (i.e. {sub-package 1, sub-package 2, …, sub-package n}). At the same time, the first electronic device 110 can send a second query request to each second electronic device 120 to request to query the related information of the application in each second electronic device 120, for example, the first electronic device 110 can call the queryDevicesFa interface to send the second query request to each second electronic device 120. After receiving the second query request, each second electronic device 120 can query the related information of the application in each second electronic device, and return the query result to the first electronic device 110. Subsequently, the first electronic device 110 can determine the download strategy of the application according to the query result returned by each second electronic device 120 and the sub-package information returned by the cloud 300, and perform the download of the application according to the download strategy. Wherein, the download strategy indicates how the first electronic device 110 downloads the first sub-package of the application and how the first electronic device 110 downloads the second sub-package corresponding to the first electronic device 110. For example, the download strategy can be that the first electronic device 110 downloads the second sub-package corresponding to the first electronic device 110 from the cloud 300, and simultaneously downloads the first sub-package of the application from the second electronic device 120.

[0271] For example, the first electronic device 110 is provided with a service center, which can include a service management module, an end-side data management module, and a policy calling module. When the first electronic device 110 needs to download an application, the service management module can call a pagequery interface to send a first query request to the cloud 300 and receive subpackage information returned by the cloud 300. Meanwhile, the service management module can also call a queryDevicesFa interface in the end-side data management module to send a second query request to each second electronic device 120. The end-side data management module can store the query results returned by each second electronic device 120. In addition, the service management module can instruct the policy calling module to determine the download strategy of the application according to the query results in the end-side data management module and the subpackage information in the service management module, and send the determined download strategy to the service management module. The service management module can also download the application according to the download strategy of the application.

[0272] In this embodiment, the structures of the first subpackage and the second subpackage can both be a package header, a serial number, and specific content. The package header records the type (e.g., first subpackage or second subpackage) and the application to which the subpackage belongs. Therefore, after the first electronic device 110 obtains each subpackage, it can find all subpackages corresponding to the application according to the information in the package header, and splice all subpackages of the application according to the serial numbers of the subpackages, thereby obtaining the complete installation package of the application.

[0273] In this embodiment, the installation package of the application is split into multiple subpackages, and the cloud and the electronic device that has downloaded the application can store the subpackages of the application. Therefore, when the first electronic device needs to download the application, the first electronic device can download each subpackage of the application from the cloud and the electronic device that has downloaded the application at the same time, so as to reduce the time for the first electronic device to download the installation package of the application, improve the speed of the first electronic device to download the application, and improve the user experience.

[0274] Embodiment Two

[0275] The application aging method provided in Embodiment Two of the present application will be described in detail below in combination with a specific application scenario. As in Embodiment One, in this embodiment, the installation package of any application can include a first subpackage and second subpackages corresponding to each type of electronic device.

[0276] In this embodiment, when a certain application in a certain electronic device (hereinafter referred to as a first electronic device) meets a preset aging condition, the first electronic device can determine the download time corresponding to each subpackage of the application respectively, and age the application according to the download time corresponding to each subpackage. The preset aging condition can be that the continuous time length not used reaches a preset time threshold (for example, 30 days), or an instruction of deleting or uninstalling is received. The subpackage of the application can include a first subpackage of the application and a second subpackage corresponding to the first electronic device. The download time corresponding to any subpackage is the time required for the first electronic device to download the subpackage again.

[0277] For any subpackage A i , the first electronic device can determine whether each second electronic device has subpackage A i . The second electronic device is an electronic device in communication connection with the first electronic device. When there is a second electronic device having subpackage A i , the first electronic device can determine the first time of downloading subpackage A i from the cloud, and respectively determine each second time of downloading subpackage A i from the second electronic device (for the convenience of description, the second electronic device having subpackage A i will be referred to as the third electronic device below) having subpackage A i , and can determine the minimum value of the first time and each second time as the download time Value(A i ) corresponding to subpackage A i . Specifically, the first electronic device can determine the first time and the second time according to the following formula:

[0278] T i,c = t c,delay + max(sizeof(A i ) – volume c , 0) / v c,max ;

[0279] T i,j = t j,delay + max(sizeof(A i ) – volume j , 0) / v j,max ;

[0280] wherein T i,c is the first time of downloading subpackage A i from the cloud, t c,delay is the time required for the first electronic device to reach a stable speed v i from downloading subpackage A c,max from the cloud, volume c is the size of subpackage A c,delayTime, the size of the sub-package downloaded by the first electronic device from the cloud, sizeof(A i ) is the size of the sub-package A i , T i,j is the second time of downloading the sub-package A i from the jth third electronic device, t j,delay is the time required for the first electronic device to reach the stable speed v j,max in the sub-package A i , volume j is the size of the sub-package downloaded by the first electronic device from the jth third electronic device at t j,delay , 1≤j≤L, L is the number of third electronic devices.

[0281] When each second electronic device does not have the sub-package A i , it indicates that only the cloud storage has the sub-package A i , that is, the first electronic device can only download the sub-package A i from the cloud. At this time, the first electronic device can determine the first time of downloading the sub-package A i from the cloud as the download time Value(A i ) corresponding to the sub-package A i , that is, Value(A i )=T i,c =t c,delay +max(sizeof(A i )–volume c , 0) / v c,max .

[0282] In this embodiment, after determining the download time corresponding to each sub-package, the first electronic device can retain the M sub-packages with the longest download time, and age other sub-packages of the application, that is, retain some sub-packages with slower download speed, so that when the application is started again, the download time of the application can be reduced. Wherein, M can be set by the user, or can be determined by the first electronic device according to the actual situation.

[0283] In a possible implementation, the first electronic device retaining a certain sub-package can be retaining the sub-package for a preset time. That is, after determining the download time corresponding to each sub-package, the first electronic device can retain the M sub-packages with the longest download time, and age other sub-packages of the application. Subsequently, after the preset time, if the first electronic device still uses the application, the first electronic device can age one or more of the retained M sub-packages. Wherein, the preset time can be set by the technician according to the actual scene.

[0284] For example, the first electronic device can arrange the sub-packs in descending order according to the download times of the sub-packs, to obtain an arranged array. Then, the first electronic device can determine M according to the maximum amount of data allowed to remain in the first electronic device when uninstalling the application and the arranged array, specifically:

[0285]

[0286] wherein, maxSize is the maximum amount of data allowed to remain in the first electronic device when uninstalling the application, is the size of the lth sub-pack in the arranged array, and N is the number of sub-packs. The maximum amount of data allowed to remain in the first electronic device when uninstalling the application can be set by the user or set by default by the first electronic device, which is not limited in the embodiment.

[0287] It can be understood that when M does not exist, that is, when all sub-packs of the application are greater than maxSize, the first electronic device can age all sub-packs of the application.

[0288] Referring to Figure 10 , Figure 10 application scenario of the application aging method provided in the embodiment is shown. The application scenario can include a mobile phone 1010, a smart watch 1020, a tablet computer 1030, and a cloud 1040. The mobile phone 1010 is in communication connection with the smart watch 1020, the tablet computer 1030, and the cloud 1040 through a communication network. The mobile phone 1010 downloads a call application, which can include first sub-packs {R1, R2, R3, R4} and second sub-packs {A1, A2, A3} corresponding to the mobile phone 1010.

[0289] When the mobile phone 1010 determines that the call application has not been used continuously for 30 days, the mobile phone 1010 can determine that the call application meets the preset aging condition, that is, it is determined that the call application needs to be aged. At this time, the mobile phone 1010 can determine that the download time T R1 of the first sub-pack R1, the download time T R2 of the first sub-pack R2, the download time T R3 of the first sub-pack R3, the download time T R4 of the first sub-pack R4, the download time T A1 of the second sub-pack A1, the download time T A2 of the second sub-pack A2, and the download time T A3 of the second sub-pack A3. It is assumed that the mobile phone 1010 determines that the smart watch 1020 and the tablet computer 1030 both have the first sub-pack R1, the first sub-pack R2, and the first sub-pack R3, the smart watch 1020 has the first sub-pack R4 and the second sub-pack A1.

[0290] For the first sub-package R1, the phone 1010 can obtain the time TC R1 , TI R1 , and TP R1 to download the first sub-package R1 from the cloud 1040, the smart watch 1020, and the tablet 1030 respectively. Assuming that the phone 1010 determines that TC R1 < TP R1 < TI R1 , the phone 1010 can determine that the download time T R1 for the first sub-package R1 is TC R1 .

[0291] For the first sub-package R4, the phone 1010 can obtain the time TC R4 and TI R4 to download the first sub-package R4 from the cloud 300 and the smart watch 1020 respectively. Assuming that the phone determines that TI R4 < TC R4 , the phone 1010 can determine that the download time T R4 for the first sub-package R4 is TI R4 .

[0292] For the second sub-package A2, the phone 1010 can obtain the time TC A2 to download the second sub-package A2 from the cloud 300, and can determine that the download time T A2 for the second sub-package A2 is TC A2 .

[0293] Assuming that the phone 1010 determines that T R1 > T R3 > T A1 > T R2 > T A3 > T A2 > T R4 , and M = 3, the phone 1010 can age only the first sub-package R2, the first sub-package R4, the second sub-package A2, and the second sub-package A3 to retain the first sub-package R1, the first sub-package R3, and the second sub-package A1.

[0294] In this embodiment, the installation package of the application is split into multiple sub-packages. When the first electronic device needs to age the application, the first electronic device can determine the time for downloading each sub-package of the application again, age part of the sub-packages of the application according to the download time of each sub-package, and retain part of the sub-packages of the application. When the application needs to be used next time, the first electronic device only needs to download part of the sub-packages of the application, instead of the entire installation package of the application, so that the download time of the application can be reduced, the speed of restarting the application can be improved, and the user experience can be improved.

[0295] It should be understood that the size of the serial number of each step in the above embodiment does not mean the order of execution. The execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0296] Corresponding to the application download and installation method described in Embodiment One, the present embodiment also provides an application download and installation device. Each module of the application download and installation device can correspondingly implement each step of the application download and installation method in Embodiment One.

[0297] Corresponding to the application aging method described in Embodiment Two, the present embodiment also provides an application aging device. Each module of the application aging device can correspondingly implement each step of the application aging method in Embodiment Two.

[0298] It should be noted that the information interaction, execution process, and the like between the above devices / units are based on the same concept as the method embodiments of the present application. For specific functions and technical effects brought by them, please refer to the method embodiments part, which will not be described here.

[0299] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above functional units and modules is exemplified. In actual application, the above functions can be completed by different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of software functional unit. In addition, the specific names of each functional unit and module are only for easy distinction, and do not limit the protection scope of the present application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0300] The embodiments of the present application further provide an electronic device, which comprises at least one memory, at least one processor, and a computer program stored in the at least one memory and executable on the at least one processor, and the processor executes the computer program to enable the electronic device to implement the steps in any of the above method embodiments. For example, the structure of the electronic device can be as shown in Figure 1

[0301] The embodiments of the present application further provide a computer readable storage medium, which stores a computer program, and the computer program enables a computer to implement the steps in any of the above method embodiments when the computer program is executed by the computer.

[0302] The embodiments of the present application provide a computer program product, which enables an electronic device to implement the steps in any of the above method embodiments when the computer program product is executed on the electronic device.

[0303] The integrated unit, if implemented in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the present application can implement all or part of the above-mentioned embodiment methods by a computer program to instruct related hardware to complete, and the computer program can be stored in a computer readable storage medium. The computer program can implement the steps of the above-mentioned method embodiments when executed by a processor. The computer program includes computer program code, which can be in the form of source code, object code, executable file or some intermediate form. The computer readable storage medium at least includes any entity or device capable of carrying the computer program code to the device / electronic device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium. For example, U disk, mobile hard disk, magnetic disk or optical disk, etc. In some jurisdictions, according to legislation and patent practice, the computer readable storage medium cannot be an electrical carrier signal and a telecommunication signal.

[0304] In the above embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.

[0305] ​Those skilled in the art can understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0306] In the embodiments provided by the present application, it should be understood that the disclosed apparatus / equipment and method can be implemented in other ways. For example, the apparatus / equipment embodiments described above are merely schematic. The division of the modules or units is merely a logical function division. There can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0307] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e. they can be located in one place, or distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0308] The above-described embodiments are only used to illustrate the technical solutions of the present application, but not limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. An application download installation method characterized by comprising: The method is applied to a first electronic device, and the method comprises: The first electronic device detects a trigger event of downloading a first application, the first application comprising at least a first part and a second part, the first part comprising a first sub-package, and the second part comprising a second sub-package; The first electronic device acquires the first sub-package from a second device and acquires the second sub-package from a third device, the second device being different from the third device, and the second device and the third device being different from the first electronic device; The first electronic device installs the first application according to the first part and the second part.

2. The method of claim 1, wherein, The second device is a second electronic device of a user, and the third device is a third electronic device of the user or a server.

3. The method of claim 2, wherein, The first sub-package acquired by the first electronic device is stored in the second electronic device, or the first sub-package acquired by the first electronic device is acquired by the second electronic device.

4. The method of claim 2, wherein, When the third device is the third electronic device of the user, the second sub-package acquired by the first electronic device is stored in the third electronic device, or the second sub-package acquired by the first electronic device is acquired by the third electronic device.

5. The method of claim 3, wherein, When the third device is the third electronic device of the user, the second sub-package acquired by the first electronic device is stored in the third electronic device, or the second sub-package acquired by the first electronic device is acquired by the third electronic device.

6. The method of claim 1, wherein, The first part further comprises a third sub-package, and the method further comprises: The first electronic device acquires the third sub-package from a fourth device, the fourth device being a fourth electronic device of the user or a server.

7. The method of claim 1, wherein, The second part further comprises a fourth sub-package, and the method further comprises: The first electronic device acquires the fourth sub-package from a fifth device.

8. The method of claim 1, wherein, The first part is a basic part of the first application; the second part is a feature part, and the second part is related to an attribute of the first electronic device; or the first part is a feature part, and the second part is a basic part.

9. The method of claim 1, wherein, Before the first electronic device acquires the first sub-package from the second device and acquires the second sub-package from the third device, the method further comprises: The first electronic device determines a first download time of downloading the first sub-package and a second download time of downloading the second sub-package; The first electronic device determines a download strategy according to the first download time and the second download time, the download strategy comprising that the first electronic device acquires the first sub-package from the second device and acquires the second sub-package from the third device.

10. The method of claim 9, wherein, The first electronic device determines the first download time of downloading the first sub-package, comprising: The first electronic device acquires a size of the first sub-package and a first speed corresponding to the first sub-package, the first speed corresponding to the first sub-package comprising a speed of downloading the first sub-package from a sixth device storing the first sub-package by the first electronic device, or comprising a speed of downloading the first sub-package by a seventh device and a speed of transmitting the first sub-package from the seventh device to the first electronic device; The first electronic device determines a first download time for downloading the first sub-package according to the size of the first sub-package and the first speed.

11. The method according to any one of claims 1 to 10, characterized in that, After the first electronic device installs the first application according to the first part and the second part, the method further comprises: The first electronic device determines a third download time for downloading the first sub-package and a fourth download time for downloading the second sub-package; The first electronic device determines a target sub-package to be aged according to the third download time and the fourth download time, and ages the target sub-package, the target sub-package being the first sub-package or the target sub-package being the second sub-package, the aging of the target sub-package comprising deleting or uninstalling the target sub-package.

12. The method of claim 11, wherein, When the target sub-package is the first sub-package, the first electronic device ages the target sub-package by: The first electronic device ages the first sub-package and retains the second sub-package; When the target sub-package is the second sub-package, the first electronic device ages the target sub-package by: The first electronic device ages the second sub-package and retains the first sub-package.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to enable the electronic device to implement the application download and installation method of any one of claims 1 to 12.

14. A computer-readable storage medium, the computer-readable storage medium storing a computer program, characterized in that, The computer program is executed by a computer to enable the computer to implement the application download and installation method of any one of claims 1 to 12.

Citation Information

Patent Citations

  • Application program downloading method and device

    CN107608722A

  • Application program processing method and device and computer equipment

    CN110166543A