A control method and device for a data warehouse instance
By automatically optimizing the system parameters of data warehouse instances through machine learning and reinforcement learning, the problem of excessive computation time has been solved, customer experience has been improved, labor costs have been reduced, and efficient operation of data warehouse instances has been achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIBABA CLOUD COMPUTING CO LTD
- Filing Date
- 2022-12-16
- Publication Date
- 2026-05-12
AI Technical Summary
Existing technologies struggle to automatically optimize system parameters for data warehouse instances to meet performance requirements, resulting in excessively long computation times, negatively impacting user experience, and potentially leading to customer churn.
By leveraging machine learning and reinforcement learning, the system parameters of data warehouse instances are automatically optimized to obtain target parameter value combinations that meet performance requirements. This includes applying machine learning and reinforcement learning to relational information and using mirrored data warehouse instances to adjust strategies, thereby reducing manual intervention and costs.
It has enabled automated optimization of system parameters for data warehouse instances, improving computational efficiency, reducing computation time, enhancing customer experience, and reducing labor costs and complexity.
Smart Images

Figure CN116049325B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method and apparatus for controlling a data warehouse instance. Background Technology
[0002] With the rapid development of technology, data warehouses (DW) have been widely used. A data warehouse is a structured data environment and an upgrade of the database concept.
[0003] Data warehouses handle larger volumes of data and offer richer functionalities than databases. They can perform data mining and analysis to support decision-making. For example, data warehouses can systematically analyze and organize massive amounts of data accumulated over many years using their unique storage architecture, employing techniques such as Online Analytical Processing (OLAP) and data mining (DM) to provide data support for decision-makers. Summary of the Invention
[0004] This application discloses a method and apparatus for controlling a data warehouse instance.
[0005] In a first aspect, this application discloses a method for controlling a data warehouse instance, the method comprising:
[0006] Obtain information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance;
[0007] Machine learning is performed on the relational information with at least one performance indicator as the optimization objective to obtain a combination of target parameter values. The combination of target parameter values includes the predicted parameter values of each system parameter involved in the target data warehouse instance. Wherein, when the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator involved in the target data warehouse instance all meet the expected conditions.
[0008] The parameter values of each system parameter involved in the target data warehouse instance are adjusted based on the target parameter value combination.
[0009] In one optional implementation, the step of performing machine learning on the relational information with at least one performance metric as the optimization objective to obtain a combination of target parameter values includes:
[0010] Clone the target data warehouse instance to obtain a mirror data warehouse instance;
[0011] A reinforcement learning model is constructed. The reinforcement learning model takes a mirrored data warehouse instance as the environment, the actual parameter values of each system parameter involved in the mirrored data warehouse instance and the actual metric value of at least one performance metric involved in the mirrored data warehouse instance as the state, the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as the policy, and the change of the metric value of at least one performance metric after adjusting the parameter values of each system parameter involved in the mirrored data warehouse instance based on the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as the reward.
[0012] The relationship information is subjected to reinforcement learning based on a reinforcement learning model with at least one performance index as the optimization objective, to obtain a combination of target parameter values.
[0013] In one optional implementation, obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance includes:
[0014] Obtain at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator given the historical parameter values of each system parameter.
[0015] Based on at least one historical parameter value of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance in at least one historical data, fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
[0016] In one optional implementation, obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance includes:
[0017] Obtain the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances;
[0018] Select at least one historical data warehouse instance from multiple historical data warehouse instances in descending order of instance similarity;
[0019] Obtain the historical relationship information of each selected historical data warehouse instance. The historical relationship information of the historical data warehouse instance includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance.
[0020] Based on the historical relationship information of each selected historical data warehouse instance, fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0021] In one optional implementation, the step of fitting the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance, based at least on the historical relationship information of each selected historical data warehouse instance, includes:
[0022] Obtain at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator given the historical parameter values of each system parameter.
[0023] Based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance from at least one historical data, the historical relationship information of each selected historical data warehouse instance is optimized to obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
[0024] In one optional implementation, obtaining the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances includes:
[0025] Obtain the target feature information of the target data warehouse instance, and obtain the historical feature information of each historical data warehouse instance;
[0026] Encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information, and encode the historical feature information of each historical data warehouse instance to obtain the historical feature vector of each historical feature information;
[0027] Based on the target feature vector of the target feature information and the historical feature vectors of each historical feature information, calculate the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances.
[0028] In one optional implementation, obtaining the target feature information of the target data warehouse instance includes:
[0029] Obtain the attribute information of the target data warehouse instance, and obtain the target feature information based on the attribute information of the target data warehouse instance;
[0030] Accordingly, obtaining the historical feature information of each historical data warehouse instance includes:
[0031] For any historical data warehouse instance, obtain the attribute information of the historical data warehouse instance, and obtain the historical feature information of the historical data warehouse instance based on the attribute information of the historical data warehouse instance.
[0032] In one optional implementation, obtaining the target feature information of the target data warehouse instance includes:
[0033] Obtain first statistical information on various types of instructions executed by the target data warehouse instance in the historical process; obtain target feature information based on the first statistical information;
[0034] Accordingly, obtaining the historical feature information of each historical data warehouse instance includes:
[0035] For any historical data warehouse instance, obtain the second statistical information of various types of instructions executed by the historical data warehouse instance in the historical process; obtain the historical feature information of the historical data warehouse instance based on the second statistical information.
[0036] In an optional implementation, the method further includes:
[0037] Store information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0038] In an optional implementation, after the target data warehouse instance has been created in the data warehouse, the step of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance is performed.
[0039] or,
[0040] Upon receiving an optimization instruction for at least one performance metric related to the target data warehouse instance, the step of obtaining information on the relationship between multiple system parameters related to the target data warehouse instance and at least one performance metric related to the target data warehouse instance is executed.
[0041] or,
[0042] If it is detected that the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions, the step of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance is executed.
[0043] or,
[0044] If the current time reaches the optimization time for optimizing at least one performance metric related to the target data warehouse instance, the step of obtaining the relationship information between the multiple system parameters related to the target data warehouse instance and the at least one performance metric related to the target data warehouse instance is executed.
[0045] Secondly, this application discloses a control device for a data warehouse instance, the device comprising:
[0046] The acquisition module is used to acquire information about the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0047] The learning module is used to perform machine learning on the relational information with at least one performance indicator as the optimization target to obtain a combination of target parameter values. The combination of target parameter values includes the predicted parameter values of each system parameter involved in the target data warehouse instance. Wherein, when the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator involved in the target data warehouse instance all meet the expected conditions.
[0048] The adjustment module is used to adjust the parameter values of various system parameters involved in the target data warehouse instance based on the target parameter value combination.
[0049] In one optional implementation, the learning module includes:
[0050] The cloning unit is used to clone the target data warehouse instance to obtain a mirror data warehouse instance.
[0051] The building unit is used to build a reinforcement learning model. The reinforcement learning model takes a mirrored data warehouse instance as its environment, the actual parameter values of each system parameter involved in the mirrored data warehouse instance and the actual metric value of at least one performance metric involved in the mirrored data warehouse instance as its state, the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as its policy, and the change of the metric value of at least one performance metric after adjusting the parameter values of each system parameter involved in the mirrored data warehouse instance based on the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as its reward.
[0052] The learning unit is used to perform reinforcement learning on the relational information based on a reinforcement learning model with at least one performance index as the optimization objective, to obtain a combination of target parameter values.
[0053] In one optional implementation, the acquisition module includes:
[0054] The first acquisition unit is used to acquire at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator under the historical parameter values of each system parameter.
[0055] The first fitting unit is used to fit the relationship information between multiple system parameters and at least one performance indicator involved in the target data warehouse instance based on at least one historical parameter value of each system parameter involved in the target data warehouse instance and the historical indicator value of at least one performance indicator involved in the target data warehouse instance.
[0056] In one optional implementation, the acquisition module includes:
[0057] The second acquisition unit is used to acquire the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances;
[0058] The selection unit is used to select at least one historical data warehouse instance from multiple historical data warehouse instances in descending order of instance similarity.
[0059] The third acquisition unit is used to acquire the historical relationship information of each selected historical data warehouse instance. The historical relationship information of the historical data warehouse instance includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance.
[0060] The second fitting unit is used to fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance, based at least on the historical relationship information of each selected historical data warehouse instance.
[0061] In one optional implementation, the second fitting unit includes:
[0062] The first acquisition subunit is used to acquire at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator under the historical parameter values of each system parameter.
[0063] An optimization subunit is used to optimize the historical relationship information of each selected historical data warehouse instance based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance in at least one historical data, so as to obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
[0064] In one optional implementation, the second acquisition unit includes:
[0065] The second acquisition subunit is used to acquire target feature information of the target data warehouse instance, and the third acquisition subunit is used to acquire historical feature information of each historical data warehouse instance.
[0066] The encoding subunit is used to encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information, and to encode the historical feature information of each historical data warehouse instance to obtain the historical feature vector of each historical feature information.
[0067] The calculation subunit is used to calculate the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances, based on the target feature vector of the target feature information and the historical feature vectors of each historical feature information.
[0068] In one optional implementation, the second acquisition subunit is specifically used to: acquire attribute information of the target data warehouse instance, and acquire target feature information based on the attribute information of the target data warehouse instance;
[0069] Accordingly, the third acquisition subunit is specifically used to: for any historical data warehouse instance, acquire the attribute information of the historical data warehouse instance, and acquire the historical feature information of the historical data warehouse instance based on the attribute information of the historical data warehouse instance.
[0070] In one optional implementation, the second acquisition subunit is specifically used to: acquire first statistical information on various types of instructions executed by the target data warehouse instance in the historical process; and acquire target feature information based on the first statistical information;
[0071] Accordingly, the third acquisition subunit is specifically used to: for any historical data warehouse instance, acquire second statistical information of various types of instructions executed by the historical data warehouse instance in the historical process; and acquire historical feature information of the historical data warehouse instance based on the second statistical information.
[0072] In an alternative implementation, the apparatus further includes:
[0073] The storage module is used to store information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0074] In an optional implementation, the acquisition module is specifically used to: after the target data warehouse instance has been created in the data warehouse, acquire the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance;
[0075] Alternatively, the acquisition module is specifically used to: upon receiving an optimization instruction for at least one performance metric involved in the target data warehouse instance, acquire information about the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance;
[0076] Alternatively, the acquisition module is specifically used to: when it is detected that the value of at least one performance indicator involved in the target data warehouse instance does not meet the expected conditions, acquire information on the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0077] Alternatively, the acquisition module is specifically used to: when the current time reaches the optimization time for optimizing at least one performance indicator involved in the target data warehouse instance, acquire the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0078] Thirdly, this application discloses an electronic device comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to perform the methods shown in any of the foregoing aspects.
[0079] Fourthly, this application discloses a non-transitory computer-readable storage medium that, when the instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the methods shown in any of the foregoing aspects.
[0080] Fifthly, this application discloses a computer program product in which, when the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to perform the methods shown in any of the foregoing aspects.
[0081] Compared with the prior art, this application has the following advantages:
[0082] This application obtains information about the relationships between multiple system parameters involved in a target data warehouse instance and at least one performance indicator involved in the target data warehouse instance. Machine learning is then applied to this relationship information with at least one performance indicator as the optimization objective to obtain a combination of target parameter values. This combination includes predicted parameter values for each system parameter involved in the target data warehouse instance. When the parameter values for each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the value of at least one performance indicator involved in the target data warehouse instance satisfies the desired conditions. The parameter values for each system parameter involved in the target data warehouse instance are adjusted based on the combination of target parameter values. This application automatically predicts suitable parameter values for each system parameter involved in the target data warehouse instance so that at least one performance indicator of the target data warehouse instance can meet the desired conditions. The prediction process can be performed without human intervention, thus reducing the difficulty and threshold of obtaining suitable parameter values for each system parameter involved in the target data warehouse instance, and also reducing labor costs, as it eliminates the need for extensive professional knowledge and practical experience among human personnel. Attached Figure Description
[0083] Figure 1 This is a flowchart illustrating an exemplary embodiment of the present application of a method for controlling a data warehouse instance.
[0084] Figure 2 This is a schematic diagram illustrating a reinforcement learning scenario as shown in an exemplary embodiment of this application.
[0085] Figure 3 This is a flowchart illustrating an exemplary embodiment of the present application of a method for obtaining relational information.
[0086] Figure 4 This is a flowchart illustrating an exemplary embodiment of the present application of a method for obtaining relational information.
[0087] Figure 5 This is a structural block diagram of a control device for a data warehouse instance, as illustrated in an exemplary embodiment of this application.
[0088] Figure 6 This is a schematic diagram of the structure of an apparatus shown in an exemplary embodiment of this application. Detailed Implementation
[0089] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0090] Current data warehouses can provide data services to a wide range of customers. For example, each customer can create their own data warehouse instance (a data warehouse instance can include virtual machines, which can be understood as a virtual data warehouse built within a physical data warehouse for customer use; that is, a virtual data warehouse can be hosted on a physical data warehouse, and different customers' virtual data warehouses can be isolated from each other). Each customer can then use their own data warehouse instance to store data, perform data mining, and conduct data analysis.
[0091] However, after many customers created and used their own data warehouse instances, we received a lot of feedback: in scenarios where customers used their own data warehouse instances, the time taken for the data warehouse instances to perform operations (such as data mining and data analysis) was often very long (often exceeding the tolerable time, which can be calculated based on the time requirements of customers). The overall performance of the data warehouse instances was poor, resulting in a poor user experience for many customers.
[0092] The inventors then discovered that the above situation could lead to customer churn.
[0093] Therefore, in order to minimize customer churn, it is necessary to improve the user experience of customers using data warehouse instances.
[0094] To improve the user experience of data warehouse instances, one approach is to enhance the overall performance of the data warehouse instances.
[0095] To improve the overall performance of a data warehouse instance, one approach is to reduce the time it takes for the data warehouse instance to perform computations (e.g., at least to make the time it takes for the data warehouse instance to perform computations below the tolerance limit).
[0096] To reduce the time spent on computation during data warehouse instance execution, the inventors analyzed the reasons why "the computation process of data warehouse instances often takes a long time" and found that:
[0097] In scenarios where customers create their own data warehouse instances within a data warehouse, the data warehouse allocates system resources to these instances to provide resource support. This allows the data warehouse instances to perform corresponding operations (such as data mining and data analysis) based on the allocated system resources.
[0098] System resources can include memory resources, CPU (Central Processing Unit) resources, communication resources, and storage resources, among others. Each of these resources involves a large number of parameters; thus, a data warehouse instance often involves a massive number of parameters. Furthermore, each parameter can have its own value, and the selection of values for each parameter has a specific range.
[0099] The parameters can include: Reserved Cache Rat io, Reserved Mem Rat io, Reserved Storage Mem Rat io, Reserved Sys Rat io, CPU Limit Rat io, ho_query_next_batch_size, etc., which will not be listed here.
[0100] The inventors realized that the values of these massive parameters might affect the time it takes for the data warehouse instance to perform calculations.
[0101] In light of this, the inventors attempted to construct various combinations of parameter values, each including the values of all parameters involved in the data warehouse instance. At least one parameter of the same type in any two combinations of parameter values must have a different value.
[0102] Subsequently, for any given combination of parameter values, the inventors attempted to set the parameter values of each parameter involved in the data warehouse instance based on that combination. Then, they controlled the data warehouse instance to perform calculations (data mining and data analysis, etc.) based on the set parameter values. Afterwards, they statistically analyzed the time taken for the data warehouse instance to perform these calculations under each parameter value combination. The same operation was performed for every other combination of parameter values. The types of calculations performed by each data warehouse instance were the same under different parameter value combinations, thus enabling comparative analysis.
[0103] Statistical results show that the time taken for a data warehouse instance to perform calculations varies depending on the combination of parameter values. Thus, the inventors can conclude that the values of these massive parameters do indeed affect the time taken for a data warehouse instance to perform calculations.
[0104] Based on this conclusion, the inventors conceived of an approach: to find a suitable combination of target parameter values such that, under the scenario of the target parameter value combination (the scenario of the target parameter value combination includes setting the parameter values of each parameter involved in the data warehouse instance according to the target parameter value combination), the time spent by the data warehouse instance in performing the calculation process is at least lower than the tolerable time. In this way, the overall performance of the data warehouse instance can be improved, thereby improving the user experience of the customer using the data warehouse instance and thus minimizing customer churn.
[0105] To this end, the inventors searched for several candidate parameter value combinations based on human experience, and conducted time tests on each of the candidate parameter value combinations in turn.
[0106] For example, for any one of the candidate parameter value combinations, the inventors attempted to set the parameter values of each parameter involved in the data warehouse instance according to that candidate parameter value combination, and then control the data warehouse instance to perform calculations (data mining and data analysis, etc.) based on the set parameter values. Afterwards, they statistically analyzed the time taken for the data warehouse instance to perform the calculations under that candidate parameter value combination scenario. The same operation was performed for each of the other candidate parameter value combinations.
[0107] However, the results show that, in each scenario with different candidate parameter value combinations, the time taken for the data warehouse instance to perform calculations still exceeds the tolerable time, failing to resolve the issue of the data warehouse instance taking a long time to perform data mining and data analysis. The only solution is to continue searching for other parameter value combinations until the time taken for the data warehouse instance to perform calculations in a scenario with a given parameter value combination is at least lower than the tolerable time.
[0108] However, the inventors discovered that, on the one hand, the number of parameters involved in a data warehouse instance is massive; on the other hand, since the selection of values for each parameter has a certain range, the number of possible parameter values for each parameter is also massive. This results in a theoretically massive number of parameter value combinations. Consequently, it is difficult to learn through human experience how each parameter affects the execution time of the data warehouse instance. Even with extensive professional knowledge and practical experience, it is difficult to find a suitable combination of target parameter values that ensures the execution time of the data warehouse instance is at least below the tolerable time. The only solution is to manually exhaustively search for a target parameter combination, but this method is labor-intensive.
[0109] On the other hand, customers can create their own data warehouse instances within a data warehouse, resulting in a massive number of such instances. Furthermore, the inventors discovered that different customers run different types of jobs and have varying computational loads on their data warehouse instances, and different job types require different combinations of target parameter values. This often necessitates finding suitable combinations of target parameter values for each customer's data warehouse instance, leading to a geometric increase in labor costs.
[0110] In view of this, the inventors abandoned the method of manually finding a suitable combination of target parameter values for data warehouse instances, and instead came up with the idea of using an automated method to find a suitable combination of target parameter values for data warehouse instances, so as to minimize human intervention and thus reduce labor costs.
[0111] For example, see Figure 1 This application illustrates a method for controlling a data warehouse instance, the method comprising:
[0112] In step S101, information about the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance is obtained.
[0113] Performance metrics may include: QPS (Queries Per Second), TPS (Transactions Per Second), number of thread connections, Query Cache hit rate, and IOPS (Input / Output Operations Per Second), etc. It should be noted that performance metrics may include other metrics depending on actual needs; this application does not limit this, and examples are not provided here.
[0114] System parameters may include: Query Cache size, Reserved Cache Rat io, Reserved Mem Rat io, Reserved Storage Mem Rat io, Reserved Sys Rat io, CPU Limit Rat io, holo_query_next_batch_size, Industrial HeapSize, MaxHeapSize, Heap DumpPath, MaxPermSize, and Reserved Code Cache Size, etc. It should be noted that system parameters may include other parameters depending on actual needs; this application does not limit this, and examples are not provided here.
[0115] For details of this step, please refer to the following embodiments, which will not be described in detail here.
[0116] In step S102, the relationship information is subjected to machine learning with at least one performance indicator as the optimization target to obtain a combination of target parameter values. The combination of target parameter values includes the predicted parameter values of each system parameter involved in the target data warehouse instance. When the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator involved in the target data warehouse instance all meet the expected conditions.
[0117] In one embodiment, the desired conditions include preset indicator values, which may be manually set, such as those calculated based on the actual usage of data warehouse instances by a large number of customers. This application does not limit the specific values of the preset indicator values.
[0118] Meeting the expected conditions may include being greater than or less than a preset indicator value. Whether it is greater than or less than the preset indicator value can be determined according to the actual situation, and this application does not limit it in this regard.
[0119] The target data warehouse instance may have at least one performance metric that corresponds to its own preset metric value. That is, for any one of the at least one performance metric in the target data warehouse instance, the metric value of the performance metric must meet the expected conditions, including: the metric value of the performance metric is less than or greater than the preset metric value corresponding to the performance metric. The same applies to each of the other performance metrics in the target data warehouse instance.
[0120] At least one performance indicator may have preset value corresponding to each performance indicator, which may be manually set based on experience or requirements.
[0121] In another embodiment, the desired condition can be understood as follows: during the process of machine learning on the relation information with at least one performance indicator as the optimization target, the indicator value converges to a range, and even if machine learning continues on the relation information with at least one performance indicator as the optimization target thereafter, the indicator value no longer moves in a better direction. For example, in one example, the indicator value of the performance indicator reaches the excellent range in the current actual situation.
[0122] In this application, multiple methods can be used to perform machine learning on the relational information with at least one performance indicator as the optimization target to obtain a combination of target parameter values. Different methods are suitable for different scenarios. Thus, this application can support the optimization of the performance indicators of the target data warehouse instance in multiple scenarios, thereby improving the universality of this solution.
[0123] The parameter value can include a specific numerical value, or it can include "on", "off", "yes" or "no" to indicate whether it is a switch or not.
[0124] To obtain a more accurate or optimal combination of target parameter values, reinforcement learning can be applied to this relationship information with at least one performance metric as the optimization objective, thus obtaining the target parameter value combination. Reinforcement learning, also known as reward learning, evaluation learning, or enhancement learning, is a feedback-based, unlabeled learning method based on sequential behavior. It is one of the paradigms and methodologies of machine learning, used to describe and solve the problem of an agent learning strategies to maximize rewards or achieve specific goals during its interaction with the environment. It learns strategies through continuous trial and error.
[0125] Thus, in one embodiment, in this step, the target data warehouse instance can be cloned to obtain a mirror data warehouse instance. Then, a reinforcement learning model can be constructed. The reinforcement learning model uses the mirror data warehouse instance as the environment, the actual parameter values of each system parameter involved in the mirror data warehouse instance and the actual index value of at least one performance index involved in the mirror data warehouse instance as the state, the change range of the parameter values of each system parameter involved in the mirror data warehouse instance as the strategy, and the change of the index value of at least one performance index after adjusting the parameter values of each system parameter involved in the mirror data warehouse instance based on the change range of the parameter values of each system parameter involved in the mirror data warehouse instance as the reward. Then, reinforcement learning can be performed on this relational information with at least one performance index as the optimization target based on the reinforcement learning model to obtain the target parameter value combination.
[0126] In the process of reinforcement learning based on a reinforcement learning model, it is necessary to interact with the data warehouse instance. However, the target data warehouse instance may also need to perform online computations. Therefore, if we interact directly with the target data warehouse instance, it may interfere with the target data warehouse instance's online computations. To avoid interfering with the target data warehouse instance's online computations, we can clone the target data warehouse instance to obtain a mirror data warehouse instance. The mirror data warehouse instance can serve as an offline scenario, and the mirror data warehouse instance and the target data warehouse instance can be independent of each other. In this way, during the reinforcement learning process, we can interact with the mirror data warehouse instance instead of the target data warehouse instance, thereby avoiding interference with the target data warehouse instance's online computations.
[0127] in, Figure 2 This diagram illustrates a reinforcement learning scenario. The scenario includes an agent and an environment, which includes a mirrored data warehouse instance. The agent continuously learns and optimizes its policy through interaction and feedback with the environment. The policy includes the magnitude of changes in the parameter values of various system parameters involved in the mirrored data warehouse instance. For example, the agent observes and obtains the state of the environment, which includes the actual parameter values of various system parameters involved in the mirrored data warehouse instance and the actual value of at least one performance metric involved in the mirrored data warehouse instance. Based on the state, a policy is formulated, and then the action to be taken is determined. The action acts on the environment, changing the state of the environment and generating feedback, also known as a reward. The reward score is then used to determine whether the previous action was appropriate, whether the policy needs adjustment, and thus update the policy. For example, the agent learns by repeatedly observing the state, determining the action, and receiving feedback, with the goal of learning an ideal policy.
[0128] In reinforcement learning, policy gradients can be used, for example, gradient descent.
[0129] In another embodiment of this application, the relationship information can be subjected to deep learning with at least one performance index as the optimization target to obtain a combination of target parameter values.
[0130] In step S103, the parameter values of each system parameter involved in the target data warehouse instance are adjusted according to the target parameter value combination.
[0131] For example, for any one of the multiple system parameters involved in the target data warehouse instance, the parameter value of that system parameter can be set to the predicted parameter value of that system parameter in the target parameter value combination, so that the target data warehouse instance can perform operations based on the predicted parameter value of that system parameter. The same applies to each of the other multiple system parameters involved in the target data warehouse instance, so that the target data warehouse instance can perform operations based on the predicted parameter values of each of its involved system parameters.
[0132] Furthermore, if the expected conditions for the value of at least one performance metric involved in the target data warehouse instance change (e.g., the customer modifies it according to actual needs), machine learning can be re-performed on the relational information of the target data warehouse instance with at least one performance metric as the optimization objective to obtain a new combination of parameter values. This new combination includes new predicted parameter values for each system parameter involved in the target data warehouse instance. Under the new predicted parameter values for each system parameter involved in the target data warehouse instance, the value of at least one performance metric involved in the target data warehouse instance satisfies the changed expected conditions. Then, the parameter values of each system parameter involved in the target data warehouse instance can be adjusted based on the new combination of parameter values. In this way, this application can adapt to subsequent dynamic changes in the target data warehouse instance.
[0133] This application obtains information about the relationships between multiple system parameters involved in a target data warehouse instance and at least one performance indicator involved in the target data warehouse instance. Machine learning is then applied to this relationship information with at least one performance indicator as the optimization objective to obtain a combination of target parameter values. This combination includes predicted parameter values for each system parameter involved in the target data warehouse instance. When the parameter values for each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the value of at least one performance indicator involved in the target data warehouse instance satisfies the desired conditions. The parameter values for each system parameter involved in the target data warehouse instance are adjusted based on the combination of target parameter values. This application automatically predicts suitable parameter values for each system parameter involved in the target data warehouse instance so that at least one performance indicator of the target data warehouse instance can meet the desired conditions. The prediction process can be performed without human intervention, thus reducing the difficulty and threshold of obtaining suitable parameter values for each system parameter involved in the target data warehouse instance, and also reducing labor costs, as it eliminates the need for extensive professional knowledge and practical experience among human personnel.
[0134] In one embodiment of this application, see [link to embodiment]. Figure 3 Step S101 includes:
[0135] In step S201, at least one historical data of the target data warehouse instance is obtained. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator under the historical parameter values of each system parameter.
[0136] In this application, in the scenario of creating a customer's data warehouse instance within a data warehouse, the data warehouse allocates system resources to the customer's data warehouse instance, such as memory resources, CPU resources, communication resources, and storage resources. Each system resource involves its own parameters, thus determining the parameters involved in the created data warehouse instance. Based on this principle, multiple system parameters involved in the target data warehouse instance can be obtained.
[0137] At least one performance metric of the target data warehouse instance can be manually set in advance according to actual needs. In this way, at least one performance metric of the target data warehouse instance can be obtained in advance.
[0138] In the historical process, whenever the target data warehouse instance performs a calculation, the actual parameter values of each system parameter involved in the target data warehouse instance during the execution of this calculation can be obtained and used as historical parameter values of each system parameter involved in the target data warehouse instance. The historical parameter values of each system parameter involved in the target data warehouse instance are recorded. In addition, the actual indicator value of at least one performance indicator involved in the target data warehouse instance is calculated and used as historical indicator value of at least one performance indicator involved in the target data warehouse instance. The historical indicator value of at least one performance indicator involved in the target data warehouse instance is recorded.
[0139] Thus, for any instance of a computation performed by the target data warehouse instance, the historical parameter values of each system parameter involved in the target data warehouse instance during the execution of that computation, as well as the historical metric value of at least one performance indicator involved in the target data warehouse instance during the execution of that computation, can be obtained. Then, the historical data of the target data warehouse instance for that computation is composed of the multiple system parameters involved in the target data warehouse instance, the historical parameter values of each system parameter involved in the target data warehouse instance during the execution of that computation, the at least one performance indicator involved in the target data warehouse instance, and the historical metric value of at least one performance indicator involved in the target data warehouse instance during the execution of that computation. The same operation is performed for every other computation performed by the target data warehouse instance to obtain at least one piece of historical data about the target data warehouse instance.
[0140] In step S202, based on at least one historical parameter value of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance in at least one historical data, the relationship information between the multiple system parameters involved in the target data warehouse instance and the at least one performance index involved in the target data warehouse instance is fitted.
[0141] In one embodiment of this application, the relationship information between multiple system parameters and at least one performance indicator of the target data warehouse instance can be fitted using a meta-learning method, based at least on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical indicator values of at least one performance indicator involved in the target data warehouse instance in at least one historical data. For example, a neural network can be used to fit the relationship information between multiple system parameters and at least one performance indicator involved in the target data warehouse instance.
[0142] Neural networks can include convolutional neural networks, recurrent neural networks, or gradient-boosted regression trees (GBRT), etc.
[0143] Meta-learning can also include meta-learning based on optimization algorithms, such as Modern Agnostic Meta-Learning.
[0144] Alternatively, mathematical models can be used to help fit the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0145] A mathematical model is a scientific or engineering model constructed using mathematical logic and mathematical language. It is a mathematical structure that, using mathematical language, summarizes or approximates the characteristics or quantitative dependencies of a system. This mathematical structure is a purely relational structure of the system characterized by mathematical symbols. A mathematical model can be one or a set of algebraic equations, differential equations, difference equations, integral equations, or statistical equations, or combinations thereof. These equations quantitatively or qualitatively describe the interrelationships or causal relationships between the variables of the system. Besides mathematical models described by equations, there are also models described using other mathematical tools, such as algebra, geometry, topology, and mathematical logic. A mathematical model describes the behavior and characteristics of a system, not its actual structure.
[0146] In one embodiment of this application, see [link to embodiment]. Figure 4 Step S101 includes:
[0147] In step S301, the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances is obtained.
[0148] In one embodiment of this application, this step can be implemented through the following process, including:
[0149] 3011. Obtain the target feature information of the target data warehouse instance, and obtain the historical feature information of each historical data warehouse instance.
[0150] In one embodiment of this application, when obtaining target feature information of a target data warehouse instance, attribute information of the target data warehouse instance can be obtained, and target feature information can be obtained based on the attribute information of the target data warehouse instance.
[0151] The jobs running in a data warehouse instance can be of many types, such as financial jobs, e-commerce jobs, gaming jobs, logistics jobs, or education jobs. Thus, the attribute information of the target data warehouse instance can be obtained based on the type of job running on the target data warehouse instance. For example, the type of job running on the target data warehouse instance can be used as the attribute information of the target data warehouse instance.
[0152] In one embodiment, the type of job running by the target data warehouse instance is related to the type of actual service that the customer to which the target data warehouse instance belongs mainly provides. Thus, the type of job running by the target data warehouse instance can be obtained based on the type of actual service that the customer to which the target data warehouse instance belongs mainly provides. For example, the type of actual service that the customer to which the target data warehouse instance belongs can be used as the type of job running by the target data warehouse instance.
[0153] The type of the main actual service provided by the customer to which the target data warehouse instance belongs can be recorded in the target data warehouse instance after the customer creates the target data warehouse instance. In this way, the type of the main actual service provided by the customer to which the target data warehouse instance belongs can be directly obtained.
[0154] Accordingly, when obtaining historical feature information for each historical data warehouse instance, for any given historical data warehouse instance, its attribute information can be obtained, and its historical feature information can be retrieved based on that attribute information. The specific retrieval method can be found in the method for obtaining target feature information of the target data warehouse instance described above, and will not be detailed here. The same applies to each other historical data warehouse instance.
[0155] In another embodiment of this application, when obtaining target feature information of a target data warehouse instance, first statistical information of various types of instructions executed by the target data warehouse instance in the historical process can be obtained, and then target feature information can be obtained based on the first statistical information.
[0156] The target data warehouse instance can execute various types of instructions, such as query instructions, modification instructions, deletion instructions, and storage instructions. The first statistical information for each type of instruction executed can include the number of times each type of instruction has been executed, for example, the number of times query instructions, modification instructions, deletion instructions, and storage instructions have been executed. Thus, the first statistical information for each type of instruction can be obtained based on the number of times each type of instruction has been executed. For example, the number of times each type of instruction has been executed can be used as the first statistical information for each type of instruction. This first statistical information can then be used as target feature information.
[0157] Accordingly, when obtaining historical feature information for each historical data warehouse instance, for any given historical data warehouse instance, the second statistical information of various types of instructions executed by that instance during its historical process can be obtained. Then, the historical feature information of that historical data warehouse instance can be obtained based on this second statistical information. The specific method for obtaining this information is described above for obtaining the target feature information of the target data warehouse instance, and will not be detailed here. The same applies to each other historical data warehouse instance.
[0158] In another embodiment of this application, when obtaining target feature information of a target data warehouse instance, the attribute information of the target data warehouse instance can be obtained, the first statistical information of various types of instructions executed by the target data warehouse instance in the historical process can be obtained, and then the target feature information can be obtained based on the attribute information and the first statistical information of the target data warehouse instance. For example, the attribute information and the first statistical information of the target data warehouse instance can be used as target feature information.
[0159] Accordingly, when acquiring the historical feature information of each historical data warehouse instance, for any given historical data warehouse instance, we can acquire its attribute information and the second statistical information of the various types of instructions executed by that historical data warehouse instance during its historical process. Then, based on the attribute information and the second statistical information of the various types of instructions executed by that historical data warehouse instance during its historical process, we can acquire the historical feature information of that historical data warehouse instance. For example, we can use the attribute information and the second statistical information of the various types of instructions executed by that historical data warehouse instance during its historical process as the historical feature information of that historical data warehouse instance. The same applies to each other historical data warehouse instance.
[0160] Through this application, when obtaining target feature information of a target data warehouse instance, if the target data warehouse instance has attribute information, the target feature information of the target data warehouse instance can be obtained separately based on the attribute information of the target data warehouse instance. Alternatively, if the target data warehouse instance has first statistical information on various types of instructions executed by the target data warehouse instance in the historical process, the target feature information of the target data warehouse instance can be obtained separately based on the first statistical information on various types of instructions executed by the target data warehouse instance in the historical process. Or, if the target data warehouse instance has both attribute information and first statistical information on various types of instructions executed by the target data warehouse instance in the historical process, the target feature information of the target data warehouse instance can also be obtained based on both the attribute information and the first statistical information on various types of instructions executed by the target data warehouse instance in the historical process.
[0161] As can be seen, target feature information of a target data warehouse instance can be obtained in multiple ways. It supports obtaining target feature information of a target data warehouse instance even when no instructions have been executed on the target data warehouse instance, and supports finding suitable target parameter value combinations for the target data warehouse when the target data warehouse instance is in a cold start.
[0162] 3012. Encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information, and encode the historical feature information of each historical data warehouse instance to obtain the historical feature vector of each historical feature information.
[0163] In this application, models such as BERT (Bidirectional Encoder Representations from Transformer), CNN (Convolutional Neural Networks), or RNN (Recurrent Neural Network) can be used to encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information.
[0164] Furthermore, for any given historical data warehouse instance, models such as BERT, CNN, or RNN can be used to encode the historical feature information of that instance, yielding the target feature vector. The same principle applies to every other historical data warehouse instance.
[0165] The dimensions of each pair of vectors in the historical feature vectors of various historical feature information and the target feature vector can be the same.
[0166] 3013. Based on the target feature vector of the target feature information and the historical feature vector of each historical feature information, calculate the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances.
[0167] For any historical feature vector of historical feature information, the Euclidean distance between the target feature vector of the target feature information and the historical feature vector of the historical feature information can be calculated. Then, based on the Euclidean distance between the target feature vector of the target feature information and the historical feature vector of the historical feature information, the instance similarity between the target data warehouse instance and the historical data warehouse instance to which the historical feature information belongs can be calculated. The same process applies to the historical feature vectors of each other historical feature information.
[0168] The above is merely an example of how to calculate the instance similarity between two data warehouse instances. Other methods can also be used to calculate the instance similarity between two data warehouse instances. This application does not limit the specific calculation method.
[0169] In step S302, at least one historical data warehouse instance is selected from multiple historical data warehouse instances in descending order of instance similarity.
[0170] In step S303, the historical relationship information of each selected historical data warehouse instance is obtained. The historical relationship information of the historical data warehouse instance includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance.
[0171] The instance relationship information of each historical data warehouse instance is established in advance and stored in the cloud or local. In this way, the historical relationship information of each selected historical data warehouse instance can be obtained directly from the cloud or local database.
[0172] For example, for any one of the selected historical data warehouse instances, historical relationship information for that instance has already been established. This historical relationship information includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance. After establishing this historical relationship information, it is stored, for example, in the cloud or locally. For instance, the historical relationship information and the instance identifier of the historical data warehouse instance can be combined into a corresponding table entry and stored in the mapping relationship between relationship information and instance identifiers.
[0173] In this application, the instance identifier of a data warehouse instance may include the name of the data warehouse instance, etc. Different data warehouse instances have different instance identifiers.
[0174] In this way, the historical relationship information corresponding to each historical data warehouse instance can be obtained based on the above correspondence and the instance identifier of each historical data warehouse instance.
[0175] In step S304, at least based on the historical relationship information of each selected historical data warehouse instance, the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance is fitted.
[0176] In one embodiment of this application, a meta-learning method can be used to fit the historical relationship information of each selected historical data warehouse instance to obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0177] In another embodiment of this application, at least one historical data of the target data warehouse instance can also be obtained. This historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of the at least one performance indicator given the historical parameter values of each system parameter. Then, based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical indicator values of the at least one performance indicator involved in the target data warehouse instance from the at least one historical data, the historical relationship information of each selected historical data warehouse instance is optimized to obtain the relationship information between the multiple system parameters involved in the target data warehouse instance and the at least one performance indicator involved in the target data warehouse instance. For example, a meta-learning method can be used to optimize the historical relationship information of each selected historical data warehouse instance based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical indicator values of the at least one performance indicator involved in the target data warehouse instance from the at least one historical data, to obtain the relationship information between the multiple system parameters involved in the target data warehouse instance and the at least one performance indicator involved in the target data warehouse instance.
[0178] In this application, at least one historical data warehouse instance similar to the target data warehouse instance can be selected. Since these historical data warehouse instances are similar to the target data warehouse instance, the relationship information of these historical data warehouse instances is similar to the relationship information of the target data warehouse instance. Thus, by fitting the relationship information of the target data warehouse instance based on the relationship information of at least one historical data instance similar to the target data warehouse instance, the number of learning samples and learning rounds can be reduced, the learning cost can be reduced, the learning efficiency can be improved, and the obtained relationship information of the target data warehouse instance can be more accurate.
[0179] Searching for similar historical data warehouse instances by calculating instance similarity can more efficiently and accurately find similar historical data warehouse instances to the target data warehouse instance. These similar historical data warehouse instances can then provide auxiliary references for predicting appropriate parameter values for various system parameters involved in the target data warehouse instance to optimize performance metrics, thereby improving prediction accuracy. For example, it increases the likelihood that "given that the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator all meet the expected conditions," or increases the likelihood that "given that the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator are better."
[0180] Furthermore, based on the foregoing embodiments, after fitting the relationship information between multiple system parameters and at least one performance indicator involved in the target data warehouse instance, the relationship information between the multiple system parameters and at least one performance indicator involved in the target data warehouse instance can be stored. For example, the relationship information between the multiple system parameters and at least one performance indicator involved in the target data warehouse instance can be stored in the cloud or locally, so that when the relationship information between the multiple system parameters and at least one performance indicator involved in the target data warehouse instance is needed later, the stored relationship information can be directly retrieved.
[0181] Specifically, when storing the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance, the relationship information can be combined with the instance identifier of the target data warehouse instance to form a corresponding table entry, and stored in the correspondence between the relationship information and the instance identifier.
[0182] The solution proposed in this application can be applied in many scenarios. For example, the solution proposed in this application can be implemented whenever there is a need.
[0183] The scenarios include at least: the creation of the target data warehouse instance in the data warehouse, receiving an optimization instruction for at least one performance metric related to the target data warehouse instance, detecting that the value of at least one performance metric related to the target data warehouse instance does not meet the expected conditions, the current time has reached the optimization time for optimizing at least one performance metric related to the target data warehouse instance, and the completion of the level upgrade of the target data warehouse instance, etc.
[0184] In one embodiment, the scenario of "creating a target data warehouse instance in the data warehouse" can be understood as follows: a new data warehouse instance is created for a customer in the data warehouse. The new data warehouse instance can be regarded as the target data warehouse instance. Since the purpose of creating the target data warehouse instance for the customer is to enable the target data warehouse instance to run and perform calculations to provide data services to the customer, the scenario of performing calculations in the target data warehouse instance involves at least one performance indicator. Therefore, in order to ensure that at least one performance indicator of the target data warehouse instance can meet the expected conditions, the scheme of this application can be executed, for example, the scheme of steps S101 to S103, etc.
[0185] For example, after the target data warehouse instance has been created in the data warehouse, step S101 is executed: obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0186] In another embodiment, the scenario of "receiving an optimization instruction for at least one performance metric related to the target data warehouse instance" can be understood as follows: A new data warehouse instance is created for a customer in the data warehouse. This new data warehouse instance can be considered the target data warehouse instance. The customer can then use the target data warehouse instance; for example, the target data warehouse instance can run to perform calculations to provide data services to the customer. However, during the customer's use of the target data warehouse instance, the customer may find or experience that at least one performance metric related to the target data warehouse instance does not meet expectations, resulting in a poor user experience. The customer may request an improvement in the user experience, for example, requesting that at least one performance metric related to the target data warehouse instance meet expectations. Therefore, the customer may submit an optimization instruction for at least one performance metric related to the target data warehouse instance. Accordingly, upon receiving the customer's optimization instruction for at least one performance metric related to the target data warehouse instance, the solution of this application can be executed, for example, the solutions of steps S101 to S103, etc.
[0187] For example, upon receiving an optimization instruction for at least one performance metric related to the target data warehouse instance, step S101 is executed: obtaining information on the relationship between multiple system parameters related to the target data warehouse instance and at least one performance metric related to the target data warehouse instance.
[0188] In another embodiment, the scenario of "detecting that the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions" can be understood as follows: A new data warehouse instance is created for a customer in the data warehouse. This new data warehouse instance can be regarded as the target data warehouse instance. The customer can then use the target data warehouse instance. For example, the target data warehouse instance can run to perform calculations to provide data services to the customer. However, during the customer's use of the target data warehouse instance, it is automatically detected that at least one performance metric involved in the target data warehouse instance does not meet the expected conditions. This will lead to a poor user experience for the customer using the target data warehouse instance. Therefore, in order to improve the user experience of the customer using the target data warehouse instance, at least one performance metric involved in the target data warehouse instance can be made to meet the expected conditions. For this reason, when it is detected that the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions, the solution of this application can be executed, for example, the solution of steps S101 to S103, etc.
[0189] For example, if it is detected that the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions, step S101 is started: obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0190] In another embodiment, the scenario where "the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions" can be understood as follows: a new data warehouse instance is created for a customer in the data warehouse. The new data warehouse instance can be regarded as the target data warehouse instance. The customer can then use the target data warehouse instance. For example, the target data warehouse instance can be run to perform calculations to provide data services to the customer. However, during the process of customers using the target data warehouse instance, system resources will be continuously consumed, which may cause at least one performance indicator of the target data warehouse instance to fail to meet the expected conditions, resulting in a poor user experience. Therefore, in order to improve the user experience of customers using the target data warehouse instance, the target data warehouse instance can be optimized periodically so that at least one performance indicator of the target data warehouse instance can meet the expected conditions. To this end, when the current time reaches the optimization time for at least one performance indicator of the target data warehouse instance, the scheme of this application can be executed, for example, the scheme of steps S101 to S103 can be executed. For example, the optimization time can be set in advance, such as using the 24 hours of each day as optimization time, and the scheme of this application can be executed every time the hour is reached to optimize the performance indicators of the target data warehouse instance.
[0191] For example, if the current time reaches the optimization time for optimizing at least one performance metric involved in the target data warehouse instance, step S101 is executed: obtaining information on the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0192] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by this application.
[0193] Reference Figure 5 The diagram illustrates a structural block diagram of a control device for a data warehouse instance according to this application, the device comprising:
[0194] The acquisition module 11 is used to acquire information about the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0195] Learning module 12 is used to perform machine learning on the relation information with at least one performance indicator as the optimization target to obtain a combination of target parameter values. The combination of target parameter values includes the predicted parameter values of each system parameter involved in the target data warehouse instance. When the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator involved in the target data warehouse instance all meet the expected conditions.
[0196] Adjustment module 13 is used to adjust the parameter values of various system parameters involved in the target data warehouse instance according to the target parameter value combination.
[0197] In one optional implementation, the learning module includes:
[0198] The cloning unit is used to clone the target data warehouse instance to obtain a mirror data warehouse instance.
[0199] The building unit is used to build a reinforcement learning model. The reinforcement learning model takes a mirrored data warehouse instance as its environment, the actual parameter values of each system parameter involved in the mirrored data warehouse instance and the actual metric value of at least one performance metric involved in the mirrored data warehouse instance as its state, the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as its policy, and the change of the metric value of at least one performance metric after adjusting the parameter values of each system parameter involved in the mirrored data warehouse instance based on the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as its reward.
[0200] The learning unit is used to perform reinforcement learning on the relational information based on a reinforcement learning model with at least one performance index as the optimization objective, to obtain a combination of target parameter values.
[0201] In one optional implementation, the acquisition module includes:
[0202] The first acquisition unit is used to acquire at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator under the historical parameter values of each system parameter.
[0203] The first fitting unit is used to fit the relationship information between multiple system parameters and at least one performance indicator involved in the target data warehouse instance based on at least one historical parameter value of each system parameter involved in the target data warehouse instance and the historical indicator value of at least one performance indicator involved in the target data warehouse instance.
[0204] In one optional implementation, the acquisition module includes:
[0205] The second acquisition unit is used to acquire the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances;
[0206] The selection unit is used to select at least one historical data warehouse instance from multiple historical data warehouse instances in descending order of instance similarity.
[0207] The third acquisition unit is used to acquire the historical relationship information of each selected historical data warehouse instance. The historical relationship information of the historical data warehouse instance includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance.
[0208] The second fitting unit is used to fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance, based at least on the historical relationship information of each selected historical data warehouse instance.
[0209] In one optional implementation, the second fitting unit includes:
[0210] The first acquisition subunit is used to acquire at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator under the historical parameter values of each system parameter.
[0211] An optimization subunit is used to optimize the historical relationship information of each selected historical data warehouse instance based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance in at least one historical data, so as to obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
[0212] In one optional implementation, the second acquisition unit includes:
[0213] The second acquisition subunit is used to acquire target feature information of the target data warehouse instance, and the third acquisition subunit is used to acquire historical feature information of each historical data warehouse instance.
[0214] The encoding subunit is used to encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information, and to encode the historical feature information of each historical data warehouse instance to obtain the historical feature vector of each historical feature information.
[0215] The calculation subunit is used to calculate the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances, based on the target feature vector of the target feature information and the historical feature vectors of each historical feature information.
[0216] In one optional implementation, the second acquisition subunit is specifically used to: acquire attribute information of the target data warehouse instance, and acquire target feature information based on the attribute information of the target data warehouse instance;
[0217] Accordingly, the third acquisition subunit is specifically used to: for any historical data warehouse instance, acquire the attribute information of the historical data warehouse instance, and acquire the historical feature information of the historical data warehouse instance based on the attribute information of the historical data warehouse instance.
[0218] In one optional implementation, the second acquisition subunit is specifically used to: acquire first statistical information on various types of instructions executed by the target data warehouse instance in the historical process; and acquire target feature information based on the first statistical information;
[0219] Accordingly, the third acquisition subunit is specifically used to: for any historical data warehouse instance, acquire second statistical information of various types of instructions executed by the historical data warehouse instance in the historical process; and acquire historical feature information of the historical data warehouse instance based on the second statistical information.
[0220] In an alternative implementation, the apparatus further includes:
[0221] The storage module is used to store information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
[0222] In an optional implementation, the acquisition module is specifically used to: after the target data warehouse instance has been created in the data warehouse, acquire the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance;
[0223] Alternatively, the acquisition module is specifically used to: upon receiving an optimization instruction for at least one performance metric involved in the target data warehouse instance, acquire information about the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance;
[0224] Alternatively, the acquisition module is specifically used to: when it is detected that the value of at least one performance indicator involved in the target data warehouse instance does not meet the expected conditions, acquire information on the relationship between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0225] Alternatively, the acquisition module is specifically used to: when the current time reaches the optimization time for optimizing at least one performance indicator involved in the target data warehouse instance, acquire the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
[0226] This application obtains information about the relationships between multiple system parameters involved in a target data warehouse instance and at least one performance indicator involved in the target data warehouse instance. Machine learning is then applied to this relationship information with at least one performance indicator as the optimization objective to obtain a combination of target parameter values. This combination includes predicted parameter values for each system parameter involved in the target data warehouse instance. When the parameter values for each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the value of at least one performance indicator involved in the target data warehouse instance satisfies the desired conditions. The parameter values for each system parameter involved in the target data warehouse instance are adjusted based on the combination of target parameter values. This application automatically predicts suitable parameter values for each system parameter involved in the target data warehouse instance so that at least one performance indicator of the target data warehouse instance can meet the desired conditions. The prediction process can be performed without human intervention, thus reducing the difficulty and threshold of obtaining suitable parameter values for each system parameter involved in the target data warehouse instance, and also reducing labor costs, as it eliminates the need for extensive professional knowledge and practical experience among human personnel.
[0227] This application also provides a non-volatile readable storage medium storing one or more modules (programs). When these modules are applied to a device, they enable the device to execute the instructions for the method steps in this application.
[0228] This application provides one or more machine-readable media storing instructions that, when executed by one or more processors, cause an electronic device to perform one or more methods as described in the above embodiments. In this application, the electronic device includes a server, a gateway, sub-devices, etc., and the sub-devices are devices such as Internet of Things (IoT) devices.
[0229] Embodiments of this disclosure can be implemented as an apparatus with any suitable hardware, firmware, software, or any combination thereof, configured as desired. This apparatus may include electronic devices such as servers (clusters) and terminal devices such as IoT devices.
[0230] Figure 6 An exemplary apparatus 1300 is schematically shown that can be used to implement the various embodiments of this application.
[0231] In one embodiment, Figure 6 An exemplary device 1300 is shown, which includes one or more processors 1302, a control module (chipset) 1304 coupled to at least one of the processors 1302, a memory 1306 coupled to the control module 1304, a non-volatile memory (NVM) / storage device 1308 coupled to the control module 1304, one or more input / output devices 1310 coupled to the control module 1304, and a network interface 1312 coupled to the control module 1304.
[0232] Processor 1302 may include one or more single-core or multi-core processors, and processor 1302 may include any combination of general-purpose processors or special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In some embodiments, device 1300 can function as a server device such as a gateway in the embodiments of this application.
[0233] In some embodiments, apparatus 1300 may include one or more computer-readable media (e.g., memory 1306 or NVM / storage device 1308) having instructions 1314 and one or more processors 1302 that are combined with the one or more computer-readable media and configured to execute the instructions 1314 to implement the module and thus perform the actions in this disclosure.
[0234] In one embodiment, the control module 1304 may include any suitable interface controller to provide any suitable interface to at least one of the processors 1302 and / or any suitable device or component communicating with the control module 1304.
[0235] The control module 1304 may include a memory controller module to provide an interface to the memory 1306. The memory controller module may be a hardware module, a software module, and / or a firmware module.
[0236] Memory 1306 may be used, for example, to load and store data and / or instructions 1314 for device 1300. In one embodiment, memory 1306 may include any suitable volatile memory, such as suitable DRAM. In some embodiments, memory 1306 may include double data rate quad synchronous dynamic random access memory (DDR4 SDRAM).
[0237] In one embodiment, the control module 1304 may include one or more input / output controllers to provide interfaces to the NVM / storage device 1308 and (one or more) input / output devices 1310.
[0238] For example, NVM / storage device 1308 may be used to store data and / or instructions 1314. NVM / storage device 1308 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable (one or more) non-volatile storage devices (e.g., one or more hard disk drives (HDDs), one or more optical disc drives (CDs), and / or one or more digital universal optical disc (DVD) drives).
[0239] NVM / storage device 1308 may include storage resources that are physically part of a device on which device 1300 is mounted, or that can be accessed by the device without needing to be part of the device. For example, NVM / storage device 1308 may be accessed via a network via one or more input / output devices 1310.
[0240] One or more input / output devices 1310 may provide an interface for device 1300 to communicate with any other suitable device. Input / output devices 1310 may include communication components, pinyin components, sensor components, etc. Network interface 1312 may provide an interface for device 1300 to communicate via one or more networks. Device 1300 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and / or protocols, such as accessing wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G, 5G, etc., or combinations thereof.
[0241] In one embodiment, at least one of the processors 1302 may be logically packaged with one or more controllers (e.g., memory controller modules) of the control module 1304. In one embodiment, at least one of the processors 1302 may be logically packaged with one or more controllers of the control module 1304 to form a system-in-package (SiP). In one embodiment, at least one of the processors 1302 may be integrated with the logic of one or more controllers of the control module 1304 on the same die. In one embodiment, at least one of the processors 1302 may be integrated with the logic of one or more controllers of the control module 1304 on the same die to form a system-on-a-chip (SoC).
[0242] In various embodiments, device 1300 may be, but is not limited to, a server, desktop computing device, or mobile computing device (e.g., laptop computing device, handheld computing device, tablet computer, netbook, etc.). In various embodiments, device 1300 may have more or fewer components and / or different architectures. For example, in some embodiments, device 1300 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touchscreen display), a non-volatile memory port, multiple antennas, a graphics chip, an application-specific integrated circuit (ASIC), and a speaker.
[0243] This application provides an electronic device, including: one or more processors; and one or more machine-readable media having instructions stored thereon, which, when executed by the one or more processors, cause the electronic device to perform one or more methods as described in this application.
[0244] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0245] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0246] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable information processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable information processing terminal device, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0247] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable information processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0248] These computer program instructions can also be loaded onto a computer or other programmable information processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0249] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the embodiments of the present application.
[0250] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.
[0251] The above provides a detailed description of a method and apparatus for controlling a data warehouse instance provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for controlling a data warehouse instance, characterized in that, The method includes: Obtain information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance; Machine learning is performed on the relational information with at least one performance indicator as the optimization objective to obtain a combination of target parameter values. The combination of target parameter values includes the predicted parameter values of each system parameter involved in the target data warehouse instance. Wherein, when the parameter values of each system parameter involved in the target data warehouse instance are their respective predicted parameter values, the indicator values of at least one performance indicator involved in the target data warehouse instance all meet the expected conditions. Adjust the parameter values of each system parameter involved in the target data warehouse instance based on the target parameter value combination; The step of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance includes: Obtain the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances; Select at least one historical data warehouse instance from multiple historical data warehouse instances in descending order of instance similarity; Obtain the historical relationship information of each selected historical data warehouse instance. The historical relationship information of the historical data warehouse instance includes the relationship information between multiple system parameters involved in the historical data warehouse instance and at least one performance indicator involved in the historical data warehouse instance. Based on the historical relationship information of each selected historical data warehouse instance, fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance.
2. The method according to claim 1, characterized in that, The step of performing machine learning on the relational information with at least one performance metric as the optimization objective to obtain a combination of target parameter values includes: Clone the target data warehouse instance to obtain a mirror data warehouse instance; A reinforcement learning model is constructed. The reinforcement learning model takes a mirrored data warehouse instance as the environment, the actual parameter values of each system parameter involved in the mirrored data warehouse instance and the actual metric value of at least one performance metric involved in the mirrored data warehouse instance as the state, the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as the policy, and the change of the metric value of at least one performance metric after adjusting the parameter values of each system parameter involved in the mirrored data warehouse instance based on the change range of the parameter values of each system parameter involved in the mirrored data warehouse instance as the reward. The relationship information is subjected to reinforcement learning based on a reinforcement learning model with at least one performance index as the optimization objective, to obtain a combination of target parameter values.
3. The method according to claim 1, characterized in that, The process of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance includes: Obtain at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator given the historical parameter values of each system parameter. Based on at least one historical parameter value of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance in at least one historical data, fit the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
4. The method according to claim 1, characterized in that, The step of fitting the relationship information between multiple system parameters and at least one performance metric involved in the target data warehouse instance based on the historical relationship information of each selected historical data warehouse instance includes: Obtain at least one historical data of the target data warehouse instance. The historical data includes: multiple system parameters involved in the target data warehouse instance, historical parameter values of each system parameter, at least one performance indicator involved in the target data warehouse instance, and historical indicator values of at least one performance indicator given the historical parameter values of each system parameter. Based on the historical parameter values of each system parameter involved in the target data warehouse instance and the historical index value of at least one performance index involved in the target data warehouse instance from at least one historical data, the historical relationship information of each selected historical data warehouse instance is optimized to obtain the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance index involved in the target data warehouse instance.
5. The method according to claim 1, characterized in that, The process of obtaining instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances includes: Obtain the target feature information of the target data warehouse instance, and obtain the historical feature information of each historical data warehouse instance; Encode the target feature information of the target data warehouse instance to obtain the target feature vector of the target feature information, and encode the historical feature information of each historical data warehouse instance to obtain the historical feature vector of each historical feature information; Based on the target feature vector of the target feature information and the historical feature vectors of each historical feature information, calculate the instance similarity between the target data warehouse instance and multiple existing historical data warehouse instances.
6. The method according to claim 5, characterized in that, The acquisition of target feature information of the target data warehouse instance includes: Obtain the attribute information of the target data warehouse instance, and obtain the target feature information based on the attribute information of the target data warehouse instance; Accordingly, obtaining the historical feature information of each historical data warehouse instance includes: For any historical data warehouse instance, obtain the attribute information of the historical data warehouse instance, and obtain the historical feature information of the historical data warehouse instance based on the attribute information of the historical data warehouse instance.
7. The method according to claim 5, characterized in that, The acquisition of target feature information of the target data warehouse instance includes: Obtain first statistical information on various types of instructions executed by the target data warehouse instance in the historical process; obtain target feature information based on the first statistical information; Accordingly, obtaining the historical feature information of each historical data warehouse instance includes: For any historical data warehouse instance, obtain the second statistical information of various types of instructions executed by the historical data warehouse instance in the historical process; obtain the historical feature information of the historical data warehouse instance based on the second statistical information.
8. The method according to any one of claims 3-7, characterized in that, The method further includes: Store information about the relationships between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance.
9. The method according to claim 1, characterized in that, Once the target data warehouse instance has been created in the data warehouse, the step of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance indicator involved in the target data warehouse instance is executed. or, Upon receiving an optimization instruction for at least one performance metric related to the target data warehouse instance, the step of obtaining information on the relationship between multiple system parameters related to the target data warehouse instance and at least one performance metric related to the target data warehouse instance is executed. or, If it is detected that the value of at least one performance metric involved in the target data warehouse instance does not meet the expected conditions, the step of obtaining the relationship information between multiple system parameters involved in the target data warehouse instance and at least one performance metric involved in the target data warehouse instance is executed. or, If the current time reaches the optimization time for optimizing at least one performance metric related to the target data warehouse instance, the step of obtaining the relationship information between the multiple system parameters related to the target data warehouse instance and the at least one performance metric related to the target data warehouse instance is executed.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the steps of the method as claimed in any one of claims 1 to 9 when executing the program.
11. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method as claimed in any one of claims 1 to 9.