Application configuration adjustment method and device, equipment and storage medium

Through the decision tree model, the adjustment strategies of multiple target decision trees are combined, and the accuracy of application configuration parameter adjustment in terminal devices is solved, achieving a balance between device performance and application experience.

CN120255973APending Publication Date: 2025-07-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410011015.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-02
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing technology cannot provide high-precision configuration parameter adjustment strategies in terminal devices such as game applications, resulting in the failure of the device performance to meet application needs, and problems such as lag and frame drops occur.

Method used

The trained decision tree model is adopted, and the adjustment sub-strategy is obtained based on the device performance parameter set through multiple target decision trees, the target adjustment strategy is comprehensively determined, and the application configuration parameters are accurately adjusted.

Benefits of technology

Improve the accuracy and accuracy of application configuration adjustment, balance equipment performance consumption and application experience, and achieve the best state of equipment operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120255973A_ABST
    Figure CN120255973A_ABST
Patent Text Reader

Abstract

The invention discloses an application configuration adjustment method and device, equipment and a storage medium. The scheme can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic and auxiliary driving. According to the method, when a target device runs a target application, a performance parameter set of the target device is obtained, a plurality of target decision trees included in a trained decision tree model are adopted respectively, corresponding adjustment sub-strategies are obtained based on corresponding performance parameter subsets in the performance parameter set, the obtained adjustment sub-strategies are synthesized, and the target application of the target device is adjusted according to the adjustment sub-strategies. According to the method, the target adjustment strategy of the target application is determined, and the configuration parameters of the target application are adjusted in a targeted manner based on the target adjustment strategy, so that the performance power consumption of the equipment occupied by each index of the target application is more reasonable, and the balance among the experience quality of the target application, the performance index of the target application and the optimal running state of the equipment is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and provides an application configuration adjustment method, device, equipment and storage medium. Background Art

[0002] Currently, the game screens in game applications are becoming more and more exquisite, and the gameplay in the games is also more colorful. However, this also increases the corresponding performance consumption of the game applications. If the performance of the terminal device itself cannot meet the performance requirements of the game applications, the game applications are very likely to experience situations such as stuttering and frame drops, affecting the usage experience of the game applications.

[0003] Currently, usually when a certain important game process is significantly affected, such as when there is obvious stuttering in a game match, the player will be asked whether to reduce the game application configuration to reduce the performance requirements of the game application, thereby reducing the power consumption of the terminal device and alleviating the occurrence of situations such as stuttering and frame drops in the game application. However, this processing method only simply considers that the game is in an abnormal state, so it blindly reduces various configurations in the game application and cannot give a more reasonable adjustment strategy for configuration parameters, and the accuracy of the configuration adjustment process is not high. Similarly, the same problem exists for other applications. Summary of the Invention

[0004] Embodiments of the present application provide an application configuration adjustment method, device, equipment and storage medium for improving the accuracy of application configuration parameter adjustment.

[0005] On the one hand, an application configuration adjustment method is provided. The method includes:

[0006] When the target device runs the target application, obtain a set of performance parameters of the target device, where the set of performance parameters includes parameter values of multiple device performance indicators associated with the target application;

[0007] Respectively use multiple target decision trees included in the trained decision tree model to obtain corresponding adjustment sub-strategies based on the corresponding performance parameter subsets in the set of performance parameters; wherein, the decision tree model is trained based on a training sample set, and each target decision tree is trained using a training sample subset of the training sample set, and at least one of the performance parameter subsets and training sample subsets corresponding to any two target decision trees is different;

[0008] Based on the obtained multiple adjustment sub-strategies, determine the target adjustment strategy of the target application;

[0009] Based on the target adjustment strategy, adjust the configuration parameters of the target application.

[0010] On the one hand, an application configuration adjustment device is provided. The device includes:

[0011] A data acquisition unit, configured to obtain a set of performance parameters of a target device when the target application is running on the target device, where the set of performance parameters includes: parameter values of multiple device performance indicators associated with the target application;

[0012] A policy prediction unit, configured to respectively use multiple target decision trees included in a trained decision tree model to obtain corresponding adjustment sub-policies based on corresponding subsets of performance parameters in the set of performance parameters; wherein, the decision tree model is trained based on a training sample set, and each of the target decision trees is trained using a subset of training samples of the training sample set, and at least one of the subsets of performance parameters and subsets of training samples corresponding to any two of the target decision trees is different;

[0013] The policy prediction unit is further configured to determine a target adjustment policy for the target application based on the obtained multiple adjustment sub-policies;

[0014] A configuration adjustment unit, configured to adjust configuration parameters of the target application based on the target adjustment policy.

[0015] In a possible implementation manner, the data acquisition unit is specifically configured to:

[0016] When the target application is running on the target device and the target application is in a preset application state, obtain the set of performance parameters, and the preset application state includes at least one of the following states:

[0017] The number of running times of a preset application scenario in the target application is not less than a preset number threshold;

[0018] The continuous running duration of a preset application scenario in the target application is not less than a preset duration threshold;

[0019] The continuous running duration of a preset application scenario of the target application is not less than a preset duration threshold, and the preset application scenario triggers a preset scenario event;

[0020] The running rate of a preset application scenario of the target application is greater than a preset rate threshold, and the continuous running duration of the preset application scenario is not less than a preset duration threshold.

[0021] In a possible implementation manner, the policy prediction unit is specifically configured to:

[0022] Determine adjustment values corresponding to multiple configuration parameters of the target application according to multiple adjustment sub-policies, and obtain the target adjustment policy; wherein, each adjustment sub-policy includes adjustment values corresponding to at least one of the multiple configuration parameters of the target application;

[0023] Determine the adjustment sub-strategy that appears most frequently among multiple adjustment sub-strategies as the target adjustment strategy;

[0024] For multiple configuration parameters of the target application, perform the following operations respectively: For one configuration parameter, determine the adjustment value that appears most frequently among multiple adjustment sub-strategies as the adjustment value of the one configuration parameter in the target adjustment strategy.

[0025] In a possible implementation manner, the device further includes a training unit, which is used to train a decision tree model by the following steps:

[0026] Obtain a training sample set, where each training sample in the training sample set includes a set of performance parameters of a sample device within a preset time period and the corresponding sample adjustment strategy;

[0027] Based on the initial control parameter set of the decision tree model, construct multiple initial decision trees according to the training sample set. Among them, each initial decision tree uses its corresponding subset of training samples as the root node, and each child node includes some training samples in the subset of training samples. The training samples between the child nodes of each node do not overlap;

[0028] Based on the training sample set and multiple initial decision trees, adjust the initial control parameter set to determine the target control parameter that makes the multiple initial decision trees meet the preset conditions;

[0029] Based on the target control parameter, construct multiple target decision trees according to the training sample set to obtain the decision tree model.

[0030] In a possible implementation manner, the training unit is specifically used for:

[0031] Obtain multiple initial samples collected when the sample device runs the target application; where each initial sample includes a set of performance parameters of the sample device and a set of parameter values of the application performance index of the target application within a preset time period;

[0032] Perform data preprocessing on the set of performance parameters included in each of the multiple initial samples to obtain multiple preprocessed samples;

[0033] For the multiple preprocessed samples, perform the following processing respectively:

[0034] According to the set of parameter values included in one preprocessed sample, determine the change information of the application performance index, and determine the sample adjustment strategy of one preprocessed sample according to the change information.

[0035] In a possible implementation manner, the training unit is specifically used for:

[0036] Adopt multiple candidate K-nearest neighbor models and perform the following steps respectively:

[0037] Adopt a candidate K-nearest neighbor model. For the initial samples with missing values, fill in the missing values according to the parameter values of the K samples with the greatest similarity among multiple initial samples; wherein, the values of K for any two candidate K-nearest neighbor models are different;

[0038] Determine the dispersion of the parameter values of the device performance indicators included in the multiple initial samples after filling;

[0039] From multiple candidate K-nearest neighbor models, determine the target K-nearest neighbor model with the smallest dispersion;

[0040] Based on the multiple initial samples filled by the target K-nearest neighbor model, obtain multiple preprocessed samples.

[0041] In a possible implementation manner, the training unit is specifically used for:

[0042] Based on the initial control parameter set, perform multiple construction processes respectively to obtain multiple initial decision trees; wherein, each construction process includes the following steps:

[0043] From the training sample set, determine the training sample subset used this time, and the training sample subset includes some training samples of the training sample set;

[0044] From the performance parameter set, determine the performance parameter subset used this time, and the performance parameter subset includes at least one performance indicator;

[0045] From the training sample subset, screen out the parameter values of other performance indicators except at least one performance indicator to obtain the screened training sample subset;

[0046] Use the screened training sample subset as the root node, and start multiple splits from the root node. Each split forms at least two child nodes until the split stop condition in the initial control parameter set is met, and obtain the corresponding initial decision tree.

[0047] In a possible implementation manner, the training unit is specifically used for:

[0048] For multiple initial decision trees, perform the following operations respectively:

[0049] For an initial decision tree, based on the dispersion of the training samples included in each node in an initial decision tree and the total number of nodes included in the sub-decision trees corresponding to each node, determine the cost complexity corresponding to each node;

[0050] Starting from a leaf node in an initial decision tree, pruning operations are respectively performed on each node until the pruning stop condition is met, and a corresponding updated decision tree is obtained; wherein, when performing a pruning operation on a node, if the cost complexity of a node is not greater than the sum of the cost complexities of the children nodes of the node, then the children nodes of the node are pruned.

[0051] Based on the training sample set and multiple initial decision trees, the initial control parameter set is adjusted, including:

[0052] Based on the training sample set and the obtained multiple updated decision trees, the initial control parameter set is adjusted.

[0053] In a possible implementation manner, the training unit is specifically configured to:

[0054] For each control parameter subset in the initial control parameter set, the following operations are respectively performed:

[0055] For a control parameter subset, when it is determined that other control parameters except one control parameter subset remain unchanged, the performance evaluation values corresponding to multiple candidate value sets of the control parameter subset are determined, and each performance evaluation value characterizes the performance of the initial decision tree when the corresponding candidate value set is used;

[0056] The candidate value set with the largest performance evaluation value is determined as the target value set of a control parameter subset.

[0057] In a possible implementation manner, the device further includes an initialization unit, configured to:

[0058] When the target application is initialized, obtain the hardware configuration information and operating system version information of the target device, and obtain the application version information of the target application;

[0059] Determine that the target device has the ability to adjust application configuration according to the hardware configuration information and operating system version information, and determine that the target application has the ability to adjust application configuration according to the application version information;

[0060] According to at least one of the hardware configuration information, operating system version information, and application version information, determine multiple device performance indicators corresponding to the performance parameter set from multiple candidate performance indicators of the target device.

[0061] On the one hand, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the steps of any of the above methods are implemented.

[0062] On the one hand, a computer storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above methods are implemented.

[0063] On the one hand, a computer program product is provided. The computer program product includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the steps of any of the above methods.

[0064] In the embodiments of the present application, when a target device runs a target application, a set of performance parameters of the target device is obtained, and multiple target decision trees included in a trained decision tree model are respectively used to obtain corresponding adjustment sub-strategies based on corresponding subsets of performance parameters in the set of performance parameters. Since at least one of the subsets of performance parameters and the subsets of training samples corresponding to any two target decision trees is different. In other words, different target decision trees can determine adjustment strategies from different performance index dimensions, so as to more comprehensively consider the importance of different performance indexes for the results of adjustment strategies. Therefore, the target adjustment strategy obtained by synthesizing multiple subsets of performance parameters is more comprehensive, and further, the accuracy of the configuration adjustment based on the target adjustment strategy is higher.

[0065] Secondly, since different target decision trees are trained by different subsets of training samples, the parameter values of performance indexes in different training samples may be different, and different parameter values represent different device conditions. Then, the target decision trees trained by different subsets of training samples can learn adjustment strategies in more device conditions. Therefore, the target adjustment strategy obtained by synthesizing adjustment sub-strategies corresponding to multiple device conditions is more comprehensive, and the accuracy of configuration parameter adjustment is higher. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for the description of the embodiments or related technologies. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative efforts.

[0067] Figure 1 It is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0068] Figure 2 It is a schematic flowchart of a training method provided by an embodiment of the present application;

[0069] Figure 3 It is a schematic diagram of the construction process of a decision tree provided by an embodiment of the present application;

[0070] Figure 4 It is a schematic diagram of a pruning operation provided by an embodiment of the present application;

[0071] Figure 5A and Figure 5B is a schematic flowchart of an application configuration adjustment method provided by an embodiment of the present application;

[0072] Figures 6A to 6C is a schematic flowchart of a game application configuration adjustment provided by an embodiment of the present application;

[0073] Figure 7 is a schematic structural diagram of an application configuration adjustment device provided by an embodiment of the present application;

[0074] Figure 8 is a schematic diagram of the composition structure of a computer device provided by an embodiment of the present application;

[0075] Figure 9 is a schematic diagram of the composition structure of another computer device provided by an embodiment of the present application. Detailed implementation manners

[0076] To make the objectives, technical solutions and advantages of the present application clearer and more understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application. Without conflict, the embodiments in the present application and the features in the embodiments may be arbitrarily combined with each other. And although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than here.

[0077] It can be understood that in the following detailed implementation manners of the present application, data collection may be involved, such as parameter values of performance indicators of a target device where a target application is located. Then when the embodiments of the present application are applied to specific products or technologies, relevant permissions or consents need to be obtained, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.

[0078] To facilitate the understanding of the technical solutions provided by the embodiments of the present application, some key terms used in the embodiments of the present application are explained here first:

[0079] Ensemble learning: Ensemble learning learns multiple estimators through training. When prediction is needed, the results of multiple estimators are integrated by a combiner and used as the final result for output. The advantage of ensemble learning is that it improves the generality and robustness of a single estimator, has better prediction performance than a single estimator, and enables convenient parallelization operations. The Bagging algorithm is an ensemble learning algorithm, also known as Bootstrap aggregating.

[0080] Random Forest Algorithm: The Random Forest Algorithm is a Bagging algorithm with decision trees as estimators. This algorithm uses the resampling technique of the Bootstrap method to randomly and repeatedly draw k samples from the original training sample set N with replacement to generate a new training sample set. Then, k classification trees are generated based on the training sample set drawn by the Bootstrap to form a random forest. The classification result of new data is determined by the score formed by the voting of the splitting trees. Its essence is an improvement of the decision tree algorithm. Multiple decision trees are combined together. The establishment of each tree depends on an independently drawn training sample set. Each tree in the forest has the same distribution, and the splitting error depends on the classification ability of each tree and their correlation.

[0081] Decision tree: A decision tree is a tree structure, which can be a binary tree or a non-binary tree. Each non-leaf node identifies a test on a feature attribute, each branch represents the output of this feature attribute in a certain value range, and each leaf node stores a category. The process of making a decision using a decision tree starts from the root node, tests the corresponding feature attribute in the item to be classified, and selects the output branch according to its value until the leaf node is reached, and the category stored in the leaf node is used as the decision result.

[0082] The embodiments of this application relate to artificial intelligence technology. Artificial Intelligence (AI) uses a digital computer or a machine controlled by a digital computer to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to obtain the best results in theory, methods, technologies, and application systems. In other words, artificial intelligence is a comprehensive technology in computer science. It attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines to enable the machines to have the functions of perception, reasoning, and decision-making.

[0083] Artificial intelligence technology is an interdisciplinary subject that involves a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, pre-trained model technology, operation / interaction systems, mechatronics, etc. Among them, the pre-trained model, also known as the large model or the foundation model, can be widely applied to downstream tasks in various directions of artificial intelligence after fine-tuning. The software technologies of artificial intelligence mainly include computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning in several major directions.

[0084] Machine Learning (ML) is an interdisciplinary subject that involves multiple disciplines such as probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers simulate or implement human learning behaviors to acquire new knowledge or skills and reorganize the existing knowledge structure to continuously improve their own performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent, and its applications cover all fields of artificial intelligence. Machine learning and deep learning usually include technologies such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and rote learning. The pre-trained model is the latest development result of deep learning, which integrates the above technologies.

[0085] With the research and progress of artificial intelligence technology, artificial intelligence technology has been studied and applied in multiple fields. For example, common ones include smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, driverless, autonomous driving, drones, digital twins, virtual humans, robots, Artificial Intelligence Generated Content (AIGC), conversational interaction, smart healthcare, smart customer service, game AI, etc. It is believed that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.

[0086] The solution provided in the embodiments of this application involves technologies such as machine learning in artificial intelligence, which will be specifically described through the following embodiments:

[0087] The solution provided in the embodiments of this application involves making configuration adjustments to applications. When making application configuration adjustments, a trained decision tree model needs to be used. That is, the embodiments of this application use machine learning methods to obtain a decision tree model. The decision tree model is based on the ability of machine learning to realize the feature correlation between the performance parameter set of the target device and the configuration adjustment strategy of the target application, so as to be able to perform feature understanding on the input performance parameter set to output the configuration adjustment strategy for the target application.

[0088] Specifically, the application configuration adjustment in the embodiments of this application can be divided into two parts, including a training part and an application part. Among them, the training part involves the technical field of machine learning. In the training part, a decision tree model is constructed based on the collected training sample set, and the parameters of the decision tree model are adjusted to make the performance of the decision tree model meet the requirements. The application part is used to use the decision tree model trained in the training part to output the configuration adjustment strategy of the target application according to the performance parameter set input during the actual use process. In addition, it should be noted that the artificial neural network model in the embodiments of this application can be trained online or offline, and no specific limitation is made here. In this article, an example of offline training is used for illustration.

[0089] Next, a brief introduction to the technical idea of the embodiments of this application will be given.

[0090] Currently, usually when a certain important game process is significantly affected, such as when there is an obvious lag in the game match, the player will be asked whether to reduce the game application configuration to reduce the performance requirements of the game application, thereby reducing the power consumption of the terminal device and alleviating the occurrence of lags and frame drops in the game application. However, this processing method only simply considers that the game is in an abnormal state, so it blindly reduces various configurations in the game application and cannot give a more reasonable configuration parameter adjustment strategy, and the accuracy of the configuration adjustment process is not high. In addition, there are also some processing methods that configure different weights for different performance indicators according to the size of the game performance based on the underlying performance indicators, and determine whether to increase or decrease the configuration by summing. However, this scoring model completely relies on the experience of technical personnel, and the weights of different parameters in the scoring system are fixed, and it is very difficult to set the weights accurately. Therefore, the accuracy of this processing method for the configuration adjustment process is also not high.

[0091] Similarly, the same problem exists for other applications.

[0092] Based on this, the embodiments of the present application provide an application configuration adjustment method. When the target device runs the target application, this method obtains the performance parameter set of the target device, and respectively uses multiple target decision trees included in the trained decision tree model to obtain corresponding adjustment sub-strategies based on the corresponding performance parameter subsets in the performance parameter set, and comprehensively obtains the multiple adjustment sub-strategies to determine the target adjustment strategy of the target application. Furthermore, based on the target adjustment strategy, the configuration parameters of the target application are adjusted. Among them, the decision tree model contains multiple target decision trees, and at least one of the performance parameter subsets and training sample subsets corresponding to any two target decision trees is different. That is to say, different target decision trees can determine the adjustment strategy from different performance index dimensions, so as to more comprehensively consider the importance of different performance indexes for the result of the adjustment strategy. Therefore, the target adjustment strategy obtained by comprehensively considering the adjustment sub-strategies obtained from multiple performance parameter subsets is more comprehensive and has higher accuracy. On the other hand, different target decision trees are trained through different training sample subsets, and the parameter values of the performance indexes in different training samples may be different, which is equivalent to representing different device situations. Then, the target decision trees trained through different training sample subsets can learn more adjustment strategies in different device situations. Therefore, the target adjustment strategy obtained by comprehensively considering the adjustment sub-strategies corresponding to multiple device situations is more comprehensive and has higher accuracy.

[0093] The following briefly introduces the application scenarios applicable to the technical solutions of the embodiments of the present application. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application rather than to limit them. In the specific implementation process, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.

[0094] The solution provided by the embodiments of the present application can be applicable to any scenario involving application configuration adjustment. For example, it is applicable to the configuration adjustment of applications that consume more device performance. As Figure 1 shown, it is a schematic diagram of an application scenario provided by the embodiments of the present application. In this scenario, it may include a terminal device 101 and a server 102.

[0095] The terminal device 101 can be, for example, a mobile phone, a tablet computer (PAD), a notebook computer, a desktop computer, a smart TV, a smart vehicle-mounted device, a smart wearable device, a smart TV, and an aircraft, etc., any device with an application configuration adjustment requirement. The terminal device 101 can be installed with the target application, and the target application has the function of application configuration adjustment or the function of initiating an application configuration adjustment request. For example, it can be a game application, a video application, a short video application, a drawing application, and a rendering application, etc. The applications involved in the embodiments of the present application can be software clients, or can also be clients such as web pages and applets, without restricting the specific type of the client.

[0096] Server 102 is the background server of the target application. For example, it can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, i.e., Content Delivery Network (CDN), and big data and artificial intelligence platforms, but is not limited thereto.

[0097] It should be noted that the application configuration adjustment method in the embodiments of this application can be executed independently by the terminal device 101 or the server 102, or jointly executed by the server 102 and the terminal device 101. When executed independently by the terminal device 101 or the server 102, both the training and application processes of the application configuration adjustment model can be independently implemented by the terminal device 101 or the server 102. For example, after the terminal device 101 trains a decision tree model, the input performance parameter set is identified through the decision tree model to obtain the corresponding adjustment strategy for configuring the target application. When jointly executed by the server 102 and the terminal device 101, the server 102 can train the decision tree model and then deploy the trained decision tree model to the terminal device 101, and the terminal device 101 realizes the application process of the decision tree model. Or, part of the training or application process of the decision tree model can be implemented by the terminal device 101, and part can be implemented by the server 102, and the two cooperate to implement the training or application process of the decision tree model. The embodiments of this application do not make specific limitations on this.

[0098] Among them, both the server 102 and the terminal device 101 can include one or more processors, memories, and interaction I / O interfaces, etc. In addition, the server 102 can also be configured with a database, which can be used to store model data of the trained decision tree model, etc. Among them, the memories of the server 102 and the terminal device 101 can also store the program instructions required for each to execute in the application configuration adjustment method provided in the embodiments of this application. When these program instructions are executed by the processor, they can be used to implement the training process of the decision tree model or the application configuration adjustment process provided in the embodiments of this application.

[0099] It should be noted that when the application configuration adjustment method provided in the embodiments of the present application is executed by the server 102 or the terminal device 101 alone, the above application scenario may also include only a single device, namely the server 102 or the terminal device 101. Or it can also be considered that the server 102 and the terminal device 101 are the same device. Of course, in actual applications, when the application configuration adjustment method provided in the embodiments of the present application is executed jointly by the server 102 and the terminal device 101, the server 102 and the terminal device 101 can also be the same device, that is, the server 102 and the terminal device 101 can be different functional modules of the same device, or virtual devices virtualized by the same physical device.

[0100] In the embodiments of the present application, the terminal device 101 and the server 102 can be directly or indirectly communicatively connected through one or more networks 103. The network 103 can be a wired network or a wireless network. For example, the wireless network can be a mobile cellular network or a Wireless-Fidelity (WIFI) network. Of course, it can also be other possible networks, and the embodiments of the present application do not limit this. It should be noted that Figure 1 The above is only an example. In fact, the number of terminal devices and servers is not limited and is not specifically defined in the embodiments of the present application.

[0101] In the embodiments of the present application, the decision tree model is trained based on a training sample set. The decision tree model includes multiple target decision trees, and each target decision tree is trained using a subset of the training samples in the training sample set. At least one of the performance parameter subsets and the training sample subsets corresponding to any two target decision trees is different. Since the application configuration adjustment method provided in the present application is based on the trained decision tree model, before introducing the actual application configuration adjustment process, the model training process will be introduced here.

[0102] See Figure 2 As shown, it is a schematic flowchart of the training method of the decision tree model provided in the embodiments of the present application. This method can be executed by a computer device, and the computer device can be Figure 1 the terminal device or the server shown. The specific implementation process of this method is as follows:

[0103] Step 201: Obtain a training sample set. Each training sample in the training sample set includes a set of performance parameters of the sample device within a preset time period and the corresponding sample adjustment strategy.

[0104] In a possible implementation, the target application can be run on a sample device, and multiple initial samples can be obtained while the target application is running on the sample device. Each initial sample includes a set of performance parameters of the sample device within a preset duration and a set of parameter values of the application performance metrics of the target application within the preset duration. The preset duration refers to a relatively short duration, such as 1 s, 2 s, or 10 s, etc. The specific duration can be set according to specific requirements, and the embodiments of the present application do not limit this.

[0105] Among them, the set of performance parameters includes parameter values of multiple device performance metrics associated with the target application. The multiple device performance metrics can be any combination of all performance metrics of the terminal device. For example, the performance metrics of the terminal device can include performance metrics such as the Central Processing Unit (CPU), graphics processing unit (GPU), memory, battery, temperature, threads, and power consumption.

[0106] In actual applications, multiple sets of performance parameters can be configured according to requirements. Different sets of performance parameters can include different device performance metrics to cope with different device models or application versions. For example, the set of performance parameters supported by application version 1 may include two device performance metrics, namely CPU and GPU, and the set of performance parameters supported by application version 2 may include device performance metrics such as CPU, GPU, memory, battery, temperature, threads, and power consumption. Then, these two sets of performance parameters can be configured accordingly, and these two sets of performance parameters can be used to train two different decision tree models respectively. Then, in actual use, the corresponding decision tree model can be adopted according to the actual version of the target application.

[0107] There may be situations such as missing values and outliers in the collected set of performance parameters. Therefore, after obtaining multiple initial samples, data preprocessing needs to be performed on the set of performance parameters included in each initial sample respectively to obtain multiple preprocessed samples.

[0108] Data preprocessing can include processing processes such as missing value processing, outlier processing, and normalization processing, which will be introduced separately below.

[0109] (1) Missing value processing

[0110] In one embodiment, considering that there is a certain local similarity among the data of the initial samples, similar samples can be used to fill in the missing values. For example, the K-nearest neighbor model can be used to fill in the missing values. That is, for the initial sample with missing values, the similarity between this initial sample and other initial samples can be calculated, the obtained similarities are sorted from large to small, and K initial samples with the largest similarities are selected. Then, the missing values are filled according to these K initial samples. Among them, the similarity can be measured by methods such as Euclidean distance or cosine similarity. Taking the Euclidean distance as an example, for each initial sample with missing values, the Euclidean distance dist(X,Y) between it and other initial samples can be calculated using the following formula:

[0111]

[0112] where x i represents the parameter value of the i-th device performance index of the initial sample X with missing values, and y i represents the parameter value of the i-th device performance index of another initial sample Y.

[0113] Furthermore, the sorting can be performed in ascending order of the Euclidean distance (i.e., descending order of similarity), K initial samples corresponding to the K smallest Euclidean distances are selected, and the mean value of the parameter values of these K initial samples on the performance index corresponding to the missing value can be used as the filling value and filled into the initial sample X with missing values.

[0114] In practical applications, the value of K in the K-nearest neighbor model is a key parameter of this model. To obtain a more appropriate value of K, it can be selected by experimental determination or by trying different values of K. For example, the ten-fold cross-validation method can be used to select a more appropriate value of K, and the following is an introduction taking this as an example.

[0115] In the embodiments of the present application, the initial sample set (i.e., multiple initial samples before filling) is randomly divided into 10 subsets with approximately equal sizes, and the value of K is changed multiple times for testing. In each test, one of the subsets is used as the test set, and the remaining 9 subsets are used as the training set. The K-nearest neighbor model is trained with the training set, and the performance of the model is evaluated on the test set.

[0116] Specifically, the above process can also be understood as configuring multiple candidate K-nearest neighbor models. Among them, the values of K of any two candidate K-nearest neighbor models are different, that is, the values of K of different candidate K-nearest neighbor models are different. Then, each candidate K-nearest neighbor model is used to try to fill in the missing values, and the performance of the candidate K-nearest neighbor model when the value of K is determined is determined according to the filled initial sample set, and the candidate K-nearest neighbor model with the best performance is selected as the final target K-nearest neighbor model.

[0117] Taking a candidate K-nearest neighbor model as an example, using this candidate K-nearest neighbor model, for an initial sample with missing values, the missing values are filled according to the parameter values of the K samples with the largest similarity among multiple initial samples, and the dispersion of the parameter values of the device performance indicators included in the multiple initial samples after filling is determined. It should be noted that here the dispersion of the parameter values of the device performance indicators is taken as an example of the performance indicator of the K-nearest neighbor model, and other performance indicators can also be used in actual use, which is not limited in the embodiments of the present application.

[0118] In one implementation, the dispersion can be measured by the mean squared error. That is, after filling, it can be calculated by the following formula:

[0119]

[0120] Among them, D represents the data set, that is, the multiple initial samples after filling, SE(D) represents the mean squared error of the parameter values of the device performance indicators included in the data set, n represents the number of samples in the data set, y i represents the parameter value of the i-th sample, y mean represents the mean of the parameter values of all samples in the data set.

[0121] Furthermore, for multiple candidate K-nearest neighbor models, multiple dispersions (that is, the performance indicators of the K-nearest neighbor models) can be obtained accordingly. Then, the target K-nearest neighbor model with the smallest dispersion can be determined from the multiple candidate K-nearest neighbor models, that is, the K-nearest neighbor model with the best performance is used as the target K-nearest neighbor model for actual filling use. Furthermore, based on the multiple initial samples filled by the target K-nearest neighbor model, multiple preprocessed samples are obtained. That is, the optimal k value of the target K-nearest neighbor model can be used to retrain the model on the entire initial data set, that is, to re-perform the filling process. After training (that is, the initial samples after filling), they can be used as preprocessed samples or input samples for subsequent steps.

[0122] In another implementation, a missing value filling model can also be pre-trained. Through the training process, the model learns the correlation between various performance indicators, so that the missing values can be predicted through other performance indicators. Then, the samples with missing values can be input into the missing value filling model to fill the missing values.

[0123] (2) Outlier processing

[0124] Specifically, a valid value range is preset for each device performance indicator. When the parameter value of a device performance indicator in the collected initial sample (or preprocessed sample) exceeds the valid value range corresponding to the device performance indicator, the parameter value is marked as an abnormal parameter value and is not used. For example, the corresponding sample can be directly discarded to reduce the interference of abnormal samples on policy prediction; or, to ensure the magnitude of the sample quantity, the abnormal parameter value can also be treated as a missing value and filled using the aforementioned missing value filling process.

[0125] (3) Normalization

[0126] The normalization process can be carried out using methods such as Min-max normalization method, Mean normalization method, or Nonlinear normalization method, etc. Taking the Min-max normalization method as an example, the parameter value of each device performance indicator in each sample can be scaled to a specified value range, such as within [0, 1]. Then, for each device performance indicator, the following formula can be used for normalization:

[0127]

[0128] where x min and x max respectively represent the minimum and maximum values of the parameter values of this device performance indicator in all samples, x represents the parameter value of this device performance indicator in a sample, and x normalized represents the parameter value after normalization.

[0129] Of course, in addition to the above data preprocessing, other data processing processes can also be carried out, which are not limited in the embodiments of this application. The preprocessed samples obtained after preprocessing can then be used in the subsequent training process.

[0130] In the embodiments of this application, the parameter value set of the application performance indicator includes the parameter value sequence of the target application within a preset duration. Through the parameter value sequence, the performance level of the target application within the preset duration can be seen. For example, when the target application is a game application, the application performance indicator can be, for example, the Frames Per Second (FPS) in the game, and the parameter value set can include the FPS values of the game within the preset duration. Of course, other possible performance indicators can also be used as the application performance indicator, which is not limited in the embodiments of this application.

[0131] In the embodiments of the present application, the parameter value set can reflect the performance level of the target application within a preset time period. Therefore, the initial samples can be labeled according to the parameter value set to obtain training samples that can be used in the training process.

[0132] The process of sample labeling can be executed before preprocessing, after preprocessing, or simultaneously with the preprocessing process. Here, taking the execution after preprocessing as an example, for the multiple preprocessed samples, the change information of the application performance metrics can be determined respectively according to the parameter value set included in each preprocessed sample, and the sample adjustment strategy for this preprocessed sample can be determined according to the change information.

[0133] Taking a game application as an example, sample labeling can be performed by comparing the data performance of FPS. For example, if it is determined according to the collected parameter value set that the FPS has decreased, the sample adjustment strategy for this sample is labeled as reducing the application configuration; if it is determined according to the collected parameter value set that the FPS has increased, the sample adjustment strategy for this sample is labeled as upgrading the application configuration; and if it is determined according to the collected parameter value set that the FPS has not shown obvious fluctuations, the sample adjustment strategy for this sample is labeled as not adjusting the application configuration. Of course, in actual applications, the adjustment value of the corresponding configuration parameter can also be determined according to the change value of the FPS, and the adjustment value can be labeled in the sample adjustment strategy.

[0134] So far, the labeled samples can be called training samples, and a set of multiple training samples can be used for the subsequent training process. In the embodiments of the present application, since in the training process of the random forest algorithm, each time a training sample is randomly taken out from the training sample set and recorded, and the sample is put back into the training set before drawing the next sample, there is still a probability of drawing this data in the next sampling. Generally speaking, the probability that a certain sample is not drawn is Therefore, the probability that none of the n samples are drawn is When the data volume is large enough, about 37% of the training data will be wasted, that is, they are not drawn even once. These wasted data are called out-of-bag data. Therefore, in the embodiments of the present application, the training sample set can not be divided, and the out-of-bag data can be directly used as the test set to test the effect of the model.

[0135] It should be noted that the sample device, target device, etc. in the embodiments of the present application are used to distinguish the devices in different stages, rather than being limited to a specific device. For example, the sample device refers to the device used to collect training data in the training stage, and the target device refers to the device where the target application is located in the application stage. The two can be the same device or different devices, and this is not limited.

[0136] Step 202: Based on the initial control parameter set of the decision tree model, construct multiple initial decision trees according to the training sample set.

[0137] In the embodiments of the present application, the decision tree model can also be referred to as a random forest algorithm model. It is trained through the random forest algorithm. The random forest algorithm model can also be referred to as a random forest classifier. The model parameters of the random forest algorithm model can be called the control parameter set. At the initial stage of training, the control parameter set needs to be initialized, and the initialized control parameter set is called the initial control parameter set. The model parameters of the random forest algorithm model can be at least one of the following parameters:

[0138] (1) The number of decision trees n_estimators: indicating the number of decision trees in the decision tree model, for example, initialized to 100.

[0139] (2) The node splitting parameter criterion: indicating the division criterion when splitting nodes in the decision tree model. For example, the mean-square error (MSE) can be used as the default division criterion.

[0140] (3) The maximum depth of the decision tree max_depth: used to limit the depth of the decision tree. For example, the default value of max_depth is set to None, indicating that the decision tree will not limit the depth of the subtree when constructing the optimal model; or, since there are many sample features and a large amount of data, the depth of the subtree needs to be limited. To improve the convergence speed of the model, a specific value of max_depth can be configured, for example, set to 30.

[0141] (4) The minimum number of samples min_samples_split that can be split at each node: indicating the minimum number of training samples included in each node. For example, set min_samples_split to 2.

[0142] (5) The minimum number of samples min_samples_leaf included in the leaf node: If the number of samples in the leaf node is less than min_samples_leaf, then prune the leaf node and its sibling leaf nodes, leaving only the parent node of the leaf node. For example, min_samples_leaf is set to 1.

[0143] (6) The maximum number of features max_features: indicating the maximum number of features considered when constructing the optimal model of the decision tree. One feature is an application performance indicator in the embodiments of the present application. For example, max_features is initialized to the default value "auto", indicating that the maximum number of features is the square root of the number of features, or it can also be other possible values.

[0144] Of course, in addition to the above-mentioned various parameters, other possible parameters may also be included, and there is no limitation in this regard.

[0145] In the embodiments of the present application, the decision tree model includes multiple decision trees. When constructing the decision tree model, multiple construction processes can be respectively executed based on the initial control parameter set to obtain multiple decision trees. Different decision trees can be constructed before and after, or can be constructed simultaneously. The embodiments of the present application do not limit this. The following will be combined with Figure 3 As shown, taking one decision tree as an example, the construction process of the decision tree will be introduced. It should be noted that in the following description, the construction of the initial decision tree is mainly taken as an example, but the following process is also applicable to the construction process of the subsequent target decision tree.

[0146] First, execute step A1 to select the subset of training samples used this time.

[0147] Specifically, the subset of training samples used this time can be first determined from the training sample set. The subset of training samples includes some training samples of the training sample set. And, the subset of performance parameters used this time can also be determined from the performance parameter set. The subset of performance parameters includes at least one performance index in the performance parameter set. Then, the parameter values of other performance indexes except at least one performance index are screened out from the subset of training samples to obtain the screened subset of training samples. Or, it can also be described as taking out the data corresponding to at least one performance index used this time from the subset of training samples to form the subset of training samples.

[0148] In one implementation manner, the number of samples used in each construction process can be configured, and then the corresponding number of training samples can be extracted from the training sample set by the extraction method of the random forest algorithm as the subset of training samples used this time. Or, all training samples can be directly used each time of construction, then the step of determining the subset of training samples used this time from the training sample set can also not be executed.

[0149] For example, the total number of training samples included in the training sample set is n, and the number of device performance indexes included in the performance parameter set is m. Then, p device performance indexes are randomly selected from the training sample set in this construction process, p ≤ m, and then the decision tree is constructed according to these p device performance indexes subsequently. Then, it is necessary to extract the data related to p device performance indexes from the m device performance indexes included in the subset of training samples to form the subset of training samples D.

[0150] Then execute step A2, that is, using the screened subset of training samples as the root node, and starting from the root node, perform multiple splits. Each split forms at least two child nodes until the split stop condition in the initial control parameter set is met, and the corresponding initial decision tree is obtained.

[0151] Specifically, the training sample subset is used as the root node, which contains all the training samples in the training sample subset. Then, starting from the root node, splitting is performed. At each node (including the root node and child nodes), when splitting, it is necessary to find an optimal splitting condition. Therefore, it is necessary to traverse all device performance metrics and their possible parameter values, and calculate the performance metrics of the model when using the device performance metric and parameter value as the splitting condition. Among them, one split can divide the training samples included in a node into at least two subsets.

[0152] Taking binary splitting as an example and using the mean squared error as the performance metric, for each device performance metric, the samples can be sorted according to the value of the device performance metric, and then the midpoint of the feature values of every two adjacent samples is calculated as the candidate splitting point. For each candidate splitting point, calculate the sum of the weighted MSEs of the left and right subsets after splitting. The MSE of each subset can be calculated using the following formula:

[0153]

[0154] where D represents the subset after splitting, n represents the number of samples in the subset, y i represents the true value of the i-th sample, and y mean represents the average value of the true values of all samples in the subset.

[0155] Furthermore, the device performance metric that minimizes the sum of the weighted MSEs and its corresponding parameter value can be selected as the optimal splitting condition for the current node. According to the optimal splitting condition, refer to Figure 3 , the training sample subset of this node is divided into two parts, namely subset D1 and subset D2. At the same time, two child nodes of the current node are generated. The data set of the left node is subset D1, and the data set of the right node is subset D2. The above splitting method is recursively used for splitting for each node. As shown in Figure 3 , D1 is further split into D1_1 and D1_2, and D2 is further split into D2_1 and D2_2, until the splitting stop condition in the above initial control parameters is met, such as reaching the minimum number of samples in the leaf node, reaching the maximum depth of the tree, or reaching the minimum reduction in MSE, etc. When the stop condition is reached, the current node is marked as a leaf node, and the initial decision tree construction is completed. It can be seen that each initial decision tree constructed uses its corresponding training sample subset as the root node, and each child node in the initial decision tree includes some training samples in the training sample subset, and the training samples between the child nodes of each node do not overlap.

[0156] In the embodiments of the present application, in order to prevent the constructed decision tree from overfitting, after the decision tree is constructed, a pruning operation will be further performed on the constructed decision tree. The pruning operation can be performed using, for example, the cost complexity pruning method. Since the pruning operations for multiple initial decision trees are similar, an initial decision tree is mainly used as an example for introduction here, and the following description also applies to the target decision tree constructed subsequently.

[0157] See Figure 4 As shown, it is a schematic diagram of a pruning operation. For an initial decision tree, after it is constructed, the cost complexity corresponding to each node can be determined based on the dispersion degree of the training samples included in each node in the initial decision tree and the total number of nodes included in the sub-decision tree corresponding to each node. See Figure 4 As shown, the cost complexities of the sub-nodes D1_1 and D1_2 are A and B respectively, and the cost complexities of the leaf nodes D1_1_1, D1_1_2, D1_2_1, and D1_2_2 are A1, A2, A3, and A4 respectively. Here, taking the mean squared error of the node as the dispersion degree, the cost complexity can be calculated by the following formula:

[0158] CC(T) = MSE(T) + α * |T|

[0159] Among them, CC(T) represents the cost complexity of node T, MSE(T) represents the mean squared error of node T, α is the regularization parameter, |T| represents the scale of the subtree of node T, that is, the total number of nodes included in the sub-decision tree of this node T. The sub-decision tree of node T refers to the sub-decision tree with this node T as the vertex, including this node T and all its subordinate child nodes. Among them, the regularization parameter is a parameter that balances the comprehensive effects of fitting and generalization in the cost complexity. A small parameter has a good fitting effect but a poor generalization effect, and a large parameter has a good generalization effect but a poor fitting effect. It can be set according to experience or determined through experiments. For example, in actual use, cross-validation can also be used to evaluate the performance of the updated decision tree after pruning under different regularization parameters, select the value of the regularization parameter that makes the performance index optimal, and then use the optimal value to re-perform the cost complexity pruning on the entire training data. The pruned tree can be used to predict new data.

[0160] Furthermore, starting from the leaf nodes in an initial decision tree, pruning operations are respectively performed on each node from bottom to top until the pruning stop condition is met, and the corresponding updated decision tree is obtained. Among them, when performing a pruning operation on a node, if the cost complexity of a node is not greater than the sum of the cost complexities of the child nodes of a node, the child nodes of a node are removed. See Figure 4 As shown, if A is not greater than A1 + A2, then D1_1_1 and D1_1_2 are removed. Figure 4It is shown by a dashed line in the figure. If B is greater than B1 + B2, then D1_1_1 and D1_1_2 are retained. If the child nodes of D1_1 and D1_2 are both pruned, then continue to determine whether D1_1 and D1_2 need to be pruned until pruning is no longer possible.

[0161] By executing the above construction process multiple times, multiple decision trees can be obtained.

[0162] Step 203: Based on the training sample set and multiple initial decision trees, adjust the initial control parameter set to determine the target control parameters that make the multiple initial decision trees meet the preset conditions.

[0163] If a pruning operation is performed, then the initial control parameter set can be adjusted based on the training sample set and the multiple updated decision trees (i.e., the pruned decision trees) obtained.

[0164] Specifically, when adjusting the parameters, for each control parameter subset in the initial control parameter set, the performance evaluation values corresponding to multiple candidate value sets of the control parameter subset can be determined respectively when the other control parameters except this control parameter subset remain unchanged. Each performance evaluation value characterizes the performance of the initial decision tree when the corresponding candidate value set is used. Then, the candidate value set with the largest performance evaluation value is determined as the target value set of a control parameter subset. Among them, a control parameter subset can include one or more control parameters. Each performance evaluation value characterizes the performance of the initial decision tree when the corresponding candidate value set is used.

[0165] When a control parameter subset includes one control parameter, it is equivalent to adjusting each control parameter separately, that is, the other parameters except the control parameter to be adjusted can be fixed, the performance evaluation values corresponding to the control parameter at multiple candidate values can be determined when the other control parameters remain unchanged, and the candidate value with the largest performance evaluation value is determined as the target value of the control parameter.

[0166] For example, when adjusting a single control parameter, the ten-fold cross-validation method can be used, that is, the training sample set can be randomly divided into multiple subsets with approximately equal sizes. Here, taking 10 subsets as an example, in each parameter adjustment, one of the subsets is used as the test set, and the remaining 9 subsets are used as the training set. In this way, 9 model performance evaluation results can be obtained, and their average value is used as the final evaluation index. Exemplarily, for the criterion parameter, the mean squared error and the mean absolute error can be selected as candidate parameters. Then, by determining the performance evaluation results in these two cases, the parameter with good performance evaluation effect can be selected. Or, for the selection of the optimal value of n_estimators, generally speaking, the more the number of decision trees, the better the performance of the decision tree model. However, after the number of trees reaches a certain amount, the model accuracy no longer increases, while the computational amount will increase sharply. Therefore, in actual use, a balance needs to be achieved between the two. Then, by continuously increasing the number of decision trees, the critical value at which the model accuracy no longer increases or the computational amount intensifies can be determined, and this critical value is the optimal value of n_estimators.

[0167] When the control parameter subset includes multiple control parameters, it is equivalent to adjusting the control parameter combination. That is, other parameters except the control parameter combination to be adjusted can be fixed, and the performance evaluation values corresponding to the control parameter combination when it takes multiple candidate value combinations are determined when other control parameters remain unchanged. The candidate value combination with the largest performance evaluation value is determined as the target value combination of the control parameter.

[0168] For example, when adjusting a single control parameter, the ten-fold cross-validation method can also be used, that is, the training sample set can be randomly divided into multiple subsets with approximately equal sizes. Here, taking 10 subsets as an example, in each parameter adjustment, one of the subsets is used as the test set, and the remaining 9 subsets are used as the training set. In this way, 9 model performance evaluation results can be obtained, and their average value is used as the final evaluation index. Exemplarily, the values of min_samples_leaf, max_depth, min_samples_split, and max_features can be changed respectively to obtain the performance evaluation results for different value combinations, and the value combination with good performance evaluation effect is selected as the final parameter value.

[0169] In the embodiments of this application, when performing the above parameter adjustment, the value range of the optimal parameter can be roughly determined first, and a grid search can be performed near the obtained optimal parameter to obtain the final parameter. Grid search means that a value range can be extended with the obtained value as the midpoint, and then the parameter values are finely tuned within this value range to obtain a more accurate parameter value as the final target control parameter.

[0170] It should be noted that for the above steps, the embodiments of the present application do not limit the execution order thereof.

[0171] Step 204: Based on the target control parameters, construct a plurality of target decision trees according to the training sample set to obtain a decision tree model.

[0172] That is, after obtaining the target control parameters, a plurality of target decision trees can be reconstructed based on the target control parameters to obtain the final decision tree model. Since the construction process of the target decision tree is similar to that of the foregoing initial decision tree, reference can be made to the previous description and details will not be repeated herein.

[0173] The decision tree model trained through the above process can then be applied to policy prediction in the application stage. Refer to Figure 5A As shown, the embodiments of the present application provide an application configuration adjustment method, which can be executed by a computer device. The computer device can be Figure 1 the terminal device or server shown, and the method includes the following steps:

[0174] Step 501: When the target application runs on the target device, obtain a set of performance parameters of the target device, where the set of performance parameters includes parameter values of multiple device performance indicators associated with the target application.

[0175] The application configuration adjustment process of the embodiments of the present application requires that both the device and the application support the adjustment ability. Therefore, when the target application is initialized, the hardware configuration information and operating system version information of the target device can be obtained, and the application version information of the target application can be obtained to determine whether the application configuration adjustment ability can be supported based on this information.

[0176] If it is determined according to the hardware configuration information and operating system version information that the target device has the application configuration adjustment ability, and it is determined according to the application version information that the target application has the application configuration adjustment ability, the application configuration adjustment process can be executed. Otherwise, if the target device does not have the application configuration adjustment ability or the target application does not have the application configuration adjustment ability, the application configuration adjustment process is not executed.

[0177] Specifically, at least one of the hardware configuration information, operating system version information, and application version information can also be used to determine multiple device performance indicators corresponding to the set of performance parameters from multiple candidate performance indicators of the target device. For example, multiple candidate performance indicators of the target device can be determined according to the hardware configuration information and operating system version information, and the candidate performance indicators that can be obtained by the target application of this version or the candidate performance indicators that can be supported for prediction by the target application of this version can be determined as the multiple device performance indicators corresponding to the set of performance parameters

[0178] Taking a game application as an example, during the initialization phase, the game application can obtain the version information of the game and the device information where the application is located, such as the device model, system version, etc., and send this information to the server in the background. The server returns the switch status of whether the adaptive ability is supported for this model device and this game version based on the obtained device information. The adaptive ability is the ability to adaptively adjust the game application configuration according to the set of device performance parameters. If it is on, it means that the system can provide adaptive services for the game in appropriate scenarios within the game. If it is off, it means that the adaptive ability of this game on this device is not supported, and there will be no subsequent adaptive process in the game. Also, the server will return whether the current game version supports the adaptive ability. When the game does not support the adaptive ability, there will be no subsequent steps; when the game supports the adaptive ability, while returning the support status, it will also return the requirements of the game for the adaptive ability. For example, the game supports the adaptive ability and needs to adaptively adjust the game parameters based on two device metrics, namely the CPU and GPU, thereby affecting the game power consumption; or the game supports the adaptive ability and needs to comprehensively adjust the configuration parameters of the game based on the comprehensive situation of these device performance metrics such as CPU, GPU, memory, battery, temperature, threads, power consumption, etc.

[0179] When both the target device and the target application support the application configuration adjustment, when the target device runs the target application, the target application will obtain the set of performance parameters of the target device. In one implementation, the target application can send the obtained set of performance parameters of the target device to the server, and the server will perform subsequent steps to give the corresponding target adjustment strategy; in one implementation, the target application can itself perform subsequent steps based on the obtained set of performance parameters of the target device to give the corresponding target adjustment strategy.

[0180] In one possible implementation, when the target device runs the target application and the target application is in a preset application state, the target application will trigger the acquisition of the set of performance parameters. Among them, the preset application state can be the core application scenario in the target application or an application scenario that consumes relatively high device performance. Exemplarily, the preset application state includes at least one of the following states:

[0181] (1) The number of runs of the preset application scenario in the target application is not less than the preset number threshold. For example, when the target application is a game application, it can trigger the acquisition of the set of performance parameters in the end scenario after playing 5 rounds in the continuous player versus player (PVP) scenario or fighting 5 battles in the player versus environment (PVE) scenario.

[0182] (2) The continuous running duration of a preset application scenario within the target application is not less than a preset duration threshold.

[0183] (3) The continuous running duration of a preset application scenario of the target application is not less than a preset duration threshold, and the preset application scenario triggers a preset scenario event. For example, when the target application is a game application, the performance parameter set can be collected and obtained at the moment of a team battle that breaks out after more than fifteen minutes of PVP combat.

[0184] (4) The running rate of a preset application scenario of the target application is greater than a preset rate threshold, and the continuous running duration of the preset application scenario is not less than a preset duration threshold. For example, when the target application is a game application, the performance parameter set can be collected and obtained when the automatic combat is at 3 times the normal speed for 1 hour (h) during idle play.

[0185] Step 502: Respectively adopt multiple target decision trees included in the trained decision tree model, and obtain corresponding adjustment sub-strategies based on the corresponding subsets of performance parameters in the performance parameter set.

[0186] Among them, the decision tree model is trained based on a training sample set, and each target decision tree is trained using a subset of training samples from the training sample set. As introduced in the foregoing training process, at least one of the subsets of performance parameters and the subsets of training samples corresponding to any two target decision trees are different.

[0187] Specifically, for each decision tree, the input performance parameter set can be searched from the root node downwards until the corresponding adjustment sub-strategy is found. The adjustment sub-strategy can be the policy label corresponding to the sample of the leaf node, or the policy label corresponding to the sample of the child node of the non-leaf node. For example, when the policy labels of the samples of a child node are the same, the policy indicated by this policy label can be determined as the corresponding adjustment sub-strategy at this time.

[0188] Step 503: Based on the obtained multiple adjustment sub-strategies, determine the target adjustment strategy of the target application.

[0189] In the embodiments of the present application, a random variable is passed to each target decision tree to predict the corresponding adjustment sub-strategy. The random variable is the subset of performance parameters corresponding to the target decision tree. L adjustment sub-strategies can be obtained through the L decision trees included in the decision tree model. Refer to Figure 5B As shown, after the performance parameter set is input into the decision tree model, each of the included decision trees will predict the corresponding adjustment sub-strategy according to its corresponding subset of performance parameters, and each decision tree outputs an adjustment sub-strategy, such as Figure 5B the adjustment sub-strategies 1 to L shown, and finally the final target adjustment strategy is obtained by synthesizing the L adjustment sub-strategies.

[0190] In one embodiment, if each adjustment sub-strategy includes an adjustment value corresponding to at least one of multiple configuration parameters of the target application, then according to multiple adjustment sub-strategies, determine the adjustment value corresponding to each of the multiple configuration parameters of the target application, and obtain the target adjustment strategy. That is, when each adjustment sub-strategy includes the adjustment values of some configuration parameters, the adjustment values of multiple adjustment sub-strategies can be integrated to obtain the final target adjustment strategy.

[0191] In another embodiment, the adjustment sub-strategy that appears the most times among multiple adjustment sub-strategies can be determined as the target adjustment strategy. In other words, if each appearance of an adjustment sub-strategy among multiple adjustment sub-strategies is regarded as a vote, then the number of votes for each adjustment sub-strategy can be calculated, and the adjustment sub-strategy with the highest number of votes can be used as the target adjustment strategy.

[0192] In yet another embodiment, for multiple configuration parameters of the target application, respectively determine the adjustment value that appears the most times for a configuration parameter among multiple adjustment sub-strategies as the adjustment value of the configuration parameter in the target adjustment strategy. In other words, the number of times each adjustment value of each configuration parameter appears can be counted, and each appearance is regarded as a vote, then the adjustment value with the highest number of votes can be used as the final adjustment value of the configuration parameter. Finally, by integrating the final adjustment values of multiple configuration parameters, the target adjustment strategy can be obtained.

[0193] Step 504: Adjust the configuration parameters of the target application based on the target adjustment strategy.

[0194] When the above method is executed by the target application (or called the terminal device), the target application adjusts its own configuration parameters based on the target adjustment strategy; or, when the above method is executed by the server, the server sends the target adjustment strategy to the target application, and the target application adjusts its own configuration parameters based on the target adjustment strategy.

[0195] Among them, different applications can set different configuration parameters. For example, when the target application is a game application, the configuration parameters can include the resolution of the game and the graphic settings of the game, such as graphic texture quality, shadow quality, and whether to enable anti-aliasing, etc.; or, when the target application is a video application, the configuration parameters can include video speed or video clarity, etc. In specific applications, it can be set according to the specific application, and the embodiments of the present application do not limit this.

[0196] Next, taking a game application as an example, the solution of the embodiments of the present application will be introduced integrally. See Figure 6AAs shown, in the training phase, device performance metrics and real-time FPS data of the game during operation can be obtained on the sample device. Based on the changes in FPS, the device performance metrics are labeled, such as labeling game configuration upgrades, downgrades, or no adjustments, to form a training sample set. Then, the server trains a decision tree model containing multiple decision trees based on this training sample set. Each decision tree in this decision tree model can predict the corresponding adjustment strategy based on one or more device performance metrics. See Figure 6B As shown, the training sample set includes training samples 1 to N. Each training sample includes parameter values of device performance metrics such as CPU, GPU, memory, battery, temperature, threads, power consumption, etc., and the corresponding configuration adjustment labels. The configuration adjustment labels are, for example, upgrade configuration, downgrade configuration, or remain unchanged, etc. When constructing each decision tree, p device performance metrics are selected from m device performance metrics to form a training sample subset, such as Figure 6B As shown, the first one selects CPU and GPU performance metrics. Correspondingly, the construction process is based on the data of these two device performance metrics, and the resulting decision tree can predict the corresponding configuration adjustment strategy based on these two performance metrics. The second one selects performance labels such as CPU, GPU, battery, and temperature. Correspondingly, the construction process is based on the data of these two device performance metrics, and the resulting decision tree can predict the corresponding configuration adjustment strategy based on these performance metrics. And so on.

[0197] See Figure 6A As shown, in the application phase, the trained decision tree model is used to make a decision. When the target device runs a game application or enters a specific game state, the performance parameter set of the target device can be collected as the input of the decision tree model. See Figure 6C As shown, the parameter values of device performance metrics such as CPU, GPU, memory, battery, temperature, threads, power consumption, etc., collected are used as the input of the decision tree model. Each decision tree of the decision tree model will give an adjustment sub-strategy, such as Figure 6C As shown, adjustment sub-strategies 1 to 7, etc. Then, the adjustment sub-strategy with the highest number of votes is comprehensively selected as the final game configuration adjustment strategy, which is used as the output of the decision tree model and returned to the game application. That is to say, during the game operation, the underlying performance metrics of the game device are collected through the terminal system, and the underlying device performance metrics are input into the trained decision tree model. The decision tree model will make a decision based on the voting results to upgrade the configuration, downgrade the configuration, or remain unchanged. Exemplarily, see the following several adjustment strategy examples:

[0198] (1) When the decision tree model gives a decision to upgrade the game configuration, it means that the performance of the device has not been fully utilized. At this time, the game resolution and the game graphics settings (texture quality, shadow quality, anti-aliasing, etc.) will be increased to provide players with a good gaming experience.

[0199] (2) When the decision tree model gives a decision to lower the game configuration, it means that the performance of the device is overloaded, and maintaining the current game configuration will result in game lag. At this time, the game resolution and the game graphics settings will be decreased to provide users with a smooth gaming experience.

[0200] (3) When the model gives a decision to keep the configuration unchanged, it means that the performance of the device has reached its best and no adjustment is needed.

[0201] In summary, in the embodiments of the present application, when the device and the application support the adaptive ability, the underlying performance metrics of the device are returned in real time through the terminal device and input into the trained decision tree model. The decision tree model will give a decision based on the performance metrics to determine whether to adjust the application configuration or how to adjust the configuration. For example, when the application is a game application, if the decision tree model gives a decision to adjust the game configuration, the game application will adjust the game resolution and the game graphics settings to improve the game performance.

[0202] Please refer to Figure 7 , based on the same inventive concept, the embodiments of the present application further provide an application configuration adjustment device 70, which includes:

[0203] A data acquisition unit 701, configured to acquire a set of performance parameters of a target device, where the target application is installed on the target device, and the set of performance parameters includes parameter values of multiple device performance metrics associated with the target application;

[0204] A policy prediction unit 702, configured to respectively adopt multiple target decision trees included in the trained decision tree model to obtain corresponding adjustment sub-policies based on the corresponding subsets of performance parameters in the set of performance parameters; wherein, the decision tree model is trained based on a training sample set, and each target decision tree is trained using a subset of training samples of the training sample set, and at least one of the subsets of performance parameters and the subsets of training samples corresponding to any two target decision trees is different;

[0205] The policy prediction unit 702 is further configured to determine a target adjustment policy for the target application based on the obtained multiple adjustment sub-policies;

[0206] A configuration adjustment unit 703, configured to adjust the configuration parameters of the target application based on the target adjustment policy.

[0207] In a possible implementation, the data acquisition unit 701 is specifically configured to:

[0208] When the target device runs the target application and the target application is in a preset application state, obtain a set of performance parameters. The preset application state includes at least one of the following states:

[0209] The number of runs of a preset application scenario in the target application is not less than a preset number threshold;

[0210] The continuous running duration of a preset application scenario in the target application is not less than a preset duration threshold;

[0211] The continuous running duration of a preset application scenario of the target application is not less than a preset duration threshold, and the preset application scenario triggers a preset scenario event;

[0212] The running rate of a preset application scenario of the target application is greater than a preset rate threshold, and the continuous running duration of the preset application scenario is not less than a preset duration threshold.

[0213] In a possible implementation, the policy prediction unit 702 is specifically configured to:

[0214] Determine the adjustment values corresponding to various configuration parameters of the target application according to multiple adjustment sub-policies, and obtain a target adjustment policy; wherein each adjustment sub-policy includes the adjustment values corresponding to at least one configuration parameter among various configuration parameters of the target application;

[0215] Determine the adjustment sub-policy with the most occurrences among the multiple adjustment sub-policies as the target adjustment policy;

[0216] For various configuration parameters of the target application, perform the following operations respectively: For one configuration parameter, determine the adjustment value with the most occurrences of the one configuration parameter among the multiple adjustment sub-policies as the adjustment value of the one configuration parameter in the target adjustment policy.

[0217] In a possible implementation, the device further includes a training unit 704, which is used to train a decision tree model by the following steps:

[0218] Obtain a training sample set. Each training sample in the training sample set includes a set of performance parameters of the sample device within a preset duration and the corresponding sample adjustment policy;

[0219] Based on the initial control parameter set of the decision tree model, construct multiple initial decision trees according to the training sample set. Among them, each initial decision tree uses its corresponding subset of training samples as the root node, and each child node includes some training samples in the subset of training samples. The training samples between the child nodes of each node do not overlap;

[0220] Adjust the initial control parameter set based on the training sample set and multiple initial decision trees to determine the target control parameter that makes the multiple initial decision trees meet the preset conditions;

[0221] Based on the target control parameter, construct multiple target decision trees according to the training sample set to obtain a decision tree model.

[0222] In a possible implementation manner, the training unit 704 is specifically configured to:

[0223] Obtain multiple initial samples collected when the sample device runs the target application; wherein, each initial sample includes a performance parameter set of the sample device and a parameter value set of the application performance index of the target application within a preset time period;

[0224] Perform data preprocessing on the performance parameter sets included in the multiple initial samples to obtain multiple preprocessed samples;

[0225] For the multiple preprocessed samples, respectively perform the following processing:

[0226] According to the parameter value set included in a preprocessed sample, determine the change information of the application performance index, and according to the change information, determine the sample adjustment strategy of a preprocessed sample.

[0227] In a possible implementation manner, the training unit 704 is specifically configured to:

[0228] Adopt multiple candidate K-nearest neighbor models and respectively perform the following steps:

[0229] Adopt a candidate K-nearest neighbor model to fill in the missing values for the initial samples with missing values according to the parameter values of the K samples with the highest similarity in the multiple initial samples; wherein, the values of K for any two candidate K-nearest neighbor models are different;

[0230] Determine the dispersion of the parameter values of the device performance index included in the filled multiple initial samples;

[0231] Determine the target K-nearest neighbor model with the smallest dispersion from the multiple candidate K-nearest neighbor models;

[0232] Based on the multiple initial samples filled by the target K-nearest neighbor model, obtain multiple preprocessed samples.

[0233] In a possible implementation manner, the training unit 704 is specifically configured to:

[0234] Based on the initial control parameter set, respectively perform multiple construction processes to obtain multiple initial decision trees; wherein, each construction process includes the following steps:

[0235] Determine the subset of training samples to be used this time from the training sample set, where the subset of training samples includes some training samples of the training sample set;

[0236] Determine the subset of performance parameters to be used this time from the performance parameter set, where the subset of performance parameters includes at least one performance metric;

[0237] Filter out the parameter values of other performance metrics except for at least one performance metric from the subset of training samples to obtain the filtered subset of training samples;

[0238] Use the filtered subset of training samples as the root node and start splitting multiple times from the root node. Each split forms at least two child nodes until the splitting stop condition in the initial control parameter set is met, and obtain the corresponding initial decision tree.

[0239] In a possible implementation manner, the training unit 704 is specifically configured to:

[0240] For multiple initial decision trees, perform the following operations respectively:

[0241] For an initial decision tree, based on the dispersion of the training samples included in each node in an initial decision tree and the total number of nodes included in the sub-decision trees corresponding to each node, determine the cost complexity corresponding to each node;

[0242] Starting from the leaf nodes in an initial decision tree, perform pruning operations on each node respectively until the pruning stop condition is met to obtain the corresponding updated decision tree; among them, when performing a pruning operation on a node, if the cost complexity of a node is not greater than the sum of the cost complexities of the child nodes of a node, then prune the child nodes of a node;

[0243] Based on the training sample set and multiple initial decision trees, adjust the initial control parameter set, including:

[0244] Based on the training sample set and the obtained multiple updated decision trees, adjust the initial control parameter set.

[0245] In a possible implementation manner, the training unit 704 is specifically configured to:

[0246] For each control parameter subset in the initial control parameter set, perform the following operations respectively:

[0247] For a control parameter subset, determine the performance evaluation values corresponding to multiple candidate value sets of a control parameter subset when other control parameters except one control parameter subset remain unchanged. Each performance evaluation value characterizes the performance of the initial decision tree when the corresponding candidate value set is used;

[0248] Determine the set of candidate values with the maximum performance evaluation value as the target value set of a control parameter subset.

[0249] In a possible implementation manner, the device further includes an initialization unit 705, configured to:

[0250] When the target application is initialized, obtain the hardware configuration information and operating system version information of the target device, and obtain the application version information of the target application;

[0251] Determine that the target device has the ability to adjust application configuration according to the hardware configuration information and operating system version information, and determine that the target application has the ability to adjust application configuration according to the application version information;

[0252] Determine multiple device performance indicators corresponding to the performance parameter set from multiple candidate performance indicators of the target device according to at least one of the hardware configuration information, operating system version information, and application version information.

[0253] Through the above device, the underlying performance indicator information can be obtained by interacting with the terminal device, and according to these device indicator information, the application configuration parameters can be adjusted targeted, so that each indicator of the application occupies the device performance power consumption more reasonably, achieving a balance among the application experience quality, application performance indicators, and the best state of device operation.

[0254] This device can be used to execute the methods shown in the embodiments of the present application. Therefore, for the functions that can be realized by each functional module of this device, reference can be made to the descriptions of the foregoing embodiments, and details are not repeated.

[0255] Please refer to Figure 8 , based on the same technical concept, the embodiments of the present application also provide a computer device. In one embodiment, the computer device may be, for example, Figure 1 the server shown, and the computer device is as Figure 8 shown, including a memory 801, a communication module 803, and one or more processors 802.

[0256] The memory 801 is used to store the computer program executed by the processor 802. The memory 801 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system and programs required to run the functions of the embodiments of the present application; the data storage area can store various function information and operation instruction sets, etc.

[0257] The memory 801 can be a volatile memory, such as a random-access memory (RAM); the memory 801 can also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or the memory 801 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 801 can be a combination of the above memories.

[0258] The processor 802 can include one or more central processing units (CPUs) or be a digital processing unit, etc. The processor 802 is used to implement the above application configuration adjustment method when calling the computer program stored in the memory 801.

[0259] The communication module 803 is used to communicate with the terminal device and other servers.

[0260] In the embodiments of the present application, the specific connection medium between the above memory 801, communication module 803, and processor 802 is not limited. In the embodiments of the present application Figure 8 it is connected between the memory 801 and the processor 802 through a bus 804, and the bus 804 is described in thick lines in Figure 8 The connection manners between other components are only for illustrative purposes and are not to be construed as limiting. The bus 804 can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of description, Figure 8 only one thick line is used to describe it in

[0261] The computer storage medium is stored in the memory 801, and the computer executable instructions are stored in the computer storage medium. The computer executable instructions are used to implement the application configuration adjustment method of the embodiments of the present application, and the processor 802 is used to execute the application configuration adjustment method of the above embodiments.

[0262] In another embodiment, the computer device can also be a terminal device, such as Figure 1 the terminal device shown. In this embodiment, the structure of the computer device can be as shown in Figure 9 and includes components such as a communication component 910, a memory 920, a display unit 930, a camera 940, a sensor 950, an audio circuit 960, a Bluetooth module 970, a processor 980, etc.

[0263] The communication component 910 is used to communicate with the server. In some embodiments, it may include a circuit Wireless Fidelity (WiFi) module. The WiFi module belongs to short-range wireless transmission technology, and through the WiFi module, the computer device can help users send and receive information.

[0264] The memory 920 can be used to store software programs and data. The processor 980 executes various functions and data processing of the terminal device by running the software programs or data stored in the memory 920. The memory 920 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices. The memory 920 stores an operating system that enables the terminal device to operate. In this application, the memory 920 can store the operating system and various application programs, and can also store the code for executing the application configuration adjustment method of the embodiments of this application.

[0265] The display unit 930 can also be used to display the information input by the user or the information provided to the user, as well as the graphical user interface (GUI) of various menus of the terminal device. Specifically, the display unit 930 may include a display screen 932 disposed on the front of the terminal device. Among them, the display screen 932 can be configured in the form of a liquid crystal display, a light-emitting diode, etc. The display unit 930 can be used to display the phoneme recognition request page or the phoneme recognition result display page in the embodiments of this application.

[0266] The display unit 930 can also be used to receive input numerical or character information, and generate signal inputs related to the user settings and function controls of the terminal device. Specifically, the display unit 930 may include a touch screen 931 disposed on the front of the terminal device, which can collect touch operations of the user on or near it, such as clicking buttons, dragging scroll boxes, etc.

[0267] Among them, the touch screen 931 can cover the display screen 932, or the touch screen 931 and the display screen 932 can be integrated to implement the input and output functions of the terminal device. After integration, it can be simply referred to as a touch display screen. In this application, the display unit 930 can display application programs and corresponding operation steps.

[0268] The camera 940 can be used to capture static images, and users can post comments on the images captured by the camera 940 through an application. There can be one or more cameras 940. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the processor 980 to be converted into a digital image signal.

[0269] The terminal device may further include at least one sensor 950, such as an acceleration sensor 951, a distance sensor 952, a fingerprint sensor 953, and a temperature sensor 954. The terminal device may also be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, a light sensor, and a motion sensor.

[0270] The audio circuit 960, the speaker 961, and the microphone 962 can provide an audio interface between the user and the terminal device. The audio circuit 960 can transmit the electrical signal converted from the received audio data to the speaker 961, and the speaker 961 converts it into a sound signal for output. The terminal device may also be configured with volume buttons for adjusting the volume of the sound signal. On the other hand, the microphone 962 converts the collected sound signal into an electrical signal, which is received by the audio circuit 960 and then converted into audio data. The audio data is then output to the communication component 910 to be sent to, for example, another terminal device, or the audio data is output to the memory 920 for further processing.

[0271] The Bluetooth module 970 is used to interact with other Bluetooth devices having Bluetooth modules through the Bluetooth protocol. For example, the terminal device can establish a Bluetooth connection with a wearable computer device (such as a smart watch) that also has a Bluetooth module through the Bluetooth module 970 to perform data interaction.

[0272] The processor 980 is the control center of the terminal device, connecting various parts of the entire terminal through various interfaces and circuits. By running or executing software programs stored in the memory 920 and invoking data stored in the memory 920, it performs various functions of the terminal device and processes data. In some embodiments, the processor 980 may include one or more processing units; the processor 980 may also integrate an application processor and a baseband processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the baseband processor mainly processes wireless communication. It can be understood that the above baseband processor may not be integrated into the processor 980. In this application, the processor 980 can run the operating system, application programs, user interface display and touch response, as well as the application configuration adjustment method of the embodiments of this application. In addition, the processor 980 is coupled to the display unit 930.

[0273] Based on the same inventive concept, an embodiment of this application also provides a computer storage medium that stores a computer program. When the computer program runs on a computer device, it causes the computer device to execute the steps in the application configuration adjustment method according to various exemplary embodiments of this application described above in this specification.

[0274] In some possible implementation manners, each aspect of the application configuration adjustment method provided in this application can also be implemented in the form of a computer program product, which includes a computer program. When the computer program product runs on a computer device, the computer program is used to cause the computer device to execute the steps in the application configuration adjustment method according to various exemplary embodiments of this application described above in this specification. For example, the computer device can execute the steps of each embodiment.

[0275] The computer program product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive list) of the readable storage medium include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0276] A computer program product of an embodiment of the present application may be a portable compact disc read-only memory (CD-ROM) and include a computer program, and may run on a computer device. However, the computer program product of the present application is not limited thereto. In the present application, a readable storage medium may be any tangible medium that contains or stores a program, and the computer program included therein may be used by or in conjunction with a command execution system, apparatus, or device.

[0277] A readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a readable computer program. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A readable signal medium may also be any readable medium other than a readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with a command execution system, apparatus, or device.

[0278] The computer program included on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the above.

[0279] The computer program for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also including conventional procedural programming languages such as the "C" language or similar programming languages.

[0280] It should be noted that although several units or subunits of the apparatus are mentioned in the above detailed description, such a division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of the two or more units described above may be embodied in one unit. Conversely, the features and functions of one unit described above may be further divided and embodied by multiple units.

[0281] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step for execution, and / or one step may be decomposed into multiple steps for execution.

[0282] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) that contain computer programs.

[0283] Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concept. Therefore, the appended claims are intended to be construed to include the preferred embodiments as well as all changes and modifications falling within the scope of the present application.

[0284] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these changes and modifications.

Claims

1. A method for adjusting application configuration, characterized in that, The method includes: When the target application is running on the target device, obtaining a set of performance parameters of the target device, where the set of performance parameters includes parameter values of multiple device performance metrics associated with the target application; Respectively using multiple target decision trees included in the trained decision tree model to obtain corresponding adjustment sub-strategies based on corresponding subsets of performance parameters in the set of performance parameters; wherein, the decision tree model is trained based on a training sample set, and each of the target decision trees is trained using a subset of training samples of the training sample set, and at least one of the subsets of performance parameters and the subsets of training samples corresponding to any two of the target decision trees is different; Based on the obtained multiple adjustment sub-strategies, determining a target adjustment strategy for the target application; Based on the target adjustment strategy, adjusting the configuration parameters of the target application.

2. The method according to claim 1, characterized in that, The obtaining the set of performance parameters of the target device when the target application is running on the target device includes: When the target application is running on the target device and the target application is in a preset application state, obtaining the set of performance parameters, where the preset application state includes at least one of the following states: The number of runs of a preset application scenario in the target application is not less than a preset number threshold; The continuous running duration of a preset application scenario in the target application is not less than a preset duration threshold; The continuous running duration of a preset application scenario of the target application is not less than the preset duration threshold, and the preset application scenario triggers a preset scenario event; The running rate of a preset application scenario of the target application is greater than a preset rate threshold, and the continuous running duration of the preset application scenario is not less than the preset duration threshold.

3. The method according to claim 1, characterized in that, The determining the target adjustment strategy for the target application based on the obtained multiple adjustment sub-strategies includes one of the following methods: According to the multiple adjustment sub-strategies, determining adjustment values corresponding to respective multiple configuration parameters of the target application to obtain the target adjustment strategy; wherein, each of the adjustment sub-strategies includes adjustment values corresponding to at least one of the multiple configuration parameters of the target application; Determining the adjustment sub-strategy with the most occurrences among the multiple adjustment sub-strategies as the target adjustment strategy; For multiple configuration parameters of the target application, respectively perform the following operations: For one configuration parameter, respectively determine the adjustment value with the most occurrences of the one configuration parameter among the multiple adjustment sub-strategies as the adjustment value of the one configuration parameter in the target adjustment strategy.

4. The method according to any one of claims 1 to 3, characterized in that, The decision tree model is trained based on a training sample set by using the following steps: Obtaining the training sample set, where each training sample in the training sample set includes a set of performance parameters of a sample device within a preset duration and a corresponding sample adjustment strategy; Based on an initial control parameter set of the decision tree model, constructing multiple initial decision trees according to the training sample set, where each of the initial decision trees uses a corresponding subset of training samples as a root node, and each child node includes some training samples in the subset of training samples, and the training samples among the child nodes of each node do not overlap; Based on the training sample set and the multiple initial decision trees, adjust the initial control parameter set to determine target control parameters that enable the multiple initial decision trees to meet the preset conditions; Based on the target control parameters, construct the multiple target decision trees according to the training sample set to obtain the decision tree model.

5. The method according to claim 4, wherein The obtaining of the training sample set includes: Obtain multiple initial samples collected when the sample device runs the target application; wherein, each initial sample includes a set of performance parameters of the sample device and a set of parameter values of the application performance metrics of the target application within the preset time period; Perform data preprocessing on the set of performance parameters included in each of the multiple initial samples to obtain multiple preprocessed samples; For each of the multiple preprocessed samples, perform the following processing respectively: According to the set of parameter values included in a preprocessed sample, determine the change information of the application performance metric, and according to the change information, determine the sample adjustment strategy for the one preprocessed sample.

6. The method according to claim 5, characterized in that The performing of data preprocessing on the set of performance parameters included in each of the multiple initial samples to obtain multiple preprocessed samples includes: Adopt multiple candidate K-nearest neighbor models and perform the following steps respectively: Adopt one candidate K-nearest neighbor model to fill in the missing values for the initial samples with missing values according to the parameter values of the K samples with the highest similarity in the multiple initial samples; wherein, the value of K for any two candidate K-nearest neighbor models is different; Determine the dispersion of the parameter values of the device performance metrics included in the filled multiple initial samples; Determine the target K-nearest neighbor model with the smallest dispersion from the multiple candidate K-nearest neighbor models; Based on the multiple initial samples filled by the target K-nearest neighbor model, obtain the multiple preprocessed samples.

7. The method according to claim 4, wherein The constructing of the multiple initial decision trees according to the training sample set based on the preset initial control parameter set includes: Based on the initial control parameter set, perform multiple construction processes respectively to obtain the multiple initial decision trees; wherein, each construction process includes the following steps: From the training sample set, determine the training sample subset used this time, and the training sample subset includes some training samples of the training sample set; From the set of performance parameters, determine the performance parameter subset used this time, and the performance parameter subset includes at least one performance metric; From the training sample subset, filter out the parameter values of other performance metrics except the at least one performance metric to obtain the filtered training sample subset; Use the filtered training sample subset as the root node and perform multiple splits starting from the root node. Each split forms at least two child nodes until the split stop condition in the initial control parameter set is met to obtain the corresponding initial decision tree.

8. The method according to claim 7, wherein After obtaining the multiple initial decision trees, the method further includes: For each of the multiple initial decision trees, perform the following operations respectively: For an initial decision tree, determine the cost complexity corresponding to each node based on the dispersion of the training samples included in each node in the initial decision tree and the total number of nodes included in the sub-decision trees corresponding to each of the nodes. Starting from the leaf nodes in the initial decision tree, perform pruning operations on each of the nodes respectively until the pruning stop condition is satisfied to obtain a corresponding updated decision tree. When performing a pruning operation on a node, if the cost complexity of the node is not greater than the sum of the cost complexities of the child nodes of the node, then prune the child nodes of the node. The adjustment of the initial control parameter set based on the training sample set and the multiple initial decision trees includes: Adjust the initial control parameter set based on the training sample set and the obtained multiple updated decision trees.

9. The method according to claim 4, wherein The adjustment of the initial control parameter set based on the training sample set and the multiple initial decision trees to determine the target control parameters that make the multiple initial decision trees meet the preset conditions includes: For each control parameter subset in the initial control parameter set, perform the following operations respectively: For a control parameter subset, determine the performance evaluation values corresponding to multiple candidate value sets of the control parameter subset when other control parameters except the control parameter subset remain unchanged. Each performance evaluation value characterizes the performance of the initial decision tree when the corresponding candidate value set is used. Determine the target value set of the control parameter subset as the candidate value set with the largest performance evaluation value.

10. The method according to any one of claims 1 to 3, characterized in that, Before obtaining the performance parameter set of the target device, the method further includes: When the target application is initialized, obtain the hardware configuration information and operating system version information of the target device, and obtain the application version information of the target application. Determine that the target device has the ability to adjust application configuration according to the hardware configuration information and the operating system version information, and determine that the target application has the ability to adjust application configuration according to the application version information. Determine multiple device performance indicators corresponding to the performance parameter set from multiple candidate performance indicators of the target device according to at least one of the hardware configuration information, the operating system version information, and the application version information.

11. An application configuration adjustment device, characterized in that The device includes: A data acquisition unit, configured to acquire a performance parameter set of a target device, where the target device is installed with a target application, and the performance parameter set includes parameter values of multiple device performance indicators associated with the target application. A policy prediction unit, configured to respectively adopt multiple target decision trees included in a trained decision tree model to obtain corresponding adjustment sub-policies based on the performance parameter subsets corresponding to the performance parameter set. The decision tree model is trained based on a training sample set, and each target decision tree is trained using a training sample subset of the training sample set, and at least one of the performance parameter subsets and the training sample subsets corresponding to any two target decision trees is different. The policy prediction unit is further configured to determine a target adjustment policy for the target application based on the obtained multiple adjustment sub-policies; The configuration adjustment unit is configured to adjust the configuration parameters of the target application based on the target adjustment policy.

12. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the method according to any one of claims 1 to 10 are implemented.

13. A computer storage medium, having stored thereon a computer program, wherein when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

14. A computer program product, characterized in that, The computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.