A software system configuration tuning method and device based on knowledge graph
By establishing a knowledge graph in the software system and using configuration document information, the problems of difficult configuration and poor performance in highly configurable software systems are solved, and efficient system tuning and performance improvement are achieved.
Patent Information
- Application Number
- CN202411801360.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-04-01
AI Technical Summary
In highly configurable software systems, users face difficulties in exploding options and understanding complex relationships during the configuration process, resulting in long configuration time and poor performance, and existing machine learning methods fail to effectively utilize configuration document information.
Using a knowledge graph-based method, by obtaining configuration option documents related to system tuning, establishing a knowledge graph, determining the tuning target, building search instructions and searching in the knowledge graph, generating a target configuration plan and realizing system tuning.
Integrate configuration document information and characterize configuration option relationships, improve the configuration efficiency of system tuning, reduce configuration time, improve system performance, and effectively assist users in system tuning.
Smart Images

Figure CN119739415A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of system configuration tuning, and in particular to a software system configuration tuning method and device based on a knowledge graph. Background Art
[0002] As the complexity of software systems continues to increase, users are faced with an explosive growth in configuration options, resulting in a dramatic expansion of the configuration space. In this context, highly configurable software systems provide flexibility but also bring difficulties in configuration. Users need to weigh various options during the configuration process in order to obtain the best system performance, but the lack of in-depth understanding of the complex relationships between configuration options and the high execution cost make this process extremely difficult. Currently, although machine learning techniques are used to explore the relationship between configuration and performance, these methods often ignore the information in the configuration documents. Replacing or assisting manual software configuration optimization, especially in reducing configuration time and improving system performance, has important practical significance for improving the configuration efficiency of software systems and assisting users. Summary of the invention
[0003] In order to solve the above problems existing in the prior art, the present invention provides a software system configuration tuning method and device based on knowledge graph.
[0004] According to a first aspect of an embodiment of the present invention, a method for optimizing software system configuration based on a knowledge graph is provided, the method comprising:
[0005] Get the configuration option documentation related to system tuning;
[0006] Establish a knowledge graph according to the configuration option document;
[0007] Determine tuning goals based on system historical data;
[0008] Constructing a retrieval instruction according to the tuning target, and searching in the knowledge graph according to the retrieval instruction to obtain a final object entity; wherein the final object entity includes configuration information required for the tuning target;
[0009] A target configuration scheme is generated according to the final object entity and the tuning target, and system tuning is implemented according to the target configuration scheme.
[0010] Optionally, establishing a knowledge graph according to the configuration option document includes:
[0011] Extracting new object entities and new document entities according to the configuration option document;
[0012] Splitting the configuration option document to obtain a document block set;
[0013] Extracting a keyword set from the document block set;
[0014] According to each keyword in the keyword set, a new target entity is created;
[0015] The initial knowledge graph is updated according to the new object entity, the new document entity and the new target entity to obtain the knowledge graph.
[0016] Optionally, before updating the initial knowledge graph according to the new object entity, the new document entity and the target entity to obtain the knowledge graph, the method further includes:
[0017] Creating a first relationship between the new object entity and the new document entity;
[0018] A second relationship between the new object entity and the new target entity is created.
[0019] Optionally, constructing a retrieval instruction according to the tuning target, and searching in the knowledge graph according to the retrieval instruction to obtain a final object entity includes:
[0020] Performing word embedding processing on the tuning target and the document entity in the knowledge graph, and matching them based on vector similarity to obtain the similarity between the tuning target and the document entity in the knowledge graph;
[0021] Screening and obtaining multiple candidate document entities whose similarities are higher than a similarity threshold;
[0022] Parsing the tuning target into target keywords through semantic analysis;
[0023] A search instruction is constructed according to the multiple candidate document entities and the target keyword, and a search is performed in the knowledge graph according to the search instruction to obtain a final object entity.
[0024] Optionally, constructing a search instruction according to the multiple candidate document entities and the target keyword, and searching in the knowledge graph according to the search instruction to obtain a final object entity includes:
[0025] Creating a counter for each object entity in the knowledge graph;
[0026] Constructing a first query statement based on the multiple document entities to be selected;
[0027] Obtaining a first object entity set associated with the plurality of to-be-selected document entities according to the knowledge graph, the first relationship and the first query statement;
[0028] Updating the counter of each object entity in the first object entity set according to the number of the associated multiple document entities to be selected;
[0029] Constructing a second query statement based on the target keyword;
[0030] Obtaining a second object entity set associated with the target keyword according to the knowledge graph, the second relationship, and the second query statement;
[0031] updating the counter of each object entity in the second object entity set according to the number of the associated target keywords;
[0032] An object entity with a maximum counter value in the first object entity set and the second object entity set is obtained as the final object entity.
[0033] Optionally, generating a target configuration scheme according to the final object entity and the tuning target, and implementing system tuning according to the target configuration scheme includes:
[0034] Execute the target configuration scheme as a control command to obtain a system operation log;
[0035] Parsing the system operation log to obtain performance indicator data;
[0036] The configuration scheme and corresponding performance indicator data are output to the system user to complete the system tuning.
[0037] Optionally, the method further comprises:
[0038] Generating a first configuration suggestion according to each historical tuning target and the corresponding historical configuration scheme, so as to serve as a reference in the process of generating the target configuration scheme;
[0039] The performance prediction model is trained using the historical tuning targets and the corresponding historical configuration schemes to obtain a trained performance prediction model to predict the configuration scheme corresponding to the tuning target;
[0040] A second configuration suggestion is generated according to the optimization algorithm, the various historical tuning targets and the corresponding historical configuration schemes, so as to serve as a reference in the process of generating the target configuration scheme.
[0041] According to a second aspect of an embodiment of the present invention, a software system configuration tuning device based on a knowledge graph is provided, the device comprising:
[0042] Document acquisition module, used to obtain configuration option documents related to system tuning;
[0043] A graph building module, used to build a knowledge graph according to the configuration option document;
[0044] A target determination module is used to determine the tuning target based on the system historical data;
[0045] An object entity determination module, used to construct a retrieval instruction according to the tuning target, and search in the knowledge graph according to the retrieval instruction to obtain a final object entity; wherein the final object entity includes configuration information required for the tuning target;
[0046] The system tuning module is used to generate a target configuration scheme according to the final object entity and the tuning target, and implement system tuning according to the target configuration scheme.
[0047] The technical solution provided by the present invention may include the following beneficial effects:
[0048] Through the above technical scheme, the present invention can integrate the information in the configuration document, characterize the relationship between various configuration options through the knowledge graph, and after determining the tuning target, can determine the final object entity through retrieval instructions and the knowledge graph, generate a target configuration plan based on the final object entity and the tuning target, and implement system tuning according to the target configuration plan with high configuration efficiency, which can effectively assist users in system tuning.
[0049] Other features and advantages of the present invention will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the following specific embodiments, they are used to explain the present invention but do not constitute a limitation of the present invention. In the accompanying drawings:
[0051] Figure 1 It is a flowchart of a method for optimizing software system configuration based on a knowledge graph according to an exemplary embodiment.
[0052] Figure 2 It is a flowchart of another method for optimizing software system configuration based on knowledge graph according to an exemplary embodiment.
[0053] Figure 3 It is a schematic diagram of a “target-object-document” framework according to an exemplary embodiment.
[0054] Figure 4 It is a block diagram of a software system configuration tuning device based on a knowledge graph according to an exemplary embodiment. DETAILED DESCRIPTION
[0055] Figure 1is a flowchart of a method for optimizing software system configuration based on a knowledge graph according to an exemplary embodiment. Figure 1 As shown, the method includes the following steps.
[0056] S101. Obtain configuration option documents related to system tuning.
[0057] Understandably, Figure 2 is a flowchart of another method for optimizing software system configuration based on a knowledge graph according to an exemplary embodiment, referring to Figure 2 The present invention is used to adjust the system. Such configurable systems can usually include databases, compilers and servers, providing users with a large number of choices and configuration options.
[0058] S102. Establish a knowledge graph based on the configuration option document.
[0059] Optionally, S102 may include:
[0060] Extract new object entities and new document entities according to the configuration option document;
[0061] Split the configuration option document to obtain a document block set;
[0062] Extract a set of keywords from a set of document blocks;
[0063] Create a new target entity based on each keyword in the keyword set;
[0064] The initial knowledge graph is updated according to the new object entity, the new document entity and the new target entity to obtain the knowledge graph.
[0065] Understandably, Figure 3 is a schematic diagram of a "target-object-document" framework according to an exemplary embodiment. Figure 3 As shown, the present invention designs a framework, including an object entity (Object), a target entity (Target) and a document entity (Doc); the object entity (Object) in the present invention stores relevant information about configuration options, including attributes such as name, usage, value range, descriptive summary and related options, and it has complex links with other related object entities; the target entity (Target) stores commonly used keywords in tuning requests, such as throughput, load, running time, performance, etc., and is associated with corresponding configuration options; the document entity (Doc) stores documents related to the options and is associated with corresponding configurations.
[0066] In addition, refer to Figure 2, preprocess the configuration option documents related to system tuning uploaded by users to prepare for the subsequent knowledge graph construction. The input configuration documents can be in Word, PDF and other formats, which contain the configuration options and related descriptions of the software system. The purpose of preprocessing is to convert these documents into a structured format for further analysis. Next, the structural identifiers in the documents are automatically detected and identified, which are used to distinguish different configuration options. Through these identifiers, the documents can be segmented into a set of document blocks with configuration options as the smallest unit. After identifying the structural identifiers, the configuration option documents are split, and each configuration option is regarded as an independent document block. These document blocks contain the name, description, default value and possible constraints of the configuration option. The result of document segmentation is a series of structured document blocks, each of which corresponds to a configuration option. For each document block, its key attributes, including the identifier, type, possible value range, dependencies and other related metadata of the configuration option, will be extracted in subsequent steps and used to build nodes and edges of the knowledge graph. After document segmentation and attribute extraction are completed, a set of document blocks with configuration options as the smallest unit is formed. This collection provides basic data for building the knowledge graph, and each document block will be included in the knowledge graph as a node or a group of nodes.
[0067] Optionally, before the initial knowledge graph is updated according to the new object entity, the new document entity and the target entity to obtain the knowledge graph, the method further includes:
[0068] creating a first relationship between the new object entity and the new document entity;
[0069] A second relationship is created between the new object entity and the new target entity.
[0070] It can be understood that based on the big model tool, the key attributes are extracted and structured to store the new object entity in combination with the prompt word template. When the name attribute of the new object entity exists in the initial knowledge graph, all the attribute information in the old object entity with the same name attribute in the initial knowledge graph is merged, that is, the attribute information of the old object entity is merged into the new object entity. Specifically, the same attributes are inherited and different attributes are merged, for example: usage is extended, the related options list is combined, and the recommended value is extended. The keyword set is extracted from the document block set through the big model, and then a new target entity is created based on each keyword in the keyword set.
[0071] In addition, refer to Figure 2, according to the AssociatedOptions attribute of each object entity in the object collection of the knowledge graph, the third relationship Associated Object is created between the object entity and its associated target, the first relationship is Associated Document, and the second relationship is Associated Target.
[0072] For new object entities, new document entities and new target entities, generate corresponding cypher creation statements. For the first relationship, second relationship and third relationship, generate corresponding cypher creation statements, install the neo4j database, and update the initial knowledge graph according to these cypher creation statements to obtain the knowledge graph.
[0073] S103. Determine the tuning target according to the system historical data.
[0074] S104. Construct a search instruction according to the tuning target, and search in the knowledge graph according to the search instruction to obtain a final object entity; wherein the final object entity includes configuration information required for the tuning target.
[0075] Optionally, S104 may include:
[0076] The tuning target and the document entity in the knowledge graph are word-embedded and matched based on vector similarity to obtain the similarity between the tuning target and the document entity in the knowledge graph.
[0077] Screening and obtaining multiple candidate document entities whose similarities are higher than a similarity threshold;
[0078] Parse the tuning target into target keywords through semantic analysis;
[0079] A search instruction is constructed based on multiple candidate document entities and target keywords, and a search is performed in the knowledge graph according to the search instruction to obtain the final object entity.
[0080] It is understandable that, referring to Figure 2, the tuning target and the document entity in the knowledge graph are processed by word embedding, and matched based on vector similarity to obtain similarity, and the document entity with similarity higher than the similarity threshold is returned (multiple document entities with the highest similarity can also be obtained). It can be implemented based on open source pre-trained Embedding models, such as bge-large-ch, text-embedding-ada-002, etc. Specifically, it includes the following processes: 1) Data preprocessing of the tuning target and each document entity is performed and converted into text format; 2) Word embedding is performed using the Embedding model to obtain an embedding vector; (3) The similarity between the query embedding vector and the embedding vector of each document entity is calculated. The default is cosine similarity, that is, similarity = cos(θ) = (A·B) / (||A||||B||), where A and B are two embedding vectors, ||A|| and ||B|| represent the modulus (length) of A and B respectively, and A·B represents the dot product of A and B. The similarity value ranges from 0 to 1. The larger the calculation result, the higher the similarity. (4) After calculation and sorting, the five document blocks with the highest similarity are selected and returned.
[0081] Optionally, create a counter for each object entity in the knowledge graph;
[0082] Constructing a first query statement based on multiple document entities to be selected;
[0083] Obtain a first object entity set associated with a plurality of to-be-selected document entities according to the knowledge graph, the first relationship, and the first query statement;
[0084] Updating the counter of each object entity in the first object entity set according to the number of the associated multiple document entities to be selected;
[0085] Constructing a second query statement based on the target keyword;
[0086] Obtain a second object entity set associated with the target keyword according to the knowledge graph, the second relationship, and the second query statement;
[0087] updating the counter of each object entity in the second object entity set according to the number of associated target keywords;
[0088] An object entity with a maximum counter value in the first object entity set and the second object entity set is obtained as a final object entity.
[0089] It can be understood that a counter with a value of 0 is created for each object entity in the knowledge graph, a first query statement for the object entity is constructed based on the document entity to be selected, a first object entity set associated with the document entity to be selected is obtained, and its corresponding counter is updated, and the counter is increased by 1 for each associated document entity to be selected; a second query statement for the target keyword is constructed based on the document entity, the second object entity set associated with the target keyword is expanded, and the corresponding counter is updated, and the counter is increased by 1 for each associated target keyword. According to the counter, when the number of non-zero items is greater than a certain number, the object entity corresponding to the item with the largest counter value is obtained as the final object entity, otherwise, the object entities corresponding to all non-zero items are obtained, the first object entity set and the second object entity set are updated and recounted. It is also possible to traverse each object entity in the first object entity set and the second object entity set, generate a relationship subgraph, and mark the relationship between all object entities, which can reflect the compatibility / mutual exclusion between the configuration options corresponding to the object entities to ensure that no invalid configuration scheme is generated.
[0090] S105: Generate a target configuration plan according to the final object entity and the tuning target, and implement system tuning according to the target configuration plan.
[0091] Optionally, S105 may include:
[0092] Execute the target configuration scheme as a control command to obtain the system operation log;
[0093] Analyze the system operation log to obtain performance indicator data;
[0094] Output the configuration plan and corresponding performance indicator data to system users to complete system tuning.
[0095] It is understandable that, referring to Figure 2 , run the software system and measure the target performance indicators. Execute the target configuration scheme as a control command, and obtain the system operation log. When it is running normally, obtain the specific value of the performance indicator data by parsing the system operation log, and provide it to the user as an output; when it is abnormal, return to S104 and re-execute the subsequent steps.
[0096] Optionally, the method may further include:
[0097] Generate a first configuration suggestion according to each historical tuning target and the corresponding historical configuration scheme, so as to serve as a reference in the process of generating the target configuration scheme;
[0098] The performance prediction model is trained using each historical tuning target and the corresponding historical configuration scheme to obtain a trained performance prediction model to predict the configuration scheme corresponding to the tuning target;
[0099] A second configuration suggestion is generated according to the optimization algorithm, each historical tuning target and the corresponding historical configuration scheme, so as to serve as a reference in the process of generating the target configuration scheme.
[0100] It is understandable that, referring to Figure 2 ,The data-driven sub-modules include three types of models: sampling model: used to generate the first ,configuration suggestion according to each historical tuning target and corresponding historical configuration ,scheme; performance prediction model: responsible for learning from each ,historical tuning target and the corresponding historical configuration scheme to ,predict the performance, thereby reducing the system operating cost and providing fast ,performance estimation. In addition, the performance prediction model analyzes the impact of different ,options on performance and provides insights for the decision module; search model: generates the second ,configuration suggestion based on the optimization algorithm, each ,historical tuning target and the corresponding historical configuration scheme, and ,given a sufficient amount of historical data, configuration suggestions can be made at a lower ,computational cost.
[0101] Specifically, the sampling model can automatically generate a series of configuration option solutions x based on information such as associated configuration options and option relationships, and run the system when system resources are idle and measure the target performance indicator y, forming a series of (x, y) data pairs for storage, and automatically provide configuration solutions with higher performance values as references in the subsequent configuration solution recommendation process; the performance prediction model is built based on machine learning or deep learning models that can be applied to predictions, and can automatically train performance models based on a small amount of measured data obtained by the sampling model as a substitute for the actual operation of the system, speed up the screening process of configuration solutions, and reduce the cost required for the operation of the software system; the search model is built based on optimization algorithms, such as genetic algorithms or random search. The goal of the search model is to efficiently explore the configuration space based on the performance model to obtain the numerical suboptimal solution of the configuration optimization solution and provide numerical suggestions for the construction of the configuration solution. It is worth noting that most optimization algorithms cannot guarantee the effectiveness of the configuration solution, and the solution can only serve as a reference for the target configuration solution.
[0102] In one embodiment, the implementation of the present invention focuses on five real-life software systems, as shown in the following table.
[0103]
[0104]
[0105] The selection of these software systems took into account several criteria. First, the system had to be an open source and readily available project with a comprehensive set of runtime configuration options. In addition, systems that were widely popular and widely studied were selected to serve as benchmarks for other studies. Finally, the systems should represent a variety of application domains to demonstrate the versatility of the tuning capabilities. Therefore, x264, a well-respected video encoder was initially selected for tuning in configurable software systems. Subsequently, SQLite, a widely used SQL database engine, and curl, a widely used network data transfer software, were selected. In addition, the kernel xz, which integrates many data compression software products, and finally the JVM, a virtual machine software capable of executing Java bytecodes.
[0106] This example aims to study the configuration optimization problem of a given configurable software system. It compares the performance improvement relative to the default configuration and evaluates the cost associated with tuning, which may be caused by exploring the configuration space or parsing the configuration document. Therefore, the composition of the configuration space and the choice of configuration document are the independent variables under control. To address these research questions, the following four indicators (dependent variables) are observed: performance improvement rate, time cost, computational cost, and tuning success rate.
[0107] Performance improvement rate: The most direct indicator for evaluating the effectiveness of tuning is the tuning performance Perf (c tuned ) relative to the default configuration Perf(c default ) is expressed as:
[0108]
[0109] Among them, γ opt It is 1 or -1, indicating whether the optimization goal is maximization or minimization.
[0110] Time cost: The time cost of tuning consists of two components: the model preparation phase and the actual tuning phase. The former includes offline operations such as data preparation (configuration sampling, offline software execution, measurement), model training, document parsing, etc. The latter includes operations such as configuration recommendation, information inference, online software execution, and measurement. The time is measured in seconds (s). The above two indicators are denoted by T pre and T act express.
[0111] Computational cost: The cost needs to be divided into two parts. Since the system uses a large language model, in addition to the traditional CPU computing cost c In addition, GPU computing resources Cost is also required gSpecifically, GPU resources are dedicated to inference of large language models. Therefore, the cost is calculated by multiplying the total number of tokens used for inference by the unit price of each token. The total cost is calculated as:
[0112] Cost = α(T pre +T act )+βN token ;
[0113] Among them, α represents the unit price of CPU time, and β represents the price per token of the large language model service API. For cost demonstration, according to the price of Amazon cloud server and ChatGPT 3.5 API, the parameter (3) in the equation is finally set to α = 1.157 × 10 -1 , β=2.000×10 -3 .
[0114] Tuning success rate: The tuning process may not always be successful, mainly due to internal limitations. Tuning strategies may not always produce valid configurations, resulting in software system failures and failure to obtain valid metrics. Therefore, given the total number of tuning experiments N total , where the successful tuning experiment uses N Suc Indicates that the expression for calculating the tuning success rate is as follows:
[0115]
[0116] The most widely used machine learning methods for tuning configurable software systems can be divided into three types: search algorithms, learning algorithms, and recommendation algorithms. Therefore, representative works of these three algorithms are selected for implementation and comparative study. First, for the search algorithm, the differential evolution algorithm (DE) is selected, which treats the software system as a black-box fitness function and performs search-based optimization. Next, for the learning algorithm, the random forest algorithm (RF) is used to train and build a performance prediction model as the fitness function, and the genetic algorithm (GA) is applied to perform search-based optimization. Finally, for the recommendation algorithm, the naive Bayes classifier algorithm (NB) is used to build a generative model to generate data that meets the distribution of the optimization target configuration.
[0117] In addition to the machine learning method, in order to compare the performance of the present invention and human experts in the tuning scenario, a group of 5 human experts for manual tuning was also included. They completed the tuning task by referring to the configuration option document consistent with the present invention. Finally, the experiment compared the above four methods with the present invention.
[0118] Experimental environment and scene settings. The experiment was conducted on a machine equipped with a 12th Gen Intel(R) Core(TM) i7-12700 processor, 32GB memory, and 1TB hard disk, running Windows 11 Professional and Python 3.11.8. In addition, the open source large language model was deployed on a cloud server with a 15-core CPU AMD EPYC 7543 32-core processor, NVIDIA A40 GPU, 90GB memory, and 80GB hard disk, running on Ubuntu 20.04LTS and Python 3.11.8.
[0119] The following table shows the optimization results and comparison methods of the present invention for different SUTs, including the average model preparation time cost Average actual adjustment time cost Average calculation cost Average performance improvement rate and tuning success rate η suc Similarly, to avoid ambiguity, the average of each metric in the results does not include the average from configuration failures. It is worth noting that the preparation time of the artificial model depends on the individual's reading speed, which was measured at 183 words per minute in this study.
[0120] In addition, the model preparation time for the NB and RF methods also includes the running time for 10,000 configuration data.
[0121]
[0122]
[0123] In this embodiment, the present invention is found to outperform machine learning methods and manual adjustments in tuning performance improvements. Specifically, the differential evolution algorithm (DE) treats the software system as a black box function and explores within a predetermined configuration space. Although DE requires minimal setup in addition to defining the configuration space, it lacks a strategy to integrate prior knowledge to guide the exploration, resulting in an undirected search process that may require more system execution cycles to iterate. In contrast, the present invention utilizes prior knowledge in the configuration document to guide the search, reducing the need for extensive system cycles and resulting in lower operating costs compared to DE.
[0124] In contrast, learning algorithms such as random forests and genetic algorithms (RF+GA) shift the operating costs of the system to offline scenarios and require historical data for warm-start. Guided by performance models, these algorithms can effectively explore at low cost during the search phase, reducing the actual tuning time cost. However, challenges such as data distribution drift caused by measurement uncertainty, and underfitting or overfitting due to the size of performance model parameters hinder the effective application of learning algorithms in tuning scenarios. On the other hand, the present invention provides a deeper understanding of the system data distribution independent of the performance model, resulting in more reliable configuration recommendations.
[0125] As a special learning algorithm for data distribution exploration, the Naive Bayes classifier (NB) uses historical data to capture hidden distributions, reduces interference from measurement errors, and provides effective configuration recommendations based on option distributions. However, like other algorithms, NB also requires sufficient high-quality historical data for warm-start, which leads to increased costs. In contrast, the present invention requires less model preparation time, which makes it more cost-effective than the generative algorithm in actual business applications.
[0126] As a direct competitor of the present invention in production scenarios, the manual expert group has a high level of cognitive and reasoning ability, but low information processing efficiency. The manual group usually takes more time to process the configuration option document, which leads to a cost disadvantage compared with the present invention. However, humans have strong reasoning ability and can better ensure the semantic correctness of the configuration scheme, so that the tuning success rate is stabilized at 100%. In actual production scenarios, tuning tasks are usually information-intensive and highly repetitive, and the actual manpower cost far exceeds that of machines. Therefore, it would be beneficial to use the functions of the present invention to replace or help humans adjust their work in application scenarios.
[0127] Figure 4 is a block diagram of a software system configuration tuning device based on a knowledge graph according to an exemplary embodiment. Figure 4 As shown, the apparatus 400 may include:
[0128] The document acquisition module 401 is used to acquire configuration option documents related to system tuning;
[0129] A graph building module 402, used to build a knowledge graph according to the configuration option document;
[0130] A target determination module 403 is used to determine a tuning target based on system historical data;
[0131] The object entity determination module 404 is used to construct a search instruction according to the tuning target, and search in the knowledge graph according to the search instruction to obtain the final object entity; wherein the final object entity includes the configuration information required for the tuning target;
[0132] The system tuning module 405 is used to generate a target configuration scheme according to the final object entity and the tuning target, and implement system tuning according to the target configuration scheme.
[0133] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0134] The preferred embodiments of the present invention are described in detail above in conjunction with the accompanying drawings. However, the present invention is not limited to the specific details in the above embodiments. Within the technical concept of the present invention, a variety of simple modifications can be made to the technical solution of the present invention, and these simple modifications all belong to the protection scope of the present invention.
[0135] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present invention will not further describe various possible combinations.
[0136] In addition, various embodiments of the present invention may be arbitrarily combined, and as long as they do not violate the concept of the present invention, they should also be regarded as the contents disclosed by the present invention.
Claims
1. A software system configuration tuning method based on knowledge graph, characterized in that: The method comprises: Get the configuration option documentation related to system tuning; Establish a knowledge graph according to the configuration option document; Determine tuning goals based on system historical data; Constructing a retrieval instruction according to the tuning target, and searching in the knowledge graph according to the retrieval instruction to obtain a final object entity; wherein the final object entity includes configuration information required for the tuning target; A target configuration scheme is generated according to the final object entity and the tuning target, and system tuning is implemented according to the target configuration scheme.
2. The method for optimizing software system configuration based on knowledge graph according to claim 1, characterized in that: The step of establishing a knowledge graph according to the configuration option document includes: Extracting new object entities and new document entities according to the configuration option document; Splitting the configuration option document to obtain a document block set; Extracting a keyword set from the document block set; According to each keyword in the keyword set, a new target entity is created; The initial knowledge graph is updated according to the new object entity, the new document entity and the new target entity to obtain the knowledge graph.
3. The method for optimizing software system configuration based on knowledge graph according to claim 2, characterized in that: Before updating the initial knowledge graph according to the new object entity, the new document entity and the target entity to obtain the knowledge graph, the method further includes: Creating a first relationship between the new object entity and the new document entity; A second relationship between the new object entity and the new target entity is created.
4. The method for optimizing software system configuration based on knowledge graph according to claim 3, characterized in that: The step of constructing a retrieval instruction according to the tuning target, and searching the knowledge graph according to the retrieval instruction to obtain a final object entity includes: Performing word embedding processing on the tuning target and the document entity in the knowledge graph, and matching them based on vector similarity to obtain the similarity between the tuning target and the document entity in the knowledge graph; Screening and obtaining multiple candidate document entities whose similarities are higher than a similarity threshold; Parsing the tuning target into target keywords through semantic analysis; A search instruction is constructed according to the multiple candidate document entities and the target keyword, and a search is performed in the knowledge graph according to the search instruction to obtain a final object entity.
5. The method for optimizing software system configuration based on knowledge graph according to claim 4, characterized in that: The step of constructing a search instruction according to the plurality of candidate document entities and the target keyword, and searching the knowledge graph according to the search instruction to obtain a final object entity includes: Creating a counter for each object entity in the knowledge graph; Constructing a first query statement based on the multiple document entities to be selected; Obtaining a first object entity set associated with the plurality of to-be-selected document entities according to the knowledge graph, the first relationship and the first query statement; Updating the counter of each object entity in the first object entity set according to the number of the associated multiple document entities to be selected; Constructing a second query statement based on the target keyword; Obtaining a second object entity set associated with the target keyword according to the knowledge graph, the second relationship, and the second query statement; updating the counter of each object entity in the second object entity set according to the number of the associated target keywords; An object entity with a maximum counter value in the first object entity set and the second object entity set is obtained as the final object entity.
6. The method for optimizing software system configuration based on knowledge graph according to claim 1, characterized in that: Generating a target configuration scheme according to the final object entity and the tuning target, and implementing system tuning according to the target configuration scheme, includes: Execute the target configuration scheme as a control command to obtain a system operation log; Parsing the system operation log to obtain performance indicator data; The configuration scheme and corresponding performance indicator data are output to the system user to complete the system tuning.
7. The method for optimizing software system configuration based on knowledge graph according to claim 1, characterized in that: The method further comprises: Generating a first configuration suggestion according to each historical tuning target and the corresponding historical configuration scheme, so as to serve as a reference in the process of generating the target configuration scheme; The performance prediction model is trained using the historical tuning targets and the corresponding historical configuration schemes to obtain a trained performance prediction model to predict the configuration scheme corresponding to the tuning target; A second configuration suggestion is generated according to the optimization algorithm, the various historical tuning targets and the corresponding historical configuration schemes, so as to serve as a reference in the process of generating the target configuration scheme.
8. A software system configuration tuning device based on knowledge graph, characterized in that: The device comprises: Document acquisition module, used to obtain configuration option documents related to system tuning; A graph building module, used to build a knowledge graph according to the configuration option document; A target determination module is used to determine the tuning target based on the system historical data; An object entity determination module, used to construct a retrieval instruction according to the tuning target, and search in the knowledge graph according to the retrieval instruction to obtain a final object entity; wherein the final object entity includes configuration information required for the tuning target; The system tuning module is used to generate a target configuration scheme according to the final object entity and the tuning target, and implement system tuning according to the target configuration scheme.