Calculation method for construction period of electric power information system
By constructing a task dependency graph and a reinforcement learning model, and combining dependency relationships and resource state characteristics, the project duration of the power information system is dynamically calculated, which solves the problem of rigid resource allocation in existing methods and achieves accurate project duration prediction.
Patent Information
- Application Number
- CN202510904414.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-01
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-07-01
AI Technical Summary
Existing methods for estimating project duration in power information systems cannot effectively model the complex dependencies and collaborative development relationships between tasks, resulting in rigid resource allocation that cannot adapt to dynamic adjustments, large deviations in project duration predictions, and an inability to meet the requirements of precise management.
Construct a task dependency graph, obtain the dependency-aware features and resource status features of task nodes, use a reinforcement learning model trained with a composite reward function to determine the target scheduling scheme, and calculate the target completion time of task nodes based on this scheme, and finally determine the target project duration.
It enables precise capture of the inherent complexity of projects, dynamic adjustment of resource allocation, and output of more accurate and reliable schedule forecasts, adapting to the dynamic needs of power information systems.
Smart Images

Figure CN120875331A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of project duration calculation technology, and in particular to a method, apparatus, computer equipment, computer-readable storage medium, and computer program product for calculating the project duration of a power information system. Background Technology
[0002] With the significant increase in the complexity of power information system construction, the limitations of existing project duration estimation methods have become increasingly apparent. Currently, linear models based on parameters such as task size and fixed resources are commonly used. This method is difficult to effectively model the complex dependencies and collaborative development relationships between tasks, resulting in rigid resource allocation that cannot adapt to dynamic adjustment needs. Consequently, when facing projects with high task coupling, the project duration prediction results have large deviations and cannot meet the requirements of precise management. Summary of the Invention
[0003] Therefore, it is necessary to provide a method, apparatus, computer equipment, computer-readable storage medium, and computer program product for calculating the construction period of a power information system, in response to the above-mentioned technical problems.
[0004] Firstly, this application provides a method for calculating the construction period of a power information system, including:
[0005] Obtain a task list for development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node;
[0006] Based on the task characteristics and the task dependencies, determine the dependency-aware features corresponding to each task node;
[0007] Obtain the resource status characteristics of the application resources corresponding to the development task;
[0008] A state space is obtained based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task nodes and the application resources.
[0009] A reinforcement learning model for task scheduling is obtained, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty.
[0010] Based on the target scheduling scheme, the target completion time of each task node is determined, and the target completion time is imported into the task dependency graph according to the corresponding task node to determine the target duration.
[0011] In one embodiment, determining the dependency-aware features corresponding to each task node based on the task features and the task dependencies includes:
[0012] For each task node, the task features of the adjacent task nodes of the task node are aggregated, and the aggregation process is weighted according to the dependency relationship between the task node and each adjacent task node to obtain aggregated neighborhood features.
[0013] Based on the centrality of the task node in the task dependency graph and the load rate of the application resources pre-allocated to the task node, a resource contention suppression feature corresponding to the task node is generated; the centrality is determined according to the dependency strength and the resource contention relationship.
[0014] Based on the aggregated neighborhood features, the task features of the task node itself, and the resource competition suppression features, a graph neural network is used to process the data and generate the dependency-aware features corresponding to the task node.
[0015] In one embodiment, obtaining the resource status of the application resources corresponding to the development task and determining the resource status characteristics of the resource status includes:
[0016] Obtain the current idle status of application resources pre-allocated to each task node, and based on the current idle status, determine the local resource status characteristics corresponding to each development task; and,
[0017] Obtain the overall remaining status of the application resources, and based on the overall remaining status, determine the global resource status characteristics shared by all development tasks;
[0018] The process of determining the state space of the task node based on the dependency-aware features and resource state features includes:
[0019] For each task node, the dependency-aware feature corresponding to the task node is fused with the corresponding local resource state feature to generate a joint state feature for the task node; and,
[0020] The joint state features of each task node are combined with the global resource state features to form the state space.
[0021] In one embodiment, the step of determining the target scheduling scheme by the reinforcement learning model based on the state space includes:
[0022] The reinforcement learning model allocates candidate start times and candidate application resources to the task nodes to be scheduled based on the state space.
[0023] The reward function is used to determine the candidate start time and the reward utility of the candidate application resources for the task node.
[0024] The candidate start time and candidate application resources corresponding to the reward utility that meet the preset conditions are used as the target start time and target application resources of the corresponding task nodes. This process continues until each task node is allocated. Each task node and its corresponding target start time and target application resources are then output as the target scheduling scheme.
[0025] In one embodiment, determining the target completion time for each task node based on the target scheduling scheme, and substituting the target completion time into the task dependency graph according to the corresponding task node to determine the target duration, includes:
[0026] Determine the production capacity of the target application resources in the target scheduling scheme;
[0027] Based on the production capacity and the target start time in the target scheduling plan, the target completion time for each task is determined.
[0028] In the task dependency graph, based on the target completion time of all task nodes, the task path that is constrained by the task dependency relationship and has the longest task execution time is determined, and the target completion time of the last task node on the task path is determined as the target duration.
[0029] In one embodiment, the composite reward function is determined through the following steps:
[0030] Based on the scheduling of the preceding dependent task nodes of the task node in the task dependency graph, it is determined that the dependency relationship satisfies the reward.
[0031] The resource utilization reward is determined based on the current idle status of the application resources corresponding to the task node;
[0032] The task urgency reward is determined based on the centrality of the development task in the task dependency graph and the development progress of the task node.
[0033] The resource overload penalty is determined by statistically analyzing the concentration of similar development tasks allocated to the application resources within a preset time window.
[0034] Based on the task load distribution of the application resources corresponding to the task nodes and the preset load distribution of the application resources, the load balancing constraints of the application resources are determined.
[0035] The composite reward function is determined based on the dependency satisfaction reward, the resource utilization reward, the task urgency reward, the resource overload penalty, and the load balancing constraint.
[0036] Secondly, this application also provides a device for calculating the construction period of a power information system, comprising:
[0037] A task dependency graph construction module is used to obtain a task list of development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node;
[0038] A dependency-aware feature determination module is used to determine the dependency-aware features corresponding to each task node based on the task features and the task dependency relationships.
[0039] The resource status feature acquisition module is used to acquire the resource status features of the application resources corresponding to the development task;
[0040] A state space acquisition module is used to acquire a state space based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task node and the application resources.
[0041] The target scheduling scheme determination module is used to obtain a reinforcement learning model for task scheduling, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty;
[0042] The target duration determination module is used to determine the target completion time of each task node based on the target scheduling scheme, and import the target completion time into the task dependency graph according to the corresponding task node to determine the target duration.
[0043] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0044] Obtain a task list for development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node;
[0045] Based on the task characteristics and the task dependencies, determine the dependency-aware features corresponding to each task node;
[0046] Obtain the resource status characteristics of the application resources corresponding to the development task;
[0047] A state space is obtained based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task nodes and the application resources.
[0048] A reinforcement learning model for task scheduling is obtained, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty.
[0049] Based on the target scheduling scheme, the target completion time of each task node is determined, and the target completion time is imported into the task dependency graph according to the corresponding task node to determine the target duration.
[0050] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0051] Obtain a task list for development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node;
[0052] Based on the task characteristics and the task dependencies, determine the dependency-aware features corresponding to each task node;
[0053] Obtain the resource status characteristics of the application resources corresponding to the development task;
[0054] A state space is obtained based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task nodes and the application resources.
[0055] A reinforcement learning model for task scheduling is obtained, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty.
[0056] Based on the target scheduling scheme, the target completion time of each task node is determined, and the target completion time is imported into the task dependency graph according to the corresponding task node to determine the target duration.
[0057] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0058] Obtain a task list for development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node;
[0059] Based on the task characteristics and the task dependencies, determine the dependency-aware features corresponding to each task node;
[0060] Obtain the resource status characteristics of the application resources corresponding to the development task;
[0061] A state space is obtained based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task nodes and the application resources.
[0062] A reinforcement learning model for task scheduling is obtained, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty.
[0063] Based on the target scheduling scheme, the target completion time of each task node is determined, and the target completion time is imported into the task dependency graph according to the corresponding task node to determine the target duration.
[0064] The aforementioned method, apparatus, computer equipment, computer-readable storage medium, and computer program product for calculating the project duration of the power information system involve: obtaining a task list for development tasks and constructing a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node; determining the dependency-aware characteristics corresponding to each task node based on the task characteristics and task dependency relationships; obtaining the resource state characteristics of the application resources corresponding to the development tasks; obtaining a state space based on the dependency-aware characteristics and resource state characteristics; the state space is used to indicate the relationship between the dependency-aware characteristics of task nodes and application resources; obtaining a reinforcement learning model for task scheduling, and determining the target scheduling scheme based on the state space; the reinforcement learning model is trained using a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward, and resource overload penalty; determining the target completion time for each task node based on the target scheduling scheme, and importing the target completion time into the task dependency graph according to the corresponding task node to determine the target project duration. This application constructs a task dependency graph that incorporates dependency strength and resource competition relationships. Based on the task characteristics and dependencies within this graph, the dependency-aware characteristics of each node are determined, thus accurately capturing the inherent complexity of the project. Subsequently, these dependency-aware characteristics are combined with real-time acquired resource status characteristics to form a comprehensive state space reflecting the real-time association between tasks and resources. This state space is used as input to a reinforcement learning model. Guided by a composite reward function that includes dependency satisfaction, resource utilization, task urgency, and resource overload penalties, the model dynamically learns and outputs an optimal target scheduling scheme. Finally, based on this optimal scheduling scheme, the method determines the target completion time for each task and then substitutes these times into the task dependency graph for longest path analysis, thereby deriving a final target duration that is no longer a static estimate but has undergone intelligent optimization, making it more accurate and reliable. Attached Figure Description
[0065] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0066] Figure 1 This is an application environment diagram of a method for calculating the project duration of a power information system in one embodiment;
[0067] Figure 2This is a flowchart illustrating the method for calculating the construction period of a power information system in another embodiment;
[0068] Figure 3 This is a structural block diagram of a device for calculating the project duration of a power information system in one embodiment;
[0069] Figure 4 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0070] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0071] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.
[0072] In one embodiment, such as Figure 1 As shown, a method for calculating the construction period of a power information system is provided. This embodiment illustrates the method by applying it to a server. It is understood that this method can also be applied to a terminal, and further to a system including both a terminal and a server, and is implemented through interaction between the terminal and the server. In this embodiment, the method includes the following steps:
[0073] Step S102: Obtain the task list of development tasks and construct a task dependency graph based on the task list.
[0074] The task dependency graph can be a graphical network model with development tasks as nodes and mutual constraints between tasks as edges. It not only includes the characteristics of each task itself, but also explicitly expresses the sequential logic of task execution and the potential constraints caused by resource sharing. It can include the task characteristics of task nodes and the task dependencies between task nodes.
[0075] Task features can be a set of descriptive data attached to task nodes, used to quantify and characterize the inherent attributes of a single development task, including but not limited to development scale, development complexity, and task type, providing a foundation for understanding the task itself and its behavior in the graph. Task dependencies can be the concrete manifestation of the edges connecting task nodes in the task dependency graph. Optionally, they can be represented as edges connecting different task nodes in the task dependency graph, reflecting the mutual constraints between tasks in terms of execution order, resource usage, etc., including but not limited to the dependency strength and resource competition relationships between various task nodes, together with task features, constituting the task dependency graph. The task dependency graph is not only the input data for subsequent graph feature learning models but also crucial for supporting the accuracy of subsequent scheduling and duration calculations.
[0076] Dependency strength can be a quantitative attribute of task dependencies, measuring the direct impact of the initiation or completion of one task on another, reflecting the close connection between tasks in terms of engineering logic or technical processes. Resource competition is a type of task dependency that reflects the mutual constraints between tasks due to sharing development, testing, or other critical resources, demonstrating how limited resources restrict the ability of tasks to execute in parallel.
[0077] For example, the server is responsible for collecting the development task list from the information center. The development task list is a structured summary of all tasks to be developed and constructed in the project, and its sources may include, but are not limited to, the project management system, the requirements library, or standardized documents. Each task item contains a set of predefined task characteristics, such as task category (used to distinguish the nature of the task, such as internal document development, external interface development, etc.), development scale (used to measure the workload of the task), and development complexity (used to assess the technical difficulty of the task).
[0078] After obtaining the task list, the server constructs a task dependency graph G = (V, E, X, A) based on it. In this graph, set V represents all development task nodes, and each task node v i ∈V corresponds to a specific development task in the list and carries its task characteristics x i ∈X (e.g., the aforementioned development scale S) i and development complexity C i Set E represents the dependency edges between tasks. A represents the task dependencies between task nodes, which can be constructed using a composite dependency matrix. These task dependencies are crucial for building an effective model, specifically manifested as the strength of dependencies and resource competition among tasks. This approach balances the dual practical constraints of engineering dependencies and resource pool competition in multi-system collaborative development scenarios, providing a more industry-adaptive high-dimensional dependency graph structure for subsequent steps.
[0079] Optionally, task feature x iIn addition to the basic development scale and complexity, it can also include auxiliary decision-making information such as the task's business priority, the technology stack or module it belongs to, and the expected resource and skill requirements, thereby providing a richer task context description for subsequent steps.
[0080] Optionally, to determine the strength of dependency in task dependencies, the server can analyze the sequential constraints between tasks in engineering logic. For example, whether the initiation of a task is a necessary condition for the completion of one or more prerequisite tasks. This dependency strength can be represented by a binary logical value (yes / no), or assigned a continuous weight value to reflect the tightness of the dependency.
[0081] Alternatively, to determine resource contention, the server can identify tasks that need to share the same type or specific development or testing resources. This contention is not limited to human resources (such as specific development teams or test engineers) but can also extend to concurrent usage needs for shared hardware environments, specific software licenses, or public datasets.
[0082] To more comprehensively characterize the interactions between tasks, the server can integrate dependency strength and resource contention to form composite task dependencies. Specifically, composite dependencies can be quantified using a composite edge weight matrix, which can be calculated using formula (1):
[0083] a ij =λ1·α ij +λ2·β ij (1)
[0084] Among them, a ij For task v i With v j The weight of the composite edge between them, α ij This indicates whether there is a direct engineering dependency between tasks i and j (such as interface calls, data transfer, etc.), β ij This indicates whether tasks i and j share the same development resource pool (e.g., are assigned to the same development team or testing team). λ1 and λ2 are dependency weighting factors, λ1+λ2=1, used to balance the impact weight of project dependencies and resource competition in the actual project duration.
[0085] Optionally, the task dependency graph construction process can also support a dynamic update mechanism. When the task list changes during project execution (such as adding tasks, adjusting task attributes, or canceling tasks), the server can respond to the change and adjust the nodes, edges, and related attributes of the task dependency graph in real time or in batches to ensure the timeliness of the model.
[0086] Step S104: Determine the dependency-aware features corresponding to each task node based on task characteristics and task dependencies.
[0087] Among them, dependency-aware features can be comprehensive characteristic vectors generated by pre-defined algorithms, which can characterize the task nodes in their dependent network environment. This vector not only includes the basic attributes of the task itself, but also incorporates the strength of its dependency relationship with connected tasks, as well as information such as potential resource competition, to more accurately describe the status and influence of tasks in complex project environments, enabling subsequent sequencing and decision-making to perceive the mutual constraints and resource bottlenecks between tasks.
[0088] For example, methods for determining dependency-aware features can employ graph structure learning techniques. For instance, a server can use an iterative feature learning process where the task features of each task node (i.e., the prototype of its dependency-aware features) are updated and refined based on information from other task nodes in its neighborhood and the strength of dependencies between them. This learning process enables the generated features to capture contextual information derived from the network structure that transcends individual task attributes.
[0089] Optionally, the resource availability or potential resource competition associated with a task node can be quantified and integrated as an influencing factor into the calculation of dependency-aware features. For example, if a task node requires highly scarce resources or faces significant resource competition with other high-priority tasks, its generated dependency-aware features may be adjusted or labeled accordingly to reflect this perception under resource constraints.
[0090] Optionally, during the feature learning process of the server, processing steps aimed at enhancing feature discriminative power or ensuring that features have a certain degree of consistency in the global task network can be introduced to avoid biases that may result from excessive focus on local neighborhood information.
[0091] Step S106: Obtain the resource status characteristics of the application resources corresponding to the development task.
[0092] Among them, resource status characteristics can be a series of descriptors that characterize the current or expected availability of application resources required for development tasks. These can be numerical data (such as idle quantity, available percentage) or categorical data (such as high, medium, and low load) to quantify the impact of the resource environment in the project duration calculation model.
[0093] For example, the server can obtain specific status information of resources estimated for use in a single development task or a small group of closely related tasks, forming local or task-related resource status characteristics. At the same time, the server can also obtain overall status information of a global resource pool shared by multiple tasks in the project at a more macro level, forming global resource status characteristics to more finely balance individual task requirements with overall resource capacity.
[0094] Optionally, the process of acquiring resource status characteristics can be dynamic and real-time. The server can be designed to periodically query relevant resource management systems or monitoring interfaces, or update resource status characteristics when triggered by specific events (such as resource release upon task completion or the addition of new resources), thereby ensuring that these characteristics can reflect real-time changes in the resource environment as accurately as possible.
[0095] Step S108: Obtain the state space based on dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of task nodes and application resources.
[0096] The state space can be a comprehensive data structure that integrates the dependency-aware characteristics of various development tasks with the global and local resource state characteristics of the current application resources. It is used to comprehensively represent the overall status of the power information system development project at a certain point in time, especially the relationship between task characteristics and resource availability, as input for subsequent scheduling decisions.
[0097] Optionally, the construction of the state space can include comprehensive processing of task-level information and global information. For example, the server can first generate a comprehensive task-level feature representation for each task node, which integrates the task's dependency-aware features and its directly related local resource state features. Subsequently, these comprehensive task-level feature representations can be integrated with global resource state features representing the overall resource environment to jointly constitute a complete state space.
[0098] Optionally, the state space can be determined by combining perceptual features and resource state features in different ways. For example, feature data can be fused through concatenation, weighted summation, or more complex nonlinear transformations to generate a state space representation that effectively captures their interactions. The chosen combination method aims to ensure that the resulting state space retains and highlights information valuable for subsequent decision-making to the greatest extent possible.
[0099] Optionally, the dimensions and structure of the state space can be determined based on the task characteristics of the development task or the needs of the subsequent analysis model. For example, the state space can be a high-dimensional vector or a more complex tensor structure to accommodate projects and decision-making algorithms of varying complexity.
[0100] Step S110: Obtain a reinforcement learning model for task scheduling. The reinforcement learning model determines the target scheduling scheme based on the state space. The reinforcement learning model is trained using a composite reward function that includes dependency satisfaction reward, resource utilization reward, task urgency reward, and resource overload penalty.
[0101] The target scheduling scheme can be a specific task execution plan output by the reinforcement learning model based on the current state space analysis, which aims to optimize the overall or specific scheduling goals of the project, including but not limited to the execution sequence and resource configuration of each task node.
[0102] A reinforcement learning model loads an existing, pre-trained model instance onto a server, demonstrating the expected performance. During runtime, this model receives the current state space and, based on its learned decision logic (i.e., policy), outputs a series of scheduling actions that constitute the target scheduling scheme. Each scheduling action is essentially a decision made regarding the execution order or resource allocation of one or more tasks to be scheduled. Regarding the training of the reinforcement learning model, the composite reward function plays a crucial guiding role. This function unifies multiple scheduling objectives (such as dependency compliance, efficient energy use, prioritizing urgent tasks, and load balancing) within an evaluation system, guiding the model's learning direction through quantified reward or penalty signals.
[0103] Step S112: Based on the target scheduling scheme, determine the target completion time of each task node, and import the target completion time into the task dependency graph according to the corresponding task node to determine the target duration.
[0104] For example, the server uses the target scheduling scheme generated in the previous step, which assigns a start execution time and the specific application resources required for each or some key task nodes. Based on this information, the server calculates the target completion time for each task node. This calculation can comprehensively consider the planned start time of the task, the inherent workload of the task itself (e.g., reflected in the development scale in the task characteristics), and the expected productivity or processing efficiency of the application resources configured for the task in the target scheduling scheme.
[0105] Once the target completion times for all task nodes have been determined, the server can update or import this target completion time information into the previously constructed task dependency graph. This means that each task node in the task dependency graph, in addition to its inherent characteristics and dependencies, will also be associated with a specific expected completion time determined by the scheduling scheme.
[0106] Subsequently, the server performs path analysis based on this task dependency graph, which contains the target completion time of each task node, to determine the final target project duration.
[0107] In this embodiment, a task dependency graph incorporating dependency strength and resource contention is constructed. Based on the task characteristics and dependencies within this graph, the dependency-aware characteristics of each node are determined, thereby accurately capturing the inherent complexity of the project. Subsequently, these dependency-aware characteristics are combined with real-time acquired resource status characteristics to form a comprehensive state space reflecting the real-time association between tasks and resources. This state space is used as input to a reinforcement learning model. Guided by a composite reward function that includes dependency satisfaction, resource utilization, task urgency, and resource overload penalties, the model dynamically learns and outputs an optimal target scheduling scheme. Finally, based on this optimal scheduling scheme, the method determines the target completion time for each task and then substitutes these times into the task dependency graph for longest path analysis, thereby deriving a final target duration that is no longer a static estimate but has undergone intelligent optimization, making it more accurate and reliable.
[0108] In an exemplary embodiment, the dependency-aware features corresponding to each task node are determined based on task characteristics and task dependencies, including:
[0109] For each task node, the task features of its neighboring task nodes are aggregated, and the aggregation process is weighted according to the dependency relationship between the task node and each neighboring task node to obtain aggregated neighborhood features. Based on the centrality of the task node in the task dependency graph and the load rate of the application resources pre-allocated to the task node, resource contention suppression features corresponding to the task node are generated. The centrality is determined according to the dependency strength and resource contention relationship. Based on the aggregated neighborhood features, the task node's own task features, and the resource contention suppression features, a graph neural network is used to process the data to generate the dependency-aware features corresponding to the task node.
[0110] Among them, the aggregated neighborhood feature can be a comprehensive feature representation calculated for a specific task node that reflects the task features of its surrounding task nodes and the strength of their interdependencies. It is formed by weighting and summarizing the existing features of the adjacent task nodes of the task node according to their dependencies on the task node.
[0111] Centrality can be a quantitative indicator that evaluates the importance of a task node's structural position in a task dependency graph, reflecting the task's influence on the overall development process. A higher value indicates a denser dependency chain and a greater impact on scheduling and project time prediction.
[0112] Resource competition inhibition features can be a quantitative indicator that characterizes the potential execution constraints that a specific task node should be subject to due to its importance (centrality) in the dependency network and the tension of its required resources (load rate). It is used to reflect the potential impact of resource bottlenecks at the feature level, so that the final dependency perception features of high-centrality tasks in a high-competition resource environment can reflect this execution resistance.
[0113] Specifically, for each task node v in the task dependency graph i The server first aggregates all its adjacent task nodes v j The existing task features. This aggregation process is not a simple addition or averaging of features, but rather based on the task node v i With each adjacent task node v j The task dependencies between them (specifically reflected in the composite edge weight a) ij This weighting (which incorporates both dependency strength and resource contention) applies to the aggregation process. For example, the server can calculate... Where W1 is a trainable weight matrix used to weight the features x of neighboring nodes. j Perform transformation and weighting (based on a) ij and normalization factor d i =∑ i a ij Therefore, the server assigns each task node v to... i An initial aggregated neighborhood feature is obtained, which incorporates information from its surrounding task environment.
[0114] The server provides each task node with v i Generate its corresponding resource contention suppression feature. This feature is generated based on two core factors: task node v i Degree (γ) in the task dependency graph i ) and pre-assigned to the task node v i Current load factor of application resources (δ) i ).
[0115] Among them, the task node v i Degree (γ) in the task dependency graph i As before, degree γ i It is determined based on the dependency strength and resource competition relationship between the task node and other task nodes. In one embodiment, it is calculated by formula (2), that is, by the weight a of all related composite edges of the task node. ij The sum of these factors, as a collaboration density indicator, reflects the density of the dependency chain and the overall impact of the task, further exploring the role of the task as a dependency hub in the project.
[0116]
[0117] Pre-assigned to this task node v i Current load factor of application resources (δ) i The load factor indicates the level of resource strain that may be encountered when performing this task.
[0118] The server will consider these two factors (e.g., γ) i and δ i This, along with other possible parameters (such as the total number of tasks V and the adjustment hyperparameter η), is combined to calculate a quantified resource competition suppression feature value or vector. For example, this suppression feature can be specifically expressed as... The larger the feature value, the stronger the execution suppression that the task should be subject to due to its complexity and resource scarcity. Understandably, in the actual scenario of a power information center, project development tasks often suffer from decreased development efficiency and extended project durations due to cross-system collaboration and resource pool sharing. Traditional feature extraction methods struggle to explicitly characterize these potential impacts. By using the resource competition suppression feature in this formula, the priority of task nodes with dense dependencies and scarce resources in subsequent scheduling can be effectively suppressed. This allows the system to automatically allocate more development resources or appropriately postpone execution during scheduling optimization, mitigating the adverse effects of development bottlenecks on project duration.
[0119] Finally, the server is based on task node v i The aggregated neighborhood features and its own original task features x i (For example, W2x after transformation by another trainable weight matrix W2) i The resource competition inhibition features generated therefrom are integrated and nonlinearly transformed through a graph neural network to generate the task node v. i The final dependency-aware feature (g) i Specifically, the server can combine these three features and then input the combination result into a nonlinear activation function σ (such as the ReLU function), which can be expressed by formula (3).
[0120]
[0121] Meanwhile, this invention innovatively introduces a global dependency regularization mechanism in the task feature learning process to improve the global consistency of task features and prevent overfitting of local dependencies.
[0122] Specifically, in the processing or training of this graph neural network, a global dependency regularization term in formula (4) can be introduced to prevent overfitting of local dependencies and enhance the global consistency of dependency-aware features.
[0123]
[0124] Among them, G c It is the mean of the perceptual features dependent on the entire image. λ reg This is the regularization coefficient, used to control the balance between local and global features.
[0125] In this embodiment, the above steps not only achieve adaptive modeling of task dependency structures, but also innovatively introduce resource bottlenecks and collaboration density factors into the feature generation and regularization mechanism, tailored to the characteristics of power industry projects. This forms a unique dependency-resource composite task feature scheme for the power information system development environment. This mechanism directly enhances the ability of subsequent scheduling strategies to perceive dependency strength and resource load, thus laying a feature foundation for more accurate and realistic project duration calculations.
[0126] In an exemplary embodiment, the resource status of the application resources corresponding to the development task is obtained, and the resource status characteristics of the resource status are determined, including:
[0127] Obtain the current idle status of application resources pre-allocated to each task node, and determine the local resource status characteristics corresponding to each development task based on the current idle status; and obtain the overall remaining status of application resources, and determine the global resource status characteristics shared by all development tasks based on the overall remaining status.
[0128] Local resource status characteristics can be specific to a single development task node, describing the current availability (e.g., idle capacity, idle rate) of its pre-allocated or planned application resources. Global resource status characteristics, from the perspective of the entire project, describe the overall remaining amount or overall availability level of various application resource pools (e.g., development resource pool, testing resource pool), reflecting the resource sufficiency at the entire project level. Current idle status can be the portion or quantity of application resources (e.g., developers with specific skills, testing equipment) pre-allocated to a specific task at a specific point in time that are not yet occupied and are immediately available for use. Overall remaining status can be the total amount or proportion of resources remaining available for scheduling in various shared resource pools on which the project depends at a specific point in time, after deducting the amount already allocated or consumed from the total amount of all resources.
[0129] Specifically, the server first retrieves the current availability of pre-allocated application resources for each development task node in the task dependency graph. This means the server can query the current availability of resources (e.g., a specific development team, a dedicated testing environment, or personnel with specific skills) that are planned or designated to serve that particular task. For example, if a task is planned to require 10 person-days from a development team, and it is known that the team currently has the equivalent of 5 person-days of available productivity that can be immediately deployed to the task, this information will constitute part of the local resource availability for that task.
[0130] Based on the current idle status of application resources for each task node, the server then determines the corresponding local resource status characteristics for each development task. This characteristic can be a single value or a set of values, quantifying the immediate availability of resources required by the task by the ratio of the current idle capacity to the total capacity. For example, the local resource status characteristic r... i It can represent task node v i The ratio of the current free capacity of the planned development resource pool and test resource pool to the total capacity is shown in Formula (5).
[0131]
[0132] in, and These are the resources currently available for v in the resource pool. i The current amount of free space for development and testing, N kf and N cs Development and testing respectively
[0133] Total capacity of the resource pool.
[0134] Simultaneously, the server can also obtain the overall remaining status of all or key categories of application resources from a project-wide perspective. This involves assessing the overall available reserves of global resource pools that are not specific to a single task but shared by multiple tasks within the project (e.g., company-wide development human resource pools, shared integration testing environments, general-purpose computing resources, etc.).
[0135] Based on the overall remaining application resources, the server determines the global resource status characteristics shared by all development tasks, quantified by the ratio of remaining resources in the resource pool to the total capacity. For example, the global resource status characteristic R... env It can represent the ratio of the current total remaining resources of the global development resource pool and the global test resource pool to the total capacity, as shown in formula (6).
[0136]
[0137] in, and These represent the current remaining resources in the global development and testing resource pools, respectively.
[0138] In an exemplary embodiment, the state space of a task node is determined based on dependency-aware features and resource state features, including:
[0139] For each task node, the dependency-aware features corresponding to the task node are fused with the corresponding local resource state features to generate the joint state features of the task node; and the joint state features of each task node are combined with the global resource state features to form a state space.
[0140] Specifically, for each task node in the task dependency graph, the server fuses its dependency-aware features determined in the previous embodiments with the local resource state features corresponding to that task node. This fusion operation aims to create a more comprehensive feature representation for each task, namely, a joint state feature.
[0141] Specifically, if the dependency-aware feature of task vi is g i Its local resource state characteristics are r i Then its joint state characteristic γ i It can be generated by feature concatenation, as shown in formula (7).
[0142]
[0143] Alternatively, fusion can also employ other feature engineering techniques, such as weighted summation or nonlinear combinations learned through a small neural network, with the aim of effectively integrating the task's dependencies and its direct resource constraints into a single feature vector.
[0144] After generating joint state features for all task nodes, the server combines these sets of joint state features, which contain specific information about each task node, with the global resource state features obtained in the previous steps. This combination constitutes a part of the state space. For example, if the set of joint state features for all tasks is {h1, h2, ..., h...} N (N is the total number of tasks), the global resource state characteristic is R. env Then the complete state space St can be represented as an ordered set of these elements or a larger combinatorial feature structure, such as S T =({h1,h2,...,h N},R env The state space S tIt can systematically reflect the overall status of all tasks and their overall resource environment, and comprehensively indicate the complex interrelationships between the dependency awareness characteristics of each task node, its local resource status, and the global resource background.
[0145] In this embodiment, through this joint modeling mechanism, the state space is composed of the joint state characteristics of all tasks and global resource characteristics, systematically reflecting the real-time relationship between task dependencies and the resource environment, serving as the core state input for subsequent strategy decisions. This mechanism differs from traditional task-independent modeling or methods that only consider workload and resource ratios. It introduces a dependency-aware + resource environment fusion mechanism into resource-task modeling in power information system development projects, ensuring that the strategy can make dynamic scheduling and resource allocation decisions based on more comprehensive state information during training.
[0146] In an exemplary embodiment, a reinforcement learning model determines a target scheduling scheme based on the state space, including:
[0147] The reinforcement learning model allocates candidate start times and candidate application resources to the task nodes to be scheduled based on the state space. The reward function determines the reward utility of the candidate start times and candidate application resources to the task nodes. The candidate start times and candidate application resources corresponding to the reward utility that meet the preset conditions are used as the target start times and target application resources of the corresponding task nodes. This process continues until each task node is allocated. Each task node and its corresponding target start times and target application resources are output as the target scheduling scheme.
[0148] Here, reward utility can be a quantitative measure of the expected value that a specific task candidate start time and candidate application resource combination (i.e., a candidate scheduling action) can generate for the current task node and the overall scheduling goal, after evaluation through a composite reward function. Preset conditions can be a set of standards or thresholds pre-defined during the reinforcement learning model's decision-making or scheduling scheme generation process for screening or accepting candidate scheduling actions. For example, reward utility must be greater than a certain value, or specific constraints must be met.
[0149] Specifically, the reinforcement learning model receives the current state space as its input to the current state of the project. Based on this input, the policy network of the reinforcement learning model can generate or recommend a set of candidate task start times and matching candidate application resources for one or more currently scheduled task nodes. For example, for task A, the model may propose multiple candidate schemes, such as using resource group R1 at time point T1 or using resource group R2 at time point T2.
[0150] For each combination of candidate task start time and candidate application resources proposed by the reinforcement learning model, the server will use a previously defined composite reward function to evaluate the expected reward utility of the candidate solution for the corresponding task node and for the overall scheduling objective. The composite reward function can comprehensively consider the performance of the candidate solution in multiple aspects such as dependency satisfaction, resource utilization, task urgency satisfaction, and whether it leads to resource overload, and give a quantitative comprehensive score.
[0151] The server will compare the reward utility of different candidate solutions. Candidate start times and candidate application resources that meet preset conditions (e.g., reward utility reaches a certain threshold, or has the best or near-best reward utility among all candidate solutions, and does not violate hard constraints) will be selected as the target start time and target application resource for the corresponding task node.
[0152] This process can be iterated until every task node in the project has been assigned a defined target start time and target application resources. Once the schedules for all task nodes are determined, the server will output a complete list of each task node along with its corresponding target start time and target application resources. This list constitutes the final target scheduling scheme. Optionally, if no candidate scheme meets the preset conditions in a certain iteration, the reinforcement learning model may need to regenerate candidate schemes or adjust its strategy.
[0153] In this embodiment, by using a composite reward function to comprehensively evaluate the reward utility of each candidate scheduling action, the model can explicitly weigh different optimization objectives (such as dependency, resources, urgency, and load) at each step of the decision-making process. This ensures that the final output target scheduling scheme can better align with the preset, multi-dimensional project management objectives.
[0154] In one embodiment, based on the target scheduling scheme, the target completion time for each task node is determined, and the target completion time is substituted into the task dependency graph according to the corresponding task node to determine the target duration, including:
[0155] Determine the production capacity of the target application resources in the target scheduling plan; based on the production capacity and the target start time in the target scheduling plan, determine the target completion time of each task; in the task dependency graph, based on the target completion time of all task nodes, determine the task path that is constrained by task dependencies and has the longest task execution time, and determine the target completion time of the last task node on the task path as the target duration.
[0156] Specifically, for the target application resources allocated to each task node in the target scheduling plan, the server first needs to determine the productivity of these resources. This productivity is a key parameter for measuring the efficiency of resources in executing tasks. For example, if a task is assigned to a specific development team, the server can determine the equivalent workload (such as standard function points, standard man-days, etc.) that the team can complete daily or weekly based on the team's historical performance, skill set, or standard work quota. This productivity information can be obtained from the resource management module, the historical project database, or preset configuration parameters.
[0157] After clarifying the production capacity of the target application resources allocated to each task, the server will calculate the target completion time of the task based on this production capacity, the workload of the task itself (e.g., the development scale defined in the task characteristics), and the target start time determined for the task in the target scheduling scheme. In one embodiment, the execution time of a task can be obtained by the ratio of the task workload to the production capacity. The target completion time is the sum of the target start time and the calculated execution time, expressed by formula (8).
[0158]
[0159] Among them, finish i It's the task completion time, AE i For task i The development workload, For task i Allocate resource pool k The unit production capacity (such as the development efficiency of a resource pool, measured in person-hours / person-days), time t This represents the start time of the task in the schedule.
[0160] After the target completion times of all task nodes have been determined, the server imports or associates this target completion time information with the corresponding task nodes in the task dependency graph. Then, the server performs path analysis on the updated task dependency graph (where each node is labeled with its target completion time) to determine the task path in the project that is constrained by task dependencies and has the longest execution time, i.e., the critical path. This analysis can consider the sequential dependencies between tasks and identify all possible task chains from the start to the final completion of the project. The server calculates the total duration of each task chain, and the task chain with the longest total duration is the critical path. The target completion time of the last task node on this critical path is determined as the target duration of the entire project, as shown in formula (9).
[0161]
[0162] Among them, D* Γ represents the target project duration, and Γ represents the set of critical path tasks in the dependency graph G, which includes the task chain with the highest dependency strength and the tightest sequence (such as a strong dependency chain of interface development → page development → report development).
[0163] Through the above mechanisms, D * It's no longer simply about the latest completion time of tasks. Instead, it combines the task dependency graph G to automatically identify critical task paths constrained by dependencies in the project, thereby improving the project's timeline forecasting accuracy. For example, if interface development task 1, page development task 2, and report development task 3 form a dependency chain task1→task2→task3, and they are scheduled in different time windows in P, their finish time... i The maximum value is D. * .
[0164] In this embodiment, the project duration calculation not only considers the scheduling time, but also integrates multiple information such as dependency structure, task workload, and resource allocation capability, which has a high degree of engineering realism and can effectively reflect the development cycle characteristics of complex task chains and dynamic resources in power information system development projects.
[0165] In one exemplary embodiment, the composite reward function is determined through the following steps:
[0166] Based on the scheduling of the preceding dependent task nodes of the task node in the task dependency graph, the dependency satisfaction reward is determined; based on the current idle status of the application resources corresponding to the task node, the resource utilization reward is determined; based on the centrality of the development task in the task dependency graph and the development progress of the task node, the task urgency reward is determined; by statistically analyzing the concentration of similar development tasks allocated to the application resources within a preset time window, the resource overload penalty is determined; based on the task load distribution of the application resources corresponding to the task node and the preset load distribution of the application resources, the load balancing constraint of the application resources is determined; based on the dependency satisfaction reward, resource utilization reward, task urgency reward, resource overload penalty, and load balancing constraint, a composite reward function is determined.
[0167] Specifically, when determining whether a dependency satisfies a reward, the server, for a scheduling action chosen by the reinforcement learning model in a certain state, first checks the scheduling status of all preceding dependent task nodes in the task dependency graph for that task node. If all preceding dependent tasks have been scheduled or planned before this scheduling action occurs, a positive value for the dependency satisfies the reward; otherwise, if the dependency constraint is violated, a negative value for the reward or penalty is determined.
[0168] When determining resource utilization rewards, the server assesses the current availability of target application resources allocated to task nodes by scheduling actions. If a task is assigned to a specific resource pool with a high current idle rate or light load, indicating that the decision helps to effectively utilize existing resources, a positive resource utilization reward is determined; conversely, if the assigned resource pool is close to saturation or will lead to resource waiting, a negative reward or penalty is determined.
[0169] When determining task urgency rewards, the server can comprehensively consider the centrality of a task node in the task dependency graph and the current development progress status of that task node (e.g., whether it is behind schedule or on the critical path). If scheduling actions prioritize tasks with high centrality or lagging development progress, a positive task urgency reward is determined to incentivize the model to focus on critical and urgent tasks.
[0170] When determining the resource overload penalty, the server can statistically analyze the concentration of development tasks of the same type allocated to the task node within a preset short time window (e.g., the most recent n time steps or scheduling units) in a specific application resource pool allocated to the task node. If this allocation leads to a high concentration of similar tasks (such as interface development, page development, etc.) within the resource pool in a short period of time, exceeding the ideal concurrency capacity of the resource pool to handle such tasks, a negative resource overload penalty is determined. For example, the penalty value can be calculated based on the proportion or number of similar tasks within the window, as shown in (10).
[0171]
[0172] in, The `window` parameter represents the category of the current task (e.g., API development, page development), and the `window` parameter represents the scheduling window for the most recent n time steps within the resource pool. As an indicator function, when t i With task i The value is 1 for tasks of the same type, and 0 otherwise. This design is specifically designed for power information system projects to prevent issues such as overload of the interface / front-end development resource pool due to excessive concentration of task types within the development team.
[0173] Optionally, the above-mentioned dependency satisfaction reward, resource utilization reward, task urgency reward, and resource overload penalty can be combined with different preset weights to obtain a composite reward, which is part of the composite reward function, as shown in formula (11).
[0174] R t =ω1·R dep +ω2·R res +ω3·R urg -ω4·R conf (11)
[0175] Among them, R dep To satisfy rewards for dependencies, R res As a reward for resource utilization, R urg As a reward for mission urgency, R conf As a penalty for resource overload, R dep R res R urg R conf The coefficients can be +1 or -1, with ω1, ω2, ω3, and ω4 being adjustable coefficients, satisfying ω1 + ω2 + ω3 + ω4 = 1. This allows for adaptive learning through training on historical project durations. Based on the above formula, an intelligent scheduling strategy with four characteristics—dependency awareness, resource sensitivity, conflict suppression, and load balancing—is formed, truly meeting the schedule optimization needs of power information system projects under multi-task collaboration and dynamic multi-resource pool conditions.
[0176] During the policy training process, this invention also incorporates a load balancing regularization term into the composite reward function. This is used to prevent a certain type of task from being over-prioritized on the local dependency graph in the scheduling strategy, thereby affecting the load balance of global development resources. The server can compare the actual task load ratio distribution of each application resource pool after the current scheduling action is executed with a preset target load balance distribution (for example, the expected ratio of development and testing tasks is 7:3, or the difference in task volume between each development team does not exceed a specific threshold), as shown in formula (12).
[0177]
[0178] Among them, U res U represents the current actual task load distribution in the resource pool. ideal To achieve load balancing distribution.
[0179] Based on the above calculation results, the composite reward function is obtained, which is also the objective function of the reinforcement learning model, as shown in formula (13).
[0180]
[0181] Where, λ bal The regularization coefficient is . This is the process of calculating the mean, S t It is a state space, a t It refers to the specific scheduling actions within the target scheduling plan.
[0182] In one specific embodiment, S t As the environmental input for the reinforcement learning model, S t Including dependency-aware features g i and local resource features ri With global resource characteristics R env This reflects task dependencies, the availability of local resource pools, and the global resource load. During policy training, each action a... t Indicates the task i Assign a specific time step t and specific resource pools k Based on the aforementioned composite reward function, a scheduling table P = {(task...} is generated through training. i ,time t resource k During training, the model iterates continuously using collected empirical data until its performance converges (the value of the composite reward function no longer significantly improves) or reaches the preset number of training epochs. Through this training process, the reinforcement learning model gradually learns how to make scheduling decisions that yield high composite rewards in a complex state space, i.e., generating high-quality target scheduling schemes.
[0183] In this embodiment, through the above steps and the precise design of the composite reward function, the reinforcement learning model is driven to learn and master the ability to generate high-quality power information system project scheduling schemes that meet actual needs, effectively solving the pain points of severe resource bottlenecks, intensive task dependencies, and excessive concentration of local tasks in the power information system.
[0184] In a prime example, with the continuous improvement of the power industry's informatization level, the number and complexity of power information systems, as the core platform supporting enterprise production, operation, and management, have increased significantly. Taking the Guangdong Power Grid Company Information Center as an example, the informatization project encompasses multiple subsystems, including a marketing management system, a technical support platform, mobile applications, and a data analysis system. The development of these systems involves numerous tasks, including internal document development, external interface development, page function development, complex data queries, and simple data queries. These tasks not only have different development scales and complexities but also involve multiple relationships such as pre- and post-dependencies, cross-system collaboration, and resource sharing. Currently, the industry commonly uses linear project duration estimation models based on parameters such as task size, complexity factor, development / testing resources, and weighting coefficients. For example, by calculating the workload and then estimating the overall project duration based on the number of development and testing personnel and their average productivity, this method can meet basic project duration prediction needs in the early stages of informatization projects when they were simple and the correlation between tasks was low. However, as information system construction evolves towards multi-system integration, complex task chains, and diverse development models (such as agile development and work order models), the limitations of traditional project duration estimation methods are becoming increasingly apparent. Firstly, existing methods fail to effectively model the dependencies between tasks and the non-linear impact of collaborative development on project duration, leading to prediction deviations in projects with complex dependency chains, concurrent development, or cross-system coupling. Secondly, fixed development / testing resource allocation ratios lack flexibility and are ill-suited to the dynamic adjustments of actual resources and the ever-changing management needs of development processes. Thirdly, the lack of dynamic modeling capabilities to assess the global impact of resource allocation, task dependencies, and project duration makes it difficult for management to obtain scientific and accurate project duration predictions in scenarios with limited resources or frequent changes in requirements. To address these issues, some projects have attempted to optimize project duration estimation using methods such as historical data fitting and expert experience correction, but these methods still suffer from significant shortcomings, including insufficient modeling capabilities, low utilization of dependency information, and a lack of adaptability, failing to meet the higher requirements for project duration management in current power information technology construction.
[0185] Based on this, this application provides a method for calculating the construction period of a power information system, such as... Figure 2 As shown, the specific steps include:
[0186] Step S201: Construct a task dependency graph for development tasks; the server first collects a detailed list of development tasks from an existing project management system or other specified data sources. This list equips each individual development task with basic task characteristics, including task categories to distinguish the nature of the task, estimated development scale to measure the amount of work required for the task, and development complexity to assess the difficulty of implementing the task.
[0187] After obtaining the task list, the server constructs a task dependency graph for the project based on this list. This graph consists of a set of task nodes representing various development tasks and a set of edges representing the dependencies between tasks. Each task node carries the aforementioned task characteristics. Crucially, the dependencies between tasks are represented in a composite manner, which comprehensively considers both the strength of direct engineering dependencies between different tasks (e.g., whether the output of one task is the input of another) and resource competition arising from shared development or testing resources. Specifically, the weight of the edge connecting any two task nodes, i.e., the composite dependency weight, can be calculated using a weighted summation method. This calculation combines factors representing direct engineering dependencies and factors representing the shared resource pool, balancing the influence of these two factors through adjustable weight coefficients. The resulting set containing all composite dependency weights between tasks can be understood as a composite dependency matrix, which constitutes a key component of the task dependency graph.
[0188] Step S202: Based on the task dependency graph, determine the dependency-aware features of the development tasks; the server determines the corresponding dependency-aware features for each task node in the task dependency graph. This is a core feature enhancement process, and the server preferably uses graph neural network-based technology to implement it. Specifically, this process includes several closely related steps. First, for each task node in the graph (referred to as a task node), the server can aggregate the existing task features of all its directly adjacent task nodes. During aggregation, instead of simply adding up the neighbor features, the server weights the contributions of each neighbor feature according to the composite dependency weights between the task node and each of its neighboring task nodes (determined in the previous step), and may perform a linear transformation on the neighbor features through a learnable transformation matrix, while also performing normalization (e.g., dividing by the sum of the weights of all edges connected to the node). This yields aggregated neighborhood features that reflect the direct influence of the surrounding environment of the task node.
[0189] Simultaneously, the server can generate a resource contention suppression feature for each task node. This feature is generated based on two pieces of information: first, the degree of the task node within the overall task dependency graph. This degree can be quantified using a collaboration density metric, calculated based on the sum of the composite dependency weights between the task node and all other task nodes, comprehensively reflecting the density of its dependency chain and its global influence. Second, the current load rate of the application resources pre-allocated to the task node, indicating the potential resource strain when executing this task. The server combines the task's degree, resource load rate, and possibly other global parameters (such as the total number of tasks in the project and an adjustable suppression strength control hyperparameter) to calculate a quantified resource contention suppression value.
[0190] Finally, the server integrates the aggregated neighborhood features generated for the task node, the original task features of the task node after transformation by a learnable weight matrix, and the resource contention suppression features generated for it, using the core mechanism of the graph neural network. Specifically, the transformed self-features are added to the aggregated neighborhood features, then the suppression amount represented by the resource contention suppression features is subtracted, and this result is processed through a non-linear activation function to generate the final dependency-aware features of the task node. During the training phase of the graph neural network, to prevent the model from focusing excessively on local dependency details and neglecting the global structure, a global dependency regularization constraint can be introduced. This constraint is implemented by penalizing the difference between the dependency-aware features of each task and the mean of its corresponding features in the entire graph, and its influence is controlled by a regularization coefficient.
[0191] Step S203: Obtain the resource status characteristics of application resources related to the development task. First, for each development task node in the task dependency graph, the server can obtain the current idle status of application resources (e.g., a specific development team, dedicated testing equipment, or personnel with specific skills) that have been pre-allocated or planned for use. Based on this idle status—for example, by calculating the ratio of the current available capacity of these pre-allocated resource pools to their total capacity—the server determines the corresponding local resource status characteristics for each development task. This characteristic quantifies the immediate availability of the required resources from the perspective of that task.
[0192] Secondly, the server can also obtain the overall remaining status of all or key categories of application resources from a holistic project perspective. This involves assessing the total available reserves of global resource pools (e.g., enterprise-level development manpower pools or shared integration testing environments) that are not specific to individual tasks but shared by multiple tasks within the project. Based on this overall remaining status—for example, by calculating the ratio of the current total remaining resources in the global resource pool to its total capacity—the server determines the global resource status characteristics shared by all development tasks. This characteristic reflects the overall resource support capacity of the project at a macro level.
[0193] Step S204: Determine the state space based on dependency-aware features and resource state features. After obtaining the task's dependency-aware features and local and global resource state features, the server will construct a state space for subsequent reinforcement learning models based on this information. First, each task node generates its joint state features. Specifically, the already determined dependency-aware features of the task node (which already contains the task's own attributes and its context information in the dependency network) are fused with the local resource state features obtained in the previous step corresponding to the task node (which reflects the current idle status of application resources pre-allocated to the task). This fusion can be achieved by concatenating the two feature vectors, that is, appending one to the other to form a longer feature vector.
[0194] After generating joint state features for all task nodes, the server can combine these sets of joint state features, which contain specific information about each task node, with the global resource state features obtained in the previous step. This combination constitutes the final state space. For example, the list of joint state features for all tasks and the global resource state features can be used as a whole data structure to comprehensively represent the overall state of all tasks and their overall resource environment, thus clearly indicating the complex interrelationships between the dependency-aware characteristics of each task node, its local resource status, and the global resource context.
[0195] Step S205: Based on the state space, intelligent scheduling is performed through reinforcement learning to obtain the target scheduling scheme.
[0196] The server will acquire and utilize a pre-trained reinforcement learning model to determine the target scheduling scheme for the project based on this state space. This reinforcement learning model itself is trained using a composite reward function.
[0197] The composite reward function is determined by comprehensively evaluating the performance of scheduling decisions across multiple key dimensions to form an overall reward signal. These dimensions include at least: First, dependency fulfillment reward, which is assessed based on the scheduling completion status of the prerequisite dependent task nodes of the task to be scheduled. If all prerequisite tasks have been completed as planned, a positive reward is given; otherwise, a negative reward may be given. Second, resource utilization reward, which is assessed based on the current idle status or utilization efficiency of application resources allocated to the task in the scheduling decision. If idle resources are effectively utilized, a positive reward is given. Third, task urgency reward, which is assessed by combining the task's position in the dependency graph (e.g., measured by collaboration density) and its current development progress (e.g., whether it is already behind schedule). This aims to incentivize the model to prioritize tasks that have a significant impact on the overall project schedule or are nearing their deadlines.
[0198] In addition, the composite reward function also includes a penalty term. For example, a resource overload penalty is calculated by statistically analyzing the concentration of similar development tasks assigned to a specific application resource pool for a given task within a short, pre-defined time window (e.g., the most recent scheduling units). If this allocation leads to an excessive clustering of similar tasks (e.g., all API development or all web page development) within the resource pool in a short period, exceeding the pool's ideal concurrency capacity for handling such tasks, a negative penalty can be applied. Finally, an application resource load balancing constraint is included, which compares the actual task load distribution of each application resource pool after the current scheduling action is executed with a pre-defined target load balancing distribution (e.g., the ideal ratio of development to testing tasks, or the task volume difference between development teams should be controlled within a certain range). The load balancing constraint can be calculated based on a norm (e.g., L2 norm squared) of the difference between the actual and ideal load distributions.
[0199] The training process of the reinforcement learning model takes place in an environment that simulates the dynamics and feedback mechanisms of project scheduling. At each time step of each training epoch, the model observes the project state described by the current state space and then selects a scheduling action based on its current internal policy (e.g., selecting a start time for a pending task and assigning it specific application resources). After the simulated environment executes this action, the project state transitions, and the immediate reward value generated by the action is calculated according to the aforementioned composite reward function. The model uses collected empirical data (including sequences of states, actions, rewards, and new states) to continuously update and optimize its internal decision-making policy network. Its ultimate goal is to learn a policy that maximizes the long-term cumulative expected composite reward.
[0200] In practical application, this trained reinforcement learning model will execute its decision-making process based on the real-time state space of the current project to generate a target scheduling scheme. Specifically, the model can generate a set of candidate start times and corresponding candidate application resources for the task nodes to be scheduled. Subsequently, using the aforementioned composite reward function, each combination of candidate start times and candidate application resources is evaluated to determine its reward utility (i.e., comprehensive score) for the task node and the overall scheduling goal. Finally, the model selects those candidate start times and candidate application resources whose reward utility meets preset conditions (e.g., the reward utility value reaches a certain predetermined threshold, or it has the best or near-best reward utility among all candidate schemes, and does not violate any hard constraints) as the final target start time and target application resources for that task node. This selection and confirmation process will be iterated until every task node in the project has been successfully assigned a determined target start time and target application resource. Once the scheduling of all task nodes has been determined, the server outputs this information, forming a complete list containing each task node and its corresponding target start time and target application resource. This list is the target scheduling scheme for the project.
[0201] Step S206: Determine the target duration based on the target schedule. After obtaining the target schedule, the server will perform the final stage calculations to determine the overall target duration of the project. This process first requires determining the specific production capacity of the target application resources allocated to each task node in the target schedule. This production capacity is a key parameter for measuring the efficiency of resource execution, such as the equivalent workload that a development team can complete daily or weekly. This information can be obtained from the resource management module, historical project data, or preset configuration parameters.
[0202] After determining the production capacity of the target application resources allocated to each task, the server will accurately calculate the target completion time of the task based on this production capacity, the inherent workload of the task itself (e.g., reflected by the development scale defined in the task characteristics), and the target start time determined for the task in the target scheduling scheme. The calculation method involves adding a task execution duration calculated based on the task workload and the production capacity of the allocated resources to the planned start time of the task. The server can perform this calculation for each task node in the task dependency graph to obtain its respective target completion time.
[0203] After the target completion times of all task nodes are determined, the server can update or associate this target completion time information with the corresponding task nodes in the previously constructed task dependency graph. This means that each task node in the task dependency graph, in addition to its inherent characteristics and dependencies, will also carry an estimated completion time determined by the target scheduling scheme. Subsequently, based on this task dependency graph that already contains the target completion times of each task node, the server performs detailed path analysis to determine the final project target duration. This path analysis process aims to identify the critical task sequence in the graph that is strictly constrained by the inter-task dependencies and determines the total project duration; this is called the critical path. The server can traverse all possible dependency paths in the task dependency graph from the start to the end of the project and calculate the total duration of each path (this total duration is based on the execution time of each task on the path and the cumulative duration of their dependencies). Among all these paths, the path with the longest total duration is the project's critical path. The target completion time of the last task node on this critical path (relative to the zero time of project start) is then ultimately determined as the target duration of the entire project.
[0204] Unlike traditional methods that directly calculate project duration based solely on task size, complexity, and static resource parameters, this embodiment, through the aforementioned steps, effectively identifies and quantifies the dynamic impact of task dependencies, collaboration patterns, and resource allocation on project duration during information system development. This allows for the establishment of a predictive model that better aligns with actual development processes. Specifically, this invention constructs a relational structure between tasks, fully considering factors such as task dependencies, cross-system collaboration, and resource contention, thus addressing the neglect of task network effects in existing models. Furthermore, by designing an adaptive resource allocation mechanism, it dynamically optimizes the allocation strategy for development and testing resources, achieving flexible scheduling and accurate project duration prediction based on actual resource conditions and development task characteristics. In addition, this invention systematically links project duration prediction with resource scheduling, establishing a project duration calculation method for complex information technology project scenarios. This provides a more feasible and practical project duration management solution in typical scenarios such as changing project requirements, dynamic resource adjustments, and multi-task dependency chains, thereby effectively improving project duration prediction accuracy and resource utilization efficiency.
[0205] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0206] Based on the same inventive concept, this application also provides a power information system scheduling apparatus for implementing the power information system scheduling method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more power information system scheduling apparatus embodiments provided below can be found in the limitations of the power information system scheduling method described above, and will not be repeated here.
[0207] In one exemplary embodiment, such as Figure 3 As shown, a device for calculating the project duration of a power information system is provided, comprising: a task dependency graph construction module 310, a dependency-aware feature determination module 320, a resource state feature acquisition module 330, a state space acquisition module 340, a target scheduling scheme determination module 350, and a target project duration determination module 360, wherein:
[0208] The task dependency graph construction module 310 is used to obtain a task list of development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node.
[0209] The dependency-aware feature determination module 320 is used to determine the dependency-aware features corresponding to each task node based on the task features and the task dependency relationships.
[0210] The resource status feature acquisition module 330 is used to acquire the resource status features of the application resources corresponding to the development task;
[0211] The state space acquisition module 340 is used to acquire a state space based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task node and the application resources.
[0212] The target scheduling scheme determination module 350 is used to obtain a reinforcement learning model for task scheduling, and the reinforcement learning model determines the target scheduling scheme according to the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty.
[0213] The target duration determination module 360 is used to determine the target completion time of each task node based on the target scheduling scheme, and import the target completion time into the task dependency graph according to the corresponding task node to determine the target duration.
[0214] In one embodiment, the dependency-aware feature determination module 320 is further configured to, for each task node, aggregate the task features of the task node's neighboring task nodes, and weight the aggregation process according to the dependency relationship between the task node and each neighboring task node to obtain aggregated neighborhood features; generate resource contention suppression features corresponding to the task node based on the centrality of the task node in the task dependency graph and the load rate of the application resources pre-allocated to the task node; the centrality is determined according to the dependency strength and the resource contention relationship; and generate the dependency-aware features corresponding to the task node by processing the aggregated neighborhood features, the task node's own task features, and the resource contention suppression features through a graph neural network.
[0215] In one embodiment, the resource status feature acquisition module 330 is further configured to acquire the current idle status of application resources pre-allocated to each task node, and determine the local resource status features corresponding to each development task based on the current idle status; and acquire the overall remaining status of the application resources, and determine the global resource status features shared by all development tasks based on the overall remaining status.
[0216] In one embodiment, the state space acquisition module 340 is further configured to, for each task node, fuse the dependency-aware feature corresponding to the task node with the corresponding local resource state feature to generate a joint state feature of the task node; and combine the joint state feature of each task node with the global resource state feature to form the state space.
[0217] In one embodiment, the target scheduling scheme determination module 350 is further configured to: allocate candidate start times and candidate application resources to the task nodes to be scheduled according to the state space by the reinforcement learning model; determine the reward utility of the candidate start times and candidate application resources to the task nodes through the reward function; and take the candidate start times and candidate application resources corresponding to the reward utility that meet the preset conditions as the target start times and target application resources of the corresponding task nodes, until each task node is allocated, and output each task node and the corresponding target start times and target application resources as the target scheduling scheme.
[0218] In one embodiment, the target duration determination module 360 is further configured to determine the production capacity of the target application resources in the target scheduling scheme; based on the production capacity and the target start time in the target scheduling scheme, determine the target completion time of each task; in the task dependency graph, based on the target completion time of all task nodes, determine the task path that is constrained by the task dependency relationship and has the longest task execution time, and determine the target completion time of the last task node on the task path as the target duration.
[0219] In one embodiment, the target scheduling scheme determination module 350 is further configured to: determine the dependency satisfaction reward based on the scheduling status of the preceding dependent task nodes of the task node in the task dependency graph; determine the resource utilization reward based on the current idle status of the application resources corresponding to the task node; determine the task urgency reward based on the centrality of the development task in the task dependency graph and the development progress of the task node; determine the resource overload penalty by statistically analyzing the concentration of similar development tasks allocated to the application resources within a preset time window; determine the load balancing constraint of the application resources based on the task load distribution of the application resources corresponding to the task node and the preset load distribution of the application resources; and determine the composite reward function based on the dependency satisfaction reward, the resource utilization reward, the task urgency reward, the resource overload penalty, and the load balancing constraint.
[0220] Each module in the aforementioned power information system schedule device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0221] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 4 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores task lists. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a power information system scheduling method.
[0222] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0223] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0224] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above method embodiments.
[0225] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0226] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0227] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0228] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0229] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0230] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for calculating the construction period of a power information system, characterized in that, The method includes: Obtain a task list for development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node; Based on the task characteristics and the task dependencies, determine the dependency-aware features corresponding to each task node; Obtain the resource status characteristics of the application resources corresponding to the development task; A state space is obtained based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task nodes and the application resources. A reinforcement learning model for task scheduling is obtained, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty. Based on the target scheduling scheme, the target completion time of each task node is determined, and the target completion time is imported into the task dependency graph according to the corresponding task node to determine the target duration.
2. The method according to claim 1, characterized in that, The step of determining the dependency-aware features corresponding to each task node based on the task features and the task dependencies includes: For each task node, the task features of the adjacent task nodes of the task node are aggregated, and the aggregation process is weighted according to the dependency relationship between the task node and each adjacent task node to obtain aggregated neighborhood features. Based on the centrality of the task node in the task dependency graph and the load rate of the application resources pre-allocated to the task node, a resource contention suppression feature corresponding to the task node is generated; the centrality is determined according to the dependency strength and the resource contention relationship. Based on the aggregated neighborhood features, the task features of the task node itself, and the resource competition suppression features, a graph neural network is used to process the data and generate the dependency-aware features corresponding to the task node.
3. The method according to claim 1, characterized in that, The step of obtaining the resource status of the application resources corresponding to the development task and determining the resource status characteristics includes: Obtain the current idle status of application resources pre-allocated to each task node, and based on the current idle status, determine the local resource status characteristics corresponding to each development task; and, Obtain the overall remaining status of the application resources, and based on the overall remaining status, determine the global resource status characteristics shared by all development tasks; The process of determining the state space of the task node based on the dependency-aware features and resource state features includes: For each task node, the dependency-aware feature corresponding to the task node is fused with the corresponding local resource state feature to generate a joint state feature for the task node; and, The joint state features of each task node are combined with the global resource state features to form the state space.
4. The method according to claim 3, characterized in that, The step of determining the target scheduling scheme by the reinforcement learning model based on the state space includes: The reinforcement learning model allocates candidate start times and candidate application resources to the task nodes to be scheduled based on the state space. The reward function is used to determine the candidate start time and the reward utility of the candidate application resources for the task node. The candidate start time and candidate application resources corresponding to the reward utility that meet the preset conditions are used as the target start time and target application resources of the corresponding task nodes. This process continues until each task node is allocated. Each task node and its corresponding target start time and target application resources are then output as the target scheduling scheme.
5. The method according to claim 4, characterized in that, The step of determining the target completion time for each task node based on the target scheduling scheme, and substituting the target completion time into the task dependency graph according to the corresponding task node to determine the target duration, includes: Determine the production capacity of the target application resources in the target scheduling scheme; Based on the production capacity and the target start time in the target scheduling plan, the target completion time for each task is determined. In the task dependency graph, based on the target completion time of all task nodes, the task path that is constrained by the task dependency relationship and has the longest task execution time is determined, and the target completion time of the last task node on the task path is determined as the target duration.
6. The method according to any one of claims 1 to 5, characterized in that, The composite reward function is determined through the following steps: Based on the scheduling of the preceding dependent task nodes of the task node in the task dependency graph, it is determined that the dependency relationship satisfies the reward. The resource utilization reward is determined based on the current idle status of the application resources corresponding to the task node; The task urgency reward is determined based on the centrality of the development task in the task dependency graph and the development progress of the task node. The resource overload penalty is determined by statistically analyzing the concentration of similar development tasks allocated to the application resources within a preset time window. Based on the task load distribution of the application resources corresponding to the task nodes and the preset load distribution of the application resources, the load balancing constraints of the application resources are determined. The composite reward function is determined based on the dependency satisfaction reward, the resource utilization reward, the task urgency reward, the resource overload penalty, and the load balancing constraint.
7. A device for calculating the construction period of a power information system, characterized in that, The device includes: A task dependency graph construction module is used to obtain a task list of development tasks and construct a task dependency graph based on the task list; the task dependency graph includes the task characteristics of task nodes and the task dependency relationships between each task node; the task dependency relationships include the dependency strength and resource competition relationships between each task node; A dependency-aware feature determination module is used to determine the dependency-aware features corresponding to each task node based on the task features and the task dependency relationships. The resource status feature acquisition module is used to acquire the resource status features of the application resources corresponding to the development task; A state space acquisition module is used to acquire a state space based on the dependency-aware features and resource state features; the state space is used to indicate the relationship between the dependency-aware features of the task node and the application resources. The target scheduling scheme determination module is used to obtain a reinforcement learning model for task scheduling, and the reinforcement learning model determines the target scheduling scheme based on the state space; the reinforcement learning model is trained by a composite reward function including dependency satisfaction reward, resource utilization reward, task urgency reward and resource overload penalty; The target duration determination module is used to determine the target completion time of each task node based on the target scheduling scheme, and import the target completion time into the task dependency graph according to the corresponding task node to determine the target duration.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Task scheduling method and device, equipment and storage medium
CN117592699A
Cloud computing task storage resource intelligent scheduling method based on adaptive graph neural network
CN119440832A
Electric power system state estimation method based on graph contrast learning
CN119475263A
Simulation analysis method and system for electric power engineering cost based on digital twinning
CN120087171A