Self-adaptive scheduling method and device based on open source component
Through the adaptive scheduling method based on open source components, we analyze task requirements, optimize component performance, and use the analytic hierarchy process and multi-objective optimization models to solve the problem of traditional scheduling methods being difficult to adapt to dynamic changes, and achieve efficient task scheduling and resource utilization.
Patent Information
- Application Number
- CN202411323440.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-09-23
AI Technical Summary
Traditional scheduling methods are difficult to adapt to dynamically changing system environments and business needs, resulting in reduced task scheduling efficiency.
Adopt the adaptive scheduling method based on open source components, through detailed analysis of task requirements, optimize the performance of open source components, use hierarchical analysis methods and multi -target optimization scheduling models to build scheduling index data to generate scheduling decisions to improve scheduling efficiency.
The flexible response of the system when facing different types, different urgency and different execution time requirements, improved the efficiency of resource utilization and task completion efficiency, and reduced manual intervention and configuration workload.
Smart Images

Figure CN119356807A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of automated scheduling, and in particular to an open source component-based adaptive scheduling method and device. Background Art
[0002] In today's highly information-based and digital age, the complexity and scale of software systems and applications continue to grow, and the requirements for system performance and reliability are also increasing. In order to meet these challenges, software development and operation teams are increasingly using open source components to build and expand systems. Open source components have become an indispensable part of modern software development with their flexibility, scalability and cost-effectiveness.
[0003] However, with the widespread use of open source components, traditional scheduling methods often cannot adapt to dynamically changing system environments and business needs. For example, some business scenarios have high real-time requirements for tasks and require rapid response and processing. Existing technologies are often optimized for specific types of tasks, which makes them incapable of handling different types of tasks. When task requirements change, the system needs to be modified or reconfigured in large quantities to adapt to the new task environment, which reduces the efficiency of task scheduling. Summary of the invention
[0004] The present invention aims to provide an adaptive scheduling method and device based on open source components to solve the technical problem of how to improve the scheduling efficiency of open source components.
[0005] In order to solve the above technical problems, an embodiment of the present invention provides an adaptive scheduling method based on open source components, comprising the following steps:
[0006] Acquire the task requirements of the target system, analyze the task requirements, and obtain task type data, urgency information, and execution time data of each task in the task requirements;
[0007] Acquire a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components;
[0008] Based on the hierarchical analysis method, corresponding weights are assigned to the task type data, the urgency information, and the execution time data to obtain task indicator data, and scheduling indicator data is constructed according to the task indicator data and the obtained performance data of the second open source component;
[0009] Inputting the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization objective of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization;
[0010] A scheduling decision is generated according to the scheduling result, and the task requirement is executed based on the scheduling decision.
[0011] As one preferred solution, the step of optimizing the performance of the first open source component to obtain an optimized second open source component includes:
[0012] Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component;
[0013] According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph;
[0014] Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions;
[0015] An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
[0016] As one of the preferred solutions, the hierarchical analysis method is used to assign corresponding weights to the task type data, the urgency information and the execution time data to obtain task indicator data, including:
[0017] Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data;
[0018] Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices;
[0019] A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
[0020] As one preferred solution, before inputting the performance data and the initial priority into a pre-trained multi-objective optimization scheduling model for prediction, the method further includes:
[0021] Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;
[0022] defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization;
[0023] Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model;
[0024] Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model;
[0025] The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
[0026] As one of the preferred solutions, the training of the multi-objective optimization scheduling model according to the historical scheduling data includes:
[0027] Randomly generate a set of initial scheduling solutions based on the historical scheduling data;
[0028] During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function;
[0029] During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution;
[0030] The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
[0031] Another embodiment of the present invention provides an adaptive scheduling device based on open source components, including:
[0032] An acquisition module is used to acquire the task requirements of the target system, analyze the task requirements, and obtain task type data, urgency information, and execution time data of each task in the task requirements;
[0033] an optimization module, configured to obtain a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components;
[0034] A construction module, used to assign corresponding weights to the task type data, the urgency information and the execution time data respectively based on the hierarchical analysis method to obtain task indicator data, and to construct scheduling indicator data according to the task indicator data and the acquired performance data of the second open source component;
[0035] A prediction module, used for inputting the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization objective of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization;
[0036] A generation module is used to generate a scheduling decision according to the scheduling result, and execute the task requirement based on the scheduling decision.
[0037] As one preferred solution, the optimization module is used to:
[0038] Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component;
[0039] According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph;
[0040] Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions;
[0041] An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
[0042] As one preferred solution, the building block is used to:
[0043] Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data;
[0044] Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices;
[0045] A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
[0046] As one preferred solution, the prediction module is further used for:
[0047] Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;
[0048] defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization;
[0049] Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model;
[0050] Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model;
[0051] The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
[0052] As one preferred solution, the prediction module is further used for:
[0053] Randomly generate a set of initial scheduling solutions based on the historical scheduling data;
[0054] During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function;
[0055] During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution;
[0056] The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
[0057] Compared with the prior art, the embodiments of the present invention have the following advantages:
[0058] 1) The present invention can flexibly respond to tasks of different types, different urgency levels and different execution time requirements by analyzing the task requirements in detail, including task type, urgency level and execution time. This flexibility enables the system to adapt to rapidly changing task environments;
[0059] 2) The present invention adopts a pre-trained multi-objective optimization scheduling model, which can simultaneously consider optimization goals such as minimizing completion time and maximizing resource utilization. This multi-objective optimization method helps to ensure efficient completion of tasks while also achieving rational utilization and conservation of resources;
[0060] 3) The present invention can automatically analyze task requirements and optimize the performance of open source components, reducing the workload of manual intervention and configuration. This intelligent and automated processing method improves the operation and maintenance efficiency and accuracy of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] Figure 1 It is a flowchart of an adaptive scheduling method based on open source components in one embodiment of the present invention;
[0062] Figure 2 It is a structural diagram of an adaptive scheduling device based on open source components in one embodiment of the present invention. DETAILED DESCRIPTION
[0063] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The purpose of providing these embodiments is to make the disclosure of the present invention more thorough and comprehensive. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0064] In the description of this application, the terms "first", "second", "third", etc. are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first", "second", "third", etc. may explicitly or implicitly include one or more of the feature. In the description of this application, unless otherwise specified, "plurality" means two or more.
[0065] In the description of the present application, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be a connection between the two elements. The terms "vertical", "horizontal", "left", "right", "upper", "lower" and similar expressions used herein are only for illustrative purposes, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention. The term "and / or" used herein includes any and all combinations of one or more related listed items. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to specific circumstances.
[0066] In the description of this application, it should be noted that, unless otherwise defined, all technical and scientific terms used in the present invention have the same meaning as those commonly understood by those skilled in the art. The terms used in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood by specific circumstances.
[0067] An embodiment of the present invention provides an adaptive scheduling method based on open source components. For details, see Figure 1 , Figure 1 The flowchart of the adaptive scheduling method based on open source components provided in one embodiment of the present invention is shown. It includes steps S1 to S5:
[0068] S1. Obtain the task requirements of the target system, analyze the task requirements, and obtain task type data, urgency information, and execution time data of each task in the task requirements;
[0069] First, determine the source of the task requirements, which may be from users, business requirements documents, system logs or other relevant channels. Summarize all the collected task requirements to form a comprehensive requirements list, and classify the tasks in the requirements list for subsequent analysis and processing.
[0070] According to the specific content and purpose of the task, define different task types, such as data processing tasks, scheduled tasks, real-time tasks, etc., classify each task into the corresponding task type, and record the task type data.
[0071] Establish a set of criteria for evaluating the urgency of tasks, which may include factors such as the time required to complete the task, the degree of impact on the system or business, etc. Evaluate the urgency of each task based on the evaluation criteria and assign it a corresponding urgency value or label (such as high, medium, or low).
[0072] Clarify the specific execution time requirements for each task, including start time, end time or execution cycle, and record the execution time requirements for each task for subsequent scheduling.
[0073] S2. Obtain a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components;
[0074] First, based on the functional requirements of the task needs, clarify which open source components are needed to support the implementation of these functions.
[0075] Use open source communities, code repositories (such as GitHub, GitLab, etc.) or specialized open source component libraries to search and select open source components that match the functions of the task requirements. Evaluate the selected open source components, considering factors such as their stability, activity, documentation, and community support, and finally select the most suitable first open source component.
[0076] Preferably, in an embodiment of the present invention, the step of optimizing the performance of the first open source component to obtain an optimized second open source component includes:
[0077] Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component;
[0078] According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph;
[0079] Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions;
[0080] An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
[0081] Specifically, natural language processing (NLP) technology is used to extract features from the collected text information. This usually involves steps such as text preprocessing (such as word segmentation, stop word removal, part-of-speech tagging, etc.), syntactic analysis, and semantic analysis to extract key information such as component dependencies and functional descriptions.
[0082] In the software scheduling knowledge graph, open source components are used as nodes of the graph. Each node represents a specific open source component and contains basic information about the component (such as name, version, function description, etc.). The dependencies between components are used as edges of the graph. Based on the dependency information extracted in step 1, a dependency network between components is constructed. These edges can be directed, indicating the direction of dependency between components.
[0083] Use an improved conflict detection algorithm to traverse each edge in the software scheduling knowledge graph. The algorithm should be able to traverse the graph efficiently while taking into account the complex dependencies between components. During the traversal process, semantic versioning (SemVer) is used to determine the compatibility between component versions. Semantic versioning uses version numbers (such as major version number, minor version number, and revision number) to convey API compatibility changes, thereby helping to identify potential version conflicts. By comparing the dependencies and version compatibility between components, conflict points in the software scheduling knowledge graph are located. These conflict points may involve problems such as incompatible component versions and circular dependencies.
[0084] For conflicts caused by version incompatibility, you can consider updating the component to a new compatible version. This usually involves finding and replacing the version number in the component's dependency declaration. If there are complex dependencies between multiple components and it is difficult to resolve conflicts through version updates, you can consider adopting a dependency isolation strategy. For example, use container technology (such as Docker) to isolate conflicting components and run them in different environments. If the conflict of a component cannot be resolved by the above methods and the function of the component can be replaced by other components, then you can consider replacing the component. This requires a careful evaluation of the overall architecture of the system and the functions of the components.
[0085] Through the above steps, the first open source component that matches the task requirements can be obtained, and its performance can be effectively optimized to eliminate the performance impact caused by dependency conflicts. This can not only improve the overall performance of the system, but also enhance the stability and reliability of the system.
[0086] S3, assigning corresponding weights to the task type data, the urgency information and the execution time data based on the hierarchical analysis method to obtain task indicator data, and constructing scheduling indicator data according to the task indicator data and the obtained performance data of the second open source component;
[0087] Based on the Analytic Hierarchy Process (AHP), corresponding weights are assigned to task type data, urgency information and execution time data, and task indicator data is constructed accordingly. Then, the scheduling indicator data is constructed in combination with the performance data of the second open source component.
[0088] Preferably, in an embodiment of the present invention, the corresponding weights are assigned to the task type data, the urgency information and the execution time data based on the hierarchical analysis method to obtain task indicator data, including:
[0089] Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data;
[0090] Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices;
[0091] A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
[0092] Specifically, the present invention decomposes the problem into different components, and aggregates and combines the factors at different levels according to the interrelated influences and affiliations between the factors to form a multi-level analysis structure model. In this model, the highest level is the target level (i.e., task scheduling optimization), the middle level is the criterion level (i.e., task type data, urgency information, and execution time data), and the lowest level is the solution level (if there are multiple candidate solutions, they are listed at this level; but in this problem, we mainly focus on the weight distribution of the criterion level).
[0093] For each factor in the criterion layer, construct a judgment matrix to compare its relative importance with other factors. For example, construct a judgment matrix to compare the relative importance of task type data (T) with urgency information (E) and execution time data (D); then construct two other judgment matrices to compare the relative importance of E with T and D, and the relative importance of D with T and E. Use a 1-9 scale (or other appropriate scale) to quantify the comparison results. For example, if task type data (T) is considered slightly more important than urgency information (E), fill in 3 (or the corresponding scale value) at the intersection of the row corresponding to T and the column corresponding to E, and fill in 1 / 3 at the intersection of the row corresponding to E and the column corresponding to T to maintain the reciprocity of the matrix.
[0094] For each judgment matrix, use mathematical methods (such as eigenvalue method, sum-product method, etc.) to calculate its maximum eigenvalue and its corresponding eigenvector. Normalize the eigenvector to obtain the weight vector of each factor. This weight vector represents the relative importance of each factor in the scheduling decision.
[0095] Since the judgment matrix is artificially constructed, there may be inconsistencies. Therefore, it is necessary to perform a consistency check on each judgment matrix. First, calculate the consistency index Where n is the order of the judgment matrix (i.e. the number of factors in the criterion layer). Find the corresponding average random consistency index RI (this value can be obtained by looking up the table and is related to the order of the judgment matrix). Calculate the consistency ratio If CR < 0.1, the judgment matrix is considered to have satisfactory consistency; otherwise, the judgment matrix needs to be adjusted and recalculated.
[0096] For each task, a specific quantitative value is given according to its task type data, urgency information and execution time data (these values can be numerical values, levels or other forms of measurement).
[0097] The weight vector that has passed the consistency check is used to perform a weighted summation of these quantized values (or other weighting methods according to specific needs) to obtain the scheduling index data of the task. This scheduling index data will be used in the subsequent scheduling decision process to determine the priority and execution order of the task.
[0098] S4, inputting the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization goal of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization;
[0099] Preferably, in an embodiment of the present invention, before inputting the performance data and the initial priority into a pre-trained multi-objective optimization scheduling model for prediction, the method further includes:
[0100] Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;
[0101] defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization;
[0102] Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model;
[0103] Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model;
[0104] The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
[0105] Specifically, collect relevant data about tasks that the target system has executed in the past, including task type, urgency, execution time requirements, etc. Record the performance indicators of each open source component under different loads, such as response time, throughput, resource utilization, etc. Record the actual results of each scheduling, including task completion time, resource usage, whether task requirements are met, etc.
[0106] Define the corresponding objective functions according to the scheduling objectives (such as minimizing completion time and maximizing resource utilization). These objective functions will be used to evaluate the effects of different scheduling schemes. Combine the defined objective functions with multi-objective evolutionary algorithms (such as NSGA-II, MOEA / D, etc.) to build an initial multi-objective optimization scheduling model. Multi-objective evolutionary algorithms are able to optimize multiple objectives simultaneously in one run and generate a set of Pareto optimal solutions.
[0107] The collected historical scheduling data is used to train the initial multi-objective optimization scheduling model. During the training process, the model will learn how to predict the optimal scheduling solution based on the task requirements and component performance data. After sufficient training and verification, a pre-trained multi-objective optimization scheduling model is obtained. This model can predict the optimal scheduling solution based on new task requirements and component performance data.
[0108] Preferably, in an embodiment of the present invention, the training of the multi-objective optimization scheduling model according to the historical scheduling data includes:
[0109] Randomly generate a set of initial scheduling solutions based on the historical scheduling data;
[0110] During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function;
[0111] During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution;
[0112] The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
[0113] According to the evaluation results, a multi-objective evolutionary algorithm is used to perform evolutionary operations. Evolutionary operations include selection, crossover (or recombination), mutation and other steps, aiming to generate new and potentially better scheduling solutions.
[0114] Selection: Select a portion of excellent scheduling solutions from the current population as parents to generate the next generation. The selection process is usually based on the evaluation results, that is, the value of the objective function;
[0115] Crossover (or reorganization): Crossover the selected parent scheduling scheme to generate a new child scheduling scheme. The crossover operation may involve adjustments in multiple aspects such as task allocation, execution order, and resource allocation;
[0116] Mutation: Randomly mutate the offspring schedule to increase the diversity of the population. The mutation operation may change some elements of the schedule with a small probability.
[0117] After multiple iterations, the model will gradually converge to a set of Pareto optimal solutions or approximate optimal solutions. Ultimately, the trained multi-objective optimization scheduling model will be able to quickly generate a set of high-quality scheduling solutions for decision makers to choose from based on new task requirements and component performance data.
[0118] S5. Generate a scheduling decision according to the scheduling result, and execute the task requirement based on the scheduling decision.
[0119] According to actual needs and constraints (such as task priority, resource availability, time limit, etc.), the most appropriate solution is selected from the parsed scheduling results as the scheduling decision. Scheduling decisions include which component should execute each task, when to start execution, how to arrange the execution order, how to allocate the required resources, etc.
[0120] The scheduling decision is notified to the relevant execution entities (such as computing nodes, virtual machines, containers, etc.) or management systems. The execution entity or management system configures and executes the task according to the scheduling decision. This may include starting the task, allocating resources, monitoring the execution process, etc. During the execution process, it may be necessary to monitor the execution status and performance indicators of the task in real time to ensure that the task proceeds smoothly according to the predetermined plan. If any abnormal situation or performance bottleneck is found, timely measures are taken to adjust or optimize. After the task is executed, the relevant execution data and results are collected for feedback analysis. This feedback data can be used to evaluate the effectiveness of the scheduling decision and provide a reference for future scheduling optimization.
[0121] Another embodiment of the present invention provides an adaptive scheduling device based on open source components. For details, see Figure 2 , Figure 2 The structure diagram of the adaptive scheduling device based on open source components provided in one embodiment of the present invention is shown. It includes: an acquisition module 11, an optimization module 12, a construction module 13, a prediction module 14, and a generation module 15, wherein:
[0122] The acquisition module 11 is used to acquire the task requirements of the target system, analyze the task requirements, and obtain the task type data, urgency information and execution time data of each task in the task requirements;
[0123] An optimization module 12 is used to obtain a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components;
[0124] A construction module 13 is used to assign corresponding weights to the task type data, the urgency information and the execution time data based on a hierarchical analysis method to obtain task indicator data, and to construct scheduling indicator data according to the task indicator data and the acquired performance data of the second open source component;
[0125] A prediction module 14 is used to input the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization goal of the multi-objective optimization scheduling model reflects minimizing the completion time and maximizing the resource utilization rate;
[0126] The generation module 15 is used to generate a scheduling decision according to the scheduling result, and execute the task requirement based on the scheduling decision.
[0127] Preferably, in an embodiment of the present invention, the optimization module is used to:
[0128] Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component;
[0129] According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph;
[0130] Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions;
[0131] An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
[0132] Preferably, in an embodiment of the present invention, the building block is used to:
[0133] Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data;
[0134] Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices;
[0135] A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
[0136] Preferably, in the embodiment of the present invention, the prediction module is further used for:
[0137] Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;
[0138] defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization;
[0139] Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model;
[0140] Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model;
[0141] The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
[0142] Preferably, in the embodiment of the present invention, the prediction module is further used for:
[0143] Randomly generate a set of initial scheduling solutions based on the historical scheduling data;
[0144] During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function;
[0145] During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution;
[0146] The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
[0147] Compared with the prior art, the embodiments of the present invention have the following advantages:
[0148] 1) The present invention can flexibly respond to tasks of different types, different urgency levels and different execution time requirements by analyzing the task requirements in detail, including task type, urgency level and execution time. This flexibility enables the system to adapt to rapidly changing task environments;
[0149] 2) The present invention adopts a pre-trained multi-objective optimization scheduling model, which can simultaneously consider optimization goals such as minimizing completion time and maximizing resource utilization. This multi-objective optimization method helps to ensure efficient completion of tasks while also achieving rational utilization and conservation of resources;
[0150] 3) The present invention can automatically analyze task requirements and optimize the performance of open source components, reducing the workload of manual intervention and configuration. This intelligent and automated processing method improves the operation and maintenance efficiency and accuracy of the system.
[0151] The above-mentioned embodiments only express several implementation methods of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. An adaptive scheduling method based on open source components, characterized in that: The following steps are involved: Acquire the task requirements of the target system, analyze the task requirements, and obtain task type data, urgency information, and execution time data of each task in the task requirements; Acquire a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components; Based on the hierarchical analysis method, corresponding weights are assigned to the task type data, the urgency information, and the execution time data to obtain task indicator data, and scheduling indicator data is constructed according to the task indicator data and the obtained performance data of the second open source component; Inputting the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization objective of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization; A scheduling decision is generated according to the scheduling result, and the task requirement is executed based on the scheduling decision.
2. The adaptive scheduling method based on open source components according to claim 1, characterized in that: The step of optimizing the performance of the first open source component to obtain an optimized second open source component includes: Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component; According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph; Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions; An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
3. The adaptive scheduling method based on open source components according to claim 1, characterized in that: The method of assigning corresponding weights to the task type data, the urgency information and the execution time data based on the hierarchical analysis method to obtain task indicator data includes: Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data; Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices; A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
4. The adaptive scheduling method based on open source components according to claim 1, characterized in that: Before inputting the performance data and the initial priority into the pre-trained multi-objective optimization scheduling model for prediction, the method further includes: Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data; defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization; Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model; Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model; The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
5. The adaptive scheduling method based on open source components according to claim 4 is characterized in that: The training of the multi-objective optimization scheduling model according to the historical scheduling data includes: Randomly generate a set of initial scheduling solutions based on the historical scheduling data; During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function; During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution; The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
6. An adaptive scheduling device based on open source components, characterized in that: Includes the following modules: An acquisition module is used to acquire the task requirements of the target system, analyze the task requirements, and obtain task type data, urgency information, and execution time data of each task in the task requirements; an optimization module, configured to obtain a first open source component that matches the function of the task requirement, and optimize the performance of the first open source component to obtain an optimized second open source component, wherein the performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component itself and other open source components; A construction module, used to assign corresponding weights to the task type data, the urgency information and the execution time data respectively based on the hierarchical analysis method to obtain task indicator data, and to construct scheduling indicator data according to the task indicator data and the acquired performance data of the second open source component; A prediction module, used for inputting the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain a scheduling result, wherein the optimization objective of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization; A generation module is used to generate a scheduling decision according to the scheduling result, and execute the task requirement based on the scheduling decision.
7. The adaptive scheduling device based on open source components according to claim 6, characterized in that: The optimization module is used to: Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology, and obtain a dependency relationship of the first open source component; According to the dependency relationship, the software scheduling knowledge graph is constructed with open source components as nodes of the software scheduling knowledge graph and with the dependency relationship between components as edges of the software scheduling knowledge graph; Traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm to locate conflict points in the software scheduling knowledge graph, wherein the improved conflict detection algorithm is designed to use semantic version control to determine the compatibility between various component versions; An optimization plan is formulated based on the conflict point to obtain an optimized second open source component, wherein the optimization plan includes version update, dependency isolation and component replacement.
8. The adaptive scheduling device based on open source components according to claim 6, characterized in that: The building blocks are used to: Building a hierarchical model based on the task requirements, the hierarchical model includes a target layer, a criterion layer and a scheme layer; the criterion layer includes various factors affecting the scheduling decision, namely, the task type data, the urgency information and the execution time data; Constructing multiple judgment matrices to compare the relative importance of each of the factors, and calculating the weight vector corresponding to each of the judgment matrices; A consistency check is performed on each of the judgment matrices, and the weight vector corresponding to the judgment matrix that passes the consistency check is applied to the quantized value of each of the factors to obtain scheduling index data.
9. The adaptive scheduling device based on open source components according to claim 6, characterized in that: The prediction module is further used for: Collecting historical scheduling data, wherein the historical scheduling data includes task requirement data of the target system, performance data of open source components, and actual scheduling result data; defining an objective function according to a scheduling objective, wherein the scheduling objective includes minimizing completion time and maximizing resource utilization; Combining the objective function with a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model; Training the multi-objective optimization scheduling model according to the historical scheduling data to obtain the trained multi-objective optimization scheduling model; The multi-objective optimization scheduling model is verified based on the prepared test data set, and the multi-objective optimization scheduling model is optimized according to the verification result to obtain the pre-trained multi-objective optimization scheduling model.
10. The adaptive scheduling device based on open source components according to claim 9, characterized in that: The prediction module is further used for: Randomly generate a set of initial scheduling solutions based on the historical scheduling data; During the scheme evaluation process, each of the scheduling objectives in the initial scheduling scheme is evaluated by using the objective function; During the evolutionary operation, an evolutionary operation is performed according to the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling solution; The scheme evaluation process and the evolutionary operation process are repeated until a preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.
Citation Information
Patent Citations
Intelligent cloud coordination method and device based on platform service type
CN114721833A
Method for optimizing large-scale cloud service process
WO2022198754A1
Cited By
Software-defined charging pile system implementation method and system, charging pile and equipment
CN119621140A