An adaptive scheduling method and device based on open source components

By optimizing the performance of open-source components through adaptive scheduling methods and models, the problem of low efficiency of traditional scheduling methods in dynamic environments is solved, and efficient task completion and rational resource utilization are achieved.

CN119356807BActive Publication Date: 2026-03-17STATE GRID ELECTRONIC COMMERCE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Traditional scheduling methods cannot adapt to dynamically changing system environments and business needs, resulting in low task scheduling efficiency.

Method used

An adaptive scheduling method based on open-source components is adopted. By acquiring task requirements, analyzing task types, urgency, and execution time, the performance of open-source components is optimized, and scheduling decisions are made using the analytic hierarchy process and a multi-objective optimization scheduling model.

Benefits of technology

It improves the system's flexibility and operational efficiency, enabling it to adapt to rapidly changing task environments while achieving rational utilization and conservation of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356807B_ABST
    Figure CN119356807B_ABST
Patent Text Reader

Abstract

The application discloses an adaptive scheduling method and device based on open source components, wherein the method comprises the following steps: obtaining task requirements of a target system, analyzing the task requirements to obtain task type data, urgency information and execution time data of each task in the task requirements; obtaining a first open source component matched with the task requirement function, performing performance optimization on the first open source component to obtain a second open source component after optimization; respectively assigning corresponding weights to the task type data, the urgency information and the execution time data based on an analytic hierarchy process to obtain task index data, and constructing scheduling index data according to the task index data and performance data of the obtained 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; and generating a scheduling decision according to the scheduling result and executing the task requirement based on the scheduling decision. The method provided by the application improves the scheduling efficiency of the open source component.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of automated scheduling, and in particular to an adaptive scheduling method and apparatus based on open-source components. Background Technology

[0002] In today's highly information-driven and digitalized era, the complexity and scale of software systems and applications are constantly increasing, leading to ever-higher demands for system performance and reliability. To address these challenges, software development and operations teams are increasingly adopting open-source components to build and extend systems. Open-source components, with their flexibility, scalability, and cost-effectiveness, have become an indispensable part of modern software development.

[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, requiring rapid response and processing. Existing technologies are often optimized for specific types of tasks, making them inadequate when handling different types of tasks. When task requirements change, the system needs to undergo extensive modifications or reconfigurations to adapt to the new task environment, thereby reducing the efficiency of task scheduling. Summary of the Invention

[0004] The present invention aims to provide an adaptive scheduling method and apparatus based on open source components, so as to solve the technical problem of how to improve the scheduling efficiency of open source components.

[0005] To address the aforementioned technical problems, this invention provides an adaptive scheduling method based on open-source components, comprising the following steps:

[0006] Obtain 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;

[0007] Obtain a first open-source component that matches the functional requirements of the task, optimize the performance of the first open-source component, and obtain an optimized second open-source component. The performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open-source component and other open-source components.

[0008] Based on the analytic hierarchy process, corresponding weights are assigned to the task type data, the urgency information, and the execution time data to obtain task indicator data. Scheduling indicator data is then constructed based on the task indicator data and the performance data of the second open-source component.

[0009] The scheduling index data is input into a pre-trained multi-objective optimization scheduling model for prediction to obtain the scheduling result. The optimization objective of the multi-objective optimization scheduling model reflects minimizing the completion time and maximizing the resource utilization rate.

[0010] Based on the scheduling results, a scheduling decision is generated, and the task requirements are executed based on the scheduling decision.

[0011] As one preferred embodiment, the performance optimization of the first open-source component to obtain the optimized second open-source component includes:

[0012] Obtain the text information of the first open-source component, and perform feature extraction on the text information based on natural language processing technology to obtain the 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 and the dependency relationships between components as edges.

[0014] The improved conflict detection algorithm traverses each edge in the software scheduling knowledge graph to locate conflict points in the software scheduling knowledge graph. The improved conflict detection algorithm is designed to use semantic versioning to determine the compatibility between versions of various components.

[0015] Based on the conflict points, an optimization scheme is formulated to obtain an optimized second open-source component, wherein the optimization scheme includes version updates, dependency isolation, and component replacement.

[0016] As one preferred embodiment, the task indicator data is obtained by assigning corresponding weights to the task type data, the urgency information, and the execution time data based on the analytic hierarchy process (AHP) to:

[0017] A hierarchical model is constructed based on the task requirements. The hierarchical model includes an objective layer, a criterion layer, and a solution layer. The criterion layer includes various factors that affect scheduling decisions, namely, the task type data, the urgency information, and the execution time data.

[0018] Construct multiple judgment matrices to compare the relative importance of each of the factors, and calculate the weight vector corresponding to each judgment matrix;

[0019] A consistency check is performed on each of the judgment matrices, and the weight vectors corresponding to the judgment matrices that pass the consistency check are applied to the quantified values ​​of each factor to obtain scheduling index data.

[0020] As one preferred embodiment, before inputting the performance data and the initial priority into the pre-trained multi-objective optimization scheduling model for prediction, the method further includes:

[0021] Collect historical scheduling data, which includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;

[0022] Define an objective function based on the scheduling objective, wherein the scheduling objective includes minimizing the completion time and maximizing resource utilization;

[0023] The objective function and the multi-objective evolutionary algorithm are combined to construct an initial multi-objective optimization scheduling model;

[0024] The multi-objective optimization scheduling model is trained based on the historical scheduling data to obtain the trained multi-objective optimization scheduling model;

[0025] The multi-objective optimization scheduling model is validated based on the prepared test dataset, and then optimized according to the validation results to obtain the pre-trained multi-objective optimization scheduling model.

[0026] As one preferred embodiment, training the multi-objective optimization scheduling model based on the historical scheduling data includes:

[0027] A set of initial scheduling schemes is randomly generated based on the historical scheduling data;

[0028] During the scheme evaluation process, the objective function is used to evaluate each of the scheduling objectives in the initial scheduling scheme;

[0029] During the evolutionary process, the evolutionary operation is performed based on the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling scheme;

[0030] Repeat the scheme evaluation process and the evolutionary operation process until the 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, comprising:

[0032] The acquisition module 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;

[0033] An optimization module is used to obtain a first open-source component that matches the functional requirements of the task, optimize the performance of the first open-source component, and obtain an optimized second open-source component. The performance optimization is designed to eliminate the performance impact caused by dependency conflicts between the first open-source component and other open-source components.

[0034] The module is used to assign corresponding weights to the task type data, the urgency information and the execution time data based on the analytic hierarchy process to obtain task indicator data, and to construct scheduling indicator data based on the task indicator data and the performance data of the second open source component.

[0035] The prediction module is used to input the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain the scheduling result. The optimization objective of the multi-objective optimization scheduling model reflects minimizing the completion time and maximizing the resource utilization rate.

[0036] The generation module is used to generate a scheduling decision based on the scheduling result, and execute the task requirements based on the scheduling decision.

[0037] As one preferred embodiment, the optimization module is used for:

[0038] Obtain the text information of the first open-source component, and perform feature extraction on the text information based on natural language processing technology to obtain the 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 and the dependency relationships between components as edges.

[0040] The improved conflict detection algorithm traverses each edge in the software scheduling knowledge graph to locate conflict points in the software scheduling knowledge graph. The improved conflict detection algorithm is designed to use semantic versioning to determine the compatibility between versions of various components.

[0041] Based on the conflict points, an optimization scheme is formulated to obtain an optimized second open-source component, wherein the optimization scheme includes version updates, dependency isolation, and component replacement.

[0042] As one preferred embodiment, the construction module is used for:

[0043] A hierarchical model is constructed based on the task requirements. The hierarchical model includes an objective layer, a criterion layer, and a solution layer. The criterion layer includes various factors that affect scheduling decisions, namely, the task type data, the urgency information, and the execution time data.

[0044] Construct multiple judgment matrices to compare the relative importance of each of the factors, and calculate the weight vector corresponding to each judgment matrix;

[0045] A consistency check is performed on each of the judgment matrices, and the weight vectors corresponding to the judgment matrices that pass the consistency check are applied to the quantified values ​​of each factor to obtain scheduling index data.

[0046] As one preferred embodiment, the prediction module is further configured to:

[0047] Collect historical scheduling data, which includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;

[0048] Define an objective function based on the scheduling objective, wherein the scheduling objective includes minimizing the completion time and maximizing resource utilization;

[0049] The objective function and the multi-objective evolutionary algorithm are combined to construct an initial multi-objective optimization scheduling model;

[0050] The multi-objective optimization scheduling model is trained based on the historical scheduling data to obtain the trained multi-objective optimization scheduling model;

[0051] The multi-objective optimization scheduling model is validated based on the prepared test dataset, and then optimized according to the validation results to obtain the pre-trained multi-objective optimization scheduling model.

[0052] As one preferred embodiment, the prediction module is further configured to:

[0053] A set of initial scheduling schemes is randomly generated based on the historical scheduling data;

[0054] During the scheme evaluation process, the objective function is used to evaluate each of the scheduling objectives in the initial scheduling scheme;

[0055] During the evolutionary process, the evolutionary operation is performed based on the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling scheme;

[0056] Repeat the scheme evaluation process and the evolutionary operation process until the preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.

[0057] Compared with the prior art, the beneficial effects of the embodiments of the present invention are at least one of the following:

[0058] 1) This invention, through detailed analysis of task requirements, including task type, urgency, and execution time, can flexibly respond to tasks of different types, urgency levels, and execution time requirements. This flexibility enables the system to adapt to rapidly changing task environments;

[0059] 2) This invention employs a pre-trained multi-objective optimization scheduling model, which can simultaneously consider optimization objectives such as minimizing completion time and maximizing resource utilization. This multi-objective optimization method helps to ensure efficient task completion while also achieving rational utilization and conservation of resources;

[0060] 3) This 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 system's operational efficiency and accuracy. Attached Figure Description

[0061] Figure 1 This is a flowchart illustrating an adaptive scheduling method based on open-source components in one embodiment of the present invention.

[0062] Figure 2 This is a schematic diagram of the structure of an adaptive scheduling device based on open-source components in one embodiment of the present invention. Detailed Implementation

[0063] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all 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 those of ordinary skill in the art without creative effort 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 should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first," "second," "third," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0065] In the description of this application, it should be noted that, unless otherwise expressly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal communication between two components. The terms "vertical," "horizontal," "left," "right," "upper," "lower," and similar expressions used herein are for illustrative purposes only and do not indicate or imply that the device or component referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as limiting the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.

[0066] In the description of this application, it should be noted that, unless otherwise defined, all technical and scientific terms used in this invention have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used in this specification is for the purpose of describing specific embodiments only and is not intended to limit the invention. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.

[0067] One embodiment of the present invention provides an adaptive scheduling method based on open-source components. For details, please refer to [link to relevant documentation]. Figure 1 , Figure 1 The diagram illustrates a flowchart of an adaptive scheduling method based on open-source components provided in one embodiment of the present invention. It includes steps S1 to S5:

[0068] S1. Obtain 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;

[0069] First, determine the source of the task requirements, which may come from users, business requirement documents, system logs, or other relevant channels. Compile all collected task requirements into a comprehensive requirement list, and categorize the tasks in the list for subsequent analysis and processing.

[0070] Based on the specific content and purpose of the task, define different task types, such as data processing tasks, scheduled tasks, and real-time tasks. Classify each task into the corresponding task type and record the task type data.

[0071] Develop a set of criteria for assessing the urgency of tasks, which may include factors such as the time requirement for task completion and the degree of impact on the system or business. Assess the urgency of each task according to the criteria and assign it a corresponding urgency value or label (such as high, medium, low).

[0072] Clearly define 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 functional requirements of the task, optimize the performance of the first open-source component, and obtain an optimized second open-source component. The performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open-source component and other open-source components.

[0074] First, based on the functional requirements of the task, identify which open-source components are needed to support the implementation of these functions.

[0075] Search through open-source communities, code repositories (such as GitHub, GitLab, etc.), or dedicated open-source component libraries to filter out open-source components that match the functional requirements of the task. Evaluate the selected open-source components, considering factors such as stability, activity level, documentation completeness, and community support, and finally select the most suitable first open-source component.

[0076] Preferably, in this embodiment of the invention, the step of optimizing the performance of the first open-source component to obtain the optimized second open-source component includes:

[0077] Obtain the text information of the first open-source component, and perform feature extraction on the text information based on natural language processing technology to obtain the 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 and the dependency relationships between components as edges.

[0079] The improved conflict detection algorithm traverses each edge in the software scheduling knowledge graph to locate conflict points in the software scheduling knowledge graph. The improved conflict detection algorithm is designed to use semantic versioning to determine the compatibility between versions of various components.

[0080] Based on the conflict points, an optimization scheme is formulated to obtain an optimized second open-source component, wherein the optimization scheme includes version updates, dependency isolation, and component replacement.

[0081] Specifically, Natural Language Processing (NLP) techniques are used to extract features from the collected text information. This typically involves steps such as text preprocessing (e.g., word segmentation, stop word removal, part-of-speech tagging), 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. Each node represents a specific open-source component, containing basic information about the component (such as name, version, and feature description). The dependencies between components are used as edges in the graph. Based on the dependency information extracted in step 1, a dependency network between components is constructed. These edges can be directed, representing the direction of dependencies between components.

[0083] An improved conflict detection algorithm is used to traverse the edges of the software scheduling knowledge graph. This algorithm should be able to efficiently traverse the graph while considering complex dependencies between components. During traversal, semantic versioning (SemVer) is used to determine the compatibility between component versions. Semantic versioning uses version numbers (e.g., major version, minor version, revision number) to convey API compatibility changes, thus helping to identify potential version conflicts. By comparing dependencies and version compatibility between components, conflict points in the software scheduling knowledge graph are located. These conflict points may involve issues such as incompatible component versions and circular dependencies.

[0084] For conflicts caused by version incompatibility, consider updating the component to a new, compatible version. This typically involves finding and replacing the version number in the component's dependency declaration. If there are complex dependencies between multiple components and conflicts are difficult to resolve through version updates, consider using a dependency isolation strategy. For example, use container technology (such as Docker) to isolate conflicting components and run them in different environments. If a component's conflict cannot be resolved using the above methods, and the component's functionality can be replaced by other components, then consider replacing that component. This requires a careful evaluation of the overall system architecture and component functionality.

[0085] By following the steps above, we can obtain the first open-source component that matches the functional requirements of the task and effectively optimize its performance to eliminate the performance impact caused by dependency conflicts. This not only improves the overall performance of the system but also enhances its stability and reliability.

[0086] S3. Based on the analytic hierarchy process, assign corresponding weights to the task type data, the urgency information and the execution time data to obtain task indicator data, and construct scheduling indicator data based on the task indicator data and the 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 performance data of the second open-source component is combined to construct scheduling indicator data.

[0088] Preferably, in this embodiment of the invention, the assignment of corresponding weights to the task type data, the urgency information, and the execution time data based on the analytic hierarchy process to obtain task indicator data includes:

[0089] A hierarchical model is constructed based on the task requirements. The hierarchical model includes an objective layer, a criterion layer, and a solution layer. The criterion layer includes various factors that affect scheduling decisions, namely, the task type data, the urgency information, and the execution time data.

[0090] Construct multiple judgment matrices to compare the relative importance of each of the factors, and calculate the weight vector corresponding to each judgment matrix;

[0091] A consistency check is performed on each of the judgment matrices, and the weight vectors corresponding to the judgment matrices that pass the consistency check are applied to the quantified values ​​of each factor to obtain scheduling index data.

[0092] Specifically, this invention decomposes the problem into different components and groups them at different levels according to their interrelationships and hierarchical relationships to form a multi-level analytical structure model. In this model, the highest level is the goal layer (i.e., task scheduling optimization), the middle layer is the criterion layer (i.e., task type data, urgency information, and execution time data), and the lowest level is the solution layer (if there are multiple candidate solutions, they are listed at this layer; however, in this problem, we mainly focus on the weight allocation of the criterion layer).

[0093] For each factor in the criteria layer, a judgment matrix is ​​constructed to compare its relative importance with other factors. For example, a judgment matrix is ​​constructed to compare the relative importance of task type data (T) with urgency information (E) and execution time data (D); then two more judgment matrices are constructed to compare the relative importance of E with T and D, and the relative importance of D with T and E. The 1-9 scaling method (or other suitable scaling method) is used to quantify the comparison results. For example, if task type data (T) is considered slightly more important than urgency information (E), then 3 (or the corresponding scaling value) is entered at the intersection of the row corresponding to T and the column corresponding to E, and 1 / 3 is entered at the intersection of the row corresponding to E and the column corresponding to T, to maintain the reciprocity of the matrices.

[0094] For each decision matrix, its largest eigenvalue and its corresponding eigenvector are calculated using mathematical methods (such as the eigenvalue method, the sum-product method, etc.). The eigenvectors are then normalized to obtain the weight vector for each factor. This weight vector represents the relative importance of each factor in the scheduling decision.

[0095] Since the judgment matrix is ​​artificially constructed, inconsistencies may exist. Therefore, a consistency check is needed for each judgment matrix. First, the consistency index is calculated. 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 a 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, specific quantitative values ​​are given based on its task type data, urgency information, and execution time data (these values ​​can be numerical, graded, or other forms of measurement).

[0097] These quantified values ​​are weighted and summed using a weight vector that has passed the consistency check (or other weighting methods are used depending on specific needs) to obtain the scheduling index data for the task. This scheduling index data will be used in subsequent scheduling decision-making processes to determine the task priority and execution order.

[0098] S4. Input the scheduling index data into the pre-trained multi-objective optimization scheduling model for prediction to obtain the scheduling result. The optimization objective of the multi-objective optimization scheduling model reflects minimizing the completion time and maximizing the resource utilization rate.

[0099] Preferably, in this embodiment of the invention, before inputting the performance data and the initial priority into the pre-trained multi-objective optimization scheduling model for prediction, the method further includes:

[0100] Collect historical scheduling data, which includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;

[0101] Define an objective function based on the scheduling objective, wherein the scheduling objective includes minimizing the completion time and maximizing resource utilization;

[0102] The objective function and the multi-objective evolutionary algorithm are combined to construct an initial multi-objective optimization scheduling model;

[0103] The multi-objective optimization scheduling model is trained based on the historical scheduling data to obtain the trained multi-objective optimization scheduling model;

[0104] The multi-objective optimization scheduling model is validated based on the prepared test dataset, and then optimized according to the validation results to obtain the pre-trained multi-objective optimization scheduling model.

[0105] Specifically, this involves collecting data related to tasks executed by the target system in the past, including task type, urgency, and execution time requirements. It also involves recording performance metrics for each open-source component under different loads, such as response time, throughput, and resource utilization. Finally, it involves recording the actual results of each scheduling, including task completion time, resource usage, and whether task requirements were met.

[0106] Define corresponding objective functions based on scheduling objectives (such as minimizing completion time and maximizing resource utilization). These objective functions will be used to evaluate the effectiveness of different scheduling schemes. Combine the defined objective functions with multi-objective evolutionary algorithms (such as NSGA-II, MOEA / D, etc.) to construct an initial multi-objective optimization scheduling model. Multi-objective evolutionary algorithms can simultaneously optimize multiple objectives in a single run and generate a set of Pareto optimal solutions.

[0107] The initial multi-objective optimization scheduling model is trained using collected historical scheduling data. During training, the model learns how to predict the optimal scheduling scheme based on task requirements and component performance data. After sufficient training and validation, a pre-trained multi-objective optimization scheduling model is obtained. This model can predict the optimal scheduling scheme based on new task requirements and component performance data.

[0108] Preferably, in this embodiment of the invention, training the multi-objective optimization scheduling model based on the historical scheduling data includes:

[0109] A set of initial scheduling schemes is randomly generated based on the historical scheduling data;

[0110] During the scheme evaluation process, the objective function is used to evaluate each of the scheduling objectives in the initial scheduling scheme;

[0111] During the evolutionary process, the evolutionary operation is performed based on the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling scheme;

[0112] Repeat the scheme evaluation process and the evolutionary operation process until the preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.

[0113] Based on the evaluation results, a multi-objective evolutionary algorithm is used for evolutionary operations. These operations include selection, crossover (or recombination), and mutation, aiming to generate new, potentially better scheduling schemes.

[0114] Selection: A subset of excellent scheduling schemes are chosen from the current population to serve as parents for generating the next generation. The selection process is typically based on the evaluation results, i.e., the value of the objective function.

[0115] Crossover (or reorganization): The selected parent scheduling scheme is crossovered to generate a new child scheduling scheme. Crossover may involve adjustments to multiple aspects such as task allocation, execution order, and resource allocation;

[0116] Mutation: Randomly mutate the offspring scheduling scheme to increase population diversity. The mutation operation may change some elements of the scheduling scheme with a small probability.

[0117] After multiple iterations, the model will gradually converge to a set of Pareto optimal or near-optimal solutions. Ultimately, the trained multi-objective optimization scheduling model will be able to quickly generate a set of high-quality scheduling schemes for decision-makers to choose from, based on new task requirements and component performance data.

[0118] S5. Generate a scheduling decision based on the scheduling result, and execute the task requirements based on the scheduling decision.

[0119] Based on actual needs and constraints (such as task priority, resource availability, time limits, etc.), the most suitable scheme is selected as the scheduling decision from the parsed scheduling results. The scheduling decision includes which component should execute each task, when to start execution, how to arrange the execution order, and how to allocate the required resources.

[0120] The scheduling decision is communicated to the relevant execution entities (such as compute nodes, virtual machines, containers, etc.) or the management system. The execution entities or management system then configure and execute the task based on the scheduling decision. This may include starting the task, allocating resources, and monitoring the execution process. During execution, it may be necessary to monitor the task's execution status and performance metrics in real time to ensure the task proceeds smoothly according to the predetermined plan. If any anomalies or performance bottlenecks are detected, timely adjustments or optimizations should be taken. After the task execution is complete, 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 optimizations.

[0121] Another embodiment of the present invention provides an adaptive scheduling device based on open-source components. For details, please refer to [link to relevant documentation]. Figure 2 , Figure 2 The diagram shows a schematic representation of an adaptive scheduling device based on open-source components provided in one embodiment of the present invention. 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] Optimization module 12 is used to obtain a first open source component that matches the function requirements of the task, optimize the performance of the first open source component, and obtain an optimized second open source component. The performance optimization is designed to eliminate the performance impact caused by the dependency conflict between the first open source component and other open source components.

[0124] Module 13 is used to assign corresponding weights to the task type data, the urgency information and the execution time data based on the analytic hierarchy process to obtain task indicator data, and to construct scheduling indicator data based on the task indicator data and the performance data of the second open source component.

[0125] Prediction module 14 is used to input the scheduling index data into a pre-trained multi-objective optimization scheduling model for prediction to obtain scheduling results. The optimization objective of the multi-objective optimization scheduling model reflects minimizing the completion time and maximizing resource utilization.

[0126] The generation module 15 is used to generate a scheduling decision based on the scheduling result and execute the task requirements based on the scheduling decision.

[0127] Preferably, in this embodiment of the invention, the optimization module is used to:

[0128] Obtain the text information of the first open-source component, and perform feature extraction on the text information based on natural language processing technology to obtain the 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 and the dependency relationships between components as edges.

[0130] The improved conflict detection algorithm traverses each edge in the software scheduling knowledge graph to locate conflict points in the software scheduling knowledge graph. The improved conflict detection algorithm is designed to use semantic versioning to determine the compatibility between versions of various components.

[0131] Based on the conflict points, an optimization scheme is formulated to obtain an optimized second open-source component, wherein the optimization scheme includes version updates, dependency isolation, and component replacement.

[0132] Preferably, in this embodiment of the invention, the building module is used for:

[0133] A hierarchical model is constructed based on the task requirements. The hierarchical model includes an objective layer, a criterion layer, and a solution layer. The criterion layer includes various factors that affect scheduling decisions, namely, the task type data, the urgency information, and the execution time data.

[0134] Construct multiple judgment matrices to compare the relative importance of each of the factors, and calculate the weight vector corresponding to each judgment matrix;

[0135] A consistency check is performed on each of the judgment matrices, and the weight vectors corresponding to the judgment matrices that pass the consistency check are applied to the quantified values ​​of each factor to obtain scheduling index data.

[0136] Preferably, in this embodiment of the invention, the prediction module is further configured to:

[0137] Collect historical scheduling data, which includes task requirement data of the target system, performance data of open source components, and actual scheduling result data;

[0138] Define an objective function based on the scheduling objective, wherein the scheduling objective includes minimizing the completion time and maximizing resource utilization;

[0139] The objective function and the multi-objective evolutionary algorithm are combined to construct an initial multi-objective optimization scheduling model;

[0140] The multi-objective optimization scheduling model is trained based on the historical scheduling data to obtain the trained multi-objective optimization scheduling model;

[0141] The multi-objective optimization scheduling model is validated based on the prepared test dataset, and then optimized according to the validation results to obtain the pre-trained multi-objective optimization scheduling model.

[0142] Preferably, in this embodiment of the invention, the prediction module is further configured to:

[0143] A set of initial scheduling schemes is randomly generated based on the historical scheduling data;

[0144] During the scheme evaluation process, the objective function is used to evaluate each of the scheduling objectives in the initial scheduling scheme;

[0145] During the evolutionary process, the evolutionary operation is performed based on the evaluation results and the multi-objective evolutionary algorithm to obtain a new scheduling scheme;

[0146] Repeat the scheme evaluation process and the evolutionary operation process until the preset number of iterations is met to complete the training of the multi-objective optimization scheduling model.

[0147] Compared with the prior art, the beneficial effects of the embodiments of the present invention are at least one of the following:

[0148] 1) This invention, through detailed analysis of task requirements, including task type, urgency, and execution time, can flexibly respond to tasks of different types, urgency levels, and execution time requirements. This flexibility enables the system to adapt to rapidly changing task environments;

[0149] 2) This invention employs a pre-trained multi-objective optimization scheduling model, which can simultaneously consider optimization objectives such as minimizing completion time and maximizing resource utilization. This multi-objective optimization method helps to ensure efficient task completion while also achieving rational utilization and conservation of resources;

[0150] 3) This 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 system's operational efficiency and accuracy.

[0151] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention. Therefore, the scope of protection of this patent should be determined by the appended claims.

Claims

1. An adaptive scheduling method based on open source components, characterized in that, The method comprises the following steps: obtaining task requirements of a target system, analyzing the task requirements to obtain task type data, urgency information and execution time data of each task in the task requirements; obtaining a first open source component matched with the task requirement function, performing performance optimization on the first open source component to obtain a second open source component after optimization, and 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; assigning corresponding weights to the task type data, the urgency information and the execution time data based on the analytic hierarchy process to obtain task index data, and constructing scheduling index data according to the task index data and the performance data of the obtained 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, and the optimization objective of the multi-objective optimization scheduling model reflects the minimization of completion time and the maximization of resource utilization; generating a scheduling decision based on the scheduling result, and executing the task requirements based on the scheduling decision; wherein the performance optimization of the first open source component to obtain the second open source component after optimization comprises: obtaining text information of the first open source component, performing feature extraction on the text information based on natural language processing technology to obtain the dependency relationship of the first open source component; constructing a software scheduling knowledge graph according to the dependency relationship, wherein the software scheduling knowledge graph is constructed by taking open source components as nodes of the software scheduling knowledge graph and taking dependency relationships between components as edges of the software scheduling knowledge graph; locating conflict points in the software scheduling knowledge graph by traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm, and the improved conflict detection algorithm is designed to determine the compatibility between versions of each component by using semantic version control; formulating an optimization scheme based on the conflict points to obtain the second open source component after optimization, wherein the optimization scheme includes version update, dependency isolation and component replacement.

2. The open source component based adaptive scheduling method of claim 1, wherein, The method comprises the following steps: constructing a hierarchical structure model based on the task requirements, wherein the hierarchical structure model comprises a target layer, a criterion layer and a scheme layer; the criterion layer comprises various factors affecting the scheduling decision, i.e. the task type data, the urgency information and the execution time data; constructing multiple judgment matrices to compare the relative importance between each of the factors, and calculating the weight vector corresponding to each of the judgment matrices; performing consistency check on each of the judgment matrices, applying the weight vector corresponding to the judgment matrix that passes the consistency check to the quantitative value of each of the factors to obtain scheduling index data.

3. The open source component based adaptive scheduling method of claim 1, wherein, Before inputting the scheduling index data into the pre-trained multi-objective optimization scheduling model for prediction, the method further comprises: Collect historical scheduling data, the historical scheduling data including task demand data of a target system, performance data of open source components and actual scheduling result data; Define a target function according to scheduling targets, the scheduling targets including minimizing completion time and maximizing resource utilization; Combine the target function and a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model; Train the multi-objective optimization scheduling model according to the historical scheduling data to obtain a trained multi-objective optimization scheduling model; Verify the multi-objective optimization scheduling model based on a prepared test data set, optimize the multi-objective optimization scheduling model according to a verification result, and obtain a pre-trained multi-objective optimization scheduling model.

4. The open source component based adaptive scheduling method of claim 3, wherein, The training of the multi-objective optimization scheduling model according to the historical scheduling data comprises: Randomly generating a group of initial scheduling schemes based on the historical scheduling data; In the scheme evaluation process, evaluating each scheduling target in the initial scheduling scheme through the target function; In the evolution operation process, performing evolution operation according to the evaluation result and the multi-objective evolutionary algorithm to obtain a new scheduling scheme; Repeat the scheme evaluation process and the evolution operation process until a preset iteration number is met to complete the training of the multi-objective optimization scheduling model.

5. An open source component based adaptive scheduling apparatus, characterized by, The method comprises the following modules: An acquisition module is configured to acquire task demand of a target system, analyze the task demand, and obtain task type data, urgency information and execution time data of each task in the task demand; An optimization module is configured to acquire a first open source component matched with the task demand, perform performance optimization on the first open source component, and 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 is configured to assign corresponding weights to the task type data, the urgency information and the execution time data based on the analytic hierarchy process to obtain task index data, and construct scheduling index data according to the task index data and the performance data of the acquired second open source component; A prediction module is configured 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 target of the multi-objective optimization scheduling model reflects minimizing completion time and maximizing resource utilization; A generation module is configured to generate a scheduling decision according to the scheduling result, and execute the task demand based on the scheduling decision; The optimization module is configured to: Acquire text information of the first open source component, perform feature extraction on the text information based on natural language processing technology to obtain dependency relationships of the first open source component; Construct a software scheduling knowledge graph according to the dependency relationships, wherein the software scheduling knowledge graph is constructed by taking open source components as nodes of the software scheduling knowledge graph and taking dependency relationships between components as edges of the software scheduling knowledge graph. Conflict points in the software scheduling knowledge graph are located by traversing each edge in the software scheduling knowledge graph through an improved conflict detection algorithm designed to determine compatibility between versions of each component using semantic version control; An optimization scheme is formulated based on the conflict points to obtain an optimized second open source component, wherein the optimization scheme includes version updating, dependency isolation, and component replacement.

6. The open source component based adaptive scheduling apparatus of claim 5, wherein, The construction module is configured to: construct a hierarchical model based on the task requirements, wherein the hierarchical model includes a target layer, a criterion layer, and a scheme layer; the criterion layer includes various factors affecting scheduling decisions, i.e., the task type data, the urgency information, and the execution time data; construct multiple judgment matrices to compare the relative importance between each of the factors, and calculate a weight vector corresponding to each of the judgment matrices; perform consistency checking on each of the judgment matrices, and apply the weight vector corresponding to the judgment matrix that passes the consistency checking to the quantitative values of each of the factors to obtain scheduling index data.

7. The open source component based adaptive scheduling apparatus of claim 5, wherein, The prediction module is further configured to: collect historical scheduling data, including task requirement data of a target system, performance data of open source components, and actual scheduling result data; define an objective function according to scheduling objectives, wherein the scheduling objectives include minimizing completion time and maximizing resource utilization; combine the objective function and a multi-objective evolutionary algorithm to construct an initial multi-objective optimization scheduling model; train the multi-objective optimization scheduling model based on the historical scheduling data to obtain a trained multi-objective optimization scheduling model; validate the multi-objective optimization scheduling model based on a prepared test data set, optimize the multi-objective optimization scheduling model according to the validation result, and obtain a pre-trained multi-objective optimization scheduling model.

8. The open source component based adaptive scheduling apparatus of claim 7, wherein, The prediction module is further configured to: randomly generate a set of initial scheduling schemes based on the historical scheduling data; evaluate each of the scheduling objectives in the initial scheduling schemes through the objective function during a scheme evaluation process; perform evolutionary operations according to the evaluation results and the multi-objective evolutionary algorithm during an evolutionary operation process to obtain new scheduling schemes; repeat the scheme evaluation process and the evolutionary operation process until a preset number of iterations is met to complete training of the multi-objective optimization scheduling model.

Citation Information

Patent Citations

  • Adaptive coefficient genetic algorithm-based cloud manufacturing service resource matching method

    CN107679750A

  • Optimal scheduling decision-making method and system based on AHP

    CN115061815A