Resource scheduling method and related equipment
By obtaining the real-time state data of resources and associated parameters, generating the scheduling priority sequence and dynamic weight coefficient, the problem of resource allocation imbalance in the existing resource scheduling methods is solved, and more efficient resource utilization and response are achieved.
Patent Information
- Application Number
- CN202510758582.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-07-08
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing resource scheduling methods lack dynamic perception of resource operation status and comprehensive assessment of multi-dimensional factors, resulting in resource allocation imbalance, system response delay and overall operational efficiency, making it difficult to cope with rapid changes in resource usage status and complex dependencies between resources.
By obtaining real-time state data of each resource in the target resource pool, including load rate and inter-resource correlation parameters, generating a scheduling priority sequence based on preset association rules, and combining dynamic scheduling weight coefficients to allocate resource requests, dynamically adjusting the scheduling priority of resources.
It realizes intelligent scheduling based on multi-factors, improves resource utilization, scheduling accuracy and response efficiency, reduces system bottlenecks, and is especially suitable for complex systems with business coupling relationships between resources.
Smart Images

Figure CN120276830A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology. More specifically, this application relates to a resource scheduling method and related devices. Background Art
[0002] With the continuous development of cloud computing, edge computing, and intelligent scheduling technologies, resource scheduling, as a key link to improve the system operation efficiency and service response ability, has been widely applied in many fields such as data center management, intelligent manufacturing, automated operation and maintenance, and network communication. Especially in application scenarios with multi-resource collaboration, high task density, and high real-time response requirements, how to achieve efficient management and reasonable allocation of heterogeneous resources has become one of the core concerns in the current technological development.
[0003] However, existing resource scheduling methods mostly adopt static configuration or scheduling mechanisms based on a single dimension (such as minimum load, polling strategy), lacking dynamic perception of resource operation status and comprehensive evaluation of multi-dimensional factors, and it is difficult to cope with problems such as rapid changes in resource usage status and complex dependency relationships between resources. The resource load evaluation method is too rough and often cannot reflect the availability and fluctuation characteristics of resources in real time, resulting in lagging or inaccurate scheduling decisions, and further causing the coexistence of resource idleness and congestion. That is, there are generally technical problems of unbalanced resource allocation, system response delay, and low overall operation efficiency in related technologies. Summary of the Invention
[0004] In the summary of the invention part of this application, a series of simplified concepts are introduced, which will be further detailed in the specific implementation part. The summary of the invention part of this application does not mean to attempt to define the key features and essential technical features of the claimed technical solution, nor does it mean to attempt to determine the protection scope of the claimed technical solution.
[0005] The resource scheduling method and related devices provided by this application can generate scheduling priorities and dynamic weights by obtaining resource status in real time and combining association rules, achieving intelligent scheduling based on multiple factors, and being able to improve resource utilization rate, scheduling accuracy, and resource scheduling response efficiency.
[0006] In a first aspect, this application provides a resource scheduling method, including: obtaining real-time status data of each resource in a target resource pool, where the real-time status data includes a first resource load rate and resource interconnection parameters; determining a resource scheduling priority sequence of each resource according to the resource interconnection parameters based on a preset association rule; generating a dynamic scheduling weight coefficient of each resource according to a comparison result between the first resource load rate and a preset load threshold range; and performing allocation processing on resource requests to be responded based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence.
[0007] In some embodiments, the step of obtaining the association parameters between the resources includes: statistically analyzing the resource co-occurrence frequency of the historical task execution logs to obtain the resource collaborative dependence; calculating the resource call time series correlation according to the resource call records within a preset time window; and performing weighted fusion on the resource collaborative dependence and the resource call time series correlation to generate the association parameters between the resources.
[0008] In some embodiments, calculating the resource call time series correlation according to the resource call records within a preset time window includes: extracting the time interval between adjacent resource calls in the resource call records as the first time series feature; calculating the mutual information entropy of the resource call sequence in the resource call records as the second time series feature; and multiplying the first time series feature and the second time series feature after normalization to obtain the resource call time series correlation.
[0009] In some embodiments, generating the dynamic scheduling weight coefficients of the respective resources according to the comparison result between the first resource load rate and the preset load threshold range includes: when the first resource load rate is greater than the upper limit value of the preset load threshold range, determining the dynamic scheduling weight coefficient based on a preset non-linear attenuation function, where the input of the preset non-linear attenuation function is the absolute value of the difference between the first resource load rate and the upper limit value, and the output value of the preset non-linear attenuation function decreases exponentially as the input value increases; when the first resource load rate is within the preset load threshold range, generating the dynamic scheduling weight coefficient according to a preset linear function, where the input of the preset linear function is a first factor and a second factor, the first factor is the deviation degree of the first resource load rate from the preset reference load rate, the second factor is the ratio of the volatility of the first resource load rate to the preset volatility threshold, and the output value of the preset linear function is negatively correlated with the first resource load rate; when the first resource load rate is less than the lower limit value of the preset load threshold range, determining the dynamic scheduling weight coefficient based on a preset gain function, where the input of the preset gain function is the absolute value of the difference between the lower limit value and the first resource load rate, and the output value of the preset gain function increases logarithmically as the input value increases.
[0010] In some embodiments, the allocation process of the resource requests to be responded to based on the dynamic scheduling weight coefficients and the resource scheduling priority sequence includes: determining a candidate resource group in the target resource pool according to the resource scheduling priority sequence; performing weighted sorting on the candidate resource group based on the dynamic scheduling weight coefficients to obtain an allocable resource group; and allocating the resource requests to the target resources that meet the preset resource conditions according to the allocable resource group.
[0011] In some embodiments, determining the candidate resource groups in the target resource pool according to the resource scheduling priority sequence includes: sorting and filtering the resources in the target resource pool according to the resource scheduling priority sequence to obtain sorted resource groups; screening from the sorted resource groups the initial resource groups that are consistent with the resource types in the resource request according to the resource type matching rule; and extracting, based on the inter-resource association parameters, the resources with an association degree higher than a preset association threshold from the initial resource groups to form the candidate resource groups.
[0012] In some embodiments, the resource scheduling method further includes: obtaining the second resource load rate after resource allocation; when it is detected that the deviation between the second resource load rate and the expected load value exceeds a preset tolerance, triggering a recalculation of the dynamic scheduling weight coefficient; and updating the resource scheduling priority sequence based on the recalculated dynamic scheduling weight coefficient.
[0013] In a second aspect, the present application further provides a resource scheduling device, including: a data acquisition unit configured to acquire real-time status data of each resource in a target resource pool, where the real-time status data includes a first resource load rate and inter-resource association parameters; a sequence determination unit configured to determine a resource scheduling priority sequence of each resource based on a preset association rule according to the inter-resource association parameters; a weight determination unit configured to generate a dynamic scheduling weight coefficient for each resource according to a comparison result between the first resource load rate and a preset load threshold range; and a resource allocation unit configured to perform allocation processing on resource requests to be responded to based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence.
[0014] In a third aspect, the present application further provides an electronic device, including: a memory and a processor, where the processor is configured to implement the steps of the resource scheduling method described in the first aspect when executing a computer program stored in the memory.
[0015] In a fourth aspect, the present application further provides a computer-readable storage medium storing a computer program, where the computer program, when executed by a processor, implements the steps of the resource scheduling method described in the first aspect.
[0016] In a fifth aspect, the present application further provides a computer program product including a computer program or computer-executable instructions, where the computer program or computer-executable instructions, when executed by a processor, implement the resource scheduling method provided in the embodiments of the present application.
[0017] In summary, by obtaining the first resource load rate of each resource in the target resource pool and the resource correlation parameters, the present application can dynamically grasp the current usage of each resource and the interdependent relationship between resources, providing a data basis for subsequent scheduling decisions, avoiding static or lagging resource allocation methods, and improving the accuracy and timeliness of resource scheduling. Based on the preset correlation rules, the interdependent relationship between resources is quantified into a resource scheduling priority sequence, which can ensure that critical resources or critical path resources are given priority when allocating resources, effectively reducing system bottlenecks and improving the overall scheduling efficiency, and is particularly applicable to complex systems with business coupling relationships between resources. According to the comparison result between the current load rate of each resource and the preset load threshold range, a dynamic scheduling weight coefficient is generated, which can dynamically adjust the priority of its participation in scheduling according to the weight of resource load. By combining the dynamic scheduling weight coefficient with the scheduling priority sequence, a comprehensive scheduling based on multiple factors such as load status and resource correlation is realized. Compared with a single-factor (such as polling, minimum load) decision-making method, it can maximize resource utilization and shorten task response time. In summary, the resource scheduling method provided by the present application realizes intelligent scheduling based on multiple factors by obtaining resource status in real time and combining correlation rules, and can improve resource utilization, scheduling accuracy and resource scheduling response efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] By reading the following detailed description of the preferred embodiments, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to limit this specification. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings: Figure 1 is a schematic flowchart of a resource scheduling method provided by an embodiment of the present application; Figure 2 is a schematic structural diagram of a resource scheduling device provided by an embodiment of the present application; Figure 3 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0019] The terms in the description, claims, and drawings of this application, such as "first", "second", "third", "fourth", etc. (if any), are used to distinguish similar objects and do not describe a specific order or sequence. Therefore, it is understood that, under appropriate circumstances, these terms can be used interchangeably so that the described embodiments can be implemented in different orders, unless there are special requirements in the drawings or description. In addition, the terms "is" and "has" in this application and any of their variants are intended to non-exclusively include all possible constituent elements. For example, a process, method, system, product, or device that includes several steps or units does not have to be limited to the steps or units that are clearly listed, but may also include other steps or units that are not clearly listed, or steps or units that are inherent to the process, method, product, or device.
[0020] In this application, a "module" or "unit" refers to a computer program or a part of a computer program with a specific function, and works in cooperation with other related parts to achieve a predetermined goal. These modules or units can be implemented by software, hardware (such as a processing circuit or a memory), or a combination of both. One or more processors or memories can implement one or more modules or units. At the same time, each module or unit can also be a part of a larger module or unit.
[0021] The technical solutions in this application will be described in detail below with reference to the drawings in the embodiments. It should be noted that the described embodiments are only a part of this application, not all embodiments. In the following description, the "some embodiments" mentioned are only subsets of all possible embodiments, which can be the same or different subsets, and different embodiments can be combined with each other without conflict.
[0022] Figure 1 is a flowchart of a resource scheduling method provided by an embodiment of this application. Exemplarily, see Figure 1 The resource scheduling method provided by the embodiment of this application may include the following steps 101 to step 104: Step 101, obtain the real-time status data of each resource in the target resource pool, where the real-time status data may include the first resource load rate and the resource correlation parameter; In some examples, the target resource pool refers to a set of resources that are included in the scheduling scope and can be used to execute tasks. It can be physical resources such as servers, CPU cores, memory, bandwidth, etc., or logical resources such as container instances, microservice nodes, database connection pools, etc. For example, a computing resource pool composed of multiple server clusters in an enterprise's data center; or a schedulable set of Kubernetes Pods in a cloud platform. "Resource" refers to a single scheduling object in the target resource pool, which has the ability to run independently and can carry tasks or provide services. For example, a resource can be a server, a GPU, a robotic unit, or a database node, etc. Real-time status data refers to data dynamically collected at a certain moment that can reflect the current running status and behavior of resources, including but not limited to the first resource load rate and resource interrelationship parameters. Real-time status data can be collected periodically through system monitoring tools (such as Prometheus, Zabbix) or the scheduling platform interface. The first resource load rate refers to the ratio of the current load of a resource to its maximum carrying capacity, which is an important indicator to measure the busyness of a resource. The first resource load rate can be calculated by collecting indicators such as CPU usage, memory occupancy, and I / O load. For example, if the current CPU usage of a certain server is 70%, then its first resource load rate is 0.7. Resource interrelationship parameters describe the possible collaborative, dependent, or sequential relationships between two or more resources during task execution. Resource interrelationship parameters can be quantified as numerical types (such as correlation score values) or structural types (such as call graphs, dependency matrices). For example, when task A needs to call resource R1 first and then resource R2 during execution, there is a strong temporal correlation between R1 and R2.
[0023] Exemplarily, in specific implementation, first, the CPU occupancy rate, memory usage, and task queue length of each resource can be periodically collected through the scheduling platform API or monitoring middleware, and the first resource load rate can be calculated based on this. At the same time, the system will analyze the task execution logs of the past period of time, extract the frequency of co-occurrence of resources in tasks and the call sequence, construct a call graph between resources, and quantify it as resource interrelationship parameters to support the accurate modeling and calculation of subsequent scheduling strategies. In this way, the system can dynamically master the resource status and relationships, providing comprehensive and real-time data support for intelligent scheduling.
[0024] By implementing step 101, obtaining the first resource load rate of resources and the resource interrelationship parameters can realize the dynamic mastery and comprehensive perception of the current running status of resources and the interdependent relationships between resources, providing a real-time and accurate data basis for subsequent scheduling, and being able to avoid scheduling depending on outdated or static information, thereby improving the timeliness and accuracy of scheduling decisions.
[0025] Step 102: Based on the preset association rules, determine the resource scheduling priority sequence of each resource according to the association parameters between resources. In some examples, the preset association rules refer to a set of rules predefined in the scheduling policy design stage for explaining or processing the dependency relationships between resources, which are used to guide how to determine the scheduling priority according to the association parameters between resources. The preset association rules can be derived from domain experience, business requirements, or data mining results, and can adopt the following forms: Based on thresholds: such as "If the association degree between resource A and resource B is higher than 0.8, then schedule A first"; Based on topological structure: such as "The resource with a more forward dependency path has a higher priority"; Based on graph model analysis: such as calculating metrics like PageRank and betweenness centrality according to the call graph to determine important resource nodes. The acquisition methods of the preset association rules can be static configuration (manually defined by the system designer based on the business model), data mining acquisition (automatically extracting frequent patterns or dependency paths from historical task data), or machine learning algorithm acquisition (automatically learning rule weights through feedback on scheduling effects). The resource scheduling priority sequence is a sorted list formed by analyzing the association parameters between resources and the preset association rules to indicate the degree of priority that each resource in the target resource pool should be considered in scheduling; for example, a directed graph can be constructed using resource dependencies, and scoring metrics such as the dependency centrality and task frequency of each resource can be calculated, and the priority sequence is formed according to the scoring results. The weights can also be adjusted in combination with resource types (such as critical path resources, shared resources); for example, if resource R1 depends on R2, R2 depends on R3, and R3 is frequently called by multiple tasks, the final priority sequence formed is: R3 > R2 > R1.
[0026] Exemplarily, in specific implementation, based on the real-time status data obtained in the previous step, the scheduling importance of each resource in the entire task flow can be evaluated through the preset dependency path length and co-occurrence frequency rules; for example, if a resource is at the intersection of multiple critical task chains, has a high call frequency, and wide dependencies, it is given a higher scheduling priority; finally, all resources are sorted according to the scores to generate the resource scheduling priority sequence, which will be used as the core basis for candidate resource screening and weight sorting in the subsequent scheduling process, thereby ensuring the priority allocation of critical resources.
[0027] By implementing Step 102, the relative importance of each resource in scheduling can be determined, and the resource scheduling priority sequence can be constructed to enable critical resources to participate in scheduling first, thereby optimizing the response efficiency of critical path resources and reducing business latency, which is particularly suitable for complex scenarios with highly coupled resources.
[0028] Step 103: Generate the dynamic scheduling weight coefficient of each resource according to the comparison result between the first resource load rate and the preset load threshold range. In some examples, the preset load threshold range refers to the predefined normal operating range of the load, which is used to determine whether the resource is in a low-load, normal-load, or high-load state. For example, the preset load threshold range can be set with a lower limit of 0.3 and an upper limit of 0.8. Then, if the first resource load rate < 0.3, it is in a low load; if 0.3 ≤ the first resource load rate ≤ 0.8, it is in a normal load; if the first resource load rate > 0.8, it is in a high load. The comparison result between the first resource load rate and the preset load threshold range refers to the classification of the current resource's load state obtained after comparing the first resource load rate with this range, and based on this, the adjustment direction of the scheduling policy can be determined. The dynamic scheduling weight coefficient refers to the scheduling priority coefficient dynamically adjusted according to the current load state of the resource, which is used to reflect the ability of the current resource to undertake new tasks appropriately. This dynamic scheduling weight coefficient will directly affect the selection probability or ranking of the resource in the final scheduling.
[0029] Exemplarily, in specific implementation, the first resource load rates of all resources can be collected in real time and compared with the preset load range. For example, if the load rate of server A is 0.9, exceeding the upper limit of 0.8, a lower scheduling weight, such as 0.15, can be calculated through a preset exponential decay function to reduce the invocation of this resource; while for another server B, the first resource load rate is 0.25, which is lower than the lower limit of 0.3, a higher weight, such as 0.8, can be obtained using a logarithmic gain function, so as to preferentially schedule this resource.
[0030] Through the implementation of step 103, by comparing the real-time load situation of the resource with the preset load threshold range, a dynamic weight coefficient reflecting the resource scheduling adaptability is generated, which can dynamically suppress the scheduling frequency of overloaded resources, improve the utilization rate of low-load resources, and achieve load balancing, improved resource scheduling stability, and maximized resource utilization.
[0031] Step 104, based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence, perform allocation processing on the resource requests to be responded to; In some examples, the resource requests to be responded to refer to various task requests or service invocations that are currently in a pending state and require resource scheduling to complete their execution. The resource requests to be responded to can come from business systems, user inputs, scheduled tasks, or automatically triggered events. Resource requests can include computing requests such as running models and executing scripts, storage requests such as data writing and reading, network resource requests such as bandwidth allocation, and container instance deployment requests, etc. Through a scheduling algorithm, considering two dimensions comprehensively to allocate tasks to resources, such as weighted priority sorting, score combination scoring, round-robin weighted scheduling, etc., the resource requests to be processed are allocated to resource units with a higher ranking and a higher weight to achieve double optimization of resource efficiency and performance.
[0032] Exemplarily, in specific implementation, a batch of resource requests to be responded can be obtained from the task queue, and by combining the resource scheduling priority sequence calculated in the previous stage with the dynamic weight coefficient of each resource, the comprehensive scheduling score of each resource can be calculated. For example, resource R1 has a high priority but a heavy current load, and its score may be 0.4; while resource R2 has a slightly lower priority but a light load, and its score is 0.75. Finally, the task is preferentially assigned to R2. For multiple requests, weighted round-robin or task division according to the score ratio can be adopted to ensure scheduling rationality and resource utilization rate.
[0033] Through the implementation of step 104, by comprehensively considering the real-time scheduling weight and priority sorting of resources, the resource requests are orderly allocated, which can achieve precise scheduling driven by multiple factors, avoid the problem of resource scheduling imbalance caused by "high priority but overloaded" or "low load but low priority", so as to improve the overall scheduling efficiency and service response quality.
[0034] In summary, in the embodiment of the present application, by obtaining the first resource load rate and the inter-resource association parameters of each resource in the target resource pool, the current usage situation of each resource and the mutual dependence relationship between resources can be dynamically grasped, which provides a data basis for subsequent scheduling decisions, avoids static or lagging resource configuration methods, and can improve the accuracy and timeliness of resource scheduling; based on the preset association rules, the dependence relationship between resources is quantified into a resource scheduling priority sequence, which can ensure that key resources or key path resources are preferentially considered when allocating resources, can effectively reduce system bottlenecks, and improve the overall scheduling efficiency, and is particularly suitable for complex systems with business coupling relationships between resources; according to the comparison result between the current load rate of each resource and the preset load threshold interval, a dynamic scheduling weight coefficient is generated, which can dynamically adjust the priority of its participation in scheduling according to the weight of the resource load; by combining the dynamic scheduling weight coefficient with the scheduling priority sequence, a comprehensive scheduling based on multiple factors such as load status and resource relevance is realized. Compared with the single-factor (such as round-robin, minimum load) decision-making method, it can maximize resource utilization rate and shorten task response time. In summary, the resource scheduling method provided by the embodiment of the present application realizes intelligent scheduling based on multiple factors by obtaining the resource status in real time and combining the association rules to generate scheduling priorities and dynamic weights, and can improve resource utilization rate, scheduling accuracy and resource scheduling response efficiency.
[0035] In some embodiments, the step of obtaining the aforementioned inter-resource association parameters may include: statistically analyzing the resource co-occurrence frequency of the historical task execution logs to obtain the resource co-dependence degree; calculating the resource call timing correlation according to the resource call records within the preset time window; and performing weighted fusion on the resource co-dependence degree and the resource call timing correlation to generate the inter-resource association parameters.
[0036] In some examples, the historical task execution log refers to the event data automatically recorded during the process of running tasks in the past, which details the entire process of task allocation, execution, resource invocation, etc.; the content in the historical task execution log can include task ID, start and end times of invocation, list of resources used, invocation order, response time, and status code, etc., and can be recorded through log systems such as ELK and Fluentd, scheduling platforms such as Kubernetes Events and Airflow Logs, or exported through business system interfaces. Resource co-occurrence frequency statistics is to count the frequency of multiple resources being used simultaneously or consecutively in the same task in a large number of historical task execution logs. It can traverse the historical task execution log, combine and count the resource pairs that co-occur in each task to form a co-occurrence matrix or frequency table; for example, if the resource pair (R1, R2) co-occurs 70 times in 100 tasks, then its co-occurrence frequency is 0.7. Resource co-dependency is a quantitative indicator reflecting the collaborative and co-invocation relationship between two resources in a task, which can be obtained by weighted adjustment of the co-occurrence frequency; for example, the resource co-occurrence frequency is 0.7, and the weight of R1 in the critical task chain is 1.2, then the co-dependency is 0.84. The preset time window refers to the time range set for filtering data when counting or calculating resource invocation relationships; the preset time window can be the past 10 minutes, 1 hour, 24 hours, etc. Resource invocation records refer to the recorded data of the actual invocation order, number of times, and duration of each resource during task execution within the preset time window, which can be used to analyze which resources are invoked at what time and whether there is a clear order. Resource invocation temporal correlation refers to the correlation measure of the invocation order and interval time between two resources, reflecting whether there is a strong temporal dependency; for example, if in 90% of the tasks, R2 follows R1 immediately after R1 is invoked, then the temporal correlation can be set to 0.9. The resource co-dependency and resource invocation temporal correlation between two resources can be combined to generate a unified parameter value representing the resource dependency relationship. Weighted fusion methods such as linear weighting, fuzzy logic, or neural networks can be used to comprehensively score the two: Resource association parameter (R1, R2) = α × co-dependency + β × temporal correlation; where α and β are preset weight coefficients; for example, the co-dependency between R1 and R2 is 0.75, the temporal correlation is 0.85, and the set weights are α = 0.6 and β = 0.4, then the association parameter = 0.6 × 0.75 + 0.4 × 0.85 = 0.79.
[0037] Exemplarily, in a specific implementation, a preset time window (such as the recent 1 hour) can be set first. The task execution logs within this time period are extracted, and the co-occurrence frequencies of the resource combinations appearing in the tasks are statistically analyzed to construct a resource collaboration matrix. At the same time, the call paths and sequences in each task are analyzed, and the call timing correlation between resources is statistically calculated. Then, according to the preset fusion strategy, the collaboration dependence and timing correlation are weighted and integrated to form the final correlation parameter matrix between resources, providing an accurate structural dependence basis for subsequent priority judgment and scheduling decision-making.
[0038] Through the implementation of the above embodiments, by combining the historical co-occurrence frequency and the timing correlation of resource calls, the collaboration relationship between resources is comprehensively evaluated, and more accurate correlation parameters are generated, so that the formulation of scheduling priorities is more in line with the actual dependence and call rules of resources, and the adaptability of the scheduling strategy to the actual business scenario can be enhanced.
[0039] In some embodiments, calculating the resource call timing correlation according to the resource call records within the preset time window may include: extracting the time interval between adjacent resource calls in the resource call records as the first timing feature; calculating the mutual information entropy of the resource call sequence in the resource call records as the second timing feature; multiplying the first timing feature and the second timing feature after normalization to obtain the resource call timing correlation.
[0040] In some examples, the first temporal feature is the time interval between adjacent resource calls, which refers to the time difference between adjacent resources in the resource call record during the execution of a task, reflecting the tightness of resource calls. The smaller the first temporal feature, the more concentrated the resource calls, the more fixed the order, and the stronger the possible dependency. For example, if the call order of task A is from R1(10:00:00) to R2(10:00:02) to R3(10:00:08), then the first temporal feature from R1 to R2 is 2 seconds, and the first temporal feature from R2 to R3 is 6 seconds. The second temporal feature is the mutual information entropy of the resource call sequence, which refers to the measure of the consistency and information correlation of the call order of two resources in multiple tasks. Substantially, it is to calculate the mutual information value (Mutual Information, MI) between the call order combination distributions of R1 and R2, that is, the "common information amount" contained in their call behaviors. For example, if in 100 tasks, R1 follows R2 80 times, and vice versa only 5 times, the second temporal feature will be significantly higher, indicating that its call sequence has a stable structure. Since the dimensions of the first temporal feature and the second temporal feature are different, normalization or inverse normalization processing can be performed first to unify their numerical ranges, and then the two are multiplied as the final resource call temporal correlation index, taking into account both time tightness and order stability. For example, the average time interval from R1 to R2 is 3 seconds, and after normalization, it is 0.8 (relatively compact), and the mutual information entropy from R1 to R2 is 0.9 (high consistency), then the final temporal correlation = 0.8×0.9 = 0.72.
[0041] Exemplarily, in specific implementation, an analysis time window (such as the past 6 hours) can be set first, the resource call order and corresponding timestamps of each task are extracted from the scheduling log, and the call time interval between consecutive resource pairs is calculated as the first temporal feature. Subsequently, the order co-occurrence frequency of these resource pairs in multiple tasks is statistically analyzed, and the mutual information value is calculated as the second temporal feature. After normalizing the two features respectively and multiplying them, the temporal correlation of each pair of resources is obtained for subsequent generation of the resource interrelationship parameter matrix.
[0042] Through the implementation of the above embodiments, information in two dimensions, namely the resource call time interval (reflecting the call rhythm) and the mutual information entropy (reflecting the sequence dependence intensity), is extracted and normalized and fused, which can improve the quantization accuracy and fine-grained expression ability of temporal correlation, and further make resource scheduling more in line with the time call pattern of resources.
[0043] In some embodiments, the foregoing step 103 may include: when the first resource load rate is greater than the upper limit value of the preset load threshold range, determining a dynamic scheduling weight coefficient based on a preset non-linear attenuation function, where the input of the preset non-linear attenuation function is the absolute value of the difference between the first resource load rate and the upper limit value, and the output value of the preset non-linear attenuation function decreases exponentially as the input value increases; when the first resource load rate is within the preset load threshold range, generating a dynamic scheduling weight coefficient according to a preset linear function, where the input of the preset linear function is a first factor and a second factor, the first factor is the deviation degree of the first resource load rate from the preset reference load rate, the second factor is the ratio of the volatility of the first resource load rate to the preset volatility threshold, and the output value of the preset linear function is negatively correlated with the first resource load rate; when the first resource load rate is less than the lower limit value of the preset load threshold range, determining a dynamic scheduling weight coefficient based on a preset gain function, where the input of the preset gain function is the absolute value of the difference between the lower limit value and the first resource load rate, and the output value of the preset gain function increases logarithmically as the input value increases.
[0044] In some examples, the preset non-linear attenuation function is a function set to reduce the scheduling probability when the resource load is too high (the first resource load rate is greater than the upper limit value of the preset load threshold range), and the output value decreases rapidly as the input difference increases. An exponential function can be used. The specific function form and parameters can be set by the system developer according to the business scheduling tolerance experience or obtained through model tuning. For example, if the current load rate of a certain resource is 0.95, the upper limit threshold is 0.8, and the difference is 0.15, substituting into the formula e -10×0.15≈0.22, that is, the dynamic scheduling weight coefficient of this resource is 0.22, indicating a significant reduction in the scheduling probability. The preset linear function is a function used to fine-tune the dynamic scheduling weight coefficient when the load is within the normal range; the input is two factors, and the output value is negatively correlated with the load rate; the implementation form can be w = a - b1×the first factor - b2×the second factor; where, w is the dynamic scheduling weight coefficient, a is the reference weight constant, b1 and b2 are adjustment coefficients; the first factor is the deviation value of the current first resource load rate of the resource relative to the preset reference load rate, which can be used to measure whether the resource tends to the optimal utilization level; for example, if the first resource load rate is 0.6 and the preset reference load rate is 0.5, then the first factor is 0.1; the second factor is the ratio of the change range of the first resource load rate within a certain time window to the preset fluctuation threshold; it can be used to reflect the stability of the resource load, the more unstable, the smaller the scheduling tendency; for example, within the last 5 minutes, the standard deviation of the resource load is 0.05 and the preset fluctuation threshold is 0.1, then the second factor is 0.5. The preset gain function is a function used to increase the scheduling probability when the resource load is too low (the first resource load rate is less than the lower limit value of the preset load threshold range); the output increases as the load gap increases, and a logarithmic growth function can be used; for example, if the load rate of a certain resource is 0.1, which is lower than the lower limit of 0.3 and the difference is 0.2, then the dynamic scheduling weight coefficient is log(1 + 10×0.2)≈1.0986.
[0045] Exemplarily, in a specific implementation, the first resource load rates of all resources can be classified and judged. If the load rate of a certain resource is 0.92, exceeding the upper limit of 0.8, the preset exponential decay function is called to calculate its dynamic scheduling weight, rapidly reducing its scheduling probability; if the load rate of another resource is 0.55, within the normal range, the scheduling weight is calculated through the linear function combined with its deviation and volatility; if a resource load is only 0.1, the logarithmic gain function is used to increase its weight. Through this non-linear - linear hybrid scheduling weight generation mechanism, the system can adapt to different load states, ensuring scheduling intelligence and system stability.
[0046] Through the implementation of the above embodiments, by adopting non-linear attenuation functions, linear adjustment functions, and logarithmic gain functions to dynamically adjust weights according to different load conditions (such as overload, normal, and low load), the scheduling adaptability of resources can be more accurately reflected. The non-linear attenuation function (such as the exponential function) is used in the high-load interval to quickly reduce the scheduling weight of overloaded resources and effectively inhibit further congestion of resources. The linear function is applied to the normal-load interval to balance and adjust the scheduling priority through the load deviation degree and volatility, achieving both scheduling stability and efficiency. The gain function (such as the logarithmic function) is used in the low-load interval to gradually increase the scheduling weight of resources as the degree of resource idleness deepens, improving resource utilization rate without over-activating cold resources. By segmenting and combining the three types of functions according to the load interval, precise response and dynamic adaptation to the resource state can be achieved. Different from the unified function strategy, it can significantly improve the agility, robustness, and overall load balancing ability of the target resource pool for resource scheduling.
[0047] In some embodiments, the foregoing step 104 may include: determining a candidate resource group in the target resource pool according to the resource scheduling priority sequence; performing weighted sorting on the candidate resource group based on the dynamic scheduling weight coefficient to obtain an allocable resource group; and allocating the resource request to the target resource that meets the preset resource conditions according to the allocable resource group.
[0048] In some examples, the candidate resource group refers to a subset of resources with certain scheduling potential or priority consideration selected from the target resource pool according to the resource scheduling priority sequence. The top N resources or resources with a score higher than a certain threshold can be selected according to the priority sequence, and dynamic updates are supported, such as re-evaluating the resource status and ranking every minute. For example, assuming the resource priority sequence is: R3 > R1 > R2 > R4 > R5, the first 3 resources (R3, R1, R2) can be selected as the candidate resource group to participate in the next weighted sorting. The allocable resource group is a subset of target resources for scheduling execution selected after further weighted sorting of the candidate resource group in combination with the current dynamic scheduling weight coefficient of the resources. For example, if R3 has a high priority but a load weight of only 0.2, and R1 has a slightly lower priority but a weight of 0.9, the comprehensive score of R1 is better than that of R3, and R1 may finally rank first and enter the allocable resource group. The resource request to be scheduled can be finally scheduled and allocated by selecting the resource with the highest matching degree in the allocable resource group according to preset resource conditions such as resource type, ability, or task characteristics. The preset resource conditions may include: resource capability requirements (such as GPU, specific software version, memory capacity), network or regional location, security isolation policy, QoS level, or SLA requirements, etc. For example, an AI inference task request requires GPU resources supporting CUDA 11.3. Among the allocable resource group (such as R1, R2, R4), the resource node R2 that meets this condition is found, and the task is scheduled to R2.
[0049] Exemplarily, in actual implementation, first, the top 10 resources can be selected from the target resource pool according to the resource scheduling priority sequence to form a candidate resource group; then, combined with the current dynamic scheduling weights of each resource, its comprehensive scheduling score is calculated, and the top 5 resources are selected after sorting as the allocable resource group; finally, for each resource request (such as a container deployment request), it is checked whether these resources meet the declared resource specifications (such as GPU type, memory size, network bandwidth, etc.), and the request is allocated to the target resource with the highest matching degree, ensuring that both the resource usage requirements are met and the overall resource scheduling efficiency and system operation balance are improved.
[0050] Through the implementation of the above embodiments, by jointly using resource priorities and scheduling weights for candidate resource screening and sorting, hierarchical screening and fine matching of resource allocation can be achieved, thereby improving the allocation efficiency and ensuring that resource requests are reasonably scheduled while meeting performance constraints, and further improving the accuracy of resource matching and the overall performance of scheduling.
[0051] In some embodiments, determining the candidate resource group in the target resource pool according to the resource scheduling priority sequence as described above may include: sorting and screening the target resource pool according to the resource scheduling priority sequence to obtain a sorted resource group; screening the sorted resource group according to the resource type matching rule to obtain an initial resource group with the same resource type as that in the resource request; and based on the inter-resource association parameters, extracting resources with an association degree higher than the preset association threshold from the initial resource group to form a candidate resource group.
[0052] In some examples, a sorted resource group refers to a resource list obtained by sorting all resources in the target resource pool according to the resource scheduling priority sequence, with resources with higher priority being placed in front; for example, if the priority scores are: R5(0.95), R1(0.92), R3(0.89), R2(0.83)..., then the sorted resource group is: [R5, R1, R3, R2, …]. A resource type matching rule refers to a matching standard used to determine whether a resource meets the type or functional requirements required by a task request; a resource type matching rule can be a predefined resource and task type mapping table, such as "AI reasoning tasks require GPUs", "data processing tasks require large memory", etc., or can be automatically determined based on resource metadata, label systems, and node capability description documents. An initial resource group refers to a subset of resources that meet the resource type matching rule in a sorted resource group; for example, from the sorted resource group [R5, R1, R3, R2], only R1 and R2 are GPU nodes, and the task request requires GPU resources, then the initial resource group is [R1, R2]. The preset association threshold is used to filter out resources whose "resource association parameter" is higher than a certain value, indicating the minimum acceptable standard for the degree of coordination between resources. The preset association threshold can be preset by the scheduling strategy (such as 0.6, 0.75), or can be empirically optimized through historical scheduling success rate or task performance, or can be adjusted according to the current task importance or resource utilization rate changes; for example, if the task request needs to be processed in coordination with resource R0, the resource association parameters are R1 (0.8) and R2 (0.55), and the threshold is set to 0.6, then only R1 is selected into the candidate resource group.
[0053] For example, in actual implementation, all resources in the resource pool can be sorted according to the resource priority score to form a sorted resource group; then, combined with the resource type requirements of the task request (such as the need to support storage nodes with high concurrent I / O), functionally matching resources are screened out to form an initial resource group; finally, based on the current task or historical dependency model, the collaborative correlation between these resources and task-related resources is analyzed, and nodes with a correlation higher than 0.7 are selected to form the final candidate resource group, providing a reliable candidate set for the next step of weighted sorting and resource allocation.
[0054] Through the implementation of the above-mentioned embodiment, through the three-step strategy of sorting and screening, type matching and correlation filtering, the scope of candidate resources can be finely controlled, which can take into account both the consistency of resource types and the high correlation between resources, thereby improving the accuracy of resource scheduling and the ability to ensure business continuity, which is particularly suitable for multi-type heterogeneous resource pool environments.
[0055] In some embodiments, the foregoing resource scheduling method may further include: obtaining a second resource load rate after resource allocation; when it is detected that the deviation between the second resource load rate and the expected load value exceeds a preset tolerance, triggering a recalculation of the dynamic scheduling weight coefficient; and updating the resource scheduling priority sequence based on the recalculated dynamic scheduling weight coefficient.
[0056] In some examples, the second resource load rate refers to the current resource load rate re-acquired after the resources have been allocated and tasks are executed, and is used to evaluate the actual usage of resources after task scheduling. The preset tolerance is an acceptable error range for judging whether the actual resource usage deviates from the scheduling expectation, so as to control the scheduling accuracy and fault tolerance ability; for example, if the expected load value is 0.7 and the preset tolerance is 0.1, when the second resource load rate is not within the range of [0.6, 0.8], it is considered that the deviation is too large. By performing feedback verification on the resource usage after scheduling, when the second resource load rate significantly deviates from the expected load value, it indicates that there are errors in resource state estimation or scheduling strategies, and it is necessary to re-evaluate the resource suitability. After calculating the new dynamic scheduling weight coefficient, combined with the scheduling priority sorting logic between resources, the scheduling priority of the entire resource pool is updated in real time, so that the scheduling strategy adapts to the state of the current target resource pool.
[0057] Exemplarily, after scheduling execution, the monitoring module obtains the second resource load rate of each allocated resource and compares it with the expected load value calculated in the scheduling stage; if there are obvious high or low load deviations in some resources, exceeding the set tolerance interval, the recalculation process of the dynamic scheduling weight of the resource is automatically triggered; for example, when the actual load is significantly higher than the prediction, an exponential decay function is used to lower its weight to reflect that it has become busy; then, the overall resource priority sequence is updated based on the latest weight, so that the scheduling logic evolves adaptively with the system state, improving the global scheduling accuracy and stability.
[0058] By implementing the above embodiments, obtaining the second load rate after resource allocation and detecting the deviation from the expected value can realize the dynamic adjustment and closed-loop optimization of the scheduling strategy, enhance the adaptability to sudden load changes, ensure that the scheduling mechanism is always in the optimal or near-optimal state, and improve the overall robustness and flexibility of resource scheduling.
[0059] In some embodiments, the resource scheduling method may further include: constructing a resource topology pressure perception model, training and generating a resource pressure propagation matrix based on real-time state data and historical scheduling data, and when it is detected that the load of a certain resource breaks through a preset pressure threshold, predicting the load fluctuation trend of its adjacent resources through matrix operations and triggering a cascaded scheduling response.
[0060] In some examples, the resource topology pressure perception model is a dynamic pressure conduction model constructed by combining a graph neural network (GNN), which is used to characterize the load association characteristics of resources in a physical or logical topology structure. The historical scheduling data includes multi-dimensional data such as resource ID, scheduling time, load change curve, task type, etc. Through training, the model learns the weight coefficients of pressure conduction between resources. The resource pressure propagation matrix is an N×N matrix (N is the scale of the resource pool), and the matrix elements represent the influence intensity of the load change of resource i on resource j. For example, an element value of 0.6 means that when the load of resource i increases by 10%, the load of resource j may increase by 6% accordingly. When the load rate of a certain resource exceeds the pressure threshold (such as 0.9), the model calculates the expected load increment of its adjacent resources through matrix multiplication. If it is predicted that the load of a certain adjacent resource will exceed 80% of its threshold, the resource will be included in the high-priority scheduling queue in advance to avoid the chain overload caused by pressure diffusion.
[0061] Exemplarily, in the cloud-native container cluster scenario, when it is detected that the load rate of the database node R6 reaches 0.95 (exceeding the pressure threshold of 0.9), the pressure perception model calculates through the propagation matrix and finds that the expected load of its associated API gateway node R7 will exceed 0.8 in 15 minutes (the threshold of R7 is 0.85). The system immediately triggers cascaded scheduling: assigns a read-write separation task to R6 to divert it to the slave node R6-1, and at the same time temporarily increases the dynamic scheduling weight coefficient of R7 from 0.7 to 0.9, and preferentially schedules lightweight tasks to balance its load.
[0062] Through the implementation of the above embodiments, the cascaded scheduling mechanism based on topology pressure perception can identify the potential risks of resource load imbalance in advance, block the pressure conduction path through active intervention, and avoid the systemic resource allocation imbalance caused by single-point overload. This mechanism expands the scheduling vision from isolated resources to a resource network with topological associations, changes the system response from passive adjustment to active prediction, significantly reduces the task queuing delay caused by load diffusion, and improves the resource coordination efficiency and overall operation stability under complex topological structures.
[0063] Furthermore, as an implementation of the foregoing method embodiments, the present application also provides a resource scheduling device for implementing the foregoing method embodiments. This device embodiment corresponds to the foregoing method embodiment. For the convenience of reading, the details of the foregoing method embodiment will not be described one by one in this resource scheduling device embodiment, but it should be clear that the device in the embodiments of the present application can correspondingly implement all the contents of the foregoing method embodiment. Such as Figure 2As shown, the resource scheduling device 20 includes: a data acquisition unit 201, a sequence determination unit 202, a weight determination unit 203, and a resource allocation unit 204. Among them, the data acquisition unit 201 is configured to acquire real-time status data of each resource in the target resource pool, where the aforementioned real-time status data may include a first resource load rate and a resource correlation parameter; the sequence determination unit 202 is configured to determine a resource scheduling priority sequence of each resource based on a preset association rule according to the resource correlation parameter; the weight determination unit 203 is configured to generate a dynamic scheduling weight coefficient for each resource according to a comparison result between the first resource load rate and a preset load threshold range; the resource allocation unit 204 is configured to perform allocation processing on a resource request to be responded based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence.
[0064] In some embodiments, the data acquisition unit 201 is further configured to perform resource co-occurrence frequency statistics on historical task execution logs to obtain a resource cooperation dependency; calculate resource call timing correlation according to resource call records within a preset time window; and perform weighted fusion on the resource cooperation dependency and the resource call timing correlation to generate a resource correlation parameter.
[0065] In some embodiments, the data acquisition unit 201 is further configured to extract the time interval between adjacent resource calls in the resource call record as a first timing feature; calculate the mutual information entropy of the resource call sequence in the resource call record as a second timing feature; and multiply the first timing feature and the second timing feature after normalization processing to obtain the resource call timing correlation.
[0066] In some embodiments, the weight determination unit 203 is further configured to, when the first resource load rate is greater than the upper limit value of the preset load threshold range, determine the dynamic scheduling weight coefficient based on a preset non-linear attenuation function, where the input of the preset non-linear attenuation function is the absolute value of the difference between the first resource load rate and the upper limit value, and the output value of the preset non-linear attenuation function decreases exponentially as the input value increases; when the first resource load rate is within the preset load threshold range, generate the dynamic scheduling weight coefficient according to a preset linear function, where the input of the preset linear function is a first factor and a second factor, the first factor is the deviation degree of the first resource load rate from the preset reference load rate, the second factor is the ratio of the volatility of the first resource load rate to the preset volatility threshold, and the output value of the preset linear function is negatively correlated with the first resource load rate; when the first resource load rate is less than the lower limit value of the preset load threshold range, determine the dynamic scheduling weight coefficient based on a preset gain function, where the input of the preset gain function is the absolute value of the difference between the lower limit value and the first resource load rate, and the output value of the preset gain function increases logarithmically as the input value increases.
[0067] In some embodiments, the resource allocation unit 204 is further configured to determine a candidate resource group in the target resource pool according to the resource scheduling priority sequence; perform weighted sorting on the candidate resource groups based on the dynamic scheduling weight coefficients to obtain allocable resource groups; and allocate the resource requests to target resources that meet the preset resource conditions according to the allocable resource groups.
[0068] In some embodiments, the resource allocation unit 204 is further configured to perform sorting and screening on the target resource pool according to the resource scheduling priority sequence to obtain a sorted resource group; screen out an initial resource group with the same resource type as that in the resource request from the sorted resource group according to the resource type matching rule; and extract resources with an association degree higher than a preset association threshold from the initial resource group to form a candidate resource group.
[0069] In some embodiments, the sequence determination unit 202 is further configured to obtain the second resource load rate after resource allocation; when it is detected that the deviation between the second resource load rate and the expected load value exceeds a preset tolerance, trigger a recalculation of the dynamic scheduling weight coefficients; and update the resource scheduling priority sequence based on the recalculated dynamic scheduling weight coefficients.
[0070] The present application further provides a computer-readable storage medium, which stores computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will be caused to execute any step of the resource scheduling method provided by the present application.
[0071] In some embodiments, the computer-readable storage medium may be a random access memory (RAM), a read-only memory (ROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM), etc.; it may also be various devices including one or any combination of the above memories.
[0072] In some embodiments, the computer-executable instructions may be in the form of a program, software, a software module, a script, or code, and may be written in any form of programming language (including a compiled or interpreted language, or a declarative or procedural language), and may be deployed in any form, including being deployed as an independent program or being deployed as a module, a component, a subroutine, or other units suitable for use in a computing environment.
[0073] In some embodiments, the computer-executable instructions may or may not correspond to files in a file system and may be stored as part of a file that holds other programs or data. For example, they may be stored in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple cooperating files (such as files that store one or more modules, subroutines, or code portions).
[0074] In some embodiments, the computer-executable instructions may be deployed to execute on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected via a communication network.
[0075] As Figure 3 shown, the present application also provides an electronic device 30, including a memory 310, a processor 320, and a computer program 311 stored in the memory 310 and executable on the processor. When the processor 320 executes the computer program 311, any step of the above resource scheduling method is implemented.
[0076] The present application also provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. The processor of the electronic device reads the computer program or computer-executable instructions from the computer-readable storage medium, and the processor executes the computer program or computer-executable instructions, causing the electronic device to execute any step of the above resource scheduling method of the present application.
[0077] The above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A resource scheduling method, characterized in that, Including: Obtain the real-time status data of each resource in the target resource pool, where the real-time status data includes the first resource load rate and the resource correlation parameter; Based on the preset correlation rule, determine the resource scheduling priority sequence of each resource according to the resource correlation parameter; Generate the dynamic scheduling weight coefficient of each resource according to the comparison result between the first resource load rate and the preset load threshold interval; Based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence, perform allocation processing on the resource requests to be responded to.
2. The resource scheduling method according to claim 1, wherein The step of obtaining the resource correlation parameter includes: Perform resource co-occurrence frequency statistics on the historical task execution log to obtain the resource collaboration dependency; Calculate the resource call timing correlation according to the resource call records within the preset time window; Perform weighted fusion on the resource collaboration dependency and the resource call timing correlation to generate the resource correlation parameter.
3. The resource scheduling method according to claim 2, wherein The calculating the resource call timing correlation according to the resource call records within the preset time window includes: Extract the time interval between adjacent resource calls in the resource call record as the first timing feature; Calculate the mutual information entropy of the resource call sequence in the resource call record as the second timing feature; Multiply the first timing feature and the second timing feature after normalization processing to obtain the resource call timing correlation.
4. The resource scheduling method according to claim 1, wherein The generating the dynamic scheduling weight coefficient of each resource according to the comparison result between the first resource load rate and the preset load threshold interval includes: When the first resource load rate is greater than the upper limit value of the preset load threshold interval, determine the dynamic scheduling weight coefficient based on the preset non-linear attenuation function, where the input of the preset non-linear attenuation function is the absolute value of the difference between the first resource load rate and the upper limit value, and the output value of the preset non-linear attenuation function decreases exponentially as the input value increases; When the first resource load rate is within the preset load threshold interval, generate the dynamic scheduling weight coefficient according to the preset linear function, where the input of the preset linear function is the first factor and the second factor, the first factor is the deviation degree of the first resource load rate from the preset reference load rate, the second factor is the ratio of the volatility of the first resource load rate to the preset volatility threshold, and the output value of the preset linear function is negatively correlated with the first resource load rate; When the first resource load rate is less than the lower limit value of the preset load threshold interval, determine the dynamic scheduling weight coefficient based on the preset gain function, where the input of the preset gain function is the absolute value of the difference between the lower limit value and the first resource load rate, and the output value of the preset gain function increases logarithmically as the input value increases.
5. The resource scheduling method according to claim 1, wherein, The performing allocation processing on the resource requests to be responded to based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence includes: Determine the candidate resource group in the target resource pool according to the resource scheduling priority sequence; Perform weighted sorting on the candidate resource group based on the dynamic scheduling weight coefficient to obtain the allocable resource group; Allocate the resource request to a target resource that meets the preset resource conditions according to the allocable resource group.
6. The resource scheduling method according to claim 5, wherein Determining the candidate resource groups in the target resource pool according to the resource scheduling priority sequence includes: Sorting and screening the resources in the target resource pool according to the resource scheduling priority sequence to obtain a sorted resource group; According to the resource type matching rule, screening from the sorted resource group to obtain an initial resource group with the same resource type as that in the resource request; Based on the inter-resource association parameters, extracting resources with an association degree higher than the preset association threshold from the initial resource group to form the candidate resource group.
7. The resource scheduling method according to claim 1, wherein The resource scheduling method further includes: Obtaining the second resource load rate after resource allocation; When it is detected that the deviation between the second resource load rate and the expected load value exceeds the preset tolerance, triggering the recalculation of the dynamic scheduling weight coefficient; Updating the resource scheduling priority sequence based on the recalculated dynamic scheduling weight coefficient.
8. A resource scheduling device, characterized in that Including: A data acquisition unit, configured to acquire real-time status data of each resource in the target resource pool, where the real-time status data includes a first resource load rate and inter-resource association parameters; A sequence determination unit, configured to determine the resource scheduling priority sequence of each resource based on the preset association rule and according to the inter-resource association parameters; A weight determination unit, configured to generate a dynamic scheduling weight coefficient for each resource according to the comparison result between the first resource load rate and the preset load threshold range; A resource allocation unit, configured to perform allocation processing on the resource requests to be responded based on the dynamic scheduling weight coefficient and the resource scheduling priority sequence.
9. An electronic device, comprising: A memory and a processor, characterized in that when the processor executes a computer program stored in the memory, the steps of the resource scheduling method according to any one of claims 1-7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the resource scheduling method according to any one of claims 1-7 are implemented.
Citation Information
Patent Citations
Chip platform resource dynamic scheduling method
CN119322684A
Real-time hierarchical distribution method for power cloud resources of digital power grid
CN119603304A
Method, device and equipment for scheduling NPU (Network Processing Unit) computing tasks of multimode SoC (System on Chip) main control chip
CN119718590A
Virtual machine resource dynamic allocation method based on load prediction
CN119938221A
Disaster recovery data recovery method and system of disaster recovery system
CN120017608A
Cited By
Load adjustment method and device for container instance and readable storage medium
CN120560785A
Data center resource regulation and control method and system, program product and storage medium
CN120803757A
Mobile phone real-time charging optimization method and system based on W algorithm in dynamic environment
CN120999847A
A Real-Time Charging Optimization Method and System for Mobile Phones Based on the W Algorithm in Dynamic Environments
CN120999847B