(19)
(11)EP 2 996 366 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
11.03.2020 Bulletin 2020/11

(21)Application number: 14886184.2

(22)Date of filing:  19.03.2014
(51)International Patent Classification (IPC): 
G06F 8/60(2018.01)
G06Q 30/02(2012.01)
(86)International application number:
PCT/CN2014/073696
(87)International publication number:
WO 2015/139232 (24.09.2015 Gazette  2015/38)

(54)

APPLICATION RECOMMENDATION METHOD, SYSTEM AND SERVER

ANWENDUNGSEMPFEHLUNGVERFAHREN, -SYSTEM UND -SERVER

PROCÉDÉ, SYSTÈME ET SERVEUR DE RECOMMANDATION D'APPLICATION


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(43)Date of publication of application:
16.03.2016 Bulletin 2016/11

(73)Proprietor: Huawei Technologies Co., Ltd.
Longgang District Shenzhen, Guangdong 518129 (CN)

(72)Inventor:
  • LIU, Lianxi
    Shenzhen Guangdong 518129 (CN)

(74)Representative: Pfenning, Meinig & Partner mbB 
Patent- und Rechtsanwälte Theresienhöhe 11a
80339 München
80339 München (DE)


(56)References cited: : 
WO-A1-2012/154848
CN-A- 102 662 679
CN-A- 103 412 757
US-A1- 2012 089 918
CN-A- 101 959 179
CN-A- 102 999 588
US-A1- 2011 083 127
US-A1- 2013 326 465
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    TECHNICAL FIELD



    [0001] The present invention relates to the field of communications technologies, and in particular, to an application recommending method and system, and a server.

    BACKGROUND



    [0002] Diversification of terminals is a tough problem that all application developers and distribution channels have to face. For different operating systems and different hardware, considerable workload needs to be taken in migration and adaptation.

    [0003] For a same type of operating system, for example, Android, a large quantity of Android systems of different versions exist on an existing network, and a variety of read-only memories (Read-Only Memory, ROM) customized by different manufacturers and a large quantity of device models also exist. Therefore, it is unlikely that an overall coverage test can be conducted for an Android application. For a same application running on different devices, various compatibility problems usually occur, including an installation failure, a running failure, a failure in using some functions after the application runs, and so on.

    [0004] WO2012154848A1 discloses methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving installation data, the installation data corresponding to one or more applications that can be installed and executed on mobile computing devices, receiving metadata corresponding to each of the one or more applications, for each application: generating a time series based on a number of installs, processing the time series and the metadata, calculating a score, determining that the score is greater than or equal to a threshold score, and in response to the determining, adding the respective application to an index of trending applications, storing the index of trending applications in computer-readable memory, retrieving the index of trending applications, and transmitting indications of one or more applications for display based upon the index of trending applications.

    [0005] US2011083127A1 discloses a system and method for effectively supporting software distribution in an electronic network that includes a software server and a network of client devices. The software server stores software items received from a software provider. The software items include various types of trial software that is provided to device users for temporary evaluation and potential purchase. A recommendation engine of the software server creates recommendation lists to identify optimal candidates from among the stored software items for performing an automatic and transparent software download procedures. The recommendation engine creates the recommendation lists by analyzing selectable software-ranking criteria related to device users of the client devices. The software server then downloads the optimal candidates from the stored software items to respective target devices during the software download procedures.

    SUMMARY



    [0006] Embodiments of the present invention provide an application recommending method and system, and a server, to solve a problem that, in a recommending method provided in the prior art, an application recommended to a terminal user is usually incompatible with a terminal when running on the terminal.

    [0007] The invention is defined by the attached claims. According to a first aspect, an application recommending method is provided, where the method includes:

    receiving data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal;

    obtaining an activity index of each application on terminals of different types according to the first application behavior data; and

    receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal.



    [0008] In a first possible implementation manner, with reference to the first aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0009] In a second possible implementation manner, according to the first possible implementation manner, the obtaining an activity index of each application on terminals of different types according to the first application behavior data includes:

    calculating a sum of application activity degrees of applications on terminals of a particular type; and

    obtaining an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.



    [0010] In a third possible implementation manner, according to the second possible implementation manner, the calculating a sum of application activity degrees of applications on terminals of a particular type includes:

    calculating installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    calculating running duration of each application on each terminal according to stop time and start time; and/or

    calculating activity duration of each application on each terminal according to deactivation time and activation time; and/or

    calculating background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    calculating a quantity of daily activation times of each application on each terminal;

    calculating an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    performing a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0011] In a fourth possible implementation manner, with reference to the first aspect and any one of the first possible manner to the third possible implementation manner, the data further includes second application behavior data collected by the at least one terminal; and before or after the receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal, the method includes:

    obtaining a preference index of each application on terminals of different types according to the second application behavior data; and

    after the receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal, the method further includes:

    generating label information of an activity index and/or a preference index of each application on the first terminal according to an activity index and/or a preference index of each application recommended to the first terminal; and

    sending, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.



    [0012] In a fifth possible implementation manner, according to the fourth possible implementation manner, the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0013] In a sixth possible implementation manner, according to the fourth possible implementation manner or the fifth possible implementation manner, the obtaining a preference index of each application on terminals of different types according to the second application behavior data includes:

    calculating a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    calculating an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    calculating a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0014] According to a second aspect, an application recommending method is provided, where the method includes:

    receiving data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal;

    obtaining an activity index of each application on terminals of different types according to the first application behavior data; and/or obtaining a preference index of each application on terminals of different types according to the second application behavior data; and/or obtaining an activity index and/or a preference index of each application on terminals of different types according to the first application behavior data and/or the second application behavior data;

    querying an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal;

    generating label information of an activity index and/or a preference index of each application on the first terminal according to an activity index and/or a preference index of each application on the terminals that are of the same type with the first terminal; and

    sending the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.



    [0015] In a first possible implementation manner, with reference to the second aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application;
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0016] In a second possible implementation manner, according to the first possible implementation manner, the obtaining an activity index of each application on terminals of different types according to the first application behavior data includes:

    calculating a sum of application activity degrees of applications on terminals of a particular type; and

    obtaining an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and

    the obtaining a preference index of each application on terminals of different types according to the second application behavior data includes:

    calculating a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    calculating an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    calculating a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0017] In a third possible implementation manner, according to the second possible implementation manner, the calculating a sum of application activity degrees of applications on terminals of a particular type includes:

    calculating installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    calculating running duration of each application on each terminal according to stop time and start time; and/or

    calculating activity duration of each application on each terminal according to deactivation time and activation time; and/or

    calculating background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    calculating a quantity of daily activation times of each application on each terminal;

    calculating an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    performing a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0018] According to a third aspect, a server is provided, where the server includes:

    a reported data receiving unit, configured to receive data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal;

    an activity index calculating unit, configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and

    an application recommending unit, configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal.



    [0019] In a first possible implementation manner, with reference to the third aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0020] In a second possible implementation manner, according to the first possible implementation manner, the activity index calculating unit includes:

    an activity degree sum calculating module, configured to calculate a sum of application activity degrees of applications on terminals of a particular type; and

    an activity index calculating module, configured to obtain an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.



    [0021] In a third possible implementation manner, according to the second possible implementation manner, the activity degree sum calculating module includes:

    an installation duration calculating submodule, configured to calculate installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    a running duration calculating submodule, configured to calculate running duration of each application on each terminal according to stop time and start time; and/or

    an activity duration calculating submodule, configured to calculate activity duration of each application on each terminal according to deactivation time and activation time; and/or

    a background running duration calculating submodule, configured to calculate background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    a daily activation times calculating submodule, configured to calculate a quantity of daily activation times of each application on each terminal;

    an application activity degree calculating submodule, configured to calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    an application activity degree sum calculating submodule, configured to perform a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0022] In a fourth possible implementation manner, with reference to the third aspect or any one of the first possible implementation manner to the third possible implementation manner, the data further includes second application behavior data collected by the at least one terminal, and the server further includes:

    a preference index calculating unit, configured to obtain a preference index of each application on terminals of different types according to the second application behavior data; and

    the server further includes:

    a label information generating unit, configured to generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and

    a label information sending unit, configured to send, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.



    [0023] In a fifth possible implementation manner, according to the fourth possible implementation manner, the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0024] In a sixth possible implementation manner, according to the fourth possible implementation manner or the fifth possible implementation manner, the preference index calculating unit includes:

    a flow consumption index calculating module, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    an occupied memory index calculating module, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    a power consumption index calculating module, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0025] According to a fourth aspect, a server is provided, where the server includes:

    a data receiving unit, configured to receive data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal;

    an activity index calculating unit, configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and/or a preference index calculating unit, configured to obtain a preference index of each application on terminals of different types according to the second application behavior data;

    an index querying unit, configured to query an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal;

    a label information generating unit, configured to generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and

    a label information sending unit, configured to send the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.



    [0026] In a first possible implementation manner, with reference to the fourth aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application;
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0027] In a second possible implementation manner, according to the first possible implementation manner, the activity index calculating unit includes:

    an activity degree sum calculating module, configured to calculate a sum of application activity degrees of applications on terminals of a particular type; and

    an activity index calculating module, configured to obtain an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and

    the preference index calculating unit includes:

    a flow consumption index calculating submodule, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    an occupied memory index calculating submodule, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    a power consumption index calculating submodule, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0028] In a third possible implementation manner, according to the second possible implementation manner, the activity degree sum calculating module includes:

    an installation duration calculating submodule, configured to calculate installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    a running duration calculating submodule, configured to calculate running duration of each application on each terminal according to stop time and start time; and/or

    an activity duration calculating submodule, configured to calculate activity duration of each application on each terminal according to deactivation time and activation time; and/or

    a background running duration calculating submodule, configured to calculate background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    a daily activation times calculating submodule, configured to calculate a quantity of daily activation times of each application on each terminal;

    an application activity degree calculating submodule, configured to calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    an application activity degree sum calculating submodule, configured to perform a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0029] According to a fifth aspect, a server is provided, where the server includes:

    an interface, configured to receive data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; and

    a processor, configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; where:
    the interface is further configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal.



    [0030] In a first possible implementation manner, with reference to the fifth aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0031] In a second possible implementation manner, according to the first possible implementation manner, the processor first calculates a sum of application activity degrees of applications on terminals of a particular type, and then obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.

    [0032] In a third possible implementation manner, according to the second possible implementation manner, the processor calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or
    the processor calculates running duration of each application on each terminal according to stop time and start time; and/or
    the processor calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or
    the processor calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or
    the processor calculates a quantity of daily activation times of each application on each terminal;
    the processor calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and
    the processor performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0033] In a fourth possible implementation manner, with reference to the fifth aspect or any one of the first possible manner to the third possible implementation manner, the data further includes second application behavior data collected by the at least one terminal, and the processor is further configured to obtain a preference index of each application on terminals of different types according to the second application behavior data; and
    the processor is further configured to first generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and then send, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.

    [0034] In a fifth possible implementation manner, according to the fourth possible implementation manner, the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0035] In a sixth possible implementation manner, according to the fourth possible implementation manner or the fifth possible implementation manner, the processor calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or
    the processor calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or
    the processor calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0036] According to a sixth aspect, a server is provided, where the server includes:

    an interface, configured to receive data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; and

    a processor, configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and/or configured to obtain a preference index of each application on terminals of different types according to the second application behavior data; where:

    the processor is further configured to query an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal; and generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and

    the interface is further configured to send the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.



    [0037] In a first possible implementation manner, with reference to the six aspect, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application;
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0038] In a second possible implementation manner, according to the first possible implementation manner, the processor first calculates a sum of application activity degrees of applications on terminals of a particular type, and then obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and/or
    the processor calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or
    the processor calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or
    the processor calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0039] In a third possible implementation manner, according to the second possible implementation manner, the processor calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or
    the processor calculates running duration of each application on each terminal according to stop time and start time; and/or
    the processor calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or
    the processor calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or
    the processor calculates a quantity of daily activation times of each application on each terminal;
    the processor calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and
    the processor performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0040] According to a seventh aspect, an application recommending system is provided, where the system includes at least one terminal, the system further includes the foregoing server, where the server is connected to each terminal.

    [0041] It can be seen from the foregoing solutions that, in the application recommending method provided in the embodiments of the present invention, an application recommended to a terminal is an application with a high activity index when running on this type of terminals, and therefore the application recommended to the terminal has relatively good compatibility for the terminal.

    BRIEF DESCRIPTION OF DRAWINGS



    [0042] To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments or the prior art. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

    FIG. 1 is an implementation flowchart of an application recommending method according to Embodiment 1 ;

    FIG. 2 is an implementation flowchart of an application recommending method according to Embodiment 2 of the present invention;

    FIG. 3 is an implementation flowchart of an application recommending method according to Embodiment 3 of the present invention;

    FIG. 4 is a structural block diagram of a server according to Embodiment 4 of the present invention;

    FIG. 5 is a structural block diagram of a server according to Embodiment 5 of the present invention;

    FIG. 6 is a structural block diagram of a server according to Embodiment 6 of the present invention;

    FIG. 7 is a structural block diagram of a server according to Embodiment 7 of the present invention;

    FIG. 8 is a structural block diagram of a server according to Embodiment 8 of the present invention;

    FIG. 9 is a structural block diagram of a server according to Embodiment 9 of the present invention; and

    FIG. 10 is a structural block diagram of an application recommending system according to Embodiment 10 of the present invention.


    DESCRIPTION OF EMBODIMENTS



    [0043] To make the objectives, technical solutions, and advantages of the present invention clearer and more comprehensible, the following further describes the present invention in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely used to explain the present invention but are not intended to limit the present invention.

    [0044] The terms used in the embodiments of the present invention are merely for the purpose of illustrating specific embodiments, and are not intended to limit the present invention. The terms "a", "said" and "the" of singular forms used in the embodiments and the appended claims of the present invention are also intended to include plural forms, unless otherwise specified in the context clearly. It should also be understood that the term "and/or" used herein indicates and includes any or all possible combinations of one or more associated listed items.

    [0045] It should be understood that terms such as "first" and "second" may be used in the embodiments of the present invention to describe a variety of terminals and application behavior data, but these terminals and application behavior data should not be limited by these terms. These terms are merely used to distinguish the terminals.

    [0046] To describe the technical solutions of the present invention, the following provides description by using specific embodiments.

    [0047] FIG. 1 shows an implementation process of an application recommending method according to Embodiment 1 of the present invention. The following provides a detailed description from a perspective of a server.

    [0048] Step S101: A server receives data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0049] In this embodiment of the present invention, each terminal is responsible for collecting the static data and the first application behavior data.

    [0050] The static data is data that describes static information of a terminal, terminals of different types can be distinguished by using the static data, the static data may include at least one piece of the following data: a terminal model, a quantity of CPU cores, a total memory size, an available memory size, a resolution, and an OS version number (Android version number), and different user groups can be distinguished by using the static data.

    [0051] Application behavior data is data that describes behavior information of each application running on a terminal. The first application behavior data includes at least one piece of the following data: installation time, start time, activation time (time for switching from background to foreground when an application runs on the background), deactivation time (time for switching from foreground to background when an application runs on the foreground), stop time, and uninstallation time that are of an application, and so on.

    [0052] Step S102: The server obtains an activity index of each application on terminals of different types according to the first application behavior data.

    [0053] In this embodiment of the present invention, the server calculates the following parameters for a terminal type to obtain an activity index of each application on terminals of a particular type. Terminals mentioned below indicate terminals of a particular type.

    [0054] Specifically, calculating an activity index of each application on terminals of a particular type is implemented in the following two steps:

    Step 1: Calculate a sum of application activity degrees of applications on terminals of a particular type to obtain ∑B, where "∑" is a sum operator.

    Step 2: Obtain an activity index A of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.



    [0055] Specifically, the total quantity Su of users is calculated, and Su = ∑(Users), where the total quantity Su of users is a quantity of terminals included in the terminals of a particular type.

    [0056] The activity index A of each application on the terminals of a particular type can be obtained through calculation by using a formula A = ∑B/ Su.

    [0057] Specifically, the sum of the application activity degrees of applications on a particular type of terminals can be calculated by using a possible combination of the following one or more steps:
    Step 11: Calculate installation duration of each application on each terminal according to uninstallation time and installation time.

    [0058] Specifically,

    where "-" is a minus sign.

    [0059] Step 12: Calculate running duration of each application on each terminal according to stop time and start time.

    [0060] Specifically,



    [0061] Step 13: Calculate activity duration of each application on each terminal according to deactivation time and activation time.

    [0062] Specifically,



    [0063] Step 14: Calculate background running duration of each application on each terminal according to the running duration and the activity duration.

    [0064] Specifically,



    [0065] Step 15: Calculate a quantity of daily activation times of each application on each terminal.

    [0066] Specifically, Daily activation times Csum = Sum or times measured on a daily basis.

    [0067] Step 16: Calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times.

    [0068] Specifically, Application activity degree B = a1 Csum + a2 Tactive + a3 Trun + a4 Tinst + a5 Tback, where a1 + a2 + a3 + a4 + a5 = 1.

    [0069] Step 17. Perform a summation on the application activity degrees of the applications on the terminals to obtain the application activity degrees of applications on the terminals of a particular type.

    [0070] Specifically, a summation is performed on the application activity degrees of applications on the terminals to obtain ∑B.

    [0071] The server can determine a terminal type according to the static data reported by the terminal, and use all terminals reporting same static data as terminals of one type.

    [0072] Step S103: The server receives an application list request sent by a first terminal, queries, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommends an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0073] In this embodiment of the present invention, after obtaining the activity index of each application on the terminals of different types through calculation, the server stores the activity index of each application on the terminals of different types.

    [0074] The first terminal sends the application list request to the server, to request the server to send a list of recommended applications to the first terminal, where the application list request includes static data of the first terminal, and the static data is used to identify a type of the first terminal.

    [0075] After receiving the application list request sent by the first terminal, the server first acquires a type of the first terminal according to the application list request, acquires, according to the type of the first terminal, an activity index of each application on terminals that are of the same type with the first terminal, selects applications with an activity index greater than a preset first activity index threshold, and then sends an application list formed by these applications to the first terminal. After receiving the application list, the first terminal may browse and download the applications in the application list.

    [0076] In the application recommending method provided in this embodiment of the present invention, an application recommended to a first terminal by a server is an application with a high activity index, where the application with a high activity index represents, to some extent, that the application can run smoothly on the first terminal, and the application recommended to the first terminal by the server has relatively good compatibility for the first terminal.

    [0077] FIG. 2 shows an implementation process of an application recommending method according to Embodiment 2 of the present invention. The following provides a detailed description from a perspective of a server.

    [0078] Step S201: A server receives data reported by at least one terminal, where the data includes static data, first application behavior data, and second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0079] In this embodiment of the present invention, application behavior data is data that describes behavior information of each application running on a terminal. The first application behavior data includes at least one piece of the following data: installation time, start time, activation time (time for switching from background to foreground when an application runs on the background), deactivation time (time for switching from foreground to background when an application runs on the foreground), stop time, and uninstallation time that are of an application, and so on.

    [0080] The second application behavior data includes at least one piece of the following data: occupied memory for each running of an application (occupied memory after activation and occupied memory after deactivation), flow consumption for each running of an application, and power consumption for each running of an application.

    [0081] That a terminal reports both first application behavior data and second application behavior data to a server is used as an example below to describe in detail a process of reporting data by the terminal to the server.

    [0082] An application manager App manager (a framework in an Android system), an application APP, an agent Agent, and an application store client Appstore Client are included in the terminal, as shown in FIG. 2.

    [0083] The App manager is responsible for starting, stopping, activating, and deactivating an application APP, and so on; in addition, the App manager can collect flow, power consumption, an occupied memory status, and so on when the APP is running.

    [0084] The APP is an actual application that runs on the terminal. Generally, multiple APPs are installed on one terminal.

    [0085] The Agent is responsible for collecting and reporting data.

    [0086] The Appstore Client is an application store client (or a web page), and is responsible for requesting an application list from a server and displaying the application list on the terminal, so that a user can browse, download, and install an application.

    [0087] When an application-related operation is executed, the App manager notifies the Agent. In addition, the Agent can acquire information, such as occupied memory, flow consumption, and power consumption of a specified application, from the App manager. After collecting the static data, the first application behavior data, and the second application behavior data, the Agent first stores the data locally, and when a data amount of the data reaches a specific size or after a storage time of the data exceeds a specific time, sends the data to the server.

    [0088] Step S202: The server obtains an activity index of each application on terminals of different types according to the first application behavior data.

    [0089] In this embodiment of the present invention, the server obtains the activity index of each application on the terminals of different types according to the first application behavior data. For details about a process of calculating the activity index, reference is made to the description in Embodiment 1, and details are not described herein again.

    [0090] Step S203: The server separately obtains a preference index of each application on terminals of different types according to the second application behavior data.

    [0091] In this embodiment of the present invention, the server calculates the preference index of each application on the terminals of different types according to the second application behavior data, where the preference index includes at least one piece of the following data: a flow consumption index, an occupied memory index, and a power consumption index.

    [0092] Calculating the preference index of each application on the terminals of different types according to the second application behavior data includes the following steps:
    The server calculates a flow consumption index of the application according to flow consumption e for each running of the application and a quantity of flow reporting times Tflow. Specifically, Flow consumption index E = Avg(e) / Tflow, where "Avg" is a function sign for calculating an average value.

    [0093] The server calculates a mermoy usage index of the application according to occupied memory m for each running of the application and a quantity of memory reporting times Tmemory. Specifically, Occupied memory index M = Avg (m) / Tmemory.

    [0094] The server calculates a power consumption index of the application according to power consumption e for each running of the application and a quantity of power reporting times Te. Specifically, Power consumption index M = Avg (e) / Te.

    [0095] It should be noted that step S203 may be performed before step S202, or may be performed after step S204.

    [0096] Step S204: The server receives an application list request sent by a first terminal, queries, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommends an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0097] In this embodiment of the present invention, after obtaining the activity index of each application on the terminals of different types through calculation, the server stores the activity index of each application on the terminals of different types.

    [0098] The first terminal sends the application list request to the server, to request the server to send a list of recommended applications to the first terminal, where the application list request includes static data of the first terminal, and the static data is used to identify a type of the first terminal.

    [0099] After receiving the application list request sent by the first terminal, the server first acquires a type of the first terminal according to the application list request, acquires, according to the type of the first terminal, an activity index of each application on terminals that are of the same type with the first terminal, selects applications with an activity index greater than a preset first activity index threshold, and then sends an application list formed by these applications to the first terminal. After receiving the application list, the first terminal may browse and download the applications in the application list.

    [0100] Step S205: The server generates label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generates label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal.

    [0101] In this embodiment of the present invention, the server divides, according to a preset second activity index threshold and a preset third activity index threshold, activity indexes of applications recommended to the first terminal into three ranges . For an activity index greater than the third activity index threshold, the server sets label information corresponding to the activity index to high; for an activity index less than the third activity index threshold and greater than the second activity index threshold, the server sets label information corresponding to the activity index to medium; and for an activity index less than the second activity index threshold, the server sets label information corresponding to the activity index to low. The third activity index threshold is greater than the second activity index threshold, and the second activity index threshold is greater than the first activity index threshold.

    [0102] The setting of the label information of the occupied memory index, the flow consumption index, and the power consumption index that are in the preference index is the same as that of setting the label information of the activity index, and details are not described herein again. The set label information is as follows:

    Application activity index: high, medium, low

    Occupied memory index: high, medium, low

    Flow consumption index: high, medium, low

    Power consumption index: high, medium, low

    Background running: yes, no



    [0103] Step S206: The server sends, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.

    [0104] In this embodiment of the present invention, after generating the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, the server sends, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, the first terminal receives and displays the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, and a user of the first terminal selects, according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, an application required by the user, for download and installation.

    [0105] In conclusion, in the application recommending method provided in this embodiment of the present invention, an application with an activity index greater than a preset first activity index threshold is first recommended to a first terminal, and then label information of an activity index and/or a preference index of each application that is recommended to the first terminal and on the first terminal is calculated, and the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal is sent to the first terminal, so that a user of the first terminal can select, according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, and according to preference of the user, one or more applications for download and installation, thereby actually reflecting a preference requirement of the user.

    [0106] FIG. 3 shows an implementation process of an application recommending method according to Embodiment 3 of the present invention. The following provides a detailed description from a perspective of a server.

    [0107] Step S301: A server receives data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0108] In this embodiment of the present invention, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time (time for switching from background to foreground when an application runs on the background), deactivation time (time for switching from foreground to background when an application runs on the foreground), stop time, and uninstallation time that are of an application, and so on.

    [0109] The second application behavior data includes at least one piece of the following data: occupied memory for each running of an application (occupied memory after activation and occupied memory after deactivation), flow consumption for each running of an application, and power consumption for each running of an application.

    [0110] The data received by the server may include the first application behavior data and the second application behavior data, or may include only one of the first application behavior data and the second application behavior data.

    [0111] Step S302: The server obtains an activity index of each application on terminals of different types according to the first application behavior data; and/or obtains a preference index of each application on terminals of different types according to the second application behavior data.

    [0112] Step S303: The server queries an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal.

    [0113] In this embodiment of the present invention, the server acquires a type of the first terminal, and acquires, according to the type of the first terminal, an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal.

    [0114] Step S304: The server generates label information of an activity index and/or a preference index of each application on the first terminal according to the activity index and/or preference index of each application on the terminals that are of the same type with the first terminal.

    [0115] In this embodiment of the present invention, for details about a process of generating the label information, reference is made to the description in Embodiment 2, and details are not described herein again.

    [0116] Step S305: The server sends the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0117] In this embodiment of the present invention, after generating the label information of the activity index and/or preference index of each application on the first terminal, the server sends the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, and the first terminal displays corresponding label information to the user, thereby facilitating selection, by the user, of an application required by the user.

    [0118] In conclusion, in the application recommending method provided in this embodiment of the present invention, an activity index and/or a preference index of each application on terminals that are of the same type with a first terminal is first obtained through calculation, and then label information of an activity index and/or a preference index of each application on the first terminal is generated, and the label information of the activity index and/or preference index of each application on the first terminal is sent to the first terminal, so that a user of the first terminal can select, according to the label information of the activity index and/or preference index of each application on the first terminal, and according to preference of the user, one or more applications for download and installation, thereby actually reflecting the preference of the user.

    [0119] FIG. 4 shows a structural block diagram of a server according to Embodiment 4 of the present invention. The server is configured to perform the application recommending method according to Embodiment 1. For ease of description, only a part related to this embodiment of the present invention is shown. The server 4 includes: a reported data receiving unit 41, an activity index calculating unit 42, and an application recommending unit 43.

    [0120] The reported data receiving unit 41 is configured to receive data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0121] The activity index calculating unit 42 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data.

    [0122] The application recommending unit 43 is configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0123] Specifically, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0124] Specifically, the activity index calculating unit 42 includes:

    an activity degree sum calculating module, configured to calculate a sum of application activity degrees of applications on terminals of a particular type; and

    an activity index calculating module, configured to obtain an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.



    [0125] Specifically, the activity degree sum calculating module includes:

    an installation duration calculating submodule, configured to calculate installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    a running duration calculating submodule, configured to calculate running duration of each application on each terminal according to stop time and start time; and/or

    an activity duration calculating submodule, configured to calculate activity duration of each application on each terminal according to deactivation time and activation time; and/or

    a background running duration calculating submodule, configured to calculate background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    a daily activation times calculating submodule, configured to calculate a quantity of daily activation times of each application on each terminal;

    an application activity degree calculating submodule, configured to calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    an application activity degree sum calculating submodule, configured to perform a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0126] The server provided in this embodiment of the present invention may be applied to Embodiment 1 of the foregoing corresponding method. For details, reference is made to the description in Embodiment 1, and details are not described herein again.

    [0127] FIG. 5 shows a structural block diagram of a server according to Embodiment 5 of the present invention. The server is configured to perform the application recommending method according to Embodiment 2. For ease of description, only a part related to this embodiment of the present invention is shown. The server 5 includes: a reported data receiving unit 51, an activity index calculating unit 52, a preference index calculating unit 53, an application recommending unit 54, a label information generating unit 55, and a label information sending unit 56.

    [0128] The reported data receiving unit 51 is configured to receive data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; and the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application. The reported data receiving unit 51 further receives second application behavior data collected by at least one terminal, where the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application.

    [0129] The activity index calculating unit 52 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data.

    [0130] The preference index calculating unit 53 is configured to obtain a preference index of each application on terminals of different types according to the second application behavior data, where the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0131] The application recommending unit 54 is configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0132] The label information generating unit 55 is configured to generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal.

    [0133] The label information sending unit 56 is configured to send, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.

    [0134] Specifically, the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0135] Specifically, the preference index calculating unit 53 includes:

    a flow consumption index calculating module, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    an occupied memory index calculating module, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    a power consumption index calculating module, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0136] The server provided in this embodiment of the present invention may be applied to Embodiment 2 of the foregoing corresponding method. For details, reference is made to the description in Embodiment 2, and details are not described herein again.

    [0137] FIG. 6 shows a structural block diagram of a server according to Embodiment 6 of the present invention. The server is configured to perform the application recommending method according to Embodiment 3. For ease of description, only a part related to this embodiment of the present invention is shown. The server 6 includes: a reported data receiving unit 61, an activity index calculating unit 62, and/or a preference index calculating unit 63, an index querying unit 64, a label information generating unit 65, and a label information sending unit 66.

    [0138] The reported data receiving unit 61 is configured to receive data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0139] The activity index calculating unit 62 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and/or the preference index calculating unit 63 is configured to obtain a preference index of each application on terminals of different types according to the second application behavior data.

    [0140] The index querying unit 64 is configured to query an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal.

    [0141] The label information generating unit 65 is configured to generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal.

    [0142] The label information sending unit 66 is configured to send the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0143] Specifically, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application;
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0144] Specifically, the activity index calculating unit 62 includes:

    an activity degree sum calculating module, configured to calculate a sum of application activity degrees of applications on terminals of a particular type; and

    an activity index calculating module, configured to obtain an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and

    the preference index calculating unit 63 includes:

    a flow consumption index calculating submodule, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    an occupied memory index calculating submodule, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    a power consumption index calculating submodule, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.



    [0145] Specifically, the activity degree sum calculating module includes:

    an installation duration calculating submodule, configured to calculate installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    a running duration calculating submodule, configured to calculate running duration of each application on each terminal according to stop time and start time; and/or

    an activity duration calculating submodule, configured to calculate activity duration of each application on each terminal according to deactivation time and activation time; and/or

    a background running duration calculating submodule, configured to calculate background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    a daily activation times calculating submodule, configured to calculate a quantity of daily activation times of each application on each terminal;

    an application activity degree calculating submodule, configured to calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    an application activity degree sum calculating submodule, configured to perform a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.



    [0146] The server provided in this embodiment of the present invention may be applied to Embodiment 3 of the foregoing corresponding method. For details, reference is made to the description in Embodiment 3, and details are not described herein again.

    [0147] FIG. 7 shows a structural block diagram of a server according to Embodiment 7 of the present invention. The server is configured to perform the application recommending method according to Embodiment 1. The server 7 includes: an interface 71 and a processor 72.

    [0148] The interface 71 is configured to receive data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0149] The processor 72 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data.

    [0150] The interface 71 is further configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0151] Specifically, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0152] Specifically, the processor 72 first calculates a sum of application activity degrees of applications on terminals of a particular type, and then obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.

    [0153] Specifically, the processor 72 calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or
    the processor 72 calculates running duration of each application on each terminal according to stop time and start time; and/or
    the processor 72 calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or
    the processor 72 calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or
    the processor 72 calculates a quantity of daily activation times of each application on each terminal;
    the processor 72 calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and
    the processor 72 performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0154] The server provided in this embodiment of the present invention may be applied to Embodiment 1 of the foregoing corresponding method. For details, reference is made to the description in Embodiment 1, and details are not described herein again.

    [0155] FIG. 8 shows a structural block diagram of a server according to Embodiment 8 of the present invention. The server is configured to perform the application recommending method according to Embodiment 2. The server 8 includes: an interface 81 and a processor 82.

    [0156] The interface 81 is configured to receive data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal;
    the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application; and
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application.

    [0157] The processor 82 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and/or configured to obtain a preference index of each application on terminals of different types according to the second application behavior data; where:
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0158] The processor 82 is further configured to first generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and then send, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.

    [0159] Specifically, the processor 82 calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or
    the processor 82 calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or
    the processor calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0160] The server provided in this embodiment of the present invention may be applied to Embodiment 2 of the foregoing corresponding method. For details, reference is made to the description in Embodiment 2, and details are not described herein again.

    [0161] FIG. 9 shows a structural block diagram of a server according to Embodiment 9 of the present invention. The server is configured to perform the application recommending method according to embodiment 3. The server 9 includes: an interface 91 and a processor 92.

    [0162] The interface 91 is configured to receive data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal.

    [0163] The processor 92 is configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and/or configured to obtain a preference index of each application on terminals of different types according to the second application behavior data.

    [0164] The processor 92 is further configured to query an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal; and generate label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal.

    [0165] The interface 91 is further configured to send the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0166] Specifically, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application;
    the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and
    the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0167] Specifically, the processor 92 first calculates a sum of application activity degrees of applications on terminals of a particular type, and then obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and/or
    the processor 92 calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or
    the processor 92 calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or
    the processor 92 calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0168] Specifically, the processor 92 calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or
    the processor 92 calculates running duration of each application on each terminal according to stop time and start time; and/or
    the processor 92 calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or
    the processor 92 calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or
    the processor 92 calculates a quantity of daily activation times of each application on each terminal;
    the processor 92 calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and
    the processor 92 performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0169] FIG. 10 shows a structural block diagram of an application recommending system according to Embodiment 10 of the present invention. The application recommending system 10 includes at least one terminal 101 and further includes a server 102, where the server 102 is connected to each terminal 101. For brevity, one of the terminals 101 is shown in FIG. 10. After the at least one terminal 101 reports application behavior data to the server 102, the server 102 may obtain, through calculation according to the received application behavior data, an activity index of each application on the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal; or may further calculate label information of an activity index and/or a preference index of each application that is recommended to the first terminal and on the first terminal, and send, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal can select, according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal and according to preference of the user, one or more applications for download and installation; or may further after obtaining, through calculation, an activity index and/or a preference index of each application on the first terminal, send label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal can select, according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, and according to preference of the user, one or more applications for download and installation.

    [0170] An embodiment of the invention provides an application recommending method includes: receiving data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; obtaining an activity index of each application on terminals of different types according to the first application behavior data; and/or obtaining a preference index of each application on terminals of different types according to the second application behavior data; and/or obtaining an activity index and/or a preference index of each application on terminals of different types according to the first application behavior data and/or the second application behavior data; querying an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal; generating label information of an activity index and/or a preference index of each application on the first terminal according to an activity index and/or a preference index of each application on the terminals that are of the same type with the first terminal; and sending the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0171] In another embodiment of the invention, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application; the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0172] In another embodiment of the invention, the obtaining an activity index of each application on terminals of different types according to the first application behavior data includes: calculating a sum of application activity degrees of applications on terminals of a particular type; and obtaining an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type; and the obtaining a preference index of each application on terminals of different types according to the second application behavior data includes: calculating a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or calculating an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or calculating a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0173] In another embodiment of the invention, the calculating a sum of application activity degrees of applications on terminals of a particular type includes: calculating installation duration of each application on each terminal according to uninstallation time and installation time; and/or calculating running duration of each application on each terminal according to stop time and start time; and/or calculating activity duration of each application on each terminal according to deactivation time and activation time; and/or calculating background running duration of each application on each terminal according to the running duration and the activity duration; and/or calculating a quantity of daily activation times of each application on each terminal; calculating an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and performing a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0174] An emboidment of the invetion provides a server includes: a data receiving unit receives data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal. An activity index calculating unit obtains an activity index of each application on terminals of different types according to the first application behavior data; and/or a preference index calculating unit, configured to obtain a preference index of each application on terminals of different types according to the second application behavior data. An index querying unit queries an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal. A label information generating unit generates label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generates label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal. And a label information sending unit, sends the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0175] Another embodiment of the invetion, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application. The second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0176] Another embodiment of the invetion, the activity index calculating unit includes: an activity degree sum calculating module calculates a sum of application activity degrees of applications on terminals of a particular type. An activity index calculating module obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type. The preference index calculating unit includes: a flow consumption index calculating submodule, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or an occupied memory index calculating submodule, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or a power consumption index calculating submodule, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0177] Another embodiment of the invention, the activity degree sum calculating module includes: an installation duration calculating submodule calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or a running duration calculating submodule calculates running duration of each application on each terminal according to stop time and start time; and/or an activity duration calculating submodule calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or a background running duration calculating submodule calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or a daily activation times calculating submodule calculates a quantity of daily activation times of each application on each terminal; an application activity degree calculating submodule calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and an application activity degree sum calculating submodule performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0178] An embodiment of the invention provides a server includes: an interface receives data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; and a processor obtains an activity index of each application on terminals of different types according to the first application behavior data. Wherein the interface further receives an application list request sent by a first terminal, queries according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommends an application with an activity index greater than a preset first activity index threshold to the first terminal.

    [0179] In another embodiment of the invention, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application.

    [0180] In another embodiment of the invention, the processor first calculates a sum of application activity degrees of applications on terminals of a particular type, and then obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type.

    [0181] In another embodiment of the invention, the processor calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or the processor calculates running duration of each application on each terminal according to stop time and start time; and/or the processor calculates activity duration of each application on each terminal according to deactivation time and activation time; and/or the processor calculates background running duration of each application on each terminal according to the running duration and the activity duration; and/or the processor calculates a quantity of daily activation times of each application on each terminal; the processor calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and the processor performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0182] In another embodiment of the invention, the data further includes second application behavior data collected by the at least one terminal, and the processor obtains a preference index of each application on terminals of different types according to the second application behavior data. The processor generates label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generates label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and sends, to the first terminal, the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application that is recommended to the first terminal and on the first terminal.

    [0183] In another embodiment of the invention, the second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application; and the preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0184] In another embodiment of the invention, the processor calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or the processor calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or the processor calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0185] An embodiment of the invetion provides a server includes: an interface receives data reported by at least one terminal, where the data includes static data, and first application behavior data and/or second application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; and a processor obtains an activity index of each application on terminals of different types according to the first application behavior data; and/or the processor obtains a preference index of each application on terminals of different types according to the second application behavior data. Wherein the processor queries an activity index and/or a preference index of each application on terminals that are of the same type with the first terminal; and generates label information of an activity index of each application on the first terminal according to an activity index of each application recommended to the first terminal; and/or generates label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal. The interface sends the label information of the activity index and/or preference index of each application on the first terminal to the first terminal, so that a user of the first terminal selects an application according to the label information of the activity index and/or preference index of each application on the first terminal.

    [0186] In another embodiment of the invention, the first application behavior data includes at least one piece of the following data: installation time, start time, activation time, deactivation time, stop time, and uninstallation time that are of an application. The second application behavior data includes at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application. The preference index includes at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index.

    [0187] In another embodiment of the invention, the processor calculates a sum of application activity degrees of applications on terminals of a particular type, and obtains an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees and a total quantity of users of the terminals of a particular type. And/or the processor calculates a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or the processor calculates an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times. And/or the processor calculates a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.

    [0188] In another embodiment of the invention, the processor calculates installation duration of each application on each terminal according to uninstallation time and installation time; and/or the processor calculates running duration of each application on each terminal according to stop time and start time. And/or the processor calculates activity duration of each application on each terminal according to deactivation time and activation time. And/or the processor calculates background running duration of each application on each terminal according to the running duration and the activity duration. And/or the processor calculates a quantity of daily activation times of each application on each terminal. the processor calculates an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times. And the processor performs a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.

    [0189] The foregoing embodiments are merely intended for describing the technical solutions of the present invention, but not for limiting the present invention.


    Claims

    1. An application recommending method, wherein the method comprises:

    receiving (S101) data reported by at least one terminal, wherein the data comprises static data and first application behavior data that are collected by the at least one terminal, wherein the first application behavior data comprises at least one piece of the following data of an application: installation time, start time, activation time, deactivation time, stop time, and uninstallation time, and the static data is used to identify a type of a terminal;

    obtaining (S102) an activity index of each application on terminals of different types according to the first application behavior data; and

    receiving (S103) an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal;

    wherein the obtaining an activity index of each application on terminals of different types according to the first application behavior data comprises:

    calculating a sum of application activity degrees of applications on terminals of a particular type; and

    obtaining an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees divided by a total quantity of users of the terminals of a particular type;

    wherein the calculating a sum of application activity degrees of applications on terminals of a particular type comprises:

    calculating installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    calculating running duration of each application on each terminal according to stop time and start time; and/or

    calculating activity duration of each application on each terminal according to deactivation time and activation time; and/or

    calculating background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    calculating a quantity of daily activation times of each application on each terminal;

    calculating an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    performing a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.


     
    2. The method according to claim 1, wherein the data further comprises second application behavior data collected by the at least one terminal; and before the receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal, the method comprises:

    obtaining (S302) a preference index of each application on terminals of different types according to the second application data, wherein the preference index comprises at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index; and

    after the receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal, the method further comprises:

    generating label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and

    sending (S305), to the first terminal, the label information of the preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the preference index of each application that is recommended to the first terminal and on the first terminal.


     
    3. A server, wherein the server comprises:

    a reported data receiving unit (41), configured to receive data reported by at least one terminal, wherein the data comprises static data and first application behavior data that are collected by the at least one terminal, wherein the first application behavior data comprises at least one piece of the following data of an application: installation time, start time, activation time, deactivation time, stop time, and uninstallation time, and the static data is used to identify a type of a terminal;

    an activity index calculating unit (42), configured to obtain an activity index of each application on terminals of different types according to the first application behavior data; and

    an application recommending unit (43), configured to receive an application list request sent by a first terminal, query, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommend an application with an activity index greater than a preset first activity index threshold to the first terminal;

    wherein the activity index calculating unit comprises:

    an activity degree sum calculating module, configured to calculate a sum of application activity degrees of applications on terminals of a particular type; and

    an activity index calculating module, configured to obtain an activity index of each application on the terminals of a particular type according to the sum of the application activity degrees divided by a total quantity of users of the terminals of a particular type;

    wherein the application activity degree sum calculating module comprises:

    an installation duration calculating submodule, configured to calculate installation duration of each application on each terminal according to uninstallation time and installation time; and/or

    a running duration calculating submodule, configured to calculate running duration of each application on each terminal according to stop time and start time; and/or

    an activity duration calculating submodule, configured to calculate activity duration of each application on each terminal according to deactivation time and activation time; and/or

    a background running duration calculating submodule, configured to calculate background running duration of each application on each terminal according to the running duration and the activity duration; and/or

    a daily activation times calculating submodule, configured to calculate a quantity of daily activation times of each application on each terminal;

    an application activity degree calculating submodule, configured to calculate an application activity degree of each application on each terminal according to a combination of one or more of the following: the installation duration, the running duration, the activity duration, the background running duration, and the quantity of daily activation times; and

    an application activity degree sum calculating submodule, configured to perform a summation on the application activity degrees of the applications on the terminals to obtain the sum of the application activity degrees of applications on the terminals of a particular type.


     
    4. The server according to claim 3, wherein the data further comprises second application behavior data collected by the at least one terminal, and the server further comprises:

    a preference index calculating unit, configured to obtain a preference index of each application on terminals of different types according to the second application data, wherein the preference index comprises at least one piece of the following data: an occupied memory index, a flow consumption index, and a power consumption index; and

    the server further comprises:

    a label information generating unit (55), configured to generate label information of a preference index of each application on the first terminal according to a preference index of each application recommended to the first terminal; and

    a label information sending unit (56), configured to send, to the first terminal, the label information of the preference index of each application that is recommended to the first terminal and on the first terminal, so that a user of the first terminal selects an application according to the label information of the preference index of each application that is recommended to the first terminal and on the first terminal.


     
    5. The server according to claim 4, wherein the second application behavior data comprises at least one piece of the following data: occupied memory for each running of an application, power consumption for each running of an application, and flow consumption for each running of an application.
     
    6. The server according to claim 4 or 5, wherein the preference index calculating unit comprises:

    a flow consumption index calculating module, configured to calculate a flow consumption index of the application according to flow consumption for each running of the application and a quantity of flow reporting times; and/or

    an occupied memory index calculating module, configured to calculate an occupied memory index of the application according to occupied memory for each running of the application and a quantity of occupied memory reporting times; and/or

    a power consumption index calculating module, configured to calculate a power consumption index of the application according to power consumption for each running of the application and a quantity of power consumption reporting times.


     
    7. An application recommending system, wherein the system comprises at least one terminal, and the system further comprises the server according to claims 3 to 6, wherein the server is connected to each terminal.
     


    Ansprüche

    1. Anwendungsempfehlungsverfahren, wobei das Verfahren Folgendes umfasst:

    Empfangen (S101) von Daten, die von mindestens einem Endgerät gemeldet werden, wobei die Daten statische Daten und erste Anwendungsverhaltensdaten umfassen, die von dem mindestens einen Endgerät erfasst werden, wobei die ersten Anwendungsverhaltensdaten mindestens einen Teil der folgenden Daten einer Anwendung umfassen: Installationszeit, Startzeit, Aktivierungszeit, Deaktivierungszeit, Stoppzeit und Deinstallationszeit, und die statischen Daten verwendet werden, um einen Typ eines Endgeräts zu identifizieren;

    Erhalten (S102) eines Aktivitätsindexes von jeder Anwendung an den Endgeräten von verschiedenen Typen gemäß den ersten Anwendungsverhaltensdaten; und

    Empfangen (S103) einer Anwendungslistenanforderung, die von einem ersten Endgerät gesendet wird, durch Abfragen, gemäß der Anwendungslistenanforderung, eines Aktivitätsindexes von jeder Anwendung an den Endgeräten, die von demselben Typ wie das erste Endgerät sind, und Empfehlen einer Anwendung mit einem Aktivitätsindex, der größer ist als ein voreingestellter erster Aktivitätsindexschwellenwert, für das erste Endgerät;

    wobei das Erhalten eines Aktivitätsindexes jeder Anwendung an Endgeräten von verschiedenen Typen gemäß den ersten Anwendungsverhaltensdaten Folgendes umfasst:

    Berechnen einer Summe von Anwendungsaktivitätsgraden von Anwendungen an Endgeräten eines bestimmten Typs; und

    Erhalten eines Aktivitätsindexes von jeder Anwendung an den Endgeräten eines bestimmten Typs gemäß der Summe der Anwendungsaktivitätsgrade, geteilt durch eine Gesamtmenge von Benutzern der Endgeräte eines bestimmten Typs;

    wobei das Berechnen einer Summe von Anwendungsaktivitätsgraden von Anwendungen an Endgeräten eines bestimmten Typs Folgendes umfasst:

    Berechnen der Installationsdauer von jeder Anwendung an jedem Endgerät gemäß der Deinstallationszeit und der Installationszeit; und/oder

    Berechnen der Ausführungsdauer von jeder Anwendung an jedem Endgerät gemäß der Stoppzeit und der Startzeit; und/oder Berechnen der Aktivitätsdauer von jeder Anwendung an jedem Endgerät gemäß der Deaktivierungszeit und der Aktivierungszeit; und/oder

    Berechnen der Hintergrundausführungsdauer von jeder Anwendung an jedem Endgerät gemäß der Ausführungsdauer und der Aktivitätsdauer; und/oder

    Berechnen eines Ausmaßes der täglichen Aktivierungszeiten von jeder Anwendung an jedem Endgerät;

    Berechnen eines Anwendungsaktivitätsgrades von jeder Anwendung an jedem Endgerät gemäß einer Kombination aus einem oder mehreren der Folgenden: der Installationsdauer, der Ausführungsdauer, der Aktivitätsdauer, der Hintergrundausführungsdauer und des Ausmaßes der täglichen Aktivierungszeiten; und

    Durchführen einer Summierung der Anwendungsaktivitätsgrade der Anwendungen an den Endgeräten, um die Summe der Anwendungsaktivitätsgrade der Anwendungen an den Endgeräten eines bestimmten Typs zu erhalten.


     
    2. Verfahren nach Anspruch 1, wobei die Daten ferner zweite Anwendungsverhaltensdaten umfassen, die von dem mindestens einen Endgerät erfasst werden; und vor dem Empfangen einer Anwendungslistenanforderung, die von einem ersten Endgerät gesendet wird, Abfragen, gemäß der Anwendungslistenanforderung, eines Aktivitätsindexes von jeder Anwendung an Endgeräten, die von demselben Typ wie das erste Endgerät sind, und Empfehlen einer Anwendung mit einem Aktivitätsindex, der größer ist als ein voreingestellter erster Aktivitätsindexschwellenwert, für das erste Endgerät,
    wobei das Verfahren Folgendes umfasst:

    Erhalten (S302) eines Präferenzindexes von jeder Anwendung an Endgeräten von verschiedenen Typen gemäß den zweiten Anwendungsdaten, wobei der Präferenzindex mindestens einen Teil der folgenden Daten umfasst: einen Index für einen belegten Speicher, einen Flussverbrauchsindex und einen Leistungsverbrauchsindex; und

    nach dem Empfangen einer Anwendungslistenanforderung, die von einem ersten Endgerät gesendet wird, Abfragen, gemäß der ersten Anwendungslistenanforderung, eines Aktivitätsindexes von jeder Anwendung an Endgeräten, die von demselben Typ wie das erste Endgerät sind, und Empfehlen einer Anwendung mit einem Aktivitätsindex, der größer ist als ein voreingestellter erster Aktivitätsindexschwellenwert, für das erste Endgerät,

    wobei das Verfahren ferner Folgendes umfasst:

    Erzeugen von Kennzeichnungsinformationen eines Präferenzindexes von jeder Anwendung an dem ersten Endgerät gemäß einem Präferenzindex von jeder Anwendung, die dem ersten Endgerät empfohlen wird; und

    Senden (S305), an das erste Endgerät, der Kennzeichnungsinformationen des Präferenzindexes von jeder Anwendung, die dem ersten Endgerät und auf dem ersten Endgerät empfohlen wird, sodass ein Benutzer des ersten Endgeräts eine Anwendung gemäß den Kennzeichnungsinformationen des Präferenzindexes von jeder Anwendung, die dem ersten Endgerät und auf dem ersten Endgerät empfohlen wird, auswählt.


     
    3. Server, wobei der Server Folgendes umfasst:

    eine Empfangseinheit (41) für gemeldete Daten, die dazu konfiguriert ist, Daten zu empfangen, die von mindestens einem Endgerät gemeldet werden, wobei die Daten statische Daten und erste Anwendungsverhaltensdaten umfassen, die von dem mindestens einen Endgerät erfasst werden, wobei die ersten Anwendungsverhaltensdaten mindestens einen Teil der folgenden Daten einer Anwendung umfassen: Installationszeit, Startzeit, Aktivierungszeit, Deaktivierungszeit, Stoppzeit und Deinstallationszeit, und die statischen Daten verwendet werden, um einen Typ eines Endgeräts zu identifizieren;

    eine Aktivitätsindexberechnungseinheit (42), die dazu konfiguriert ist, einen Aktivitätsindex von jeder Anwendung an Endgeräten von verschiedenen Typen gemäß den ersten Anwendungsverhaltensdaten zu erhalten; und

    eine Anwendungsempfehlungseinheit (43), die dazu konfiguriert ist, eine Anwendungslistenanforderung zu empfangen, die von einem ersten Endgerät gesendet wird, gemäß der Anwendungslistenanforderung einen Aktivitätsindex von jeder Anwendung an Endgeräten, die von demselben Typ wie das erste Endgerät sind, abzufragen und eine Anwendung mit einem Aktivitätsindex, der größer ist als ein voreingestellter erster Aktivitätsindexschwellenwert, für das erste Endgerät zu empfehlen;

    wobei die Aktivitätsindexberechnungseinheit Folgendes umfasst:

    ein Aktivitätsgradsummenberechnungsmodul, das dazu konfiguriert ist, eine Summe der Anwendungsaktivitätsgrade von Anwendungen an Endgeräten eines bestimmten Typs zu berechnen; und

    ein Aktivitätsindexberechnungsmodul, das dazu konfiguriert ist, einen Aktivitätsindex von jeder Anwendung an den Endgeräten eines bestimmten Typs gemäß der Summe der Anwendungsaktivitätsgrade, geteilt durch eine Gesamtmenge von Benutzern der Endgeräte eines bestimmten Typs, zu erhalten;

    wobei das Anwendungsaktivitätsgradsummenberechnungsmodul Folgendes umfasst:

    ein Installationsdauerberechnungsteilmodul, das dazu konfiguriert ist, die Installationsdauer von jeder Anwendung an jedem Endgerät gemäß der Deinstallationszeit und Installationszeit zu berechnen; und/oder

    ein Ausführungsdauerberechnungsteilmodul, das dazu konfiguriert ist, die Ausführungsdauer von jeder Anwendung an jedem Endgerät gemäß der Stoppzeit und der Startzeit zu berechnen; und/oder

    ein Aktivitätsdauerberechnungsteilmodul, das dazu konfiguriert ist, die Aktivitätsdauer von jeder Anwendung an jedem Endgerät gemäß der Deaktivierungszeit und Aktivierungszeit zu berechnen; und/oder

    ein Hintergrundausführungsdauerberechnungsteilmodul, das dazu konfiguriert ist, die Hintergrundausführungsdauer von jeder Anwendung an jedem Endgerät gemäß der Ausführungsdauer und der Aktivitätsdauer zu berechnen; und/oder

    ein Berechnungsteilmodul für die täglichen Aktivierungszeiten, das dazu konfiguriert ist, ein Ausmaß der täglichen Aktivierungszeiten von jeder Anwendung an jedem Endgerät zu berechnen;

    ein Anwendungsaktivitätsgradberechnungsteilmodul, das dazu konfiguriert ist, einen Anwendungsaktivitätsgrad von jeder Anwendung an jedem Endgerät gemäß einer Kombination aus einem oder mehreren der Folgenden zu berechnen: der Installationsdauer, der Ausführungsdauer, der Aktivitätsdauer, der Hintergrundausführungsdauer und des Ausmaßes der täglichen Aktivierungszeiten; und

    ein Anwendungsaktivitätsgradsummenberechnungsteilmodul, das dazu konfiguriert ist, eine Summierung der Anwendungsaktivitätsgrade der Anwendungen an den Endgeräten durchzuführen, um die Summe der Anwendungsaktivitätsgrade der Anwendungen an den Endgeräten eines bestimmten Typs zu erhalten.


     
    4. Server nach Anspruch 3, wobei die Daten ferner zweite Anwendungsverhaltensdaten umfassen, die von dem mindestens
    einen Endgerät erfasst werden, und der Server ferner Folgendes umfasst:

    eine Präferenzindexberechnungseinheit, die dazu konfiguriert ist, einen Präferensindex von jeder Anwendung an Endgeräten von verschiedenen Typen gemäß den zweiten Anwendungsdaten zu erhalten, wobei der Präferenzindex mindestens einen Teil der folgenden Daten umfasst: einen Index für einen belegten Speicher, einen Flussverbrauchsindex und einen Leistungsverbrauchsindex; und

    wobei der Server ferner Folgendes umfasst:

    eine Kennzeichnungsinformationserzeugungseinheit (55), die dazu konfiguriert ist, Kennzeichnungsinformationen eines Präferenzindexes von jeder Anwendung an dem ersten Endgerät gemäß einem Präferenzindex von jeder Anwendung, die dem ersten Endgerät empfohlen wird, zu erzeugen; und

    eine Kennzeichnungsinformationssendeeinheit (56), die dazu konfiguriert ist, die Kennzeichnungsinformationen des Präferenzindexes von jeder Anwendung, die dem ersten Endgerät und an dem ersten Endgerät empfohlen wird, an das erste Endgerät zu senden, sodass ein Benutzer des ersten Endgeräts eine Anwendung gemäß den Kennzeichnungsinformationen des Präferenzindexes von jeder Anwendung, die dem ersten Endgerät und an dem ersten Endgerät empfohlen wird, auswählt.


     
    5. Server nach Anspruch 4, wobei die zweiten Anwendungsverhaltensdaten mindestens einen Teil der folgenden Daten umfassen: belegter Speicher für jede Ausführung einer Anwendung, Leistungsverbrauch für jede Ausführung einer Anwendung und Flussverbrauch für jede Ausführung einer Anwendung.
     
    6. Server nach Anspruch 4 oder 5, wobei die Präferenzindexberechnungseinheit Folgendes umfasst:

    ein Flussverbrauchsindexberechnungsmodul, das dazu konfiguriert ist, einen Flussverbrauchsindex der Anwendung gemäß dem Flussverbrauch für jede Ausführung der Anwendung und einem Ausmaß der Flussmeldezeiten zu berechnen; und/oder

    ein Indexberechnungsmodul für den belegten Speicher, das dazu konfiguriert ist, einen Index des belegten Speichers der Anwendung gemäß dem belegten Speicher für jede Ausführung der Anwendung und einem Ausmaß der Meldezeiten für den belegten Speicher zu berechnen; und/oder

    ein Leistungsverbrauchsindexberechnungsmodul, das dazu konfiguriert ist, einen Leistungsverbrauchsindex der Anwendung gemäß dem Leistungsverbrauch für jede Ausführung der Anwendung und einem Ausmaß der Leistungsverbrauchsmeldezeiten zu berechnen.


     
    7. Anwendungsempfehlungssystem, wobei das System mindestens ein Endgerät umfasst und das System ferner den Server nach den Ansprüchen 3 bis 6 umfasst, wobei der Server mit jedem Endgerät verbunden ist.
     


    Revendications

    1. Procédé de recommandation d'application, dans lequel le procédé comprend :

    la réception (S101) de données rapportées par au moins un terminal, dans lequel les données comprennent des données statiques et des premières données de comportement d'application qui sont collectées par l'au moins un terminal, dans lequel les premières données de comportement d'application comprennent au moins un élément des données suivantes d'une application : moment d'installation, moment de lancement, moment d'activation, moment de désactivation, moment d'arrêt, et moment de désinstallation, et les données statiques sont utilisées pour identifier un type d'un terminal, l'obtention (S102) d'un indice d'activité de chaque application sur des terminaux de différents types conformément aux premières données de comportement d'application ; et

    la réception (S103) d'une demande de liste d'applications envoyée par un premier terminal, l'interrogation, conformément à la demande de liste d'applications, d'un indice d'activité de chaque application sur des terminaux qui sont du même type avec le premier terminal, et la recommandation d'une application avec un indice d'activité supérieur à un premier seuil d'indice d'activité préétabli au premier terminal ;

    dans lequel l'obtention d'un indice d'activité de chaque application sur des terminaux de différents types conformément aux premières données de comportement d'application comprend :

    le calcul d'une somme de degrés d'activité d'applications d'applications sur des terminaux d'un type particulier ; et

    l'obtention d'un indice d'activité de chaque application sur les terminaux d'un type particulier conformément à la somme des degrés d'activité d'applications divisée par une quantité totale d'utilisateurs des terminaux d'un type particulier ;

    dans lequel le calcul d'une somme de degrés d'activité d'applications d'applications sur des terminaux d'un type particulier comprend :

    le calcul d'une durée d'installation de chaque application sur chaque terminal conformément à un moment de désinstallation et un moment d'installation ; et/ou

    le calcul d'une durée d'exécution de chaque application sur chaque terminal conformément à un moment d'arrêt et un moment de lancement ; et/ou

    le calcul d'une durée d'activité de chaque application sur chaque terminal conformément à un moment de désactivation et un moment d'activation ; et/ou

    le calcul d'une durée d'exécution en arrière-plan de chaque application sur chaque terminal conformément à la durée d'exécution et la durée d'activité ; et/ou

    le calcul d'une quantité de moments d'activation quotidiens de chaque application sur chaque terminal ;

    le calcul d'un degré d'activité d'application de chaque application sur chaque terminal conformément à une combinaison d'un ou de plusieurs de ce qui suit : la durée d'installation, la durée d'exécution, la durée d'activité, la durée d'exécution en arrière-plan, et la quantité de moments d'activation quotidiens ; et

    la réalisation d'une totalisation sur les degrés d'activité d'applications des applications sur les terminaux pour obtenir la somme des degrés d'activité d'applications d'applications sur les terminaux d'un type particulier.


     
    2. Procédé selon la revendication 1, dans lequel les données comprennent en outre des secondes données de comportement d'application collectées par l'au moins un terminal ; et avant la réception d'une demande de liste d'applications envoyée par un premier terminal, l'interrogation, conformément à la demande de liste d'applications, d'un indice d'activité de chaque application sur des terminaux qui sont du même type avec le premier terminal, et la recommandation d'une application avec un indice d'activité supérieur à un premier seuil d'indice d'activité préétabli au premier terminal, le procédé comprend :
    l'obtention (S302) d'un indice de préférence de chaque application sur des terminaux de différents types conformément aux secondes données d'application, dans lequel l'indice de préférence comprend au moins un élément des données suivantes :

    un indice de mémoire occupée, un indice de consommation de flux, et un indice de consommation d'énergie ; et

    après la réception d'une demande de liste d'applications envoyée par un premier terminal, l'interrogation, conformément à la demande de liste d'applications, d'un indice d'activité de chaque application sur des terminaux qui sont du même type avec le premier terminal, et la recommandation d'une application avec un indice d'activité supérieur à un premier seuil d'indice d'activité préétabli au premier terminal, le procédé comprend en outre :

    la génération d'informations d'étiquette d'un indice de préférence de chaque application sur le premier terminal conformément à un indice de préférence de chaque application recommandée au premier terminal ; et

    l'envoi (S305), au premier terminal, des informations d'étiquette de l'indice de préférence de chaque application qui est recommandée au premier terminal et sur le premier terminal, de sorte qu'un utilisateur du premier terminal sélectionne une application conformément aux informations d'étiquette de l'indice de préférence de chaque application qui est recommandée au premier terminal et sur le premier terminal.


     
    3. Serveur, dans lequel le serveur comprend :
    une unité de réception de données rapportées (41), conçue pour recevoir des données rapportées par au moins un terminal, dans lequel les données comprennent des données statiques et des premières données de comportement d'application qui sont collectées par l'au moins un terminal, dans lequel les premières données de comportement d'application comprennent au moins un élément des données suivantes d'une application :

    moment d'installation, moment de lancement, moment d'activation, moment de désactivation, moment d'arrêt, et moment de désinstallation, et les données statiques sont utilisées pour identifier un type d'un terminal ;

    une unité de calcul d'indice d'activité (42), conçue pour obtenir un indice d'activité de chaque application sur des terminaux de différents types conformément aux premières données de comportement d'application ; et

    une unité de recommandation d'application (43), conçue pour recevoir une demande de liste d'applications envoyée par un premier terminal, interroger, conformément à la demande de liste d'applications, un indice d'activité de chaque application sur des terminaux qui sont du même type avec le premier terminal, et recommander une application avec un indice d'activité supérieur à un premier seuil d'indice d'activité préétabli au premier terminal ;

    dans lequel l'unité de calcul d'indice d'activité comprend :

    un module de calcul de somme de degrés d'activité, conçu pour calculer une somme de degrés d'activité d'applications d'applications sur des terminaux d'un type particulier ; et

    un module de calcul d'indice d'activité, conçu pour obtenir un indice d'activité de chaque application sur les terminaux d'un type particulier conformément à la somme des degrés d'activité d'applications divisée par une quantité totale d'utilisateurs des terminaux d'un type particulier ;

    dans lequel le module de calcul de somme de degrés d'activité d'applications comprend :

    un sous-module de calcul de durée d'installation, conçu pour calculer une durée d'installation de chaque application sur chaque terminal conformément à un moment de désinstallation et un moment d'installation ; et/ou

    un sous-module de calcul de durée d'exécution, conçu pour calculer une durée d'exécution de chaque application sur chaque terminal conformément à un moment d'arrêt et un moment de lancement ; et/ou

    un sous-module de calcul de durée d'activité, conçu pour calculer une durée d'activité de chaque application sur chaque terminal conformément à un moment de désactivation et un moment d'activation ; et/ou

    un sous-module de calcul de durée d'exécution en arriére-plan, conçu pour calculer une durée d'exécution en arrière-plan de chaque application sur chaque terminal conformément à la durée d'exécution et la durée d'activité ; et/ou

    un sous-module de calcul de moments d'activation quotidiens, conçu pour calculer une quantité de moments d'activation quotidiens de chaque application sur chaque terminal ;

    un sous-module de calcul de degré d'activité d'application, conçu pour calculer un degré d'activité d'application, de chaque application sur chaque terminal conformément à une combinaison d'un ou de plusieurs de ce qui suit : la durée d'installation, la durée d'exécution, la durée d'activité, la durée d'exécution en arrière-plan, et la quantité de moments d'activation quotidiens ; et

    un sous-module de calcul de somme de degrés d'activité d'applications, conçu pour réaliser une totalisation sur les degrés d'activité d'applications des applications sur les terminaux pour obtenir la somme des degrés d'activité d'applications d'applications sur les terminaux d'un type particulier.


     
    4. Serveur selon la revendication 3, dans lequel les données comprennent en outre des secondes données de comportement d'application collectées par l'au moins un terminal, et le serveur comprend en outre :

    une unité de calcul d'indice de préférence, conçue pour obtenir un indice de préférence de chaque application sur des terminaux de différents types conformément aux secondes données d'application, dans lequel l'indice de préférence comprend au moins un élément des données suivantes : un indice de mémoire occupée, un indice de consommation de flux, et un indice de consommation d'énergie ; et

    le serveur comprend en outre :

    une unité de génération d'informations d'étiquette (55), conçue pour générer des informations d'étiquette d'un indice de préférence de chaque application sur le premier terminal conformément à un indice de préférence de chaque application recommandée au premier terminal ; et

    une unité d'envoi d'informations d'étiquette (56), conçue pour envoyer, au premier terminal, les informations d'étiquette de l'indice de préférence de chaque application qui est recommandée au premier terminal et sur le premier terminal, de sorte qu'un utilisateur du premier terminal sélectionne une application conformément aux informations d'étiquette de l'indice de préférence de chaque application qui est recommandée au premier terminal et sur le premier terminal.


     
    5. Serveur selon la revendication 4, dans lequel les secondes données de comportement d'application comprennent au moins un élément des données suivantes : mémoire occupée pour chaque exécution d'une application, consommation d'énergie pour chaque exécution d'une application, et consommation de flux pour chaque exécution d'une application.
     
    6. Serveur selon la revendication 4 ou 5, dans lequel l'unité de calcul d'indice de préférence comprend :

    un module de calcul d'indice de consommation de flux, conçu pour calculer un indice de consommation de flux de l'application conformément à une consommation de flux pour chaque exécution de l'application et une quantité de moments de rapport de flux ; et/ou

    un module de calcul d'indice de mémoire occupée, conçu pour calculer un indice de mémoire occupée de l'application conformément à une mémoire occupée pour chaque exécution de l'application et une quantité de moments de rapport de mémoire occupée ; et/ou

    un module de calcul d'indice de consommation d'énergie, conçu pour calculer un indice de consommation d'énergie de l'application conformément à une consommation d'énergie pour chaque exécution de l'application et une quantité de moments de rapport de consommation d'énergie,


     
    7. Système de recommandation d'application, dans lequel le système comprend au moins un terminal, et le système comprend en outre le serveur selon les revendications 3 à 6, dans lequel le serveur est connecté à chaque terminal.
     




    Drawing























    Cited references

    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description