An application management method, device, apparatus and storage medium
Patent Information
- Application Number
- CN202310493603.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-05
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-05-05
AI Technical Summary
[0004]有鉴于此,本申请提供一种应用程序关联方法、装置、设备及存储介质,以利于解决智能设备对后台中的应用程序的管理并不准确的问题
[0154]第四方面,本申请另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请第一方面实施例提供的任一方法。
Smart Images

Figure CN116501472B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to smart device technology, and more particularly to an application management method, apparatus, device, and storage medium. Background Technology
[0002] During the management of smart device applications, the smart device system maintains a certain number of background processes. When a user switches to these background processes, there is no need to restart them, saving a lot of creation and initialization overhead. However, maintaining a large number of background processes in memory also requires some management overhead. Therefore, once the maximum number of background processes maintained is reached, the smart device will close some processes.
[0003] In related technologies, smart devices often use a task killing mechanism based on the Least Recently Used (LRU) algorithm when managing background applications. However, the LRU mechanism often only considers recently used applications and does not take into account the current user's time and location. Furthermore, the management of applications based on the data at that time does not utilize the corresponding log information of the application, resulting in inaccurate application management. Summary of the Invention
[0004] In view of this, this application provides an application association method, apparatus, device, and storage medium to help solve the problem of inaccurate management of background applications by smart devices.
[0005] In a first aspect, embodiments of this application provide an application management method applied to a smart device, the method comprising:
[0006] Obtain the current location information and current time, and obtain log information from at least two applications in the smart device;
[0007] The association between the at least two applications is determined based on the log information of the at least two applications;
[0008] The association, the current location information, and the current time are used as inputs to the probability prediction model to obtain the usage probabilities of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model for predicting the usage probabilities of applications.
[0009] Based on the predicted usage probabilities of the at least two applications, the first application running in the background is closed, and the second application is run in the background; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
[0010] In this application, the user's current environment can be determined by obtaining the current location information and current time of the smart device, and the relationship between different applications can be determined by obtaining the log information of the smart device. By using the relationship, current location information and current time as inputs to the probability prediction model, the probability of application use is included in the user's probability of using the application before the current time and the user's current environment, making the prediction of application use probability more accurate.
[0011] Preferably, determining the association relationship of the applications based on the log information of the at least two applications includes:
[0012] A first candidate set is constructed based on the log information of the at least two applications;
[0013] Determine the application support level corresponding to each log information in the first candidate set;
[0014] Target log information is identified in the first candidate set, and the target log information is used to form a frequent itemset; the target log information is log information in the first candidate set whose support is greater than a preset threshold.
[0015] Log information groups are identified in the first candidate set, and the confidence level of the application corresponding to each log information group is determined; the log information group is composed of log information in the first candidate set whose support is greater than a preset threshold.
[0016] The support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence level corresponding to each log information group are determined as the association relationship.
[0017] In this application, the relationship between two log information is determined by determining the confidence level of the log information group. The association relationship is constructed by combining the application's support, frequent itemsets, and confidence level, which makes the prediction of the application's usage probability more accurate.
[0018] Preferably, determining the application support level corresponding to each log information in the first candidate set includes:
[0019] For each application corresponding to log information contained in the first candidate set, a first total number of times the application runs in multiple preset time periods is determined, and the ratio of the first total number of times to the number of preset time periods is used as the support level of the application.
[0020] In this application, the probability of the application appearing in multiple preset time periods is used as the support level of the application, making the subsequently determined usage probability more accurate.
[0021] Preferably, determining the log information group in the first candidate set includes:
[0022] Identify log information to be combined from the first candidate set whose support is greater than a first support threshold;
[0023] The process is repeated until the number of log information groups formed by each log information to be combined is equal to the difference between the total number of log information groups to be combined and 1.
[0024] Among these, for any two selected log messages to be combined, at least one of the log messages to be combined must be different.
[0025] In this application, by constructing log information groups based on the log information to be combined, the relationship between each application is taken into account when determining the usage probability, making the determined usage probability more accurate.
[0026] Preferably, determining the confidence level of the application corresponding to each log information group includes:
[0027] Perform the following steps for each application corresponding to each log information group:
[0028] Obtain the startup time of each of the two applications in the log information group from the log information;
[0029] Based on the respective launch times of the two applications, the two applications are divided into a third application and a fourth application; wherein the launch time of the third application is earlier than the launch time of the fourth application; the launch time is the time when the application is first launched.
[0030] Determine the second total number of times the third application and the fourth application run simultaneously in multiple preset time periods, and determine the median ratio between the second total number of times and the number of preset time periods;
[0031] The ratio of the intermediate ratio to the support level of the third application is used as the confidence level of the log information group.
[0032] In this application, the probability of running two applications sequentially is determined by establishing a confidence level. The relationship between each application is taken into account when determining the usage probability, making the determined usage probability more accurate.
[0033] Preferably, before determining the application support level corresponding to each log information in the first candidate set, the method further includes:
[0034] Obtain the startup time corresponding to each application from the log information;
[0035] Log information for applications whose startup time is greater than a first preset time is removed from the first candidate set, and the first candidate set is updated.
[0036] In this application, log information in the first candidate set is filtered based on the startup time of the application, thus avoiding the waste of resources caused by log information that has not been started for a long time participating in subsequent calculations.
[0037] Preferably, determining the target log information in the first candidate set includes:
[0038] A second candidate set is determined based on the first candidate set; the second candidate set includes at least two log information items.
[0039] The first process is executed iteratively on the second candidate set until the number of the first target groups is determined to be a first preset value, and the log information contained in the first preset value of the first target groups is determined as the target log information; wherein, the first process includes:
[0040] Detect whether the second candidate set contains more than a first number of first log messages; the first log messages are log messages that have not been identified as combined;
[0041] Based on the fact that the second candidate set contains more than a first number of first log information, the second log information is determined from the first log information contained in the second candidate set;
[0042] The second log information is grouped together with every first number of other first log information in the second candidate set to form at least one first target group; wherein each first target group contains the second log information, and each first target group contains a second number of log information; the value of the second number is the sum of the first number and 1;
[0043] The second log information is marked as combined log information, and the step of detecting whether the second candidate set contains more than a first number of first log information is re-executed until the number of first log information contained in the second candidate set is not greater than the first number is detected.
[0044] Detect whether the number of the first target group is a first preset value;
[0045] Since the number of the first target group is not a first preset value, the first number is updated according to a preset update value, and the support level of each first target group is determined.
[0046] The second candidate set is updated with log information contained in the first target group whose support is greater than the first support threshold, and all log information contained in the second candidate set is updated with log information that has not been identified as combined.
[0047] In this application, the target log information was accurately determined by setting up the first process, which ensured the accuracy of subsequent predictions of the application's usage probability.
[0048] Preferably, the preset update value is 1.
[0049] Preferably, determining the target log information in the first candidate set includes:
[0050] Determine the support level of each log message in the first candidate set;
[0051] Log information with support less than the second support threshold is removed from the first candidate set to obtain the third candidate set;
[0052] Determine whether the number of log information items contained in the third candidate set is not greater than a second preset value;
[0053] Based on the fact that the number of log information contained in the third candidate set is not greater than the second preset value, the second preset value of log information is determined as the target log information.
[0054] In this application, the log information of the first candidate set is filtered based on the second support threshold, and the target log information is determined according to the number of log information in the third candidate set, thus ensuring the accuracy of the determined log information.
[0055] Preferably, determining the target log information in the first candidate set includes:
[0056] Each log information contained in the first candidate set is determined as a first connection group, and the first connection groups are formed into a fourth candidate set;
[0057] The second process is executed iteratively on the fourth candidate set until it is determined that the number of first connection groups contained in the fourth candidate set is not greater than a first preset value, and the log information contained in the first preset value of first connection groups is determined as the target log information; wherein, the second process includes:
[0058] Detect whether the number of first connection groups contained in the fourth candidate set is greater than a first preset value;
[0059] Based on the fact that the number of first connection groups contained in the fourth candidate set is greater than a first preset value, the first connection groups contained in the fourth candidate set are sorted according to a preset rule to obtain a first sequence;
[0060] For each of the first connection groups included in the fourth candidate set, the first connection group is determined as the target connection group; according to the first sequence, the target connection group is combined with the log information to be connected included in the second connection group to obtain a third connection group, wherein the second connection group is the first connection group in the fourth candidate set that is located after the target connection group in the first sequence; the log information to be connected is log information in the second connection group that is not included in the target connection group;
[0061] In the obtained third connection groups, determine whether there are at least two third connection groups that contain the same log information;
[0062] If there are at least two third connection groups that contain the same log information, then retain one of the at least two third connection groups that contain the same log information, and remove the other third connection groups that contain the same log information, and update the resulting third connection group.
[0063] Determine whether the number of the third connection group is greater than the first preset value;
[0064] Based on the fact that the number of the third connection groups is greater than the first preset value, the support of each of the obtained third connection groups is determined, and the third connection groups with support greater than the first support threshold are used as the first connection groups to update the fourth candidate set;
[0065] Based on the fact that the number of the third connection group is not greater than the first preset value, the third connection group is used as the first connection group to update the fourth candidate set.
[0066] In this application, by setting up a second process to accurately determine the target log information for processing, the subsequent determination of the usage probability becomes more accurate.
[0067] Preferably, before predicting the usage probability of each application based on the association, the current location information, the current time, and the probability prediction model, the method further includes:
[0068] Obtain historical location information, historical time, and historical application usage probability;
[0069] The probability prediction model is updated based on the log information, the historical location information, the historical time, and the historical application usage probability.
[0070] In this application, the probability prediction model is updated based on historical data, making the prediction of the probability of application usage more accurate.
[0071] Preferably, the step of predicting the usage probability of each application based on the association, the current location information, the current time, and the probability prediction model includes:
[0072] Based on the association, the current location information, the current time, and the updated probability prediction model, a prediction is made for each application to obtain the usage probability of each application.
[0073] The application further improves the accuracy of the obtained usage probability by using an updated probability prediction model to predict the probability of application usage.
[0074] Preferably, the probabilistic prediction model is trained according to the following method:
[0075] For each training device, log information corresponding to each application in the training device, the current location information of the training device, and the current time are collected; the application association relationship of the training device is determined based on the log information corresponding to each application; and the usage probability of each application in the training device is marked.
[0076] A training sample set is constructed based on the application association, current location information, current time, and usage probability of the tag for each training device;
[0077] The training sample set is input into the initial probability prediction model, and the initial probability prediction model is trained until the preset convergence condition is met. The initial probability prediction model at the end of the iteration is taken as the probability prediction model.
[0078] In this application, the accuracy of training the initial probability prediction model is improved by using log information of manually labeled usage probabilities to construct the training sample set.
[0079] Preferably, after closing the first application running in the background and running the second application in the background, the method further includes:
[0080] The current location information, the current time, the usage probability of each application, and the log information of each application are obtained and stored.
[0081] In this application, after determining the probability of using each application, the probability of use, along with the corresponding current location information and current time, are stored, making the historical data more valuable for the next probability prediction.
[0082] Preferably, running the second application in the background includes:
[0083] Determine whether the second application is running in the background;
[0084] The second application is launched in the background since it is not running in the background.
[0085] In this application, by launching a second application in the background, the user saves the time required to initialize the application when using the application.
[0086] Secondly, embodiments of this application provide an application management device for use in smart devices, the device comprising:
[0087] The acquisition module is used to acquire the current location information and the current time, and to acquire the log information of at least two applications in the smart device;
[0088] The association determination module is used to determine the association relationship between the at least two applications based on the log information of the at least two applications;
[0089] The prediction module is used to take the association relationship, the current location information, and the current time as inputs to the probability prediction model to obtain the usage probability of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model for predicting the usage probability of applications;
[0090] The management module is used to close the first application running in the background and run the second application in the background based on the predicted usage probabilities of the at least two applications; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
[0091] Preferably, when the association determination module performs the function of determining the association relationship of the applications based on the log information of the at least two applications, it is specifically used for:
[0092] A first candidate set is constructed based on the log information of the at least two applications;
[0093] Determine the application support level corresponding to each log information in the first candidate set;
[0094] Target log information is identified in the first candidate set, and the target log information is used to form a frequent itemset; the target log information is log information in the first candidate set whose support is greater than a preset threshold.
[0095] Log information groups are identified in the first candidate set, and the confidence level of the application corresponding to each log information group is determined; the log information group is composed of log information in the first candidate set whose support is greater than a preset threshold.
[0096] The support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence level corresponding to each log information group are determined as the association relationship.
[0097] Preferably, when the association determination module determines the support level of the application corresponding to each log information in the first candidate set, it is specifically used for:
[0098] For each application corresponding to log information contained in the first candidate set, a first total number of times the application runs in multiple preset time periods is determined, and the ratio of the first total number of times to the number of preset time periods is used as the support level of the application.
[0099] Preferably, when the association determination module determines the log information group in the first candidate set, it is specifically used for:
[0100] Identify log information to be combined from the first candidate set whose support is greater than a first support threshold;
[0101] The process is repeated until the number of log information groups formed by each log information to be combined is equal to the difference between the total number of log information groups to be combined and 1.
[0102] Among these, for any two selected log messages to be combined, at least one of the log messages to be combined must be different.
[0103] Preferably, when the association determination module determines the confidence level of the application corresponding to each log information group, it is specifically used for:
[0104] Perform the following steps for each application corresponding to each log information group:
[0105] Obtain the startup time of each of the two applications in the log information group from the log information;
[0106] Based on the respective launch times of the two applications, the two applications are divided into a third application and a fourth application; wherein the launch time of the third application is earlier than the launch time of the fourth application; the launch time is the time when the application is first launched.
[0107] Determine the second total number of times the third application and the fourth application run simultaneously in multiple preset time periods, and determine the median ratio between the second total number of times and the number of preset time periods;
[0108] The ratio of the intermediate ratio to the support level of the third application is used as the confidence level of the log information group.
[0109] Preferably, before the association determination module determines the support level of the application corresponding to each log information in the first candidate set, it is further configured to:
[0110] Obtain the startup time corresponding to each application from the log information;
[0111] Log information for applications whose startup time is greater than a first preset time is removed from the first candidate set, and the first candidate set is updated.
[0112] Preferably, when the association determination module determines the target log information in the first candidate set, it is specifically used for:
[0113] A second candidate set is determined based on the first candidate set; the second candidate set includes at least two log information items.
[0114] The first process is executed iteratively on the second candidate set until the number of the first target groups is determined to be a first preset value, and the log information contained in the first preset value of the first target groups is determined as the target log information; wherein, the first process includes:
[0115] Detect whether the second candidate set contains more than a first number of first log messages; the first log messages are log messages that have not been identified as combined;
[0116] Based on the fact that the second candidate set contains more than a first number of first log information, the second log information is determined from the first log information contained in the second candidate set;
[0117] The second log information is grouped together with every first number of other first log information in the second candidate set to form at least one first target group; wherein each first target group contains the second log information, and each first target group contains a second number of log information; the value of the second number is the sum of the first number and 1;
[0118] The second log information is marked as combined log information, and the step of detecting whether the second candidate set contains more than a first number of first log information is re-executed until the number of first log information contained in the second candidate set is not greater than the first number is detected.
[0119] Detect whether the number of the first target group is a first preset value;
[0120] Since the number of the first target group is not a first preset value, the first number is updated according to a preset update value, and the support level of each first target group is determined.
[0121] The second candidate set is updated with log information contained in the first target group whose support is greater than the first support threshold, and all log information contained in the second candidate set is updated with log information that has not been identified as combined.
[0122] Preferably, the preset update value is 1.
[0123] Preferably, the association determination module determines the target log information in the first candidate set, including:
[0124] Determine the support level of each log message in the first candidate set;
[0125] Log information with support less than the second support threshold is removed from the first candidate set to obtain the third candidate set;
[0126] Determine whether the number of log information items contained in the third candidate set is not greater than a second preset value;
[0127] Based on the fact that the number of log information contained in the third candidate set is not greater than the second preset value, the second preset value of log information is determined as the target log information.
[0128] Preferably, when the association determination module determines the target log information in the first candidate set, it is specifically used for:
[0129] Each log information contained in the first candidate set is determined as a first connection group, and the first connection groups are formed into a fourth candidate set;
[0130] The second process is executed iteratively on the fourth candidate set until it is determined that the number of first connection groups contained in the fourth candidate set is not greater than a first preset value, and the log information contained in the first preset value of first connection groups is determined as the target log information; wherein, the second process includes:
[0131] Detect whether the number of first connection groups contained in the fourth candidate set is greater than a first preset value;
[0132] Based on the fact that the number of first connection groups contained in the fourth candidate set is greater than a first preset value, the first connection groups contained in the fourth candidate set are sorted according to a preset rule to obtain a first sequence;
[0133] For each of the first connection groups included in the fourth candidate set, the first connection group is determined as the target connection group; according to the first sequence, the target connection group is combined with the log information to be connected included in the second connection group to obtain a third connection group, wherein the second connection group is the first connection group in the fourth candidate set that is located after the target connection group in the first sequence; the log information to be connected is log information in the second connection group that is not included in the target connection group;
[0134] In the obtained third connection groups, determine whether there are at least two third connection groups that contain the same log information;
[0135] If there are at least two third connection groups that contain the same log information, then retain one of the at least two third connection groups that contain the same log information, and remove the other third connection groups that contain the same log information, and update the resulting third connection group.
[0136] Determine whether the number of the third connection group is greater than the first preset value;
[0137] Based on the fact that the number of the third connection groups is greater than the first preset value, the support of each of the obtained third connection groups is determined, and the third connection groups with support greater than the first support threshold are used as the first connection groups to update the fourth candidate set;
[0138] Based on the fact that the number of the third connection group is not greater than the first preset value, the third connection group is used as the first connection group to update the fourth candidate set.
[0139] Preferably, before the prediction module performs a prediction on each application based on the association, the current location information, the current time, and the probability prediction model to obtain the usage probability of each application, it is further configured to:
[0140] Obtain historical location information, historical time, and historical application usage probability;
[0141] The probability prediction model is updated based on the log information, the historical location information, the historical time, and the historical application usage probability.
[0142] Preferably, when the prediction module performs prediction on each application based on the association, the current location information, the current time, and the probability prediction model to obtain the usage probability of each application, it is specifically used for:
[0143] Based on the association, the current location information, the current time, and the updated probability prediction model, a prediction is made for each application to obtain the usage probability of each application.
[0144] Preferably, the probabilistic prediction model is trained according to the following method:
[0145] For each training device, log information corresponding to each application in the training device, the current location information of the training device, and the current time are collected; the application association relationship of the training device is determined based on the log information corresponding to each application; and the usage probability of each application in the training device is marked.
[0146] A training sample set is constructed based on the application association, current location information, current time, and usage probability of the tag for each training device;
[0147] The training sample set is input into the initial probability prediction model, and the initial probability prediction model is trained until the preset convergence condition is met. The initial probability prediction model at the end of the iteration is taken as the probability prediction model.
[0148] Preferably, after the management module closes the first application running in the background and starts the second application running in the background, it is further configured to:
[0149] The current location information, the current time, the usage probability of each application, and the log information of each application are obtained and stored.
[0150] Preferably, when the management module executes the second application running in the background, it is specifically used for:
[0151] Determine whether the second application is running in the background;
[0152] The second application is launched in the background since it is not running in the background.
[0153] Thirdly, embodiments of this application provide an electronic device, including at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any of the methods provided in the first aspect of this application.
[0154] Fourthly, another embodiment of this application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for causing a computer to perform any of the methods provided in the first aspect of this application.
[0155] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description
[0156] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0157] Figure 1 This is a schematic diagram illustrating an application scenario of an application management method provided in an embodiment of this application.
[0158] Figure 2 This application provides an overall flowchart of an application management method.
[0159] Figure 3 A flowchart illustrating the process of determining the association relationship of applications in an application management method provided in this application embodiment;
[0160] Figure 4 A schematic diagram illustrating the operation of an application management method provided in this application embodiment on a smart device;
[0161] Figure 5 This is a first flowchart illustrating an application management method provided in an embodiment of this application.
[0162] Figure 6 A flowchart illustrating the determination of target log information in an application management method provided in this application embodiment;
[0163] Figure 7Another flowchart illustrating the determination of target log information in an application management method provided in this application embodiment;
[0164] Figure 8 This is a second flowchart illustrating an application management method provided in an embodiment of this application.
[0165] Figure 9 A schematic diagram illustrating the number of times log information appears within a preset time period in an application management method provided in this application embodiment;
[0166] Figure 10 A flowchart illustrating the determination of log information groups in an application management method provided in this application embodiment;
[0167] Figure 11 A flowchart illustrating the determination of the confidence level of a log information group in an application management method provided in this application embodiment;
[0168] Figure 12 A schematic diagram illustrating the process of updating a probability prediction model in an application management method provided in this application embodiment;
[0169] Figure 13 A schematic diagram illustrating the process of training a probability prediction model in an application management method provided in this application embodiment;
[0170] Figure 14 A schematic diagram illustrating the process of training an initial probability prediction model in an application management method provided in this application embodiment;
[0171] Figure 15 A schematic diagram of a comprehensive application management method provided in an embodiment of this application;
[0172] Figure 16 A schematic diagram of an apparatus for an application management method provided in an embodiment of this application;
[0173] Figure 17 This is a schematic diagram of an electronic device for an application management method provided in an embodiment of this application. Detailed Implementation
[0174] To better understand the technical solution of this application, the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0175] It should be understood that the described embodiments are merely some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0176] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0177] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0178] Before providing a detailed description of the embodiments of this application, the terms used or possibly used in the embodiments of this application will first be explained.
[0179] Smart devices: including but not limited to smartphones, smartwatches, and in-vehicle infotainment screens.
[0180] Log information includes the unique index of the corresponding application, the name of the application, the runtime, and the duration.
[0181] The inventors discovered that during the management of smart device applications, the smart device system maintains a certain number of background processes. When a user switches to these background processes, there is no need to restart them, saving a significant amount of creation and initialization overhead. However, maintaining a large number of background processes in memory also requires some management overhead. Therefore, once the maximum number of background processes maintained is reached, the smart device will close some processes.
[0182] In related technologies, smart devices often use a task killing mechanism based on LRU to manage background applications. However, the LRU mechanism often only considers recently used applications and does not take into account the current user's time and location. Furthermore, the management of applications based on current data does not utilize historical data, resulting in inaccurate application management.
[0183] To address the aforementioned problems, embodiments of this application provide an application management method, apparatus, smart device, and storage medium to solve these problems. The inventive concept of this application can be summarized as follows: obtaining current location information and current time, and obtaining log information from at least two applications in the smart device; determining the association relationship between at least two applications based on the log information of the at least two applications; using the association relationship, current location information, and current time as input to a probability prediction model to obtain the usage probabilities of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model used to predict the usage probabilities of applications; based on the predicted usage probabilities of the at least two applications, closing a first application running in the background, and running a second application in the background; wherein, the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value. In this application, the user's current environment can be determined by obtaining the current location information and current time of the smart device, and the relationship between different applications can be determined by obtaining the log information of the smart device. By using the relationship, current location information and current time as inputs to the probability prediction model, the probability of application use is included in the user's probability of using the application before the current time and the user's current environment, making the prediction of application use probability more accurate.
[0184] For ease of understanding, the following provides a detailed description of an application management method provided in the embodiments of this application.
[0185] like Figure 1 The diagram shown illustrates an application scenario of the application management method in this embodiment. The diagram includes: a smart device 10 and a memory 20; wherein:
[0186] The smart device 10 acquires current location information and current time, and acquires log information from at least two applications within the smart device 10; it determines the association between at least two applications based on the log information; it uses the association, current location information, and current time as input to a probability prediction model to obtain the usage probabilities of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model used to predict the usage probabilities of applications; based on the predicted usage probabilities of the at least two applications, it closes the first application running in the background and runs the second application in the background; wherein, the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value. The log information of the at least two applications in the smart device 10 and the probability prediction model are pre-stored in memory.
[0187] The description in this application focuses on only a single smart device 10 and memory 20. However, those skilled in the art should understand that the illustrated smart device 10 and memory 20 are intended to illustrate the operation of the smart device 10 and memory 20 involved in the technical solutions of this application, and do not imply any limitation on the number, type, or location of the smart device 10 and memory 20. It should be noted that adding additional modules to or removing individual modules from the illustrated environment will not change the underlying concept of the exemplary embodiments of this application. Furthermore, although for ease of explanation... Figure 1 The diagram shows a bidirectional arrow from memory 20 to smart device 10, but those skilled in the art will understand that the sending and receiving of the aforementioned data also needs to be achieved through a network.
[0188] It should be noted that the memory in the embodiments of this application can be, for example, a cache system, hard disk storage, memory storage, etc. Furthermore, the application management method proposed in this application is not only applicable to… Figure 1 The application scenarios shown are also applicable to any device that requires application management.
[0189] In other possible embodiments, some or all of the steps performed by the smart device 10 may also be performed by a third-party device, and this application does not limit this.
[0190] like Figure 2 The diagram shown is a schematic representation of the overall process of an application management method provided in an embodiment of this application. The diagram includes:
[0191] In step 201: obtain the current location information and the current time, and obtain the log information of at least two applications in the smart device.
[0192] In step 202: Determine the relationship between at least two applications based on the log information of at least two applications.
[0193] In step 203: the association relationship, current location information, and current time are used as inputs to the probability prediction model to obtain the usage probabilities of at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model used to predict the usage probabilities of applications.
[0194] In step 204: Based on the predicted usage probabilities of at least two applications, close the first application running in the background and run the second application in the background; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
[0195] In this application, the user's current environment can be determined by obtaining the current location information and current time of the smart device, and the relationship between different applications can be determined by obtaining the log information of the smart device. By using the relationship, current location information and current time as inputs to the probability prediction model, the probability of application use is included in the user's probability of using the application before the current time and the user's current environment, making the prediction of application use probability more accurate.
[0196] For ease of understanding Figure 2 The steps are as follows: Figure 2 The steps are explained in detail below:
[0197] In some possible embodiments, obtaining the current location information, current time, and log information from at least two applications on the smart device can be done in real time or according to a preset period. For example, the set period is two hours, and the first execution... Figure 2 If the step in the example is 10:00, then the next step of obtaining the current location information, the current time, and log information from at least two applications on the smart device will be executed again at 12:00. The two-hour cycle shown in this application is only one embodiment. In specific applications, technicians can set the smart device to execute the steps according to their needs. Figure 2 The cycle.
[0198] In some possible embodiments, the relationships between applications are valuable for predicting application usage probabilities. Therefore, this application establishes relationships to characterize the relationships between applications. Determining the relationships between applications based on log information from at least two applications can be specifically implemented as follows: Figure 3 The steps shown are as follows:
[0199] In step 301: Construct a first candidate set based on log information from at least two applications.
[0200] For example, for smart device A, the log information corresponding to smart device A obtained from the memory includes: log information 1, log information 2, log information 3, ..., log information n. Then the first candidate set constructed includes: log information 1, log information 2, log information 3, ..., log information n.
[0201] In some possible embodiments, in order to save the resources consumed by the smart device during the computing process, after constructing the first candidate set, the startup time corresponding to each application can be obtained from the log information; the log information corresponding to the applications whose startup time is greater than a first preset time is removed from the first candidate set, and the first candidate set is updated.
[0202] For example: For smart device A, the log information corresponding to smart device A obtained from the memory includes: log information 1, log information 2, log information 3, ..., log information 10. Then the first candidate set includes: log information 1, log information 2, log information 3, ..., log information 10. The first preset time is April 3rd. Then, based on the start time in each log information, the applications whose start time is before April 3rd are determined to be: application 2, application 3, application 4, and application 6. Then, the log information corresponding to the applications whose start time is before April 3rd is removed from the first candidate set, and the updated first candidate set includes: log information 1, log information 5, log information 7, log information 8, log information 9, and log information 10.
[0203] In step 302: Determine the application support level corresponding to each log information in the first candidate set.
[0204] In some possible embodiments, when determining the support level of the application corresponding to each log information, it can be implemented as follows: for each application corresponding to log information included in the first candidate set, determine the first total number of times the application runs in multiple preset time periods, and use the ratio of the first total number of times to the number of preset time periods as the support level of the application.
[0205] For example, preset time periods include: 23:00-6:00, 6:00-9:00, 9:00-12:00, 12:00-13:00, 13:00-18:00, and 18:00-23:00. Log information is used to determine the operation of each application on the smart device. Figure 4 As shown, we can determine that the first total number of times application A runs in multiple preset time periods is 3, and the number of preset time periods is 6. Therefore, the support rate of application A is 3 / 6 = 50%. Similarly, we can calculate the support rate of application B as 3 / 6 = 50%, the support rate of application C as 3 / 6 = 50%, and the support rate of application D as 2 / 6 = 33.3%.
[0206] This method can accurately determine the running status of each application, ensuring the accuracy of the subsequently determined usage probability of the applications.
[0207] In step 303: the target log information is determined from the first candidate set, and the target log information is used to form a frequent itemset.
[0208] The target log information consists of log information in the first candidate set whose support is greater than a preset threshold.
[0209] In some possible embodiments, when target log information is determined in the first candidate set, a second candidate set is first determined based on the first candidate set; and the first process is executed iteratively on the second candidate set until the number of first target groups is determined to be a first preset value, and the log information contained in the first preset value of first target groups is determined as the target log information. Wherein, as... Figure 5 As shown, the first process includes:
[0210] In step 501: Detect whether the second candidate set contains more than a first number of first log messages; the first log messages are log messages that have not been identified as combined.
[0211] Step 502: Based on the fact that the second candidate set contains more than a first number of first log information, determine the second log information from the first log information contained in the second candidate set.
[0212] In step 503: the second log information and each first number of other first log information in the second candidate set are grouped together to form at least one first target group.
[0213] In step 504: the second log information is marked as combined log information, and the step of detecting whether the second candidate set contains more than a first number of first log information is re-executed until the number of first log information contained in the second candidate set is not greater than the first number.
[0214] In step 505: Detect whether the number of the first target group is the first preset value.
[0215] In step 506: Since the number of the first target group is not the first preset value, the first number is updated according to the preset update value, and the support of each first target group is determined.
[0216] In step 507: the second candidate set is updated with the log information contained in the first target group whose support is greater than the first support threshold, and all the log information contained in the second candidate set is updated with log information that has not been identified as combined.
[0217] Each first target group contains second log information, and each first target group contains a second number of log information; the value of the second number is the sum of the first number and 1. In this embodiment, the initial value of the first number is 0. For example: the second candidate set includes: A, B, C, D. It is determined that A, B, C, and D are all log information that has not been marked as combined. A is taken as the second log information. This is the first execution of the first process, so the first number is 0. A is grouped with 0 first log information, and the resulting first target group 1 includes one log information, which is A. A is marked as combined log information. At this time, it is determined that the second candidate set contains more than 0 first log information: B, C, D. B is taken as the second log information. At this time, the first process has not yet been completed, so the first number is still 0. B is grouped with 0 first log information, and the resulting first target group 2 includes one log information, which is B. B is marked as combined log information. The second candidate set is determined to contain more than 0 first log messages: C and D. C is selected as the second log message. Since the first process has not yet completed, the initial number of first log messages is still 0. C is grouped with 0 first log messages, resulting in first target group 3 containing one log message, C. C is marked as a combined log message. The second candidate set is then determined to contain more than 0 first log messages: D. D is selected as the second log message. Since the first process has not yet completed, the initial number of first log messages is still 0. D is grouped with 0 first log messages (at this point, there are no more first log messages in the second candidate set), resulting in first target group 4 containing one log message, D. D is marked as a combined log message.
[0218] At this point, it is determined that the number of first log messages contained in the second candidate set is not greater than 0.
[0219] In some possible embodiments, the first preset value is 1, the preset update value is 1, and continuing with the above example, the first target groups are determined to be the first target group 1, the first target group 2, the first target group 3 and the first target group 4. The number of the first target groups is 4, which is not equal to the first preset value. Therefore, the first quantity is updated using the preset update value, and the first quantity is updated to 1.
[0220] Assume that the support for the first target group 1 (A) is 60%, the support for the first target group 2 (B) is 60%, the support for the first target group 3 (C) is 40%, and the support for the first target group 4 (D) is 70%.
[0221] If the first support threshold is set to 50%, then the log information contained in the updated second candidate set is determined to be: A, B, and D, and A, B, and D are updated to log information that has not been identified as combined.
[0222] At this point, it is determined that the second candidate set contains 3 first log messages, which is greater than the first quantity. Therefore, the first process needs to be executed again, this time with a first quantity of 1. A is designated as the second log message, and A is grouped with one first log message (B, D) to obtain two first target groups: one containing A and B, and the other containing A and D. Each first target group contains 2 log messages. A is then marked as a combined log message, and B is designated as the second log message. The remaining first log message is D. B and D are then grouped together to obtain a first target group containing both B and D.
[0223] Assuming the support for the first target group containing A and B is determined to be 60%, the support for the first target group containing A and D is determined to be 60%, the support for the first target group containing B and D is determined to be 40%, and the first support threshold is determined to be 50%, then the log information contained in the updated second candidate set is determined to be A, B, and D, and A, B, and D are updated to log information that has not been identified as combined.
[0224] At this point, the first quantity is 2. Since the second candidate set contains 3 more first log messages than the first quantity, the first process needs to be executed again. A, B, and D are identified as second log messages. Since the first quantity is 2, A is selected as the second log message. A is grouped with 2 other first log messages (B and D) to form a first target group. This first target group contains A, B, and D. The second quantity is now 3, with each first target group containing 3 log messages. A is now marked as a grouped log message. There are 2 unmarked log messages (B and D) equal to the first quantity (2). Therefore, a first target group containing A, B, and D is finally obtained. The quantity of the first target group is determined to be the first preset value of 1. The target log messages are then A, B, and D.
[0225] In some possible embodiments, determining the target log information involves, in addition to using... Figure 5 In addition to the steps mentioned above, other methods can also be used, such as Figure 6 The steps shown are as follows:
[0226] In step 601: Determine the support level of each log message in the first candidate set.
[0227] In step 602: Log information with support less than the second support threshold is removed from the first candidate set to obtain the third candidate set.
[0228] In step 603: Determine whether the number of log messages contained in the third candidate set is not greater than the second preset value.
[0229] In step 604: Based on the fact that the number of log information contained in the third candidate set is not greater than the second preset value, the second preset value of log information is determined as the target log information.
[0230] For example: If the log information included in the first candidate set is A, B, C and D, the second preset value is 1, the second support threshold is 50%, and the support of A is determined to be 60%, the support of B is 40%, the support of C is 40%, and the support of D is 40%, then the third candidate set contains a log information A, and A is taken as the target log information.
[0231] In some possible embodiments, in addition to employing, such as Figure 5 as well as Figure 6 In addition to determining the target log information through the steps in the process, it can also be done through methods such as Figure 7 The steps shown are for determining the target log information, where:
[0232] In step 701: Each log message contained in the first candidate set is identified as the first connection group.
[0233] In step 702: the first connection group is formed into the fourth candidate set.
[0234] In step 703: The second process is executed repeatedly on the fourth candidate set until it is determined that the number of first connection groups contained in the fourth candidate set is not greater than the first preset value, and the log information contained in the first preset value of first connection groups is determined as the target log information.
[0235] For example, if the log information included in the first candidate set is A, B, C, and D, then A is determined as the first connection group 1, B as the first connection group 2, C as the first connection group 3, and D as the first connection group 4. The first connection groups included in the resulting fourth candidate set are: first connection group 1, first connection group 2, first connection group 3, and first connection group 4.
[0236] In some possible embodiments, the second process may be implemented as follows: Figure 8 The steps shown are as follows:
[0237] In step 801: Detect whether the number of first connection groups contained in the fourth candidate set is greater than the first preset value.
[0238] In step 802: Based on the fact that the number of first connection groups contained in the fourth candidate set is greater than the first preset value, the first connection groups contained in the fourth candidate set are sorted according to the preset rules to obtain the first sequence.
[0239] In step 803: For each of the first connection groups contained in the fourth candidate set, the first connection group is determined as the target connection group; according to the first sequence, the target connection group is combined with the log information to be connected contained in the second connection group to obtain the third connection group, wherein the second connection group is the first connection group in the fourth candidate set that is located after the target connection group in the first sequence; the log information to be connected is the log information in the second connection group that is not contained in the target connection group.
[0240] In step 804: Among the obtained third connection groups, determine whether there are at least two third connection groups that contain the same log information.
[0241] In step 805: Based on the existence of at least two third connection groups containing the same log information, retain any one of the at least two third connection groups containing the same log information, and remove the other third connection groups containing the same log information, and update the obtained third connection group.
[0242] In step 806: Determine whether the number of the third connection group is greater than the first preset value.
[0243] In step 807: Based on the fact that the number of third connection groups is greater than the first preset value, the support of each obtained third connection group is determined, and the third connection group with a support greater than the first support threshold is used as the first connection group to update the fourth candidate set.
[0244] In step 808: Based on the fact that the number of the third connection group is not greater than the first preset value, the third connection group is used as the first connection group to update the fourth candidate set.
[0245] Step 809: End.
[0246] Taking the above example again, if the fourth candidate set contains four first connection groups and the first preset value is 1, then it is determined that the number of first connection groups in the fourth candidate set is greater than the first preset value, and then step 802 is executed.
[0247] In some possible embodiments, when sorting the first connection group, the sorting can be based on the order in which the log information of the first connection group is stored in the memory, or the first connection group can be randomly sorted. This application does not limit the specific implementation form of the preset rule. Continuing with the above example, the first connection group 1, first connection group 2, first connection group 3, and first connection group 4 in the fourth candidate set are randomly sorted, and the resulting first sequence is: first connection group 1, first connection group 2, first connection group 3, and first connection group 4.
[0248] For the first connection group 1 in the fourth candidate set, the first connection group 1 is determined as the target connection group. The second connection groups are: first connection group 2, first connection group 3, and first connection group 4. The log information to be connected in the first connection group 1 and the first connection group 2 is combined. The log information in the first connection group 2 is B, and B is not in the first connection group 1. Therefore, the third connection group 1 obtained by combining them includes A and B. Similarly, the third connection group 2 and the third connection group 3 can be obtained, where the third connection group 2 includes A and C, and the third connection group 3 includes A and D. Then, the first connection group 2 is taken as the target connection group, and the second connection groups are: first connection group 3 and first connection group 4. The log information to be connected in the first connection group 2 and the first connection group 3 is combined. The first connection group 3 contains log information C, which is not in the first connection group 2. Therefore, the resulting third connection group 4 includes B and C. Similarly, the third connection group 5 includes B and D. Using the first connection group 3 as the target connection group, the second connection group is the first connection group 4. The log information to be connected in the first connection group 3 and the first connection group 4 is combined. The log information in the first connection group 4 is D, which is not in the first connection group 3. Therefore, the resulting third connection group 6 includes C and D. Finally, using the first connection group 4 as the target connection group, there is no first connection group after the first connection group 4 in the first sequence, so a second connection group cannot be formed. Therefore, this step ends. The final third connection groups are: third connection group 1, third connection group 2, third connection group 3, third connection group 4, third connection group 5, and third connection group 6.
[0249] The log information included in the third connection group 1 is: A, B; the log information included in the third connection group 2 is: A, C; the log information included in the third connection group 3 is: A, D; the log information included in the third connection group 4 is: B, C; the log information included in the third connection group 5 is: B, D; and the log information included in the third connection group 6 is: C, D. It can be determined that there are no at least two third connection groups containing the same log information, therefore step 805 does not need to be executed, and step 806 can be executed directly.
[0250] At this point, the number of the third connection group is 6, which is greater than the first preset value, so step 807 needs to be executed.
[0251] Assuming the number of times each log message appears within a preset time period is determined, such as... Figure 9As shown, the support of the third connection group 1 can be determined as 2 / 6 = 33%, the support of the third connection group 2 is 2 / 6 = 33%, the support of the third connection group 3 is 0 / 6 = 0%, the support of the third connection group 4 is 2 / 6 = 33%, the support of the third connection group 5 is 0 / 6 = 0%, and the support of the third connection group 6 is 1 / 6 = 17%. If the first support threshold is set to 32%, then the third connection groups with support greater than the first support threshold are: third connection group 1, third connection group 2, and third connection group 4. Therefore, the fourth candidate set includes: first connection group 1, first connection group 2, and first connection group 3. The log information included in first connection group 1 is A and B, the log information included in first connection group 2 is A and C, and the log information included in first connection group 3 is B and C.
[0252] At this point, the fourth candidate set contains three first connection groups, and the first preset value is 1. Since the number of first connection groups in the fourth candidate set is greater than the first preset value, step 802 needs to be executed again. The first connection groups 1, 2, 3, and 4 in the fourth candidate set are randomly sorted, resulting in the first sequence: first connection group 1, first connection group 2, and first connection group 3. For the first connection group 1 in the fourth candidate set, it is determined as the target connection group. The second connection groups are: first connection group 2 and first connection group 3. The log information to be connected in first connection group 1 and first connection group 2 is combined. The log information contained in first connection group 2 is A. Since C is not in the first connection group 1, the resulting third connection group 1 includes A, B, and C. Similarly, the third connection group 2, which also includes A, B, and C, is obtained. Then, the first connection group 2 is used as the target connection group, and the second connection group is the first connection group 3. The log information to be connected in the first connection group 2 and the first connection group 3 is combined. The log information to be combined in the first connection group 3 is B, thus the third connection group 3, which includes A, B, and C, is obtained. Finally, the first connection group 3 is used as the target connection group. At this point, there is no first connection group after the first connection group 3 in the first sequence, so a second connection group cannot be formed, and this step ends. The final third connection groups are: third connection group 1, third connection group 2, and third connection group 3.
[0253] The log information included in the third connection group 1 is: A, B, C; the log information included in the third connection group 2 is: A, B, C; and the log information included in the third connection group 3 is: A, B, C. It can be determined that there exist third connection groups containing identical log information. Therefore, step 805 needs to be executed to retain any one of the third connection groups 1, 2, and 3. For example, retain third connection group 1 and remove third connection groups 2 and 3, updating the resulting third connection group to third connection group 1. At this point, only one third connection group remains. The number of third connection groups is not greater than the first preset value. Therefore, the third connection group is used as the first connection group to update the fourth candidate set. At this point, the number of first connection groups in the fourth candidate set is not greater than the first preset value. The log information A, B, and C contained in this first connection group is determined as the target log information.
[0254] It should be noted that this application does not limit the specific values of the first preset value and the first support threshold. The above is only one embodiment. In specific implementation, those skilled in the art can... Figure 5 , Figure 6 or Figure 8 To determine the target log information, in the following manner Figure 5 or Figure 8 When determining the target log information, the first support threshold can be set to different values.
[0255] In step 304: log information groups are identified in the first candidate set, and the confidence level of the application corresponding to each log information group is determined.
[0256] In some possible embodiments, the confidence level of the application corresponding to each log information group represents the probability that the applications in that group will run simultaneously within a preset time period. In this application, before determining the confidence level of the application corresponding to each log information group, it is first necessary to determine the log information groups in the first candidate set. Specifically, this can be implemented as follows: Figure 10 The steps shown are as follows:
[0257] In step 1001: Determine the log information to be combined that has a support greater than the first support threshold in the first candidate set.
[0258] In step 1002: the process of repeatedly selecting two log information items from the log information to be combined to form a log information group is executed until the number of log information groups formed by each log information item is the difference between the total number of log information items to be combined and 1.
[0259] Among these, for any two selected log messages to be combined, at least one of the log messages to be combined must be different.
[0260] For example, if the log information included in the first candidate set is A, B, C, and D, then the step of selecting two log information to be combined from the log information to be combined each time to form a log information group is executed cyclically. The resulting log information groups are Log Information Group 1, Log Information Group 2, Log Information Group 3, Log Information Group 4, Log Information Group 5, and Log Information Group 6. Among them, Log Information Group 1 includes log information A and B, Log Information Group 2 includes log information A and C, Log Information Group 3 includes log information A and D, Log Information Group 4 includes log information B and C, Log Information Group 5 includes log information B and D, and Log Information Group 6 includes log information C and D. Each log information in the first candidate set participates in the formation of 3 log information groups.
[0261] In some possible embodiments, after identifying the log message groups, the application corresponding to each log message group is executed as follows: Figure 11 The steps shown are for determining the confidence level of each log message group, where:
[0262] In step 1101: Obtain the startup times of the two applications in the log information group from the log information.
[0263] In step 1102: Based on the startup times of the two applications, the two applications are divided into a third application and a fourth application; the startup time of the third application is earlier than the startup time of the fourth application; the startup time is the time when the application is first launched.
[0264] For example: Figure 9 As shown, for log information group 1, the log information included in log information group 1 is A and B. The time when the application corresponding to A was first launched was determined to be 3 o'clock, and the time when the application corresponding to B was first launched was determined to be 4 o'clock. Therefore, the application corresponding to A is determined to be the third application, and the application corresponding to B is determined to be the fourth application.
[0265] In step 1103: determine the second total number of times the third application and the fourth application run simultaneously in multiple preset time periods, and determine the median ratio between the second total number of times and the number of preset time periods.
[0266] For example: Figure 9 As shown, if A appears 3 times, B appears 4 times, and A and B appear together twice, and the preset time period is 6, then the median ratio can be determined to be 67%.
[0267] In step 1104: the ratio of the median ratio to the support level of the third application is used as the confidence level of the log information group.
[0268] Continue with Figure 9 For example, if the support rate of the third application A is 50%, then the confidence level of log information group 1 can be determined to be 74%.
[0269] In step 305: the support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence level corresponding to each log information group are determined as the association relationship.
[0270] In summary, this application determines the relationship between two log information groups by establishing their confidence level. The association is constructed based on the application's support, frequent itemsets, and confidence level, making the prediction of the application's usage probability more accurate.
[0271] In some possible embodiments, to ensure the accuracy of predicting application usage probabilities based on historical data in memory, it is necessary to update the historical data in memory. Therefore, after closing the first application running in the background and running the second application in the background, the current location information, current time, usage probability of each application, and log information of each application can be obtained and stored. Based on this method, when predicting application usage probabilities again, the currently stored current location information, current time, usage probability of each application, and log information of each application can be used as historical data.
[0272] In some possible embodiments, to reduce the initialization time of an application when the user's probability of using the application is greater than a second preset value, it is necessary to determine whether the second application is running in the background; based on the determination that the second application is not running, the second application is launched in the background. This method saves the initialization time of the application by launching applications with a probability of use greater than the second preset value in the background.
[0273] In some possible embodiments, a certain number of applications can be maintained in the background. Therefore, before closing the first application running in the background, it can be determined whether the number of applications in the background exceeds a preset number. If the number of applications in the background exceeds the preset number, the first application is then closed in the background. Of course, to save the overhead of maintaining applications in the background, the first application running in the background can also be closed directly.
[0274] In some possible embodiments, to further improve the prediction of usage probability, the following can be implemented before predicting the usage probability of each application based on association, current location information, current time, and a probability prediction model: Figure 12The steps shown are as follows:
[0275] In step 1201: Obtain historical location information, historical time, and historical application usage probability.
[0276] In step 1202: The probabilistic prediction model is updated based on log information, historical location information, historical time, and historical application usage probability.
[0277] For example, if the memory stores the historical location information, historical time, log information, and historical application usage probability of the smart device for the three days prior to the current time, then the probability prediction model is updated based on the historical location information, historical time, log information, and historical application usage probability of the previous three days to obtain the updated probability prediction model.
[0278] In some possible embodiments, after modifying the probabilistic prediction model, when predicting the usage probability of each application based on the association, current location information, current time, and the probabilistic prediction model, the probabilistic prediction model used is... Figure 12 The steps shown are used to update the probability prediction model.
[0279] In some possible embodiments, the training of the probabilistic prediction model may employ methods such as Figure 13 The steps shown are as follows:
[0280] In step 1301: For each training device, collect the log information corresponding to each application in the training device, the current location information of the training device, and the current time; determine the application association relationship of the training device based on the log information corresponding to each application; and mark the usage probability of each application in the training device.
[0281] For example, for training device A, there are 5 applications, namely application 1, application 2, application 3, application 4 and application 5. Then, the log information, current location information and current time information of application 1 to application 5 are obtained, and the technicians mark the usage probability of application 1 to application 5.
[0282] In step 1302: a training sample set is constructed based on the application association, current location information, current time, and usage probability of the tag corresponding to each training device.
[0283] In step 1303: the training sample set is input into the initial probability prediction model, the initial probability prediction model is trained until the preset convergence condition is met, and the initial probability prediction model at the end of the iteration is used as the probability prediction model.
[0284] In some possible embodiments, the training sample set is input into the initial probability prediction model, and the training of the initial probability prediction model can be specifically implemented as follows: Figure 14 The steps shown are as follows:
[0285] In step 1401: Input the training samples from the training sample set into the initial probability prediction model to obtain the usage probability output by the initial probability prediction model.
[0286] In step 1402: Determine the loss value between the usage probability of the training sample labels and the usage probability output by the initial probability prediction model.
[0287] In step 1403: Determine whether the loss value meets the preset convergence condition.
[0288] The preset convergence conditions can be set by technicians based on the accuracy of the expected probability prediction model. This application does not limit the specific convergence conditions.
[0289] In step 1404: Based on the fact that the loss value does not meet the preset convergence condition, the model parameters of the initial probability prediction model are adjusted according to the loss value, and the process is returned to input the training samples in the training sample set into the initial probability prediction model.
[0290] In this application, a Long Short Term Memory (LSTM) network model and a Convolutional Neural Network (CNN) model can be used together to construct the probabilistic prediction model. This will be explained below:
[0291] LSTM is composed of stacked LSTM units and is mainly used to extract temporal information features. CNN consists of three convolutional layers, three pooling layers, and one fully connected layer. It is mainly used to concatenate the extracted temporal information features with the non-temporal features obtained by the data processing module and further extract features. The probabilistic prediction model provided in this application is trained repeatedly on pre-labeled data to optimize various parameters, thereby achieving high-precision prediction capabilities for this module.
[0292] The LSTM model is essentially a specific form of recurrent neural network (RNN). The LSTM model effectively utilizes long-range temporal information by adding input gates, output gates, and forget gates.
[0293] In the training process of an LSTM neural network, the data features at time t are first input into the input layer, and the result is output after passing through the activation function. The output result, the hidden layer output at time t-1, and the information stored in the LSTM unit at time t-1 are input into the nodes of the LSTM structure. Through the Input Gate, Output Gate, Forget Gate, and processing by the LSTM unit, the data is output to the next hidden layer or output layer. The results of the LSTM structure nodes are output to the output layer neurons, the backpropagation error is calculated, and the weights are updated.
[0294] CNNs are a class of deep feedforward neural networks that incorporate convolutional computations. CNN networks typically consist of convolutional layers and pooling layers, and multiple layers can be constructed as needed. Due to the sharing of convolutional kernel parameters and the sparsity of inter-layer connections, CNNs can learn features at a relatively low cost. Their convolutional layers are primarily used for feature extraction, while pooling layers are mainly used to reduce the model size. This application connects a CNN network after the output of an LSTM and concatenates the non-sequential data obtained from the data processing module into the input to further extract data features.
[0295] To facilitate a further understanding of the application management method provided in this application embodiment, a comprehensive flowchart of the application management method provided in this application is described below, such as... Figure 15 As shown:
[0296] In step 1501: obtain historical location information, historical time, log information of at least two applications in the smart device, and historical application usage probability.
[0297] In step 1502: The probabilistic prediction model is updated based on log information, historical location information, historical time, and historical application usage probability.
[0298] In step 1503: Construct a first candidate set based on log information from at least two applications.
[0299] In step 1504: Obtain the startup time corresponding to each application from the log information.
[0300] In step 1505: the log information corresponding to the application whose startup time is greater than the first preset time is removed from the first candidate set, and the first candidate set is updated.
[0301] In step 1506: Determine the application support level corresponding to each log information in the first candidate set.
[0302] In step 1507: the target log information is determined from the first candidate set, and the target log information is used to form a frequent itemset.
[0303] In step 1508: log information groups are identified in the first candidate set, and the confidence level of the application corresponding to each log information group is determined.
[0304] In step 1509: the support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence level corresponding to each log information group are determined as the association relationship.
[0305] In step 1510: the association relationship, current location information, and current time are used as inputs to the probability prediction model to obtain the usage probabilities of at least two applications output by the probability prediction model.
[0306] In step 1511: Based on the predicted usage probabilities of at least two applications.
[0307] In step 1512: Close the first application running in the background and run the second application in the background.
[0308] In step 1513: Obtain and store the current location information, current time, usage probability of each application, and log information of each application.
[0309] like Figure 16 As shown, an application management device 1600 is proposed, the device comprising:
[0310] The acquisition module 16001 is used to acquire the current location information and the current time, and to acquire the log information of at least two applications in the smart device;
[0311] The association determination module 16002 is used to determine the association relationship between the at least two applications based on the log information of the at least two applications;
[0312] The prediction module 16003 is used to take the association relationship, the current location information, and the current time as inputs to the probability prediction model to obtain the usage probability of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model for predicting the usage probability of applications.
[0313] The management module 16004 is used to close the first application running in the background and run the second application in the background based on the predicted usage probability of the at least two applications; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
[0314] Preferably, when the association determination module 16002 performs the function of determining the association relationship of the applications based on the log information of the at least two applications, it is specifically used for:
[0315] A first candidate set is constructed based on the log information of the at least two applications;
[0316] Determine the application support level corresponding to each log information in the first candidate set;
[0317] Target log information is identified in the first candidate set, and the target log information is used to form a frequent itemset; the target log information is log information in the first candidate set whose support is greater than a preset threshold.
[0318] Log information groups are identified in the first candidate set, and the confidence level of the application corresponding to each log information group is determined; the log information group is composed of log information in the first candidate set whose support is greater than a preset threshold.
[0319] The support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence level corresponding to each log information group are determined as the association relationship.
[0320] Preferably, when the association determination module 16002 determines the support level of the application corresponding to each log information in the first candidate set, it is specifically used for:
[0321] For each application corresponding to log information contained in the first candidate set, a first total number of times the application runs in multiple preset time periods is determined, and the ratio of the first total number of times to the number of preset time periods is used as the support level of the application.
[0322] Preferably, when the association determination module 16002 determines the log information group in the first candidate set, it is specifically used for:
[0323] Identify log information to be combined from the first candidate set whose support is greater than a first support threshold;
[0324] The process is repeated until the number of log information groups formed by each log information to be combined is equal to the difference between the total number of log information groups to be combined and 1.
[0325] Among these, for any two selected log messages to be combined, at least one of the log messages to be combined must be different.
[0326] Preferably, when the association determination module 16002 performs the task of determining the confidence level of the application corresponding to each log information group, it is specifically used for:
[0327] Perform the following steps for each application corresponding to each log information group:
[0328] Obtain the startup time of each of the two applications in the log information group from the log information;
[0329] Based on the respective launch times of the two applications, the two applications are divided into a third application and a fourth application; wherein the launch time of the third application is earlier than the launch time of the fourth application; the launch time is the time when the application is first launched.
[0330] Determine the second total number of times the third application and the fourth application run simultaneously in multiple preset time periods, and determine the median ratio between the second total number of times and the number of preset time periods;
[0331] The ratio of the intermediate ratio to the support level of the third application is used as the confidence level of the log information group.
[0332] Preferably, before the association determination module 16002 determines the support level of the application corresponding to each log information in the first candidate set, it is further configured to:
[0333] Obtain the startup time corresponding to each application from the log information;
[0334] Log information for applications whose startup time is greater than a first preset time is removed from the first candidate set, and the first candidate set is updated.
[0335] Preferably, when the association determination module 16002 determines the target log information in the first candidate set, it is specifically used for:
[0336] A second candidate set is determined based on the first candidate set; the second candidate set includes at least two log information items.
[0337] The first process is executed iteratively on the second candidate set until the number of the first target groups is determined to be a first preset value, and the log information contained in the first preset value of the first target groups is determined as the target log information; wherein, the first process includes:
[0338] Detect whether the second candidate set contains more than a first number of first log messages; the first log messages are log messages that have not been identified as combined;
[0339] Based on the fact that the second candidate set contains more than a first number of first log information, the second log information is determined from the first log information contained in the second candidate set;
[0340] The second log information is grouped together with every first number of other first log information in the second candidate set to form at least one first target group; wherein each first target group contains the second log information, and each first target group contains a second number of log information; the value of the second number is the sum of the first number and 1;
[0341] The second log information is marked as combined log information, and the step of detecting whether the second candidate set contains more than a first number of first log information is re-executed until the number of first log information contained in the second candidate set is not greater than the first number is detected.
[0342] Detect whether the number of the first target group is a first preset value;
[0343] Since the number of the first target group is not a first preset value, the first number is updated according to a preset update value, and the support level of each first target group is determined.
[0344] The second candidate set is updated with log information contained in the first target group whose support is greater than the first support threshold, and all log information contained in the second candidate set is updated with log information that has not been identified as combined.
[0345] Preferably, the preset update value is 1.
[0346] Preferably, the association determination module 16002 determines the target log information in the first candidate set, including:
[0347] Determine the support level of each log message in the first candidate set;
[0348] Log information with support less than the second support threshold is removed from the first candidate set to obtain the third candidate set;
[0349] Determine whether the number of log information items contained in the third candidate set is not greater than a second preset value;
[0350] Based on the fact that the number of log information contained in the third candidate set is not greater than the second preset value, the second preset value of log information is determined as the target log information.
[0351] Preferably, when the association determination module 16002 determines the target log information in the first candidate set, it is specifically used for:
[0352] Each log information contained in the first candidate set is determined as a first connection group, and the first connection groups are formed into a fourth candidate set;
[0353] The second process is executed iteratively on the fourth candidate set until it is determined that the number of first connection groups contained in the fourth candidate set is not greater than a first preset value, and the log information contained in the first preset value of first connection groups is determined as the target log information; wherein, the second process includes:
[0354] Detect whether the number of first connection groups contained in the fourth candidate set is greater than a first preset value;
[0355] Based on the fact that the number of first connection groups contained in the fourth candidate set is greater than a first preset value, the first connection groups contained in the fourth candidate set are sorted according to a preset rule to obtain a first sequence;
[0356] For each of the first connection groups included in the fourth candidate set, the first connection group is determined as the target connection group; according to the first sequence, the target connection group is combined with the log information to be connected included in the second connection group to obtain a third connection group, wherein the second connection group is the first connection group in the fourth candidate set that is located after the target connection group in the first sequence; the log information to be connected is log information in the second connection group that is not included in the target connection group;
[0357] In the obtained third connection groups, determine whether there are at least two third connection groups that contain the same log information;
[0358] If there are at least two third connection groups that contain the same log information, then retain one of the at least two third connection groups that contain the same log information, and remove the other third connection groups that contain the same log information, and update the resulting third connection group.
[0359] Determine whether the number of the third connection group is greater than the first preset value;
[0360] Based on the fact that the number of the third connection groups is greater than the first preset value, the support of each of the obtained third connection groups is determined, and the third connection groups with support greater than the first support threshold are used as the first connection groups to update the fourth candidate set;
[0361] Based on the fact that the number of the third connection group is not greater than the first preset value, the third connection group is used as the first connection group to update the fourth candidate set.
[0362] Preferably, before the prediction module 16003 performs prediction on each application based on the association, the current location information, the current time, and the probability prediction model to obtain the usage probability of each application, it is further configured to:
[0363] Obtain historical location information, historical time, and historical application usage probability;
[0364] The probability prediction model is updated based on the log information, the historical location information, the historical time, and the historical application usage probability.
[0365] Preferably, when the prediction module performs prediction on each application based on the association, the current location information, the current time, and the probability prediction model to obtain the usage probability of each application, it is specifically used for:
[0366] Based on the association, the current location information, the current time, and the updated probability prediction model, a prediction is made for each application to obtain the usage probability of each application.
[0367] Preferably, the probabilistic prediction model is trained according to the following method:
[0368] For each training device, log information corresponding to each application in the training device, the current location information of the training device, and the current time are collected; the application association relationship of the training device is determined based on the log information corresponding to each application; and the usage probability of each application in the training device is marked.
[0369] A training sample set is constructed based on the application association, current location information, current time, and usage probability of the tag for each training device;
[0370] The training sample set is input into the initial probability prediction model, and the initial probability prediction model is trained until the preset convergence condition is met. The initial probability prediction model at the end of the iteration is taken as the probability prediction model.
[0371] Preferably, after the management module 16004 executes the action of closing the first application running in the background and running the second application in the background, it is further configured to:
[0372] The current location information, the current time, the usage probability of each application, and the log information of each application are obtained and stored.
[0373] Preferably, when the management module 16004 executes the second application running in the background, it is specifically used for:
[0374] Determine whether the second application is running in the background;
[0375] The second application is launched in the background since it is not running in the background.
[0376] Corresponding to the above embodiments, this application also provides an electronic device. Figure 17 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. The electronic device 1700 may include a processor 1701, a memory 1702, and a communication unit 1703. These components communicate through one or more buses. Those skilled in the art will understand that the structure of the electronic device shown in the figure does not constitute a limitation on the embodiment of the present invention. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0377] The communication unit 1703 is used to establish a communication channel, enabling the electronic device to communicate with other devices. It receives user data from other devices or sends user data to other devices.
[0378] The processor 1701 serves as the control center of the electronic device, connecting various parts of the device via interfaces and lines. It executes software programs and / or modules stored in the memory 1702 and retrieves data stored in the memory to perform various functions and / or process data. The processor can be composed of integrated circuits (ICs), such as a single packaged IC or multiple packaged ICs with the same or different functions connected together. For example, the processor 1701 may consist only of a central processing unit (CPU). In this embodiment, the CPU may have a single processing core or include multiple processing cores.
[0379] The memory 1702 is used to store the execution instructions of the processor 1701. The memory 1702 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.
[0380] When the execution instructions in memory 1702 are executed by processor 1701, the electronic device 1700 is able to perform its functions. Figure 7 Some or all of the steps in the illustrated embodiments.
[0381] In a specific implementation, the present invention also provides a computer storage medium, wherein the computer storage medium may store a program, which, when executed, may include some or all of the steps of the calling method provided by the present invention. The storage medium may be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0382] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments of the present invention.
[0383] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the device embodiments and terminal embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
Claims
1. An application management method, characterized in that, Applied to smart devices, the method includes: Obtain the current location information and current time, and obtain log information from at least two applications in the smart device; Determining the association relationship between the at least two applications based on their log information; wherein, determining the association relationship based on the log information of the at least two applications includes: constructing a first candidate set based on the log information of the at least two applications; determining the support of the application corresponding to each log information in the first candidate set; identifying target log information in the first candidate set and forming frequent itemsets from the target log information; the target log information is log information in the first candidate set whose support is greater than a preset threshold; identifying log information groups in the first candidate set and determining the confidence of the application corresponding to each log information group; the log information group is composed of log information in the first candidate set whose support is greater than a preset threshold; and determining the association relationship by the support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence of the application corresponding to each log information group. The association, the current location information, and the current time are used as inputs to the probability prediction model to obtain the usage probabilities of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model for predicting the usage probabilities of applications. Based on the predicted usage probabilities of the at least two applications, the first application running in the background is closed, and the second application is run in the background; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
2. The method according to claim 1, characterized in that, Determining the application support level corresponding to each log information in the first candidate set includes: For each application corresponding to log information contained in the first candidate set, a first total number of times the application runs in multiple preset time periods is determined, and the ratio of the first total number of times to the number of preset time periods is used as the support level of the application.
3. The method according to claim 1, characterized in that, The step of determining the log information group in the first candidate set includes: Identify log information to be combined from the first candidate set whose support is greater than a first support threshold; The process is repeated until the number of log information groups formed by each log information to be combined is equal to the difference between the total number of log information groups to be combined and 1. Among these, for any two selected log messages to be combined, at least one of the log messages to be combined must be different.
4. The method according to claim 1, characterized in that, Determining the confidence level of the application corresponding to each log information group includes: Perform the following steps for each application corresponding to each log information group: Obtain the startup time of each of the two applications in the log information group from the log information; Based on the respective launch times of the two applications, the two applications are divided into a third application and a fourth application; wherein the launch time of the third application is earlier than the launch time of the fourth application; the launch time is the time when the application is first launched. Determine the second total number of times the third application and the fourth application run simultaneously in multiple preset time periods, and determine the median ratio between the second total number of times and the number of preset time periods; The ratio of the intermediate ratio to the support level of the third application is used as the confidence level of the log information group.
5. The method according to claim 1, characterized in that, Before determining the application support level corresponding to each log information in the first candidate set, the method further includes: Obtain the startup time corresponding to each application from the log information; Log information for applications whose startup time is greater than a first preset time is removed from the first candidate set, and the first candidate set is updated.
6. The method according to claim 1, characterized in that, The step of determining the target log information in the first candidate set includes: A second candidate set is determined based on the first candidate set; the second candidate set includes at least two log information items. The first process is executed iteratively on the second candidate set until the number of first target groups is determined to be a third preset value, and the log information contained in the third preset value of first target groups is determined as target log information; wherein, the first process includes: Detect whether the second candidate set contains more than a first number of first log messages; the first log messages are log messages that have not been identified as combined; Based on the fact that the second candidate set contains more than a first number of first log information, the second log information is determined from the first log information contained in the second candidate set; The second log information is grouped together with each first number of other first log information in the second candidate set to form at least one first target group; wherein each first target group contains the second log information and each first target group contains a second number of log information; the value of the second number is the sum of the first number and 1; The second log information is marked as combined log information, and the step of detecting whether the second candidate set contains more than a first number of first log information is re-executed until the number of first log information contained in the second candidate set is not greater than the first number is detected. Detect whether the number of the first target group is a third preset value; Since the number of the first target group is not a third preset value, the first number is updated according to a preset update value, and the support level of each first target group is determined. The second candidate set is updated with log information contained in the first target group whose support is greater than the first support threshold, and all log information contained in the second candidate set is updated with log information that has not been identified as combined.
7. The method according to claim 6, characterized in that, The preset update value is 1.
8. The method according to claim 1, characterized in that, The step of determining the target log information in the first candidate set includes: Determine the support level of each log message in the first candidate set; Log information with support less than the second support threshold is removed from the first candidate set to obtain the third candidate set; Determine whether the number of log information contained in the third candidate set is not greater than a fourth preset value; Based on the fact that the number of log information contained in the third candidate set is not greater than the fourth preset value, the fourth preset value of log information is determined as the target log information.
9. The method according to claim 1, characterized in that, The step of determining the target log information in the first candidate set includes: Each log information contained in the first candidate set is determined as a first connection group, and the first connection groups are formed into a fourth candidate set; The second process is executed iteratively on the fourth candidate set until it is determined that the number of first connection groups contained in the fourth candidate set is not greater than a third preset value, and the log information contained in the third preset value of first connection groups is determined as the target log information; wherein, the second process includes: Detect whether the number of first connection groups contained in the fourth candidate set is greater than a third preset value; Based on the fact that the number of first connection groups contained in the fourth candidate set is greater than the third preset value, the first connection groups contained in the fourth candidate set are sorted according to preset rules to obtain a first sequence; For each of the first connection groups included in the fourth candidate set, the first connection group is determined as the target connection group; according to the first sequence, the target connection group is combined with the log information to be connected included in the second connection group to obtain a third connection group, wherein the second connection group is the first connection group in the fourth candidate set that is located after the target connection group in the first sequence; the log information to be connected is log information in the second connection group that is not included in the target connection group; In the obtained third connection groups, determine whether there are at least two third connection groups that contain the same log information; If there are at least two third connection groups that contain the same log information, then retain one of the at least two third connection groups that contain the same log information, and remove the other third connection groups that contain the same log information, and update the resulting third connection group. Determine whether the number of the third connection group is greater than a third preset value; Based on the fact that the number of the third connection groups is greater than a third preset value, the support of each of the obtained third connection groups is determined, and the third connection groups with support greater than a first support threshold are used as the first connection groups to update the fourth candidate set. Based on the fact that the number of the third connection group is not greater than a third preset value, the third connection group is used as the first connection group to update the fourth candidate set.
10. The method according to claim 1, characterized in that, Before predicting the usage probability of each application based on the association, the current location information, the current time, and the probability prediction model, the method further includes: Obtain historical location information, historical time, and historical application usage probability; The probability prediction model is updated based on the log information, the historical location information, the historical time, and the historical application usage probability.
11. The method according to claim 10, characterized in that, The process of predicting the usage probability of each application based on the association, the current location information, the current time, and the probability prediction model includes: Based on the association, the current location information, the current time, and the updated probability prediction model, a prediction is made for each application to obtain the usage probability of each application.
12. The method according to claim 1, characterized in that, The probabilistic prediction model is trained using the following method: For each training device, collect log information corresponding to each application in the training device, the current location information of the training device, and the current time; The application associations of the training device are determined based on the log information corresponding to each application. Furthermore, the usage probability of each application in the training device is labeled; A training sample set is constructed based on the application association, current location information, current time, and usage probability of the tag for each training device; The training sample set is input into the initial probability prediction model, and the initial probability prediction model is trained until the preset convergence condition is met. The initial probability prediction model at the end of the iteration is taken as the probability prediction model.
13. The method according to claim 1, characterized in that, After closing the first application running in the background and running the second application in the background, the method further includes: The current location information, the current time, the usage probability of each application, and the log information of each application are obtained and stored.
14. The method according to claim 13, characterized in that, Running the second application in the background includes: Determine whether the second application is running in the background; The second application is launched in the background since it is not running in the background.
15. An application management device, characterized in that, The device, used in smart devices, includes: The acquisition module is used to acquire the current location information and the current time, and to acquire the log information of at least two applications in the smart device; A correlation determination module is used to determine the correlation between at least two applications based on log information of the at least two applications; wherein, determining the correlation between the applications based on log information of the at least two applications includes: constructing a first candidate set based on log information of the at least two applications; determining the support of the application corresponding to each log information in the first candidate set; identifying target log information in the first candidate set and forming frequent itemsets from the target log information; the target log information is log information in the first candidate set whose support is greater than a preset threshold; identifying log information groups in the first candidate set and determining the confidence of the application corresponding to each log information group; the log information group is composed of log information in the first candidate set whose support is greater than a preset threshold; and determining the support of the application corresponding to each log information in the first candidate set, the frequent itemsets, and the confidence of the application corresponding to each log information group as the correlation. The prediction module is used to take the association relationship, the current location information, and the current time as inputs to the probability prediction model to obtain the usage probability of the at least two applications output by the probability prediction model; wherein, the probability prediction model is a pre-trained model for predicting the usage probability of applications; The management module is used to close the first application running in the background and run the second application in the background based on the predicted usage probabilities of the at least two applications; wherein the first application is an application whose usage probability is less than a first preset value, and the second application is an application whose usage probability is greater than a second preset value.
16. An electronic device, characterized in that, The device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to perform the method according to any one of claims 1-14.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1-14.
Citation Information
Patent Citations
Application management method, mobile terminal and computer-readable storage medium
CN107133094A
Application program preloading method and device, storage medium and mobile terminal
CN108595227A