Resource scheduling method and device, storage medium and program product

By determining multiple candidate scheduling chains in resource scheduling, generating expansion chains and updating target sets, the problem that traditional resource scheduling results are prone to fall into local optimality, and better resource scheduling effects are achieved.

CN119902867AActive Publication Date: 2025-04-29INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411944495.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-29
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

Traditional resource scheduling methods are difficult to achieve global optimal solutions, resulting in resource scheduling results falling into local optimality.

Method used

By determining M candidate scheduling chains, generating expansion chains, and constantly updating the target set, the scheduling chain with the smallest total cost is finally selected for resource scheduling.

Benefits of technology

It improves the depth and breadth of resource scheduling results, increases the diversity and flexibility of scheduling strategies, avoids local optimal traps, and improves the opportunity to obtain global optimal solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902867A_ABST
    Figure CN119902867A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a resource scheduling method and device, a storage medium and a program product, and relates to the field of computers.The method comprises the steps that M candidate scheduling chains are determined; determining a current optimal chain, a current suboptimal chain and a current common chain from the M candidate scheduling chains, and executing the following scheduling chain expansion steps: generating an expansion chain based on the current optimal chain, the current suboptimal chain and the current common chain; generating a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the expansion chain; under the condition that the current target set is the Lth target set, determining a current optimal chain, a current sub-optimal chain and a current common chain from the current target set, and executing the scheduling chain expansion step again; scheduling target resources among the N resource nodes by utilizing a target scheduling chain with the minimum total cost in the generated K target sets; the technical problem that the resource scheduling result is locally optimal is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and specifically to a resource scheduling method and device, a storage medium, and a program product. Background Art

[0002] In today's rapidly developing science and technology field, resource scheduling has become one of the key technologies to ensure the efficient operation of the system, especially in scenarios such as cloud computing, big data processing and the Internet of Things. The rational allocation of resources is directly related to system performance, cost control and user experience.

[0003] However, traditional resource scheduling methods usually use manual resource scheduling. In other words, with traditional manual resource scheduling methods, due to the limitation of information processing capabilities, it is difficult for operators to simultaneously consider the global optimal solution for all resources and tasks, resulting in a scheduling result that is not globally optimal.

[0004] Therefore, there is a technical problem in the prior art that the resource scheduling result falls into a local optimum. Summary of the invention

[0005] The embodiments of the present application provide a resource scheduling method and device, a storage medium, and a program product to at least solve the technical problem that the resource scheduling result falls into a local optimum.

[0006] According to an embodiment of the present application, a resource scheduling method is provided, comprising: determining M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer; determining a current optimal chain, a current suboptimal chain, and a current common chain from the M candidate scheduling chains, and performing the following scheduling chain expansion steps: generating an expansion chain based on the current optimal chain, the current suboptimal chain, and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the utilization of the scheduling chain. The resources that will be consumed by scheduling the target resources with the L-th target chain; generating a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the extended chain; when the current target set is the L-th target set, determining the current optimal chain, the current suboptimal chain and the current common chain from the current target set, and executing the above scheduling chain extension steps again, wherein L is a positive integer and L is less than K; when the current target set is the K-th target set, determining the scheduling chain with the smallest total cost among the generated K target sets as the target scheduling chain, and using the target scheduling chain to schedule the target resources between N resource nodes, wherein K is a positive integer.

[0007] According to another embodiment of the present application, a resource scheduling device is provided, comprising: a first determining unit, configured to determine M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer; an expansion unit, configured to determine a current optimal chain, a current suboptimal chain, and a current common chain from the M candidate scheduling chains, and perform the following scheduling chain expansion steps: generating an expansion chain based on the current optimal chain, the current suboptimal chain, and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to represent The method comprises the following steps: collecting resources that will be consumed by scheduling target resources using a scheduling chain; generating a current target set based on a current optimal chain, a current suboptimal chain, a current common chain, and an extended chain; when the current target set is the Lth target set, determining the current optimal chain, the current suboptimal chain, and the current common chain from the current target set, and performing the above scheduling chain extension step again, wherein L is a positive integer and L is less than K; and a second determining unit, for determining, when the current target set is the Kth target set, a scheduling chain with the smallest total cost among the generated K target sets as a target scheduling chain, and scheduling target resources between N resource nodes using the target scheduling chain, wherein K is a positive integer.

[0008] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0009] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0010] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0011] In an embodiment of the present application, M candidate scheduling chains for scheduling target resources between N resource nodes are determined, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer. Then, the current optimal chain, the current suboptimal chain, and the current common chain are determined from the M candidate scheduling chains, and the following scheduling chain expansion steps are performed: an expansion chain is generated based on the current optimal chain, the current suboptimal chain, and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources consumed by scheduling the target resources using the scheduling chain; a current target set is generated based on the current optimal chain, the current suboptimal chain, the current common chain, and the expansion chain; when the current target set is the Lth target set, the current optimal chain, the current suboptimal chain, and the current common chain are determined from the current target set, and the above scheduling chain expansion steps are performed again, wherein L is a positive integer and L is less than K. Then, when the current target set is the Kth target set, the scheduling chain with the smallest total cost among the generated K target sets is determined as the target scheduling chain, and the target scheduling chain is used to schedule the target resources between N resource nodes, where K is a positive integer. In other words, by adopting the embodiment of the present application, on the one hand, by determining M candidate scheduling chains, the diversity of resource scheduling is increased, which helps to avoid the algorithm from converging to a local optimal solution early, thereby increasing the chance of obtaining a global optimal solution. On the other hand, by repeatedly generating an expansion chain and updating the process of the target set, the resource scheduling strategy is continuously adjusted, the depth and breadth of the search are improved, the limitations of a fixed pattern are avoided, and it is helpful to find a global optimal solution with a lower cost. In other words, by adopting the embodiment of the present application, the technical problem of the resource scheduling result falling into the local optimum is solved, and the technical effect of the depth and breadth of the resource scheduling result is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is a flow chart of a resource scheduling method according to an embodiment of the present application;

[0013] Figure 2 is a schematic diagram of a resource scheduling method according to an embodiment of the present application;

[0014] Figure 3 is a schematic diagram of a resource scheduling method according to an embodiment of the present application;

[0015] Figure 4 It is a structural block diagram of a resource scheduling device according to an embodiment of the present application. DETAILED DESCRIPTION

[0016] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0017] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0018] As an optional solution, the specific steps of the above resource scheduling method are as follows: Figure 1 Shown include:

[0019] S102, determining M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer.

[0020] Optionally, the above resource scheduling method may be applied to, but not limited to, the following scenarios:

[0021] 1) Resource Scheduling in Cloud Computing Centers: In cloud computing environments, efficient scheduling of computing resources (such as CPU, GPU, and storage resources) is key to ensuring quality of service (QoS) and cost-effectiveness. The above method automatically generates multiple candidate scheduling chains, selects the optimal, suboptimal, and common chains, and continuously optimizes the scheduling strategy, which helps cloud computing centers dynamically adjust resource allocation to cope with changing workloads. For example, in high-demand scenarios such as machine learning training, big data processing, or high-performance computing, it can quickly respond and optimize resource usage to avoid resource waste and scheduling delays.

[0022] 2) Network communication resource scheduling: In the Internet of Things (IoT) and 5G communication networks, resource scheduling (such as bandwidth, latency, and energy) between network nodes is crucial to ensuring network performance and user experience. The above resource scheduling method can adapt to the dynamic changes of resources in network communication, and through iterative optimization of the scheduling chain, it ensures that resources are scheduled among multiple nodes at the lowest cost (such as minimum latency or energy consumption), thereby improving network efficiency and stability.

[0023] It should be noted that, in this embodiment, the resource nodes may be, but are not limited to, used to indicate various entities that can provide or consume resources in a network or system, such as servers, workstations, data centers, etc. The target resources may be, but are not limited to, used to indicate resources such as computing power, data, storage space, etc. that need to be scheduled between resource nodes.

[0024] Optionally, the candidate scheduling chains may be, but are not limited to, used to indicate candidate paths generated by a resource scheduling algorithm during an optimization process, and each candidate scheduling chain represents a scheduling sequence or path from one resource node to another resource node.

[0025] Furthermore, in some embodiments, the total cost may be, but is not limited to, used to indicate the amount of resources that will be consumed by scheduling target resources in a specific scheduling chain, such as time, energy, or cost.

[0026] Optionally, the above-mentioned determination of the M candidate scheduling chains for scheduling the target resource between N resource nodes may include, but is not limited to: determining N resource nodes for the target resource to be used; determining the i-th resource node among the N resource nodes as the current node and performing the following steps until a current scheduling chain including N resource nodes is generated: determining the cost interval corresponding to the current node; determining the resource nodes whose scheduling costs are in the cost interval with the current node as candidate resource nodes, wherein the scheduling cost is used to represent the resources that will be consumed when scheduling the target resource between different resource nodes; obtaining the adjacency probability of each resource node in the candidate resource nodes, wherein the adjacency probability is the probability that the node is determined to be the next neighbor resource node adjacent to the current node; determining the adjacency interval corresponding to each resource node based on the adjacency probability of each resource node; generating a target random number in the cost interval; determining the resource node corresponding to the adjacency interval including the target random number as a neighbor resource node; adding the neighbor resource node to the end of the current scheduling chain, wherein the M candidate scheduling chains include the current scheduling chain.

[0027] S104, determine the current optimal chain, the current suboptimal chain and the current common chain from the M candidate scheduling chains, and execute the following scheduling chain expansion steps: generate an extended chain based on the current optimal chain, the current suboptimal chain and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources that will be consumed by scheduling the target resources using the scheduling chain; generate a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the extended chain; when the current target set is the Lth target set, determine the current optimal chain, the current suboptimal chain and the current common chain from the current target set, and execute the above scheduling chain expansion steps again, wherein L is a positive integer and L is less than K.

[0028] It should be noted that the above-mentioned optimal chain, suboptimal chain, and common chain are several types of scheduling chains divided according to the size of the total scheduling cost. For example, the total costs of M candidate scheduling chains can be sorted, and the scheduling chain with the smallest total cost is determined as the optimal chain, and 2-4 scheduling chains with a total cost less than the optimal chain but greater than the target cost are determined as suboptimal chains, and the other scheduling chains are determined as common chains.

[0029] Optionally, in some embodiments, the extended chain is a new chain generated by an algorithm based on an existing chain, which is used to further explore possible resource scheduling paths. The current target set is a set of all candidate scheduling chains, optimal chains, suboptimal chains, and ordinary chains, as well as extended chains, included in a certain iteration step.

[0030] Optionally, in some embodiments, the above-mentioned generation of an extended chain based on the current optimal chain, the current suboptimal chain and the current common chain includes: generating a first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain; adding the current optimal chain, the current suboptimal chain, the current common chain and the extended chain to the current candidate set; generating a second extended chain based on the current candidate set.

[0031] S106, when the current target set is the Kth target set, determine the scheduling chain with the smallest total cost among the generated K target sets as the target scheduling chain, and use the target scheduling chain to schedule the target resources among the N resource nodes, where K is a positive integer.

[0032] It should be noted that, in some embodiments, K represents the upper limit of the number of iterations, and the algorithm will generate multiple target sets through multiple iterations, and the K target sets represent the terminal state of the algorithm after completing the iteration. The above target scheduling chain is the chain that is finally selected as the actual chain for resource scheduling, and is the chain with the smallest total cost among all generated chains.

[0033] In an embodiment of the present application, M candidate scheduling chains for scheduling target resources between N resource nodes are determined, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer. Then, the current optimal chain, the current suboptimal chain, and the current common chain are determined from the M candidate scheduling chains, and the following scheduling chain expansion steps are performed: an expansion chain is generated based on the current optimal chain, the current suboptimal chain, and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources consumed by scheduling the target resources using the scheduling chain; a current target set is generated based on the current optimal chain, the current suboptimal chain, the current common chain, and the expansion chain; when the current target set is the Lth target set, the current optimal chain, the current suboptimal chain, and the current common chain are determined from the current target set, and the above scheduling chain expansion steps are performed again, wherein L is a positive integer and L is less than K. Then, when the current target set is the Kth target set, the scheduling chain with the smallest total cost among the generated K target sets is determined as the target scheduling chain, and the target scheduling chain is used to schedule the target resources between N resource nodes, where K is a positive integer. In other words, by adopting the embodiment of the present application, on the one hand, by determining M candidate scheduling chains, the diversity of resource scheduling is increased, which helps to avoid the algorithm from converging to a local optimal solution early, thereby increasing the chance of obtaining a global optimal solution. On the other hand, by repeatedly generating an expansion chain and updating the process of the target set, the resource scheduling strategy is continuously adjusted, the depth and breadth of the search are improved, the limitations of a fixed pattern are avoided, and it is helpful to find a global optimal solution with a lower cost. In other words, by adopting the embodiment of the present application, the technical problem of the resource scheduling result falling into the local optimum is solved, and the technical effect of the depth and breadth of the resource scheduling result is improved.

[0034] As an optional solution, generating an extended chain based on the current optimal chain, the current suboptimal chain, and the current common chain includes:

[0035] S1, generating a first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain.

[0036] Optionally, the first extended chain may be generated based on the current optimal chain, the current suboptimal chain and the current common chain in a manner similar to, but not limited to, a squirrel foraging and jumping, which is not limited in the present embodiment.

[0037] Optionally, the above-mentioned generation of the first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain includes but is not limited to: randomly selecting a first node fragment from the current optimal chain; removing the first repeated node included in the current suboptimal chain to obtain a first candidate scheduling chain, wherein the first node fragment includes the first repeated node; adding the first node fragment to the first candidate scheduling chain to obtain a first target scheduling chain; randomly selecting a second node fragment from the first target scheduling chain; removing the second repeated node included in the current common chain to obtain a second candidate scheduling chain, wherein the second node fragment includes the second repeated node; adding the second node fragment to the second candidate scheduling chain to obtain a second target scheduling chain; randomly selecting a third node fragment from the current optimal chain; removing the third repeated node included in the second target scheduling chain to obtain a third candidate scheduling chain, wherein the third node fragment includes the third repeated node; adding the third node fragment to the third candidate scheduling chain to obtain a third target scheduling chain; wherein the first extended chain includes the first target scheduling chain, the second target scheduling chain and the third target scheduling chain.

[0038] S2, add the current optimal chain, the current suboptimal chain, the current common chain and the extended chain to the current candidate set.

[0039] S3: Generate a second extended chain based on the current candidate set.

[0040] Optionally, the above-mentioned generation of the second extended chain based on the current candidate set may include but is not limited to: when a candidate scheduling chain that meets the node fragment replacement condition is determined from the current candidate set, randomly determining the fourth node fragment and the fifth node fragment from the candidate scheduling chain; exchanging the positions of the fourth node fragment and the fifth node fragment in the candidate scheduling chain to obtain the second extended chain.

[0041] By adopting the embodiment of the present application, a first extended chain is generated based on the current optimal, suboptimal and ordinary chains, and a second extended chain is further generated based on the candidate set. This strategy increases the variability and flexibility of the resource scheduling strategy through multi-level link optimization, which helps to avoid the local optimal trap.

[0042] As an optional solution, generating a first extended chain based on the current optimal chain, the current suboptimal chain, and the current common chain includes:

[0043] S1, randomly select the first node fragment from the current optimal chain; remove the first repeated node included in the current suboptimal chain to obtain a first candidate scheduling chain, wherein the first node fragment includes the first repeated node; add the first node fragment to the first candidate scheduling chain to obtain a first target scheduling chain.

[0044] It should be noted that the first node segment may be, but is not limited to, a portion of a node sequence randomly intercepted from the current optimal chain. The selection of the node segment may be based on the start and end positions determined by a random number generator. For example, assuming that the current optimal chain is (1, 2, 3, 4, 5, 6, 7, 8), the randomly selected first node segment may be (3, 4, 5).

[0045] Furthermore, the first repeated node may be used, but is not limited to, to indicate that the nodes in the current suboptimal chain that are the same as those in the first node segment need to be removed from the suboptimal chain to avoid repeated calculations and resource waste. For example, assuming that the current suboptimal chain is (2, 4, 5, 6, 7, 8, 1, 3), where 5 is repeated with 5 in the first node segment. After removing the repeated nodes, the first candidate scheduling chain becomes (2, 4, 6, 7, 8, 1, 3).

[0046] Optionally, the first target scheduling chain is a new chain obtained by adding the first node fragment to the first candidate scheduling chain. For example, based on the first candidate scheduling chain (2, 6, 7, 8, 1), the first node fragment (3, 4, 5) is added to the head of the chain to obtain the first target scheduling chain (3, 4, 5, 2, 6, 7, 8, 1).

[0047] It should be noted that, in this embodiment, the position selected when adding the first node segment to the first candidate scheduling chain may be the initial position of the first candidate scheduling chain or other positions, which is not limited in this embodiment.

[0048] S2, randomly select a second node fragment from the first target scheduling chain; remove the second repeated node included in the current common chain to obtain a second candidate scheduling chain, wherein the second node fragment includes the second repeated node; add the second node fragment to the second candidate scheduling chain to obtain a second target scheduling chain.

[0049] It should be noted that the second node fragment may be, but is not limited to, a portion of a node sequence randomly intercepted from the current suboptimal chain. The selection of the node fragment may be based on the starting and ending positions determined by a random number generator. Furthermore, the first repeated node may be, but is not limited to, used to indicate that the nodes in the current common chain that are the same as those in the second node fragment need to be removed from the current common chain to avoid repeated calculations and waste of resources. For specific examples, please refer to the relevant examples for generating the first target scheduling chain, which will not be repeated in this embodiment.

[0050] It should be noted that, in this embodiment, the position selected when adding the second node segment to the second candidate scheduling chain may be the initial position of the second candidate scheduling chain or other positions, which is not limited in this embodiment.

[0051] S3, randomly select a third node segment from the current optimal chain; remove the third repeated node included in the second target scheduling chain to obtain a third candidate scheduling chain, wherein the third node segment includes the third repeated node; add the third node segment to the third candidate scheduling chain to obtain a third target scheduling chain. The first extended chain includes the first target scheduling chain, the second target scheduling chain and the third target scheduling chain.

[0052] It should be noted that the third node fragment may be, but is not limited to, a portion of a node sequence randomly intercepted from the current optimal chain. The selection of the node fragment may be based on the starting and ending positions determined by a random number generator. Furthermore, the third repeated node may be, but is not limited to, used to indicate that the nodes in the second target scheduling chain that are the same as those in the second node fragment need to be removed from the second target scheduling chain to avoid repeated calculations and waste of resources. For specific examples, please refer to the relevant examples for generating the first target scheduling chain, which will not be repeated in this embodiment.

[0053] It should be noted that, in this embodiment, the position selected when adding the third node segment to the second candidate scheduling chain may be the initial position of the third candidate scheduling chain or other positions, which is not limited in this embodiment.

[0054] As an optional example, the above steps may be explained by, but not limited to, the following examples:

[0055] Step S1, generating a first target scheduling chain:

[0056] like Figure 2 As shown in (a), assume that the current optimal chain is (1, 2, 3, 4, 5, 6, 7, 8). Randomly select the first node fragment from the current optimal chain, for example (3, 4, 5). Assume that the current suboptimal chain is (2, 4, 5, 6, 7, 8, 1, 3), where 3, 4, 5 are the first repeated nodes. Remove the first repeated nodes 3, 4, 5 from the suboptimal chain to obtain the first candidate scheduling chain (2, 6, 7, 8, 1). Add the first node fragment (3, 4, 5) to the first candidate scheduling chain to generate the first target scheduling chain. Since there are many ways to construct the first target scheduling chain, such as adding it to the head of the chain, the first target scheduling chain can be (3, 4, 5, 2, 6, 7, 8, 1).

[0057] Step S2, generating a second target scheduling chain:

[0058] like Figure 2As shown in (b), the second node fragment is randomly selected based on the first target scheduling chain (3, 4, 5, 2, 6, 7, 8, 1), for example (7, 8, 1). Assume that the current common chain is (4, 5, 6, 7, 8, 2, 3, 1), where (7, 8, 1) is the second repeated node. Remove the second repeated node from the current common chain to obtain the second candidate scheduling chain (4, 5, 6, 2, 3). Then, add the second node fragment (7, 8, 1) to the second candidate scheduling chain to generate the second target scheduling chain (4, 5, 6, 7, 8, 1, 2, 3).

[0059] Step S3, generating a third target scheduling chain:

[0060] like Figure 2 As shown in (c), the third node segment is randomly selected again from the current optimal chain (1, 2, 3, 4, 5, 6, 7, 8), for example (1, 2, 3).

[0061] The second target scheduling chain is (4, 5, 6, 7, 8, 1, 2, 3), where 1, 2, and 3 are the third repeated nodes. The third repeated node is removed from the second target scheduling chain to obtain the third candidate scheduling chain (4, 5, 6, 7, 8). Then, the third node fragment (1, 2, 3) is added to the third candidate scheduling chain to generate the third target scheduling chain (1, 2, 3, 4, 5, 6, 7, 8).

[0062] Through the above steps, three target scheduling chains are generated: (3, 4, 5, 2, 6, 7, 8, 1), (4, 5, 6, 7, 8, 1, 2, 3) and (1, 2, 3, 4, 5, 6, 7, 8). These three chains constitute the first expansion chain, which increases the diversity of the scheduling space and provides more options for subsequent iterative optimization.

[0063] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0064] Using the embodiment of the present application, on the one hand, by randomly selecting node fragments from the current optimal chain and combining the processing of suboptimal and ordinary chains, a new target scheduling chain is generated. This method introduces a new link combination method, which can break the original link structure, avoid the algorithm from being deadlocked in a specific link structure, and help to jump out of the local optimal solution. On the other hand, by randomly selecting node fragments and removing duplicate nodes, a more complex chain combination method is introduced, which can avoid redundancy and invalid paths in the chain and improve the efficiency of resource scheduling.

[0065] As an optional solution, generating a second extended chain based on the current candidate set includes:

[0066] S1, when a candidate scheduling chain satisfying a node segment replacement condition is determined from the current candidate set, a fourth node segment and a fifth node segment are randomly determined from the candidate scheduling chain.

[0067] It should be noted that in this embodiment, during the iteration process, the candidate scheduling chain will undergo a series of evaluations and updates. The node segment replacement condition refers to the rule used to determine which node segments in the candidate scheduling chain can be replaced to generate a better solution. These conditions may be based on indicators such as link cost, resource utilization, node segment repetition rate, etc., or they may be determined randomly.

[0068] Optionally, taking the above candidate scheduling chain as an example where the candidate scheduling chain is randomly determined from the current candidate set, the candidate scheduling chain that meets the node segment replacement condition can be determined by the following method:

[0069] S1-1, random number generation: a random number between 0 and 1 is generated using a random number generator, and a scheduling chain matching the random number is determined as a candidate scheduling chain that meets the node fragment replacement condition.

[0070] S1-2, probability interval partitioning: assign a probability interval based on its probability value to each scheduling chain. For example, if there are 3 scheduling chains in the candidate set, A, B, and C, and their probability values ​​are 0.7, 0.2, and 0.1, respectively, then the probability interval of A is [0, 0.7], the probability interval of B is [0.7, 0.9], and the probability interval of C is [0.9, 1].

[0071] S1-3, match the generated random number with the above probability interval, so as to randomly determine a candidate scheduling chain that meets the node segment replacement condition. Assuming the generated random number is 0.45, the number falls within the probability interval [0, 0.7] of scheduling chain A, so scheduling chain A will be selected as the candidate scheduling chain that meets the node segment replacement condition.

[0072] S2: Exchange the positions of the fourth node fragment and the fifth node fragment in the candidate scheduling chain to obtain a second extended chain.

[0073] Optionally, in this embodiment, after determining the candidate scheduling chain, such as the scheduling chain A in the above example, two node fragments in the chain are randomly selected, namely the fourth node fragment and the fifth node fragment. The selection of the node fragment can be based on the start and end positions determined by the random number generator to ensure the randomness of the selection process. After determining the fourth node fragment and the fifth node fragment, their positions in the candidate scheduling chain are swapped to generate a new scheduling chain. For example, assuming that the candidate scheduling chain is Figure 3As shown in (a), the fourth node fragment is (2, 3, 4) and the fifth node fragment is (6, 7, 8). Then the candidate scheduling chain will become as follows after the fragment exchange. Figure 3 As shown in (b) (1, 6, 7, 8, 5, 2, 3, 4).

[0074] By using the embodiment of the present application, under certain conditions, node segments are randomly selected from the candidate set and exchanged to generate a second extended chain. This random and dynamic node segment exchange mechanism can break the fixed relationship between links, provide more search paths, and avoid the algorithm falling into a local optimum due to a fixed link mode.

[0075] As an optional solution, determining M candidate scheduling chains for scheduling target resources among N resource nodes includes:

[0076] Determine N resource nodes of the target resources to be used.

[0077] It should be noted that resource nodes can be computing nodes, servers, workstations, or any other entities in the network that have target resources (such as computing power, storage, bandwidth, etc.) and can be used to perform tasks or provide services. For example, in a cloud computing environment, N resource nodes can refer to multiple servers, each with different computing power resources that can be used to process user requests.

[0078] Optionally, after the N resource nodes of the target resources to be used are determined, the method may include, but is not limited to, encoding each of the N resource nodes to obtain a number corresponding to each of the nodes.

[0079] The i-th resource node among the N resource nodes is determined as the current node and the following steps are performed until a current scheduling chain including the N resource nodes is generated:

[0080] S1, determine the cost interval corresponding to the current node.

[0081] It should be noted that in the process of building a scheduling chain, the current node refers to the resource node under consideration, which is used to determine the next neighbor resource node. For example, assuming N = 5, starting from the first resource node, it is regarded as the current node to build the scheduling chain.

[0082] Optionally, the cost interval of the current node may be, but is not limited to, used to indicate the range of resources that may be consumed by scheduling the target resource from the current node to any other resource node. The cost interval may be predefined using a neighborhood radius adaptive function or other methods, such as based on historical data, resource demand or network status, which is not limited in this embodiment.

[0083] For example, assuming that a neighborhood radius adaptive function is used to determine the above cost interval, it is first necessary to define the neighborhood radius adaptive function R(t), where t represents the current number of iterations or the stage of scheduling chain construction. R(t) can be dynamically adjusted according to the resource status, historical scheduling data or network conditions during the iteration process to reflect the cost range from the current node to the adjacent node. For example, the function R(t) can be set to gradually decrease as the number of iterations increases, which means that in the early stages of the iteration, the algorithm tends to explore a wider range of nodes, while in the later stages, the algorithm will focus more on searching near the currently known better solutions.

[0084] Next, assuming that the current node is node 1, the cost interval from node 1 to other nodes is determined by the neighborhood radius adaptive function R(t). For example, at the beginning of the iteration, assuming that the value of R(t) is large, it means that the cost interval from node 1 to other nodes N (N = 2, 3, 4, 5) is also relatively wide, which may be [10, 30] (the unit can be time, bandwidth or computing power consumption, etc.). This means that jumping from node 1 to nodes 2, 3, 4, and 5 may consume 10-30 units of specific resources respectively.

[0085] Then, in subsequent iterations, as the algorithm's understanding of resource status and path costs deepens, the value of the neighborhood radius adaptive function R(t) decreases, and the cost interval becomes more precise. For example, in the later stages of the iteration, R(t) may decrease to [15, 25], indicating that the algorithm has a more specific estimate of the cost of jumping from node 1 to other nodes when building the scheduling chain, reducing the uncertainty of the search.

[0086] It should be noted that the determination of the cost interval not only depends on the neighborhood radius adaptive function R(t), but can also be combined with other information, such as the historical data of link costs between nodes, the current utilization of resource nodes, or the network status. For example, if the current resource utilization of node 2 is high, then the cost from node 1 to node 2 may be closer to the upper limit of the cost interval, otherwise it may be closer to the lower limit.

[0087] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0088] S2, determining resource nodes whose scheduling costs are within a cost interval with the current node as candidate resource nodes, wherein the scheduling cost is used to indicate the resources consumed when scheduling the target resource between different resource nodes.

[0089] Optionally, in this embodiment, after determining the cost interval corresponding to the current node, the following may be performed, but is not limited to: determining the scheduling costs between each of the N resource nodes except the current node and the current node.

[0090] S3, obtaining the adjacency probability of each resource node in the candidate resource nodes, wherein the adjacency probability is the probability that the node is determined to be the next neighbor resource node adjacent to the current node.

[0091] It should be noted that, in some embodiments, the adjacency probability of each resource node in the candidate resource node can be determined based on, but not limited to, a triangular probability distribution function. For example, assuming that the domain radius adaptive function has calculated that the neighborhood radius (used to represent the cost interval) of the current node is 5 units, assuming that the cost between nodes B, C, D, E and the current node is (2, 3, 4, 5) respectively, which is less than 5. Then it can be determined that the candidate resource nodes include: B, C, D, E. Next, a triangular probability distribution is applied to assign probabilities to the positions within these neighborhoods. In order to use the triangular probability distribution, three key parameters need to be determined: minimum value (a), maximum value (b), and peak position (c). In this example, a and b are the minimum and maximum distances within the neighborhood radius, i.e., 2 units and 5 units, respectively; c is the peak position, i.e., the most ideal distance, which can be set to the median of the neighborhood radius, 3 units. Next, the costs between B, C, D, E and the current node are respectively brought into the triangular probability distribution function to determine the candidate adjacency probabilities corresponding to B, C, D, and E. Then, the candidate adjacent probabilities corresponding to B, C, D, and E are normalized so that their sum is 1, and the adjacent probabilities corresponding to B, C, D, and E are obtained.

[0092] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0093] S4, determining the adjacent interval corresponding to each resource node according to the adjacent probability of each resource node.

[0094] It should be noted that, in some embodiments, the above-mentioned determination of the adjacent interval corresponding to each resource node based on the adjacent probability of each resource node may include but is not limited to: determining the adjacent interval corresponding to each resource node based on the numerical interval range corresponding to the adjacent probability of each resource node in the above-mentioned cost interval.

[0095] For example, assuming that through triangular probability distribution, the probability density of each node B and C relative to A has been calculated to be 0.2 and 0.8 respectively. Assuming the cost interval is [0, 1), then the probability intervals corresponding to B and C can be [0, 0.1] and [0.2, 1) respectively.

[0096] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0097] S5, generate a target random number in the cost interval.

[0098] S6, determining the resource nodes corresponding to the adjacent interval including the target random number as neighbor resource nodes.

[0099] S7, adding the neighbor resource node to the end of the current scheduling chain, wherein the M candidate scheduling chains include the current scheduling chain.

[0100] It should be noted that, in some embodiments, some randomly selected resource nodes from the N resource nodes may be used as current nodes to obtain multiple scheduling chains. All resource nodes from the N resource nodes may also be used as current nodes to obtain more scheduling chains, which is not limited in this embodiment.

[0101] As an optional example, the above steps may be explained based on, but not limited to, the following examples:

[0102] Assume that in a network with 5 resource nodes (servers A, B, C, D, E), the goal is to generate M = 5 candidate scheduling chains for scheduling computing resource processing tasks. Start building the scheduling chain from server A.

[0103] S1, determine server A as the current node.

[0104] S2, determine the cost interval, for example, the scheduling cost interval from A to other nodes is set to [0, 1] unit computing power consumption.

[0105] S3, assume that the candidate resource nodes whose scheduling costs are in the interval [100, 200] with A are B, C, and D, and set their adjacent probabilities to 0.4, 0.3, and 0.3, respectively.

[0106] S4, determine the adjacent interval according to the adjacent probability: [0, 0.4] corresponds to B, [0.4, 0.7] corresponds to C, and [0.7, 1] corresponds to D.

[0107] S5, generate a target random number in the cost interval [100, 200], such as 0.01.

[0108] S6, according to the generated target random number 0.01, which falls within the adjacent interval [0, 0.4], server B is determined to be the next neighbor resource node.

[0109] S7, add B to the end of the current scheduling chain to obtain scheduling chains A and B.

[0110] Repeat the above steps until a scheduling chain containing all five resource nodes is generated. Through this process, multiple different candidate scheduling chains can be generated.

[0111] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0112] Using the embodiments of the present application, on the one hand, the resource nodes and scheduling cost intervals are determined, and the initial scheduling chain is generated in combination with the adjacency probability. This method can intelligently initialize a scheduling chain with potential by controlling the cost interval and probability distribution, avoiding blind search and waste of resources, and helping to avoid falling into inefficient local optimal solutions in the initial stage of the algorithm. On the other hand, by generating a target random number in the cost interval, combined with the adjacency probability and interval selection, this method combines randomness and controllability, and can reduce unnecessary resource waste through probability control while ensuring the diversity of the chain, thereby improving the economy and efficiency of resource scheduling.

[0113] As an optional solution, using the target scheduling chain to schedule the target resource among N resource nodes includes:

[0114] When the i-th resource node among N resource nodes has completed the i-th task using the target resources, the target resources are scheduled from the i-th resource node to the i+1-th resource node among N resource nodes, so that the i+1-th resource node performs the i+1-th task using the target resources, where i is a positive integer and i is less than N.

[0115] It should be noted that the above-mentioned i-th task refers to the computing task or service that the target resource needs to perform on the i-th resource node during the resource scheduling process. Each task corresponds to a resource node. Scheduling refers to transferring resources from one node to another according to a determined scheduling chain to support continuous task execution.

[0116] Optionally, the above steps may be explained by, but not limited to, the following examples:

[0117] Assume that there is a network consisting of N=8 resource nodes, each node is numbered from 1 to 8, and there is a target scheduling chain determined by the algorithm as (1, 2, 3, 4, 5, 6, 7, 8).

[0118] When using this target scheduling chain for resource scheduling, the following steps are followed:

[0119] S1, the resource is initially located on node 1, and task 1 has been completed. This means that the resource is ready to be scheduled out of node 1.

[0120] S2, according to the target scheduling chain, determines that resources need to be scheduled from node 1 to node 2 to perform task 2. This step means that after node 1 completes its task, the resources are immediately transferred to the next node 2 in the chain to prepare for the execution of task 2.

[0121] S3, when the second task on node 2 is completed, the resources are scheduled to node 3 according to the order of the scheduling chain to perform the third task, and so on. After each task on a node is completed, the resources are transferred to the next node and perform the next task according to the instructions of the target scheduling chain.

[0122] S4, after the resources are transferred from node 1 to node 7 according to the target scheduling chain and the 7th task is completed, the resources will be scheduled to the last node 8 in the chain to execute the 8th task, completing the entire computing resource scheduling process.

[0123] It should be noted that the above example is an optional example provided to facilitate explanation of the above resource scheduling method, and there is no limitation on the specific implementation method of the above resource scheduling method.

[0124] By adopting the embodiment of the present application, resources are dynamically scheduled between resource nodes under the drive of task completion, ensuring the continuity and goal orientation of resource scheduling. The resource scheduling system can dynamically adjust resource allocation according to the execution of tasks, improving resource utilization efficiency and timeliness of task completion.

[0125] As an optional solution, the resource scheduling method further includes:

[0126] S1, real-time monitoring of the current status and resource usage of each resource node in the computing resource network.

[0127] Optionally, in some embodiments, it is necessary to monitor the current status and resource usage of each resource node in the computing resource network in real time, including but not limited to key indicators such as the computing power utilization rate, storage capacity, network delay, and task queue length of the node.

[0128] S2, establish a prediction model to predict the resource demand and availability of each resource node in the future.

[0129] It should be noted that, in some embodiments, a prediction model is constructed based on historical data and current status to predict the resource demand and availability of each resource node in the future. The model can use time series analysis, machine learning or deep learning techniques to improve the accuracy of the prediction. For example, a long short-term memory network (LSTM) can be used to predict resource demand. This network is good at capturing long-term dependencies in time series and can predict future demand based on past data.

[0130] S3, dynamically adjusts the priority of resource scheduling based on the prediction results and current status.

[0131] Optionally, in some embodiments, the priority of the resource node is dynamically adjusted according to the prediction results and the current state. The calculation of the priority can take into account multiple factors such as the predicted resource demand, the current resource utilization, the urgency of the task, etc. A resource node with a high priority means that it should be given priority in resource scheduling. For example, if it is predicted that resource node X will face high resource demand in the future, and its current resource utilization is low, the priority of X can be increased to ensure that it is given priority in the scheduling chain to cope with future needs.

[0132] S4, when building the resource scheduling chain, priority is given to resource nodes with high priority to achieve more efficient resource scheduling.

[0133] Optionally, in some embodiments, when constructing a resource scheduling chain, the algorithm will give priority to resource nodes with high priority to reduce waiting time, reduce resource waste, and improve overall scheduling efficiency. This can be achieved through a priority queue or other priority-based data structure to ensure that each time a node is selected, the node with the highest priority is given priority. For example, when constructing a scheduling chain, if starting from the current node, the node Y with the highest priority will be more likely to be selected as the next node than other nodes with lower priorities, even if Y may not be the closest node.

[0134] By adopting the embodiments of the present application, on the one hand, through resource prediction, the scheduling strategy can be adjusted before the resource demand increases, to achieve forward-looking and preventive scheduling of resources, and to avoid resource bottlenecks and scheduling delays. On the other hand, the adjustment of dynamic priority enables resource scheduling to respond more quickly to changes in network status, improve the efficiency and response speed of scheduling, especially in an environment where resource demand is highly dynamic. On the other hand, the scheduling strategy based on prediction and dynamic priority can more accurately match resource demand, reduce resource waste and unnecessary waiting time, and improve resource utilization. On the other hand, dynamic adjustment and resource prediction enable the scheduling system to better adapt to changes in resource demand, enhance the adaptability and robustness of the system, and maintain good scheduling effects even when network conditions are poor or resource demand suddenly increases.

[0135] In the present embodiment, a resource scheduling device is also provided, which is used to implement the above-mentioned embodiment and preferred implementation mode, and the descriptions have been made no further. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.

[0136] Figure 4 is a structural block diagram of a resource scheduling device according to an embodiment of the present application, such as Figure 4 As shown, the device comprises:

[0137] A first determining unit 402 is configured to determine M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer;

[0138] The expansion unit 404 is used to determine the current optimal chain, the current suboptimal chain and the current common chain from the M candidate scheduling chains, and perform the following scheduling chain expansion steps: generate an expansion chain based on the current optimal chain, the current suboptimal chain and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources consumed by scheduling the target resources using the scheduling chain; generate a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the expansion chain; when the current target set is the Lth target set, determine the current optimal chain, the current suboptimal chain and the current common chain from the current target set, and perform the above scheduling chain expansion steps again, wherein L is a positive integer and L is less than K;

[0139] The second determination unit 406 is used to determine the scheduling chain with the smallest total cost among the generated K target sets as the target scheduling chain when the current target set is the Kth target set, and use the target scheduling chain to schedule the target resources between N resource nodes, where K is a positive integer.

[0140] As an optional solution, the above-mentioned expansion unit includes: a first generation module, used to generate a first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain; a first adding module, used to add the current optimal chain, the current suboptimal chain, the current common chain and the extended chain to the current candidate set; a second generation module, used to generate a second extended chain based on the current candidate set.

[0141] As an optional solution, the above-mentioned first generation module is also used to: randomly select a first node fragment from the current optimal chain; remove the first repeated node included in the current suboptimal chain to obtain a first candidate scheduling chain, wherein the first node fragment includes the first repeated node; add the first node fragment to the first candidate scheduling chain to obtain a first target scheduling chain; randomly select a second node fragment from the first target scheduling chain; remove the second repeated node included in the current ordinary chain to obtain a second candidate scheduling chain, wherein the second node fragment includes the second repeated node; add the second node fragment to the second candidate scheduling chain to obtain a second target scheduling chain; randomly select a third node fragment from the current optimal chain; remove the third repeated node included in the second target scheduling chain to obtain a third candidate scheduling chain, wherein the third node fragment includes the third repeated node; add the third node fragment to the third candidate scheduling chain to obtain a third target scheduling chain; wherein the first extended chain includes the first target scheduling chain, the second target scheduling chain and the third target scheduling chain.

[0142] As an optional scheme, the above-mentioned second generation module is also used to: when a candidate scheduling chain that meets the node fragment replacement condition is determined from the current candidate set, randomly determine the fourth node fragment and the fifth node fragment from the candidate scheduling chain; exchange the positions of the fourth node fragment and the fifth node fragment in the candidate scheduling chain to obtain a second extended chain.

[0143] As an optional solution, the above-mentioned first determination unit includes: a first determination module, which is used to determine N resource nodes of the target resource to be used; a second determination module, which is used to determine the cost interval corresponding to the current node; a third determination module, which is used to determine the resource nodes whose scheduling costs between the current node are in the cost interval as candidate resource nodes, wherein the scheduling cost is used to represent the resources consumed by scheduling the target resource between different resource nodes; an acquisition module, which is used to obtain the adjacency probability of each resource node in the candidate resource nodes, wherein the adjacency probability is the probability that the node is determined to be the next neighbor resource node adjacent to the current node; a fourth determination module, which is used to determine the neighbor interval corresponding to each resource node according to the adjacency probability of each resource node; a third generation module, which is used to generate a target random number in the cost interval; a fifth determination module, which is used to determine the resource node corresponding to the neighbor interval including the target random number as a neighbor resource node; a second adding module, which is used to add the neighbor resource node to the end of the current scheduling chain, wherein the M candidate scheduling chains include the current scheduling chain.

[0144] As an optional scheme, the above-mentioned second determination unit is also used to: when the i-th resource node among N resource nodes has completed the i-th task using the target resources, schedule the target resources from the i-th resource node to the i+1-th resource node among the N resource nodes, so that the i+1-th resource node uses the target resources to perform the i+1-th task, where i is a positive integer and i is less than N.

[0145] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0146] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0147] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0148] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0149] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0150] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0151] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0152] An embodiment of the present application further provides a computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0153] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0154] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0155] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A resource scheduling method, characterized in that: include: Determine M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer; Determine the current optimal chain, the current suboptimal chain and the current common chain from the M candidate scheduling chains, and perform the following scheduling chain expansion steps: generate an expansion chain based on the current optimal chain, the current suboptimal chain and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources consumed by scheduling the target resources using the scheduling chain; generate a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the expansion chain; when the current target set is the Lth target set, determine the current optimal chain, the current suboptimal chain and the current common chain from the current target set, and perform the above scheduling chain expansion steps again, wherein L is a positive integer and L is less than K; When the current target set is the Kth target set, the scheduling chain with the smallest total cost among the generated K target sets is determined as the target scheduling chain, and the target scheduling chain is used to schedule the target resources between the N resource nodes, where K is a positive integer.

2. The resource scheduling method according to claim 1, characterized in that: Generating an extended chain based on the current optimal chain, the current suboptimal chain, and the current common chain includes: Generate a first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain; Add the current optimal chain, the current suboptimal chain, the current common chain and the extended chain to the current candidate set; A second augmented chain is generated based on the current candidate set.

3. The resource scheduling method according to claim 2, characterized in that: The generating a first extended chain based on the current optimal chain, the current suboptimal chain and the current common chain comprises: Randomly select a first node fragment from the current optimal chain; remove the first repeated node included in the current suboptimal chain to obtain a first candidate scheduling chain, wherein the first node fragment includes the first repeated node; add the first node fragment to the first candidate scheduling chain to obtain a first target scheduling chain; Randomly select a second node fragment from the first target scheduling chain; remove the second repeated node included in the current common chain to obtain a second candidate scheduling chain, wherein the second node fragment includes the second repeated node; add the second node fragment to the second candidate scheduling chain to obtain a second target scheduling chain; Randomly select a third node fragment from the current optimal chain; remove the third repeated node included in the second target scheduling chain to obtain a third candidate scheduling chain, wherein the third node fragment includes the third repeated node; add the third node fragment to the third candidate scheduling chain to obtain a third target scheduling chain; The first extended chain includes the first target scheduling chain, the second target scheduling chain and the third target scheduling chain.

4. The resource scheduling method according to claim 2, characterized in that: The generating a second extension chain based on the current candidate set comprises: When a candidate scheduling chain that satisfies the node segment replacement condition is determined from the current candidate set, a fourth node segment and a fifth node segment are randomly determined from the candidate scheduling chain; The positions of the fourth node fragment and the fifth node fragment in the candidate scheduling chain are exchanged to obtain the second extended chain.

5. The resource scheduling method according to any one of claims 1 to 4, characterized in that: The determining of M candidate scheduling chains for scheduling target resources between N resource nodes includes: Determining the N resource nodes to use the target resource; Determine the i-th resource node among the N resource nodes as the current node and perform the following steps until a current scheduling chain including the N resource nodes is generated: Determine a cost interval corresponding to the current node; Determine a resource node whose scheduling cost with the current node is in the cost interval as a candidate resource node, wherein the scheduling cost is used to represent the resources consumed by scheduling the target resource between different resource nodes; Acquire the adjacency probability of each resource node in the candidate resource nodes, wherein the adjacency probability is the probability that a node is determined to be the next neighbor resource node adjacent to the current node; Determining the adjacent intervals corresponding to the resource nodes according to the adjacent probabilities of the resource nodes; generating a target random number in the cost interval; Determine a resource node corresponding to an adjacent interval including the target random number as the neighbor resource node; The neighbor resource node is added to the end of the current scheduling chain, wherein the M candidate scheduling chains include the current scheduling chain.

6. The resource scheduling method according to any one of claims 1 to 4, characterized in that: The using the target scheduling chain to schedule the target resource among the N resource nodes includes: When the i-th resource node among the N resource nodes has completed the i-th task using the target resource, the target resource is scheduled from the i-th resource node to the i+1-th resource node among the N resource nodes, so that the i+1-th resource node performs the i+1-th task using the target resource, where i is a positive integer and i is less than N.

7. A resource scheduling device, characterized in that: include: A first determining unit, configured to determine M candidate scheduling chains for scheduling target resources between N resource nodes, wherein the candidate scheduling chains include N resource nodes, N is a positive integer, and M is a positive integer; An expansion unit is used to determine a current optimal chain, a current suboptimal chain and a current common chain from the M candidate scheduling chains, and perform the following scheduling chain expansion steps: generate an expansion chain based on the current optimal chain, the current suboptimal chain and the current common chain, wherein the total cost of the current optimal chain is less than the total cost of the current suboptimal chain, the total cost of the current suboptimal chain is less than the total cost of the current common chain, and the total cost is used to characterize the resources consumed by scheduling the target resources using the scheduling chain; generate a current target set based on the current optimal chain, the current suboptimal chain, the current common chain and the expansion chain; when the current target set is the Lth target set, determine the current optimal chain, the current suboptimal chain and the current common chain from the current target set, and perform the above scheduling chain expansion steps again, wherein L is a positive integer and L is less than K; The second determination unit is used to determine the scheduling chain with the smallest total cost among the generated K target sets as the target scheduling chain when the current target set is the Kth target set, and use the target scheduling chain to schedule the target resources between the N resource nodes, where K is a positive integer.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 6 when executed by a processor.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Multipath data scheduling method and device

    CN105099912A

  • Task scheduling solving method aiming at unknown machine adjustment time and sequence correlation

    CN112862207A

  • Resource scheduling method and device

    CN115146972A

  • Flow scheduling method for integrating link load and bandwidth fragmentation in software defined network

    CN116248578A

  • Hyper-arithmetic power scheduling server and resource management method

    CN116541166A