Configuration information processing method and device, equipment, storage medium and product
Patent Information
- Application Number
- CN202510458862.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-11
- Publication Date
- 2026-10-20
AI Technical Summary
[0021]本公开实施例提供的配置信息处理方案,获取预设功能测试的待下发配置信息以及预设功能测试的特征信息,根据待下发配置信息和特征信息确定输入数据,并将输入数据输入至预设预测模型中,根据预设预测模型的输出确定待下发配置信息对应的预测风险等级,预测风险等级用于表征预测的将待下发配置信息下发至客户端后引起客户端发生异常的风险程度,响应于预测风险等级低于预设等级阈值,触发将待下发配置信息下发至客户端。通过采用上述技术方案,可以在兼顾配置下发效率的情况下,降低动态下发配置引起客户端发生异常的概率,提高应用程序的稳定性。
Smart Images

Figure HDA0005357124000000011 
Figure HDA0005357124000000021 
Figure HDA0005357124000000031
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to configuration information processing methods, apparatus, devices, storage media, and products. Background Technology
[0002] With the rapid development of computer technology, applications are being updated and iterated at an increasingly rapid pace. Many application update requirements are dynamically configured online. For example, the server of an application may send hundreds or thousands of different configuration messages to the client in a single day. However, client crashes and other anomalies caused by dynamic configuration are not uncommon.
[0003] Currently, in order to optimize their applications, developers can use functional testing (or controlled experiments) to select the best configuration information. Each functional test can have multiple sets of configuration information, and each set of configuration information can be dynamically distributed to the corresponding client. The configuration information is not checked before distribution, but only after release. When an exception occurs on the client, it is resolved by using methods such as circuit breaking, hotfix, or releasing a new version, which affects the stability of the application and the user experience. Summary of the Invention
[0004] This disclosure provides a configuration information processing method, apparatus, device, storage medium, and product, which can optimize existing processing schemes for dynamically released configuration information.
[0005] In a first aspect, embodiments of this disclosure provide a configuration information processing method, including:
[0006] Obtain the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test;
[0007] The input data is determined based on the configuration information to be issued and the feature information, and the input data is input into the preset prediction model;
[0008] The predicted risk level corresponding to the configuration information to be sent is determined based on the output of the preset prediction model, wherein the predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent is sent to the client.
[0009] In response to the predicted risk level being lower than a preset risk level threshold, the configuration information to be sent to the client is triggered.
[0010] Secondly, embodiments of this disclosure also provide a configuration information processing apparatus, including:
[0011] The information acquisition module is used to acquire the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test;
[0012] The data input module is used to determine input data based on the configuration information to be issued and the feature information, and input the input data into the preset prediction model;
[0013] The risk level determination module is used to determine the predicted risk level corresponding to the configuration information to be sent based on the output of the preset prediction model. The predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent to the client is sent.
[0014] The configuration delivery trigger module is used to trigger the delivery of the configuration information to be delivered to the client in response to the predicted risk level being lower than a preset level threshold.
[0015] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:
[0016] One or more processors;
[0017] Storage device for storing one or more programs.
[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the configuration information processing method provided in the embodiments of this disclosure.
[0019] Fourthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the configuration information processing method provided in embodiments of this disclosure.
[0020] Fifthly, embodiments of this disclosure also provide a computer program product, including a computer program that, when executed by a processor, implements the configuration information processing method provided in embodiments of this disclosure.
[0021] The configuration information processing scheme provided in this disclosure acquires the configuration information to be distributed for a preset functional test and the feature information of the preset functional test. Input data is determined based on the configuration information to be distributed and the feature information, and then input into a preset prediction model. The predicted risk level corresponding to the configuration information to be distributed is determined based on the output of the preset prediction model. The predicted risk level characterizes the degree of risk that the distribution of the configuration information to be distributed to the client will cause anomalies on the client. In response to a predicted risk level lower than a preset risk level threshold, the distribution of the configuration information to be distributed to the client is triggered. By adopting the above technical solution, the probability of client anomalies caused by dynamic configuration distribution can be reduced while maintaining configuration distribution efficiency, thereby improving the stability of the application. Attached Figure Description
[0022] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0023] Figure 1 This is a schematic flowchart illustrating a configuration information processing method provided in an embodiment of the present disclosure.
[0024] Figure 2 This is a schematic flowchart illustrating another configuration information processing method provided in an embodiment of the present disclosure;
[0025] Figure 3 This is a schematic diagram illustrating a configuration information processing procedure provided in an embodiment of this disclosure;
[0026] Figure 4 This is a schematic diagram of the structure of a configuration information processing device provided in an embodiment of the present disclosure;
[0027] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0028] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0029] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0030] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0031] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0032] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0033] Figure 1 This is a schematic diagram of a configuration information processing flow provided by an embodiment of the present disclosure. The embodiments of the present disclosure are applicable to the situation of processing configuration information for test functions. The method can be executed by a configuration information processing device, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device, which can be a personal computer (PC) or a server, etc.
[0034] like Figure 1 As shown, the method includes:
[0035] Step 101: Obtain the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test.
[0036] In this embodiment, the preset functional test can be a test for a preset application, also known as a preset experiment. When application developers optimize an application, they often use functional testing (such as A / B testing, also known as AB Test or controlled experiment). Typically, a functional test can be a test of a specific application function within the application. Application functions can be denoted as scenarios, and the specific way application functions are divided is not limited. For example, different scenarios can correspond to different application pages within the application (e.g., a video playback page and a live streaming page correspond to different scenarios), or different display areas within the same application page (e.g., the search area and video entry display area on the application's homepage correspond to different scenarios). The preset functional test can correspond to multiple configuration information. Each configuration information can include one or more configuration items and corresponding configuration data for each configuration item. A configuration item can be, for example, the display style of a playback control, and the configuration data can be, for example, style A or style B. Style A and style B can exist in different configuration information, and functional testing can be used to determine which style A or style B is better. The configuration information can include multiple configuration items. For example, the display style can be further divided, including border shape, font size, font color, and background color, which can all be independently configured items. There can be many choices of configuration data corresponding to each configuration item. Therefore, multiple configuration information formed by various combinations of different configuration data of multiple configuration items can be obtained to participate in the experiment.
[0037] For example, the preset functional test can be a functional test that has already been performed, such as testing at least one configuration information. The preset functional test can also be a new functional test; there is no specific limitation. The configuration information to be distributed for the preset functional test can be any configuration information from the preset functional test to be distributed to the client (the client corresponding to the preset application). In this embodiment of the disclosure, before distributing the configuration information, a large language model is used to predict the risk level of client anomalies caused by its distribution, in order to ensure the stability of the application.
[0038] For example, the feature information of the preset functional test may include information that reflects the relevant characteristics of the preset functional test. By acquiring the feature information and then combining it with the configuration information to be distributed in subsequent steps to construct input data for input into the preset prediction model, the preset prediction model can obtain more comprehensive information about the configuration information to be distributed, thereby making more accurate predictions of the risk level. For example, the feature information may include the test requirements of the preset functional test and the scenarios involved.
[0039] Step 102: Determine the input data based on the configuration information to be issued and the feature information, and input the input data into the preset prediction model.
[0040] In this embodiment, the preset prediction model can be a model trained based on a preset large language model. The preset large language model can be any type of large language model (LLM), and there is no specific limitation. The sample data volume and model parameters of the large language model can be on a massive scale, for example, having billions or even hundreds of billions of parameters, and are trained on large-scale text data or other modal data. This embodiment does not limit the model training process.
[0041] Optionally, during the client's operation (which may be running on a user device or on a test device during the testing phase), the client's running status after the sample configuration items of the sample functional test (which may or may not include the preset functional test) are called is determined. Based on the sample configuration items, the sample configuration data corresponding to the sample configuration items, and the client's running status, the initial training samples corresponding to the sample configuration items are determined. Training data is constructed based on the feature information of the initial training samples and the sample functional test. A development environment is set up on a development machine or other device. Model development is performed on the development machine to obtain a preset large language model. The preset large language model is trained on the development machine using the training data to obtain a preset prediction model.
[0042] For example, instrumentation techniques can be used to set stubs in the code locations within the pre-defined application's code file where sample configuration items need to be called. During client execution, these stubs are used to collect relevant data about the client's operation, such as whether crashes occur. If no anomalies occur, it can be determined that the sample function test configuration under the current sample configuration data of the sample configuration item is safe. If anomalies occur, it can be determined that the sample function test configuration under the current sample configuration data of the sample configuration item is unsafe and poses a risk. The sample labels for the training data can then be determined based on the client's operational status. The types of sample labels are not limited; for example, 1 indicates a risk, 0 indicates no risk, or different values from 1 to 5 correspond to different levels of risk.
[0043] Step 103: Determine the predicted risk level corresponding to the configuration information to be sent based on the output of the preset prediction model. The preset prediction model is a model trained based on a preset large language model. The predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent to the client is sent.
[0044] For example, the output of the preset prediction model can be a probability value of the existence of risk, or probability values corresponding to different levels of risk. The probability value can be compared with a preset probability threshold, and the predicted risk level corresponding to the configuration information to be issued can be determined based on the comparison result. The predicted risk level is a preset risk level in a preset risk level set. The division method and number of preset risk levels in the preset risk level set are not limited, such as low risk level, medium risk level and high risk level, etc.
[0045] Step 104: In response to the predicted risk level being lower than a preset risk level threshold, the configuration information to be sent to the client is triggered.
[0046] For example, a threshold for determining the risk level of whether the distribution of configuration information to be distributed can be directly triggered can be preset, denoted as the preset level threshold. If the current predicted risk level determined by the current output of the preset prediction model is lower than the preset level threshold, it means that the risk of the client experiencing anomalies after the configuration information to be distributed is low, and the distribution of configuration information to be distributed can be triggered to the client, thereby ensuring the timeliness of the distribution of configuration information while ensuring the stability of the application.
[0047] Optionally, it may also include: triggering automated detection of the configuration information to be distributed in response to the predicted risk level being higher than or equal to a preset risk level threshold. Thus, when the predicted risk level is high, the distribution of the configuration information to be distributed can be paused, and instead, automated detection of the configuration information to be distributed can be performed to further clarify the cause of the risk, thereby determining whether to modify the configuration or distribute the configuration information.
[0048] The configuration information processing method provided in this disclosure obtains configuration information to be distributed for a preset functional test and feature information of the preset functional test. Input data is determined based on the configuration information to be distributed and the feature information, and the input data is input into a preset prediction model. The predicted risk level corresponding to the configuration information to be distributed is determined based on the output of the preset prediction model. The predicted risk level characterizes the degree of risk that the distribution of the configuration information to be distributed to the client will cause anomalies on the client. In response to a predicted risk level lower than a preset risk level threshold, the distribution of the configuration information to be distributed to the client is triggered. By adopting the above technical solution, before distributing the configuration information for the preset functional test to the client, the model first predicts the degree of risk that the distribution of the configuration information to be distributed to the client will cause anomalies on the client based on the configuration information to be distributed and the feature information of the preset functional test. When the risk is low, the distribution of the configuration information is triggered. This reduces the probability of client anomalies caused by dynamic configuration distribution while maintaining configuration distribution efficiency, thereby improving the stability of the application.
[0049] In some embodiments, the feature information includes at least one of the following: the test requirement type of the preset functional test, the impact information of the preset functional test on the client's performance, the scenario information of the preset scenario corresponding to the preset functional test, and the scenario information of the associated scenarios of the preset scenario. This allows for a more accurate determination of the feature information to be input into the model.
[0050] The test requirement types for preset functional tests can be used to characterize the purpose of preset functional tests. The specific classification of test requirement types can be set according to actual needs, and may include switch types, repair types, improvement types, time entity association types, and multi-platform types. Specifically, the switch type can be a requirement type used to test whether a certain application function is enabled, such as testing whether the comment function for a certain type of media content needs to be enabled; the repair type can be a requirement type used to test which configuration items(s) can be modified to fix an anomaly when the client encounters an error, such as testing which configuration items(s) need to be modified to reduce the number of crashes when the client starts up; the improvement type can be a requirement type used to test which configuration items(s) can be modified to improve the value of a certain parameter, such as testing which configuration items need to be modified to increase the exposure rate of a page; the time entity association type can be a requirement type used to test whether the configuration of newly added related functions for the time entity is appropriate, such as Spring Festival or Labor Day; the multi-platform type can be a requirement type used to test whether the configuration of the application is appropriate for versions of the application applicable to multiple operating systems, such as Android and Apple operating systems. For different types of test requirements for different preset functional tests, different weight parameters can be configured in the preset prediction model, which will affect the model's output results for different test requirement types.
[0051] The information regarding the impact of the preset functional test on client performance can be used to characterize the impact of the preset functional test on client stability and other performance parameters. Optionally, the impact information includes at least one of the following: historical anomaly information caused by the preset functional test, the proportion of the number of clients to be issued configuration information to the total number of clients, and the operational phase of the client involved when the preset functional test caused an anomaly. This allows for a more precise quantification of the impact. The historical anomaly information caused by the preset functional test can be the crash rate of clients previously caused by the preset functional test. The crash rate can be determined based on the ratio of the number of crashes to the number of startups, and the specific calculation method is not limited. The proportion of the number of clients to be issued configuration information to the total number of clients can be used to characterize the scope of impact of this configuration information issuance. For example, if the number of devices with the preset application installed (total number of clients) is 'a', and the plan is to issue configuration information to 'b' clients (number of clients), then the proportion can be b / a. The operational phase of the client involved when the preset functional test caused an anomaly includes, for example, whether the client's startup phase crashes are involved.
[0052] The scenario information may include at least one of the following: scenario identifier, scenario usage statistics, scenario usage duration, and scenario anomaly information. The scenario identifier may be a unique identifier for the scenario, such as the scenario name. Scenario usage statistics may specifically be the scenario penetration rate, for example, the proportion of clients that have used the scenario out of the total number of clients. Scenario usage duration may be the duration the scenario is displayed on a client; for example, if the scenario corresponds to an application page, it may be the scenario dwell time, specifically the average duration for all clients to display the application page corresponding to the scenario each time within a preset statistical period. Scenario anomaly information may be, for example, the proportion of clients experiencing anomalies while using the scenario, such as the scenario crash rate. The feature information may include scenario information of the preset scenario corresponding to the preset functional test, helping the preset prediction model understand the relevant information of the scenarios involved in the preset functional test, thereby obtaining more accurate risk prediction results. The feature information may also include scenario information of the associated scenarios of the preset scenario. The associated scenarios of the preset scenario may be scenarios related to the preset scenario, and the specific method for determining the associated scenarios is not limited. For example, in a video playback page, a trigger control can jump to a live streaming page; the scenario corresponding to the live streaming page can be considered an associated scenario of the scenario corresponding to the video playback page.
[0053] In some embodiments, the associated scenarios of the preset scenario are determined by: searching for associated functions in the function association graph that call the target function of the configuration information to be distributed; searching for target code corresponding to the associated function in the client's code file; and determining the associated scenarios of the preset scenario based on the target code. This allows for the rapid and accurate determination of the associated scenarios of the preset scenario.
[0054] In this context, associated functions can be functions that have a calling relationship (including calling and being called) with the target function. The function association graph can include multiple nodes and the connections between them. Each node can represent a function in a predefined application, and the functions corresponding to two connected nodes can be considered associated functions. For configuration information to be distributed, the function that needs to call the configuration item in the information to be distributed can be predetermined and denoted as the target function. The associated functions of the target function are then searched in the function association graph, and the target code corresponding to the associated functions is found in the client's corresponding code file. Furthermore, by analyzing the target code, the scenario corresponding to the target code is determined as the associated scenario of the predefined scenario.
[0055] Optionally, the function association graph is obtained as follows: during the client's operation, the stack information of the sample configuration information of the sample function test is collected when it is called; the function call relationship is determined based on the stack information, and the function call relationship is reported to the server; the server constructs the function association graph based on the function call relationships reported multiple times. Thus, a comprehensive and accurate function association graph can be constructed, thereby accurately identifying associated scenarios.
[0056] For example, a stack is a memory area used by a thread to store temporary data and function call information during runtime. The stack records the execution path of the current thread, that is, the call chain from the thread's entry function to the currently executing function. By sampling the stack, stack information can be collected, including the function call chain, which contains the call relationships between functions. The server can receive function call relationships reported once or multiple times from multiple clients, and then construct a function relationship graph based on these relationships.
[0057] Figure 2 This is a flowchart illustrating another configuration information processing method provided in this embodiment. Based on the various optional solutions in the above embodiments, this embodiment optimizes the method for situations where the configuration information to be distributed includes multiple configuration items to be distributed and configuration data corresponding to each of the multiple configuration items. Specifically, the method includes the following steps:
[0058] Step 201: Obtain the configuration information to be issued for the preset functional test and the feature information of the preset functional test. The configuration information to be issued includes multiple configuration items to be issued and the configuration data corresponding to the multiple configuration items to be issued. The feature information includes the test requirement type of the preset functional test, the impact of the preset functional test on the client's performance, the scenario information of the preset scenario corresponding to the preset functional test, and the scenario information of the associated scenario of the preset scenario.
[0059] Figure 3 This is a schematic diagram of a configuration information processing procedure provided in an embodiment of the present disclosure, as shown below. Figure 3 As shown, after determining the configuration information to be distributed, it can be deployed first. This involves transferring the configuration items and corresponding configuration data from the development environment to the production environment. Specifically, this may involve uploading the code, files, or data of the configuration information to a server or storage platform. After deployment, it will not be released directly as in existing technologies. Instead, a large model (preset prediction model) will be used to determine whether it can be released without testing (test-free). To provide rich input data for the preset prediction model, this step obtains the configuration information to be distributed for preset functional tests, as well as various feature information of preset functional tests. The specific meanings of these feature information can be found in the relevant content above.
[0060] Step 202: Determine the input data based on the configuration information to be issued and the feature information, and input the input data into the preset prediction model. The preset prediction model is a model trained based on a preset large language model, and the training data of the preset prediction model includes preset training samples.
[0061] The preset training samples are determined as follows: During client operation, the client's running status after the sample configuration items for sample function testing are invoked is determined, and the initial training samples corresponding to the sample configuration items, the corresponding sample configuration data, and the client running status are determined. The initial training samples corresponding to at least two sample configuration items for the sample function testing are combined to obtain intermediate training samples. The preset training samples are determined based on the intermediate training samples and the feature information of the sample function testing. The sample labels of the preset training samples are set according to the client running status corresponding to the at least two initial training samples. Therefore, during each collection of training sample-related data, the client running status is obtained using single configuration data for a single sample configuration item, avoiding interference from other sample configuration items and other configuration data of the current sample configuration item, thus improving data accuracy. Furthermore, since the configuration information to be issued is often a combination of multiple configuration items, it is necessary to pay attention to the permutation and combination of configurations and to provide the risk level under different combinations through a preset prediction model. Therefore, training samples containing multiple configuration items can be obtained by combining the sampled data, which can then be used to train a preset large language model to meet actual needs.
[0062] For ease of explanation, we will use two configuration items as an example below. In actual applications, the number of configuration items may be greater. For example, configuration items are represented by keys, and configuration data is represented by values. The two configuration items are denoted as key1 and key2, the configuration data corresponding to key1 are denoted as value1 and value2, and the configuration data corresponding to key2 are denoted as value3 and value4. Assume that for key1-value1, key1-value2, key2-value3, and key2-value4, the client's running status after the sample configuration items are called is collected, resulting in four initial training samples, denoted as initial training sample 1, initial training sample 2, initial training sample 3, and initial training sample 4. Initial training sample 1 and initial training sample 2 are combined to obtain intermediate training sample 1; initial training sample 1 and initial training sample 3 are combined to obtain intermediate training sample 2; and initial training sample 1 and initial training sample 4 are combined to obtain intermediate training sample 3. For each intermediate training sample, the feature information from the sample functional test is combined to determine the corresponding preset training sample, resulting in three preset training samples. The sample labels of the preset training samples are set based on the client operation status corresponding to at least two initial training samples. For example, taking the preset training sample corresponding to intermediate training sample 1 as an example, the sample label is set based on the client operation status collected in initial training sample 1 and initial training sample 2. For example, the client operation status can include the crash rate (if M clients crash after being sent to N clients, the rate is M / N). Assuming the crash rate corresponding to initial training sample 1 is x and the crash rate corresponding to initial training sample 2 is y, the product of x and y can be calculated to determine the sample label. When determining the sample label, factors such as scene penetration rate, scene dwell time, whether it involves crashes during the startup phase, whether it involves core scenes, and whether there are circuit breakers and degradations in the sample functional test can also be considered to comprehensively determine the specific value of the sample label. Among them, for high scene penetration rate, high scene dwell time, crashes involving the startup phase, core scenes, and circuit breakers and degradations in the sample functional test, the sample label corresponds to a high-risk value.
[0063] For example, when performing risk prediction, the configuration information to be issued may include combinations of key1-value2 and key2-value3. The input data corresponding to this combination is constructed and input into the preset prediction model.
[0064] Step 203: Determine the predicted risk level corresponding to the configuration information to be sent based on the output of the preset prediction model. The predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent is sent to the client.
[0065] Step 204: Determine whether the predicted risk level is lower than the preset risk level threshold. If yes, proceed to step 205; otherwise, proceed to step 206.
[0066] like Figure 3 As shown, the large model determines whether to exempt from testing. Specifically, it can determine whether the predicted risk level is lower than the preset level threshold. If so, testing can be exempted, and the release of the configuration information to be distributed can be triggered, that is, it can be distributed to the client. If not, testing is not exempted, that is, testing is required, and automated testing of the configuration information to be distributed can be triggered.
[0067] Step 205: Trigger the distribution of configuration information to be sent to the client.
[0068] Step 206: Trigger automated detection of the configuration information to be distributed.
[0069] For example, if the detection passes, the release of the configuration information to be distributed can be triggered, that is, it can be sent to the client. If the detection fails, the circuit breaker and rollback can be triggered, that is, the deployment of the configuration information to be distributed can be canceled.
[0070] Optionally, a preset prediction model can be used to derive recommended configuration information based on the configuration information to be distributed. The recommended configuration information is then automatically tested. If the test passes, the release of the recommended configuration information can be triggered. If the test fails, a circuit breaker and rollback can be triggered, which means the deployment of the configuration information to be distributed can be canceled.
[0071] The configuration information processing method provided in this embodiment includes preset training samples in the training data used during the training phase of the preset prediction model. The preset training samples are obtained by combining the initial training samples corresponding to the sample configuration items based on the client's running status after the sample configuration items of the sample function test are called during the client's operation. This enables the preset prediction model to have the ability to predict the risk of the combined configuration items and configuration data. Before sending the configuration information containing multiple configuration item combinations from the preset function test to the client, the preset prediction model is used to accurately predict the degree of risk of the client experiencing anomalies after the configuration information to be sent to the client. If the risk is low, the sending of configuration information is triggered, which can reduce the probability of client anomalies caused by dynamic configuration sending while taking into account the efficiency of configuration sending and improve the stability of the application. If the risk is high, automated detection can be used to determine whether to perform subsequent sending operations, further reducing the risk of configuration sending and ensuring the stability of the application.
[0072] Figure 4 This is a schematic diagram of the structure of a configuration information processing device provided in an embodiment of the present disclosure, as shown below. Figure 4 As shown, the device includes:
[0073] The information acquisition module 401 is used to acquire the configuration information to be issued for the preset function test, as well as the feature information of the preset function test;
[0074] Data input module 402 is used to determine input data based on the configuration information to be issued and the feature information, and input the input data into a preset prediction model;
[0075] The level determination module 403 is used to determine the predicted risk level corresponding to the configuration information to be sent based on the output of the preset prediction model, wherein the predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent to the client is sent.
[0076] The configuration delivery trigger module 404 is used to trigger the delivery of the configuration information to be delivered to the client in response to the predicted risk level being lower than a preset level threshold.
[0077] The configuration information processing device provided in this embodiment of the present disclosure first uses a model to predict the degree of risk of the client experiencing anomalies after the configuration information to be sent to the client is sent, based on the configuration information to be sent and the feature information of the preset functional test, before sending the configuration information to be sent to the client. If the risk is low, the configuration information is sent. This can reduce the probability of the client experiencing anomalies caused by the dynamic sending of configuration while taking into account the efficiency of configuration sending, and improve the stability of the application.
[0078] Optionally, the feature information includes at least one of the following: the test requirement type of the preset function test, the impact information of the preset function test on the performance of the client, the scenario information of the preset scenario corresponding to the preset function test, and the scenario information of the associated scenario of the preset scenario.
[0079] Optionally, the impact information includes at least one of the following: historical anomaly information caused by the preset function test, the proportion of the number of clients to be issued configuration information to the total number of clients, and the operating stage of the client involved when the preset function test causes an anomaly; the scenario information includes at least one of the following: scenario identifier, scenario usage scope statistics, scenario usage duration, and scenario anomaly information.
[0080] Optionally, the associated scenarios of the preset scenario are determined in the following ways:
[0081] Locate the associated functions in the function association graph that call the target function of the configuration information to be issued;
[0082] Search the client's code file for the target code corresponding to the associated function;
[0083] The associated scenarios of the preset scenario are determined based on the target code;
[0084] The function correlation graph is obtained in the following way:
[0085] During the client's operation, the stack information of the sample configuration information for the sample function test is called.
[0086] The function call relationship is determined based on the stack information, and the function call relationship is reported to the server.
[0087] The server constructs a function association graph based on the function call relationships reported multiple times.
[0088] Optionally, the configuration information to be distributed includes multiple configuration items to be distributed and configuration data corresponding to each of the multiple configuration items to be distributed; the training data of the preset prediction model includes preset training samples;
[0089] The preset training samples are determined in the following way:
[0090] During the operation of the client, the client's running status is determined after the sample configuration item for the sample function test is called, and the initial training sample corresponding to the sample configuration item is determined based on the sample configuration item, the sample configuration data corresponding to the sample configuration item, and the client's running status.
[0091] The initial training samples corresponding to at least two sample configuration items of the sample function test are combined to obtain intermediate training samples;
[0092] Based on the feature information of the intermediate training samples and the sample function test, a preset training sample is determined; wherein, the sample label of the preset training sample is set according to the client operation status corresponding to the at least two initial training samples respectively.
[0093] Optionally, the device may also include:
[0094] The detection module is used to determine the predicted risk level corresponding to the configuration information to be issued based on the output of the preset prediction model, and then trigger automatic detection of the configuration information to be issued in response to the predicted risk level being higher than or equal to a preset level threshold.
[0095] The configuration information processing apparatus provided in this disclosure can execute the configuration information processing method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.
[0096] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.
[0097] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0098] like Figure 5 As shown, electronic device 500 may include a processing unit (e.g., central processing unit, graphics processor, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. An edit / output (I / O) interface 505 is also connected to bus 504.
[0099] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0100] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.
[0101] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0102] The electronic device provided in this embodiment and the configuration information processing method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0103] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the configuration information processing method provided in the above embodiments.
[0104] This disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the configuration information processing method provided in the above embodiments.
[0105] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0106] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0107] The aforementioned computer-readable medium carries one or more programs. When the electronic device executes the aforementioned one or more programs, the electronic device causes the electronic device to: acquire configuration information to be distributed for a preset functional test, and feature information of the preset functional test; determine input data based on the configuration information to be distributed and the feature information, and input the input data into a preset prediction model; determine the predicted risk level corresponding to the configuration information to be distributed based on the output of the preset prediction model, wherein the predicted risk level is used to characterize the predicted risk degree of causing an anomaly in the client after the configuration information to be distributed is distributed to the client; and trigger the distribution of the configuration information to be distributed to the client in response to the predicted risk level being lower than a preset level threshold.
[0108] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0109] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0110] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a module does not necessarily limit the module itself; for example, an information acquisition module can also be described as "a module that acquires the configuration information to be issued for a preset functional test, and the feature information of the preset functional test".
[0111] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0112] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0113] According to one or more embodiments of this disclosure, a configuration information processing method is provided, comprising:
[0114] Obtain the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test;
[0115] The input data is determined based on the configuration information to be issued and the feature information, and the input data is input into the preset prediction model;
[0116] The predicted risk level corresponding to the configuration information to be sent is determined based on the output of the preset prediction model, wherein the predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent is sent to the client.
[0117] In response to the predicted risk level being lower than a preset risk level threshold, the configuration information to be sent to the client is triggered.
[0118] According to one or more embodiments of this disclosure, the feature information includes at least one of the following:
[0119] The preset functional test includes the test requirement type, the impact of the preset functional test on the client's performance, the scenario information of the preset scenario corresponding to the preset functional test, and the scenario information of the associated scenario of the preset scenario.
[0120] According to one or more embodiments of this disclosure, the impact information includes at least one of the following: historical anomaly information caused by the preset function test, the proportion of the number of clients to be issued configuration information to the total number of clients, and the operating stage of the client involved when the preset function test causes an anomaly; the scenario information includes at least one of the following: scenario identifier, scenario usage scope statistics, scenario usage duration, and scenario anomaly information.
[0121] According to one or more embodiments of this disclosure, the associated scenario of the preset scenario is determined in the following manner:
[0122] Locate the associated functions in the function association graph that call the target function of the configuration information to be issued;
[0123] Search the client's code file for the target code corresponding to the associated function;
[0124] The associated scenarios of the preset scenario are determined based on the target code;
[0125] The function correlation graph is obtained in the following way:
[0126] During the client's operation, the stack information of the sample configuration information for the sample function test is called.
[0127] The function call relationship is determined based on the stack information, and the function call relationship is reported to the server.
[0128] The server constructs a function association graph based on the function call relationships reported multiple times.
[0129] According to one or more embodiments of this disclosure, the configuration information to be distributed includes a plurality of configuration items to be distributed and configuration data corresponding to the plurality of configuration items to be distributed; the training data of the preset prediction model includes preset training samples;
[0130] The preset training samples are determined in the following way:
[0131] During the operation of the client, the client's running status is determined after the sample configuration item for the sample function test is called, and the initial training sample corresponding to the sample configuration item is determined based on the sample configuration item, the sample configuration data corresponding to the sample configuration item, and the client's running status.
[0132] The initial training samples corresponding to at least two sample configuration items of the sample function test are combined to obtain intermediate training samples;
[0133] Based on the feature information of the intermediate training samples and the sample function test, a preset training sample is determined; wherein, the sample label of the preset training sample is set according to the client operation status corresponding to the at least two initial training samples respectively.
[0134] According to one or more embodiments of this disclosure, after determining the predicted risk level corresponding to the configuration information to be issued based on the output of the preset prediction model, the method further includes:
[0135] In response to the predicted risk level being higher than or equal to a preset risk level threshold, an automated detection of the configuration information to be issued is triggered.
[0136] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0137] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0138] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A configuration information processing method, characterized in that, include: Obtain the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test; The input data is determined based on the configuration information to be issued and the feature information, and the input data is input into the preset prediction model; The predicted risk level corresponding to the configuration information to be sent is determined based on the output of the preset prediction model, wherein the predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent is sent to the client. In response to the predicted risk level being lower than a preset risk level threshold, the configuration information to be sent to the client is triggered.
2. The method according to claim 1, characterized in that, The feature information includes at least one of the following: The preset functional test includes the test requirement type, the impact of the preset functional test on the client's performance, the scenario information of the preset scenario corresponding to the preset functional test, and the scenario information of the associated scenario of the preset scenario.
3. The method according to claim 2, characterized in that, The impact level information includes at least one of the following: historical anomaly information caused by the preset function test, the proportion of the number of clients to be issued configuration information to the total number of clients, and the operational stage of the client involved when the preset function test caused an anomaly; the scenario information includes at least one of the following: scenario identifier, scenario usage scope statistics, scenario usage duration, and scenario anomaly information.
4. The method according to claim 2, characterized in that, The associated scenarios of the preset scenario are determined in the following way: Locate the associated functions in the function association graph that call the target function of the configuration information to be issued; Search the client's code file for the target code corresponding to the associated function; The associated scenarios of the preset scenario are determined based on the target code; The function correlation graph is obtained in the following way: During the client's operation, the stack information of the sample configuration information for the sample function test is called. The function call relationship is determined based on the stack information, and the function call relationship is reported to the server. The server constructs a function association graph based on the function call relationships reported multiple times.
5. The method according to claim 1, characterized in that, The configuration information to be distributed includes multiple configuration items to be distributed and configuration data corresponding to each of the multiple configuration items to be distributed; the training data of the preset prediction model includes preset training samples; The preset training samples are determined in the following way: During the operation of the client, the client's running status is determined after the sample configuration item for the sample function test is called, and the initial training sample corresponding to the sample configuration item is determined based on the sample configuration item, the sample configuration data corresponding to the sample configuration item, and the client's running status. The initial training samples corresponding to at least two sample configuration items of the sample function test are combined to obtain intermediate training samples; Based on the feature information of the intermediate training samples and the sample function test, a preset training sample is determined; wherein, the sample label of the preset training sample is set according to the client operation status corresponding to the at least two initial training samples respectively.
6. The method according to claim 1, characterized in that, After determining the predicted risk level corresponding to the configuration information to be issued based on the output of the preset prediction model, the method further includes: In response to the predicted risk level being higher than or equal to a preset risk level threshold, an automated detection of the configuration information to be issued is triggered.
7. A configuration information processing device, characterized in that, include: The information acquisition module is used to acquire the configuration information to be issued for the preset functional test, as well as the feature information of the preset functional test; The data input module is used to determine input data based on the configuration information to be issued and the feature information, and input the input data into the preset prediction model; The risk level determination module is used to determine the predicted risk level corresponding to the configuration information to be sent based on the output of the preset prediction model. The predicted risk level is used to characterize the degree of risk that the client will experience an anomaly after the configuration information to be sent to the client is sent. The configuration delivery trigger module is used to trigger the delivery of the configuration information to be delivered to the client in response to the predicted risk level being lower than a preset level threshold.
8. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the configuration information processing method as described in any one of claims 1-6.
9. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the configuration information processing method as described in any one of claims 1-6.
10. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the configuration information processing method as described in any one of claims 1-6.