Resource scheduling methods, equipment, storage media, and computer program products
By combining a sharding scheduling mechanism with multi-dimensional evaluation metrics, the conflict problem of high-concurrency resource scheduling under a multi-scheduler architecture is solved, achieving balanced sharding and efficient scheduling of resources, thereby improving system performance and scalability.
Patent Information
- Application Number
- CN202511254377.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-03
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-09-03
AI Technical Summary
In high-concurrency resource scheduling scenarios, the resource contention and conflict issues under the multi-scheduler architecture in existing technologies have not been effectively resolved. In particular, the conflicts are aggravated under high concurrency when using MVCC optimistic locking, and the traditional scheduler mode has performance bottlenecks and single points of failure.
A fragmented scheduling mechanism is adopted, which combines multi-dimensional evaluation index information to fragment resources. Resources are divided by multi-dimensional evaluation vectors and ordered encoding values. Combined with MVCC optimistic locking and fragmented scheduling mechanism design, the scheduler completes resource pre-acquisition in local intervals, reducing global lock contention.
It effectively avoids resource scheduling conflicts under high concurrency, improves system performance and scalability, reduces global lock contention, and optimizes resource allocation.
Smart Images

Figure CN120762863B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of resource scheduling technology, and in particular to a resource scheduling method, device, storage medium and computer program product. Background Technology
[0002] In related technologies, resource scheduling can be performed by setting up multiple independent schedulers. However, when two or more schedulers are scheduling resources, they may match the same node, causing resource contention and conflicts. Therefore, optimistic locking mechanisms are commonly used to resolve these conflicts. However, optimistic locking exacerbates conflicts under high concurrency. Thus, the conflict problem in resource scheduling under high concurrency remains unresolved. Summary of the Invention
[0003] In view of this, this application aims to provide a resource scheduling method, device, storage medium, and computer program product that can alleviate resource conflicts in high-concurrency resource scheduling scenarios.
[0004] The technical solution of this application is implemented as follows:
[0005] Firstly, this application provides a resource scheduling method, the method comprising:
[0006] Obtain multi-dimensional evaluation index information of schedulable resources;
[0007] Based on multi-dimensional evaluation index information, multiple shard resources corresponding to schedulable resources are determined.
[0008] Based on multiple resource fragments, the target resource for scheduling is determined.
[0009] Secondly, this application provides a resource scheduling device, the resource scheduling device comprising:
[0010] The acquisition unit is used to acquire multi-dimensional evaluation index information of schedulable resources;
[0011] The determination unit is used to determine multiple shard resources corresponding to schedulable resources based on multi-dimensional evaluation index information;
[0012] The determination unit is also used to determine the target resource for scheduling based on multiple fragmented resources.
[0013] Thirdly, this application provides a resource scheduling device, which includes a processor and a memory; the processor implements the above-described resource scheduling method when executing a running program stored in the memory.
[0014] Fourthly, this application provides a storage medium on which a computer program is stored, which, when executed by a processor, implements the above-described resource scheduling method.
[0015] Fifthly, this application provides a computer program product, including a computer program that implements the above-described resource scheduling method when executed by a processor.
[0016] This application provides a resource scheduling method, device, storage medium, and computer program product. The method includes: acquiring multi-dimensional evaluation index information of schedulable resources; determining multiple fragmented resources corresponding to the schedulable resources based on the multi-dimensional evaluation index information; and determining the target resource for scheduling based on the multiple fragmented resources. By adopting the above implementation scheme, when performing resource scheduling, a strategy of fragmenting schedulable resources is used to obtain fragmented resources. Furthermore, when fragmenting resources, the multi-dimensional evaluation information of each schedulable resource is considered, resulting in a more uniform division of fragmented resources. Scheduling is then performed within the divided fragmented resources, and the scheduler can complete resource pre-allocation within a local interval of the resource, effectively avoiding scheduling conflicts within the overall resource pool. Attached Figure Description
[0017] Figure 1 This is a schematic diagram of a single-unit scheduling method;
[0018] Figure 2 This is a schematic diagram of a two-layer scheduling method;
[0019] Figure 3 This is a schematic diagram of a shared state scheduling method;
[0020] Figure 4 This is a schematic flowchart of a resource scheduling method provided in an embodiment of this application;
[0021] Figure 5 A schematic diagram of a shared-state multi-scheduler architecture;
[0022] Figure 6 This is a schematic diagram illustrating the overall process of designing an optimistic lock by combining Multi-Version Concurrency Control (MVCC) and a sharding scheduling mechanism, according to an embodiment of this application.
[0023] Figure 7 A schematic diagram of a computing network attribute graph pattern constructed based on a computing network cluster, provided in an embodiment of this application;
[0024] Figure 8 A schematic diagram of a process for performing parallel subgraph matching is provided for an embodiment of this application;
[0025] Figure 9A schematic diagram illustrating the generation of a set of associated paths, provided as an embodiment of this application;
[0026] Figure 10 A schematic diagram illustrating the generation of a global subgraph provided in an embodiment of this application;
[0027] Figure 11 A schematic diagram illustrating the generation of a similar topology graph provided in an embodiment of this application;
[0028] Figure 12 A schematic diagram illustrating a method for obtaining a connected subgraph based on spanning tree segmentation, as provided in an embodiment of this application;
[0029] Figure 13 A schematic diagram of a resource scheduling framework provided in an embodiment of this application;
[0030] Figure 14 A schematic diagram of the composition structure of a resource scheduling device provided in this application embodiment. Figure 1 ;
[0031] Figure 15 A schematic diagram of the composition structure of a resource scheduling device provided in this application embodiment. Figure 2 . Detailed Implementation
[0032] To gain a more detailed understanding of the features and technical content of the embodiments of this application, the technical solution of this application will be further described in detail below with reference to the accompanying drawings and specific embodiments. The accompanying drawings are for reference only and are not intended to limit the embodiments of this application.
[0033] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0034] In the following description, references to "some embodiments" refer to a subset of all possible embodiments. It is understood that "some embodiments" may be the same or different subsets of all possible embodiments and may be combined with each other without conflict. It should also be noted that the terms "first / second / third" used in the embodiments of this application are merely for distinguishing similar objects and do not represent a specific ordering of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein.
[0035] The computing power network is a new type of information infrastructure centered on computing power and based on the network. It integrates multiple elements such as basic network, cloud computing, big data, artificial intelligence, security, edge computing, edge computing power, and blockchain (i.e., Adaptive Bandwidth and Connection Density Network Systems (ABCDNETS)). This aims to promote computing power as a social-level service, similar to water and electricity, offering "one-point access and instant use," ultimately achieving the development vision of "ubiquitous network coverage, ubiquitous computing power, and pervasive intelligence." The computing power network white paper clearly defines a multi-dimensional model based on indicators such as business, service, and application, and also clarifies the gradual shift of the computing power network's service model from "resource-based" to "task-based" in its integrated service approach.
[0036] In the context of computing power networks, general scheduling methods are no longer sufficient to meet the relevant requirements. These general scheduling methods mainly include the following three schemes:
[0037] (1) such as Figure 1 As shown, in the monolithic scheduling method, only one node in a cluster runs the scheduling process. This scheduling process is responsible for cluster resource management and task scheduling. In other words, the monolithic scheduler has a global resource view and global tasks. This scheduling scheme makes it easy to implement constraints on jobs and enforce global scheduling policies, making it suitable for batch processing tasks and tasks with high throughput and long execution times.
[0038] (2) For example Figure 2 As shown, in the two-layer scheduling method, the usage status of resources is managed by both the central scheduler and the second-layer scheduler. The central scheduler manages and allocates resources as a whole, and then allocates resources to the second-layer scheduler. The second-layer scheduler is responsible for matching resources with specific tasks. Therefore, the second-layer scheduling can be carried out by multiple schedulers to support different task types.
[0039] (3) such as Figure 3 As shown, in the shared state scheduling method, multiple independent schedulers possess all the resource information of the system, perform scheduling based on this information, and submit the scheduling results atomically to the cluster state (which can be expressed as Cluster State) maintenance module. The Cluster State then determines whether the submission was successful.
[0040] The above technical solutions still have the following drawbacks:
[0041] (1) All scheduling algorithms in the scheme are built into the core scheduler, so the scheduling framework is not flexible and the strategy is not extensible, and there is a single point of failure. (2) Although the scheme solves the concurrency problem of the single scheduler, the second-layer scheduler often only has partial visibility of global resource information and cannot achieve global optimization. (3) Each scheduler in the scheme can perform scheduling globally. Multiple schedulers scheduling at the same time will match the same node, thus causing resource competition and conflict. Therefore, a locking mechanism needs to be introduced to avoid conflict. Generally, the MVCC optimistic locking mechanism is used to solve this problem, but the optimistic locking mechanism will continue to aggravate the conflict under high concurrency.
[0042] To address the aforementioned issues, this application provides a resource scheduling method that can be applied to the problem of cross-cluster global resource optimization allocation for complex computing network resource architectures. This method compensates for the insufficient scheduling capabilities of multiple schedulers based on shared states in the computing network field, and solves the problem of cross-cluster global resource optimization allocation under a multi-scheduler architecture in the computing network field.
[0043] This application provides a resource scheduling method, such as... Figure 4 As shown, the method may include:
[0044] S401. Obtain multi-dimensional evaluation index information of schedulable resources.
[0045] While MVCC optimistic locking can effectively resolve resource access conflicts under low concurrency conditions, the conflict problem becomes increasingly severe as the concurrency of requests increases. In actual production, since large-scale computing clusters and network resources in serverless mode are usually shared by multiple users or even multiple cloud services, traditional monolithic scheduler modes (such as Kubernetes) have poor scalability, obvious performance bottlenecks and single points of failure, and cannot meet the high-concurrency scheduling requirements for large-scale cluster resources.
[0046] To improve scheduler throughput, the following methods can be used: Figure 5 The diagram illustrates a multi-scheduler framework based on shared state. Since the multi-scheduler framework provides horizontal scalability, it can theoretically support higher throughput performance. However, because each scheduler can perform scheduling globally, multiple schedulers simultaneously scheduling may match the same node, causing resource contention and state conflicts. Therefore, a locking mechanism is needed to avoid conflicts.
[0047] However, MVCC is a technology used in database management systems to improve read performance and transaction isolation levels. MVCC allows the database to maintain multiple versions for each data row, so that different transactions can access different versions of the same row simultaneously without interfering with each other. This mechanism can reduce the use of locks, thereby improving the concurrency performance of the system. However, in high-concurrency write scenarios, as the concurrency of requests increases, due to the need to frequently perform conflict detection and retry, the performance of MVCC will decrease significantly.
[0048] To solve this problem, the embodiments of this application optimize the resource scheduling process by introducing a sharding scheduling mechanism.
[0049] In the embodiments of this application, before explaining the implementation solutions, a brief introduction to the idea of the sharding scheduling mechanism is given first: The sharding scheduling mechanism divides resources (which can be understood as resources in each sub-domain) into multiple non-overlapping intervals, and each interval contains a part of the resources. Assuming there are N schedulers and M intervals (N < M), then each scheduler is responsible for resource scheduling within a part of the intervals.
[0050] Generally, the sharding algorithm is based on the modulo operation of the hash value to obtain the specific sharding index. Assuming (i.e., the unique identifier of the scheduled object) is the unique identifier of the resource instance (i.e., the schedulable resource), Hash is the hash value operation function, M is the number of shards, and % is the modulo operation, then the sharding index of the resource instance can be calculated by the following formula (1):
[0051] (1)
[0052] Where, represents the sharding index.
[0053] Since this method does not consider the multi-dimensional dimension system of computing power network resources (for example, computing power metrics include CPU core count, main frequency, memory, chip architecture, cost, etc., and network metrics include delay, bandwidth, jitter, water level value, etc.), and only shards according to the unique identifier of the resource instance, there will be a problem of spatial skew of resources. For example, the computing power of a certain model of CPU is divided into the same shard, resulting in an unbalanced global scheduling result.
[0054] In the embodiments of this application, combined with the continuous search algorithm of multi-dimensional space data, the balanced sharding management of computing power network resources is realized, specifically as follows:
[0055] In the embodiments of this application, the schedulable resources can include computing power resources (such as cloud hosts, CPUs, etc.), network resources, etc..
[0056] In the embodiments of this application, the multidimensional evaluation index information can be evaluation parameters for multiple dimensions such as computing resources and network resources.
[0057] In this embodiment of the application, for schedulable resources, multi-dimensional evaluation index information corresponding to all schedulable resources can be obtained first.
[0058] S402. Based on multi-dimensional evaluation index information, determine multiple shard resources corresponding to schedulable resources.
[0059] In this embodiment of the application, multiple shard resources corresponding to schedulable resources are determined based on multi-dimensional evaluation index information. Specifically, this can be achieved in the following ways:
[0060] The evaluation function is used to process the multidimensional evaluation index information to obtain a multidimensional evaluation vector; based on the multidimensional evaluation vector, the coding value corresponding to the schedulable resource is determined; based on the coding value, the schedulable resource is divided to obtain multiple resource fragments.
[0061] In this embodiment of the application, the multidimensional evaluation vector is first determined based on the multidimensional evaluation indicators of schedulable resources (such as the CPU itself having multiple attribute information, such as different manufacturers, different clock speeds, etc.).
[0062] For example, there exists a set of multidimensional evaluation indicators. And the evaluation function corresponding to each evaluation indicator. , where i can correspond to a, b, ..., and by using the evaluation function to calculate the corresponding evaluation index information, a multidimensional evaluation vector can be obtained, as shown in the following formula (2):
[0063] (2)
[0064] Where V represents the multidimensional evaluation vector, This refers to using evaluation functions to evaluate indicators. The result of the calculation, This refers to using evaluation functions to evaluate indicators. The result of the calculation.
[0065] In this embodiment of the application, the obtained multidimensional evaluation vector is calculated to obtain an ordered code based on a multidimensional space search algorithm (such as Hilbert space-filling curve, Z curve, KD tree, etc.), thereby compressing the multidimensional evaluation vector data into one-dimensional ordered data (i.e., ordered code value). The code value is a one-dimensional ordered code, and the specific calculation is shown in the following formula (3):
[0066] (3)
[0067] in, It is for resource instances The generated one-dimensional ordered code, It is a resource instance Instances of multidimensional evaluation vectors This is a spatial search algorithm.
[0068] In this embodiment, schedulable resources are divided according to their calculated encoding values. Specifically, a configurable sharding strategy, such as a round-robin hash algorithm, is used to divide the ordered encoding into multiple independent shards. Since the ordered encoding corresponds to the schedulable resources, this achieves spatially balanced sharding of all schedulable resource instances (i.e., schedulable resources) based on multi-dimensional evaluation metrics, resulting in multiple sharded resources. For example, if 100 cloud hosts are divided into 10 sharded resources according to their corresponding encoding values, then each sharded resource corresponds to 10 cloud hosts.
[0069] S403. Based on multiple fragmented resources, determine the target resource for scheduling.
[0070] In this embodiment, the scheduler selects one interval from M intervals (i.e., multiple fragmented resources obtained from fragmentation, where there can be M fragmented resources) for operation via round-robin. An MVCC optimistic locking approach is attempted to pre-allocate the target resource in the selected interval (i.e., the selected fragmented resource). If the pre-allocation is successful, the scheduling cycle ends.
[0071] In one embodiment of this application, if it fails to select one of the multiple fragmented resources and determine the target resource for scheduling, the target resource for scheduling is re-determined from the schedulable resources.
[0072] In this embodiment of the application, if the attempt to pre-occupy the target resource in the selected interval (i.e. the selected fragment resource) using MVCC optimistic locking fails, it indicates that the target resource has been locked by another scheduler. At this time, the scheduler attempts to pre-occupy the target resource in the global resources using MVCC optimistic locking to update the resource occupancy status.
[0073] Based on the above embodiments, the overall scheme of optimistic locking in this application embodiment, which combines MVCC and fragmentation scheduling mechanism, is as follows: Figure 6As shown, the process begins by receiving a resource scheduling request, then schedulable resources are fragmented, and resource fragments are calculated (resource fragmentation can be performed according to the above fragmentation method). Then, regular processing is performed on the fragmented resources, followed by fragment resource pre-allocation (i.e., state update) in the fragmented resources. If the state update fails, a degradation process is performed on the global resources, followed by resource pre-allocation (i.e., state update) in the global resources. Using the above process, a scheduling scheme is generated to achieve resource scheduling.
[0074] The optimistic locking implementation scheme described above, based on MVCC and sharding scheduling, firstly assumes that conflicts will not occur in most cases, and therefore does not lock any resources at the beginning of a transaction. Only before committing the transaction is it checked whether other transactions have modified the data. If a conflict is detected (i.e., other transactions have modified the data), the current transaction is rolled back, and then enters the degradation processing logic, re-executing within the resource shard according to the sharding rules.
[0075] This fragmented scheduling mechanism effectively reduces conflicts even under high concurrency. This is because, in most cases, the scheduler can pre-allocate the target resource within a local interval without needing to enter the global pre-allocation phase. This method reduces global lock contention and improves overall system performance. Furthermore, the fragmented scheduling mechanism has good scalability, dynamically adjusting the number of fragments based on changes in system load to further optimize scheduling performance.
[0076] Furthermore, the sharding scheduling mechanism can be combined with other technologies such as load balancing and distributed locks to further improve system stability and response speed. For example, load balancing technology can reasonably distribute requests to different schedulers, avoiding overload of a single scheduler; while distributed locks can ensure the consistency and integrity of resources across schedulers.
[0077] It is understood that the resource scheduling method provided in this application adopts a strategy of schedulable resources to obtain schedulable resources during resource scheduling. When scheduling resources, the multi-dimensional evaluation information of each schedulable resource is considered, and the division of schedulable resources is more uniform. Then, scheduling is carried out in the divided schedulable resources. The scheduler can complete resource pre-occupation in the local interval of the resource, which can effectively avoid scheduling conflicts in the overall resources.
[0078] In this embodiment of the application, before scheduling the schedulable resources, it is also necessary to match the corresponding schedulable resources according to the business requirements.
[0079] In this embodiment, the efficient matching of computing network resources is solved by introducing parallel subgraph matching based on graph segmentation.
[0080] In this embodiment, it is assumed that there are multiple computing power clusters, which may be distributed in different data centers or even different regions. These clusters may be interconnected via proxy services or other means. First, service-related computing power network scheduling factors are defined, and resource status data is collected through computing power network resource awareness. For computing power resources, various computing power factors need to be defined, including CPU, memory, GPU, and storage; similarly, for network resources, various network factors such as latency, bandwidth, and packet loss rate can be defined. An attribute graph model is used to abstractly map computing power network resources into a graph data, where computing power clusters serve as connection points, and the lines connecting two points represent the network between clusters. This abstract graph structure is a connected graph; each point in the graph can contain different attributes, mainly divided into two categories: resource and performance indicators. For example, ... Figure 7 As shown, a computing power network attribute graph pattern can be constructed based on the computing power network cluster. Each node contains its region, computing power cost, CPU, memory, storage capacity, etc., and each edge contains attributes such as latency, bandwidth, packet loss rate, and utilization rate. To facilitate filtering, different label attributes can be added to each node and each edge.
[0081] Resource matching refers to how to most effectively allocate computing tasks to multiple computing nodes in a network. Each computing task may have different computing requirements (such as the number of CPU cores and memory size), while computing nodes have different computing capabilities (such as CPU performance and memory capacity) and associated resources. In addition, communication latency or bandwidth limitations between nodes may also affect task allocation.
[0082] In this embodiment of the application, to address the resource matching problem under the computing power network, the business requirements are first abstracted into an application architecture sub-graph. This includes the resource requirements of some task nodes and the latency and bandwidth relationships between them. Simultaneously, the computing network resource environment is abstracted into a global resource topology graph. , This illustrates the distribution of computing resources and their interconnections. The goal is to find a way to represent the application architecture subgraph. Tasks in the map are mapped to the global resource topology graph. On the computing nodes, all dependencies are satisfied, and overall performance metrics (such as total execution time or resource cost) are optimized as much as possible.
[0083] The above content will be explained in detail through the following specific examples:
[0084] In one embodiment of this application, before obtaining the multi-dimensional evaluation index information of schedulable resources, the method further includes:
[0085] Construct a first topology map of global resources and a second topology map of resources required by the business; match the second topology map with the first topology map to obtain at least one target topology map that matches the second topology map; determine the resources corresponding to the nodes of the target topology map as schedulable resources.
[0086] In this embodiment of the application, the first topology map is a topology map of global resources, and the second topology map is a topology map of computing power and network resources required by the application (i.e., business).
[0087] In this embodiment of the application, it is first necessary to construct an application architecture subgraph (i.e., a second topology graph). Application architecture sub-diagram This describes the computing power and network requirements of the application (i.e., the business). Node Represents computing power resource requirements, etc., edge This represents network requirements such as network bandwidth and latency.
[0088] Then, a global resource topology map (also known as a computing network map) is constructed based on the awareness of computing network resource status. Global resource topology graph It describes the available computing and network resources. Among them, nodes... Represents the total amount of computing resources, edge It represents network resources, such as latency.
[0089] In one embodiment of this application, the second topology map is matched with the first topology map to obtain at least one target topology map that matches the second topology map. This can be achieved in the following way:
[0090] Traverse the nodes in the first topological graph and select a splitting node from the multiple nodes in the first topological graph; split the first topological graph based on the splitting node to obtain multiple connected subgraphs; match the multiple connected subgraphs with the second topological graph to obtain at least one target topological graph.
[0091] In this embodiment of the application, the first topology graph is traversed to determine the set of candidate segmentation nodes. ,in Global resource topology graph Some nodes in the process can effectively... The graph is divided into several connected subgraphs. The selection strategy for these dividing nodes can refer to choosing nodes with higher total computing resources and nodes with lower connectivity as dividing nodes. These dividing nodes do not belong to... .
[0092] In this embodiment of the application, to determine the minimum number of segmentation nodes, a depth-first search (DFS) algorithm is used to identify all segmentation nodes. The specific implementation method is as follows:
[0093] Use Depth-First Search (DFS) to traverse the entire first topology graph, while maintaining the following information for each node in the first topology graph:
[0094] (1) Discovery time: The time when the node is first accessed.
[0095] (2) Lowest reachable discovery time: The earliest time that the node can be reached directly or indirectly (without going through the parent node).
[0096] During the DFS traversal, for each non-root node V, if any of its child nodes U has no back edge pointing to an ancestor of V (i.e., lowest[U] >= discovery[V]), then V is a split node.
[0097] It should be noted that "lowest" indicates the minimum achievable discovery time, while "discovery" indicates the discovery time.
[0098] Specifically, for the root node, the root node is a split node if and only if it has two or more child nodes. This is because the root node must have at least two independent subtrees so that after the root is removed, these subtrees can become distinct connected components.
[0099] In this embodiment of the application, the set of all nodes identified as segmentation nodes is the candidate set of segmentation nodes.
[0100] Assuming these nodes cannot form an association with their surrounding nodes. If the subgraphs have the same architecture, removing these nodes will divide the original first topology graph into as many connected subgraphs as possible, while ensuring that the number of nodes removed is minimized.
[0101] In this embodiment of the application, after obtaining the segmentation nodes, graph segmentation is performed. Specifically, based on the set of segmentation nodes... The splitting node in the middle, from Remove from The set contains the splitting nodes and the edges connected to them, thus... Divide the graph into several connected subgraphs, ensuring that each connected subgraph is large enough to accommodate the subgraphs. All nodes.
[0102] In this embodiment of the application, after obtaining several connected subgraphs, parallel processing (i.e., in...) is performed. and Parallel subgraph matching, such as Figure 8 As shown, specifically, examine the segmented... Connectivity: For each connected subgraph obtained from the partition, a subgraph matching algorithm (such as the Ullmann algorithm) is executed in parallel to find the connection between the subgraph and the connected subgraph. The matching part, subgraph matching aims to find a match in each connected subgraph. Application configurations with identical topologies and satisfactory computing power and network latency requirements.
[0103] Ullmann's algorithm is an algorithm for solving the subgraph isomorphism problem. The principle of Ullmann's algorithm is to find the pattern graph (i.e., ...) by constructing a mapping. The nodes in the main graph (i.e.) The mapping relationship between nodes in the diagram. This mapping must satisfy the following two conditions:
[0104] Condition 1: Every node in the pattern graph must be mapped to a unique node in the main graph.
[0105] Condition 2: If there is an edge connecting two nodes in the pattern graph, then there must also be an edge connecting the corresponding nodes in the main graph.
[0106] The algorithm steps are described as follows:
[0107] Step 1: Initialize the candidate mapping list, where each mapping represents a pattern graph (i.e., A node in the graph may be mapped to the main graph (i.e., Which nodes in )
[0108] Step 2: Recursively search for mappings. Starting from the first node in the pattern graph, try to map it to every candidate node in the main graph, and recursively check whether the remaining nodes can form a valid mapping.
[0109] Step 3: Quick pruning. During the search process, if it is found that the current partial mapping cannot be expanded into a complete mapping (for example, because some nodes do not have corresponding neighbors in the main graph), stop exploring the path, backtrack, and try other mappings.
[0110] Step 4: Output the results. When a complete mapping that satisfies all the conditions is found, record the mapping as part of the match. Then, use the algorithm to continue searching for all possible mappings until the search space is completely explored.
[0111] It should be noted that the Ullmann algorithm provides a basic framework for solving the subgraph isomorphism problem. In addition, other optimization algorithms, such as the VF2 algorithm and the LAD algorithm, can also be used. These improvements mainly focus on reducing the search space and improving pruning efficiency, making the solution of subgraph isomorphism more efficient.
[0112] In this embodiment of the application, the matching result generated based on parallel subgraph matching is the obtained target topology graph, and this result set is denoted as... .
[0113] In this embodiment of the application, in order to check whether the segmentation node destroys potential connections during the removal process... For isomorphic subgraphs, it is also necessary to design an efficient judgment method based on architectural similarity to ensure the integrity of the final set of isomorphic subgraphs. This can be understood as... Supplement to the set.
[0114] In one embodiment of this application, after traversing the nodes in the first topology graph and selecting a splitting node from a plurality of nodes in the first topology graph, the method further includes:
[0115] Based on the second topology graph, construct a spanning tree; obtain the set of associated paths corresponding to each node in the spanning tree, and determine the target path value from the set of associated paths; for each segmentation node, find the target node in the first topology graph whose distance to each segmentation node is within the target path value; based on the target node, construct a global subgraph corresponding to each segmentation node; based on the global subgraph, the spanning tree, and the second topology graph, determine the similar topology graph of the second topology graph.
[0116] In this embodiment of the application, the spanning tree corresponds to the application architecture subgraph, and can be adopted. express.
[0117] In this embodiment of the application, a spanning tree is constructed based on the application architecture subgraph. ,from Constructing a spanning tree It can be generated using the Prim algorithm or the Kruskal algorithm. The spanning tree Need to include There are all nodes in the array, and there are no loops.
[0118] In this embodiment of the application, in generating Afterwards, execution and The process of architecture similarity matching. The specific implementation is as follows:
[0119] In order to determine potential and To match subgraph combinations while simplifying computation as much as possible, a similarity matching algorithm needs to be designed. As a query tree, find in Zhongyu A set of subtrees with similar architectures means that the identified subtrees are potential matching subgraphs.
[0120] Specific The architecture similarity matching process is as follows:
[0121] (1) First, obtain the set of associated paths corresponding to each node of the spanning tree: according to Generate a set of interconnected path distances, i.e., from Choose any point and generate a sequence of interconnected path distances from that point to all other points. This will form a sequence of interconnected path distances for all nodes. The set of interconnection path distances.
[0122] It should be noted that the distance of an interconnected path is defined as follows: For a connected path from point A to point B, the distance between each edge is 1. Therefore, the distance of the connected path from point A to point B is the number of edges traversed. Figure 9 In For example, the interconnection path distance sequence of point A is D={1, 2, 2}, and so on. The set of interconnected (also known as associated) path distances is .
[0123] Then, determine the target path value from the set of associated paths, that is, determine the maximum path distance. For example, according to It can be known The value is 2.
[0124] It should be noted that, Figure 9 The A and B nodes in the text are just example labels.
[0125] (2) For each segmentation node, in the first topology graph, find the target nodes whose distance to each segmentation node is within the target path value, i.e., from the generated set of candidate segmentation points. Choose any splitting node In the first topological graph, find the one that is related to... The interconnection path distance is Within (including) All nodes of ) (i.e., the target node).
[0126] Then, based on the target node, construct a global subgraph corresponding to each partitioning node. That is, construct the global subgraph based on the set of these nodes and the edges between these nodes. The global subgraph can be used... Indicates, such as Figure 10As shown, it indicates from From .
[0127] Based on the global subgraph, spanning tree, and second topological graph, determine similar topological graphs to the second topological graph, such as... Figure 11 As shown, similar topology graph matching based on a spanning tree architecture can be implemented by performing the following steps:
[0128] (3) Assumption The number of nodes is m, from In addition to In addition, arbitrarily select m-1 nodes, based on the set of selected nodes (including...) The edges between nodes form a global sub-subgraph, which can be represented by... express.
[0129] (4) According to and Generate the degree sequence of each node, sort the sequence values, and check if the following two conditions are met:
[0130] Condition 1: Assumption The number of edges is n, check number of sides It needs to meet the following requirements. ;
[0131] Condition 2: Assumption The maximum and minimum values of the node degree sequence are respectively and , The maximum and minimum values of the node degree sequence are respectively and It needs to meet the following requirements. ,and .
[0132] If the above conditions are met, then Mark as similar architecture, then check Whether or not Architecture matching, the matching principle is: the two architectures are completely identical or Include Architecture. If it matches, then it needs to be... Record to similar result set This yields a similar topological graph.
[0133] (5) Repeat (3) to (4) until There are no cases where similarity calculations were not performed. Until then, we have obtained and All related to Isomorphic subgraphs and records .
[0134] (6) Repeat (2) to (5) until the set is complete. All nodes in the process have completed the above calculations, and the final result is obtained. The set is the result set of isomorphic subgraphs associated with all split nodes, and this result set is determined as all similar topological graphs similar to the second topological graph.
[0135] In the embodiments of this application, based on Transform into Get and The results of all related connected subgraphs are as follows Figure 12 As shown.
[0136] In one embodiment of this application, after obtaining at least one target topology map that matches the second topology map, the method further includes:
[0137] Based on a preset optimization algorithm, the optimal target topology is determined from at least one target topology graph; the resources corresponding to the nodes in the optimal target topology are determined as schedulable resources, so as to schedule the resources corresponding to the nodes in the optimal target topology.
[0138] In this embodiment, from the set of matching results found in the segmented connected subgraphs, an optimal solution is generated based on a multi-objective optimization algorithm, such as minimizing total cost or minimizing network latency. Here, a scheduling pipeline approach is used to evaluate and generate the optimal solution. This process first aligns each connected subgraph with a multi-dimensional resource evaluation index, then constructs a multi-dimensional evaluation function, and obtains the optimal matching result through a multi-objective optimization algorithm. That is, it finds the optimal target topology from at least one target topology, and then schedules the resources in the optimal topology.
[0139] In this embodiment of the application, considering the potential matching subgraphs in the above embodiments, i.e. All similar topological graphs in the set, therefore, it is also possible to... Sets and The sets are integrated to obtain the final set of all subgraph matching results, which can be expressed as the following formula (4):
[0140] (4)
[0141] In this embodiment of the application, after obtaining all the subgraph matching result sets, it is possible to proceed from the above... Within the set, optimal solutions are generated based on multi-objective optimization algorithms, such as minimizing total cost or network latency. Here, a scheduling pipeline approach is used to evaluate and generate the optimal solution. This process first aligns each connected subgraph with multi-dimensional resource evaluation metrics, then constructs a multi-dimensional evaluation function, and finally obtains the optimal matching result through a multi-objective optimization algorithm. This allows some potential resources to also be scheduled.
[0142] In this embodiment, based on MVCC and optimistic locking, a combination of sharding scheduling and shared-state scheduling is used to mitigate conflicts. A multi-dimensional space search algorithm is incorporated to achieve balanced sharding of computing network resources, avoiding resource skew. Simultaneously, a parallel subgraph matching based on graph partitioning is designed to solve the problem of efficient resource optimization matching in the context of computing network fusion. Building upon multi-scheduler schemes in related technologies, this embodiment provides a feasible solution for unified resource scheduling in the computing network field, addressing the following issues:
[0143] (1) Based on the idea of optimistic locking, a combination of sharding scheduling and shared state scheduling is adopted to alleviate the conflict. In this process, a multi-dimensional space search algorithm is combined to realize the balanced sharding of computing network resources. This can make up for the lack of scheduling capability of multiple schedulers based on shared state in the computing network field and solve the resource conflict and scheduling tilt problem in high concurrency scenarios.
[0144] (2) A parallel subgraph matching algorithm based on graph segmentation was designed, by constructing and ,Will Task mapping in On the computing nodes, all dependencies are satisfied and the overall performance is optimized as much as possible, thereby solving the problem of global resource optimization and allocation across clusters under the multi-scheduler architecture in the field of computing power networks.
[0145] In the embodiments of this application, the above implementation scheme is based on as follows Figure 13 The architecture shown consists of two layers. The first layer is a domain-specific resource management layer, which uses a northbound registration interface and a southbound listening interface to implement resource reporting and task monitoring. The second layer is a scheduling layer, which mainly includes the core scheduler and a scheduling performance simulation component.
[0146] The underlying domain resource manager is responsible for collecting and organizing information on various computing resources within its jurisdiction and reporting it to the upper-layer shared resource status center through a registration mechanism. This ensures that the upper layer can obtain the status of all available resources in real time, thereby enabling more reasonable scheduling decisions. On the other hand, the domain resource manager continuously listens for instructions from the upper layer. Upon receiving a specific resource request, the domain resource manager selects an appropriate resource adapter to initiate the corresponding processing flow, such as the Docker container management system, the Kubernetes (K8s) container orchestration platform, and the OpenStack cloud infrastructure management platform. Through collaboration with these adapters, various heterogeneous resources can be flexibly scheduled and managed.
[0147] The core scheduling framework consists of two key parts: a shared resource ledger and a scalable scheduling process (including pre-filtering -> filtering -> pre-score -> score -> normalize score -> pre-assigning -> assignment -> pre-binding -> binding -> post-binding). The shared resource ledger provides a unified view of resource management, tracking the status of all available resources and implementing quota management in a multi-tenant environment, ensuring that each tenant can use resources fairly according to predefined rules. Furthermore, to accommodate diverse scheduling needs, the scheduling process is designed to be highly scalable. This is achieved by defining multiple extension points during the scheduling process, allowing third-party plugins or components to intervene in various stages of the scheduling process at a low cost. This design allows the system to flexibly respond to the needs of different scenarios, whether it's adding new scheduling algorithms, optimizing resource allocation strategies, or integrating additional quality of service (QoS) assurance mechanisms. This architecture ensures both high efficiency and flexibility in scheduling, while also facilitating future functional expansion and maintenance.
[0148] The scheduling performance simulation platform continuously optimizes various scheduling metrics by replaying real online traffic, simulating the deployment of scheduling strategies, and employing precise scheduling performance evaluation algorithms. This platform aims to support the resolution of complex online problems and enables offline simulation and testing of relevant scheduling strategies before practical application. By replaying historical traffic data, the platform can reproduce complex online scenarios, helping to identify potential problems and bottlenecks. Simultaneously, by simulating different scheduling strategies, the effectiveness and performance impact of new strategies can be evaluated without affecting the actual production environment. Based on this, the scheduling performance evaluation algorithm can quantify the performance of various scheduling strategies, including but not limited to key metrics such as response time, resource utilization, and throughput.
[0149] Based on the above embodiments, the embodiments of this application have the following technical advantages compared with related technologies:
[0150] 1. In contrast to existing scheduling schemes that rely solely on MVCC locks for shared state scheduling among multiple schedulers, neglecting the efficiency degradation caused by frequent conflicts in high-concurrency scenarios, this application addresses resource conflicts in high-concurrency scenarios with multiple schedulers. Based on the idea of optimistic locking, it proposes a mechanism combining fragmented scheduling and MVCC locks, enabling the scheduler to pre-allocate resources within a local interval as much as possible, without needing to enter the global pre-allocation phase. This method reduces global lock contention, improves overall system performance, and significantly reduces multi-scheduler conflicts caused by resource contention. Furthermore, the fragmented scheduling mechanism employs a multi-dimensional vector compression algorithm to ensure spatially balanced fragmentation based on multi-dimensional indicators of computing power and network resources, avoiding resource skewness issues in fragmentation algorithms of related technologies.
[0151] 2. Addressing the issue that existing scheduling schemes only consider computing power matching at the resource level and lack a cross-cluster global resource scheduling scheme, this application proposes a parallel subgraph matching algorithm based on graph partitioning. This algorithm constructs... and ,Will Task mapping in On the computing nodes, all dependencies are satisfied and the overall performance is optimized as much as possible. This process combines graph partitioning and subgraph matching algorithms to ultimately allocate the optimal distribution of computing power network application architecture graph to the computing power cluster. Under the premise of ensuring the consistency of application architecture and the computing power and network requirements of application, it generates the optimal distribution of computing power network resources for business, thereby solving the problem of cross-cluster global resource optimization allocation in the field of computing power network.
[0152] Based on the above embodiments, another embodiment of this application provides a resource scheduling device 1, such as... Figure 14 As shown, the resource scheduling device 1 includes:
[0153] The acquisition unit 10 is used to acquire multi-dimensional evaluation index information of schedulable resources.
[0154] The determination unit 11 is used to determine multiple shard resources corresponding to schedulable resources based on multi-dimensional evaluation index information.
[0155] The determining unit 11 is also used to determine the target resource for scheduling based on multiple fragmented resources.
[0156] In one embodiment, the determining unit 11 is further configured to process the multidimensional evaluation index information using an evaluation function to obtain a multidimensional evaluation vector.
[0157] The determining unit 11 is also used to determine the encoding value corresponding to the schedulable resource based on the multidimensional evaluation vector.
[0158] The determining unit 11 is also used to divide schedulable resources based on the encoded value to obtain multiple fragmented resources.
[0159] In one embodiment, the determining unit 11 is further configured to, in the event that the selection of one of the shard resources from a plurality of shard resources fails and the target resource for scheduling is determined, re-determine the target resource for scheduling from the schedulable resources.
[0160] In one embodiment, the resource scheduling device 1 may further include a construction unit.
[0161] The building unit is used to build the first topology map of global resources and the second topology map of resources required by the business.
[0162] The determining unit 11 is also used to match the second topology map with the first topology map to obtain at least one target topology map that matches the second topology map.
[0163] The determining unit 11 is also used to determine the resources corresponding to the nodes of the target topology graph as schedulable resources.
[0164] In one embodiment, the resource scheduling device 1 may further include a segmentation unit.
[0165] The determining unit 11 is also used to traverse the nodes in the first topology graph and select the splitting node from the multiple nodes in the first topology graph.
[0166] A segmentation unit is used to segment the first topological graph based on segmentation nodes to obtain multiple connected subgraphs.
[0167] The determining unit 11 is also used to match the second topology graph with multiple connected subgraphs to obtain at least one target topology graph.
[0168] In one embodiment, the construction unit is further configured to construct a spanning tree based on the second topology graph.
[0169] The determining unit 11 is also used to obtain the set of associated paths corresponding to each node in the spanning tree, and to determine the target path value from the set of associated paths.
[0170] The determining unit 11 is also used to, for each segmentation node, find, in the first topology graph, the target node whose distance from each segmentation node is within the target path value.
[0171] The building unit is also used to construct a global subgraph corresponding to each segmentation node based on the target node.
[0172] The determining unit 11 is also used to determine the similar topological graph of the second topological graph based on the global subgraph, the spanning tree, and the second topological graph.
[0173] In one embodiment, the determining unit 11 is further configured to determine an optimal target topology map from at least one target topology map based on a preset optimization algorithm.
[0174] The determining unit 11 is also used to determine the resources corresponding to the nodes of the optimal target topology as schedulable resources, so as to schedule the resources corresponding to the nodes of the optimal target topology.
[0175] This application provides a resource scheduling device that acquires multi-dimensional evaluation index information of schedulable resources; based on the multi-dimensional evaluation index information, determines multiple sharded resources corresponding to the schedulable resources; and based on the multiple sharded resources, determines the target resource for scheduling. Thus, the resource scheduling device proposed in this application adopts a strategy of sharding schedulable resources during resource scheduling to obtain sharded resources. Furthermore, when sharding resources, it considers the multi-dimensional evaluation information of each schedulable resource, resulting in a more uniform division of sharded resources. Scheduling is then performed within the divided sharded resources, and the scheduler can complete resource pre-allocation within a local interval of the resource, effectively avoiding scheduling conflicts in the overall resource pool.
[0176] Figure 15 This is a schematic diagram of the composition structure of a resource scheduling device 1 provided in an embodiment of this application. In practical applications, based on the same disclosed concept of the above embodiments, such as... Figure 15 As shown, the resource scheduling device 1 in this embodiment includes a processor 12, a memory 13, and a communication bus 14.
[0177] In specific embodiments, the acquisition unit 10, determination unit 11, construction unit, and segmentation unit described above can be implemented by a processor 12 located on the resource scheduling device 1. The processor 12 can be at least one of the following: Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), CPU, controller, microcontroller, and microprocessor. It is understood that for different devices, the electronic device used to implement the above processor functions can also be other types, and this application embodiment does not impose specific limitations.
[0178] In this embodiment, the communication bus 14 is used to realize the connection communication between the processor 12 and the memory 13; when the processor 12 executes the running program stored in the memory 13, it implements the following resource scheduling method:
[0179] Obtain multi-dimensional evaluation index information of schedulable resources; based on the multi-dimensional evaluation index information, determine multiple resource segments corresponding to the schedulable resources; based on the multiple resource segments, determine the target resource for scheduling.
[0180] In one embodiment, the processor 12 is further configured to process the multidimensional evaluation index information using an evaluation function to obtain a multidimensional evaluation vector; determine the encoding value corresponding to the schedulable resource based on the multidimensional evaluation vector; and divide the schedulable resource based on the encoding value to obtain multiple sharded resources.
[0181] In one embodiment, the processor 12 is further configured to, in the event that the selection of one of the shard resources from multiple shard resources fails and the target resource for scheduling is determined, re-determine the target resource for scheduling from the schedulable resources.
[0182] In one embodiment, the processor 12 is further configured to construct a first topology map of global resources and a second topology map of resources required by the business; match the second topology map with the first topology map to obtain at least one target topology map that matches the second topology map; and determine the resources corresponding to the nodes of the target topology map as schedulable resources.
[0183] In one embodiment, the processor 12 is further configured to traverse the nodes in the first topology graph, select a splitting node from the multiple nodes in the first topology graph, split the first topology graph based on the splitting node to obtain multiple connected subgraphs, and match the multiple connected subgraphs with the second topology graph to obtain at least one target topology graph.
[0184] In one embodiment, the processor 12 is further configured to: construct a spanning tree based on the second topology graph; obtain a set of associated paths corresponding to each node in the spanning tree and determine a target path value from the set of associated paths; for each segmentation node, find a target node in the first topology graph whose distance to each segmentation node is within the target path value; construct a global subgraph corresponding to each segmentation node based on the target node; and determine a similar topology graph of the second topology graph based on the global subgraph, the spanning tree, and the second topology graph.
[0185] In one embodiment, the processor 12 is further configured to determine an optimal target topology from at least one target topology based on a preset optimization algorithm; and to determine the resources corresponding to the nodes of the optimal target topology as schedulable resources, so as to schedule the resources corresponding to the nodes of the optimal target topology.
[0186] Based on the above embodiments, this application provides a storage medium storing a computer program thereon. The computer-readable storage medium stores one or more programs, which can be executed by one or more processors and applied in a resource scheduling device. The computer program implements the resource scheduling method described above.
[0187] Based on the above embodiments, this application provides a computer program product, including a computer program that can be executed by one or more processors and applied in a resource scheduling device. The computer program implements the resource scheduling method described above.
[0188] It should be noted that, in the embodiments of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0189] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / random access memory (RAM), magnetic disk, optical disk), and includes several instructions to cause an image display device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the embodiments of this application.
[0190] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the protection scope of this application.
Claims
1. A resource scheduling method, characterized in that, The method includes: Obtain multi-dimensional evaluation index information of schedulable resources; Based on the multidimensional evaluation index information, multiple shard resources corresponding to the schedulable resources are determined; Based on the multiple fragmented resources, the target resource for scheduling is determined; Prior to obtaining the multi-dimensional evaluation index information of schedulable resources, the method further includes: Construct a first topology diagram of global resources and a second topology diagram of resources required by the business; Based on the first topology map and the second topology map, at least one target topology map that matches the second topology map is determined; Based on the second topology graph, construct a spanning tree; Obtain the set of associated paths corresponding to each node in the spanning tree, and determine the target path value from the set of associated paths; For each segmentation node selected by traversing multiple nodes in the first topology graph, find a target node in the first topology graph whose distance from each segmentation node is within the target path value. Based on the target node, construct a global subgraph corresponding to each segmentation node; Based on the global subgraph, the spanning tree, and the second topology graph, a similar topology graph is determined to determine the schedulable resource based on the at least one target topology graph and the similar topology graph.
2. The method according to claim 1, characterized in that, The step of determining multiple shard resources corresponding to the schedulable resources based on the multi-dimensional evaluation index information includes: The multidimensional evaluation index information is processed using an evaluation function to obtain a multidimensional evaluation vector; Based on the multidimensional evaluation vector, the encoding value corresponding to the schedulable resource is determined; The schedulable resources are divided based on the encoded values to obtain multiple resource fragments.
3. The method according to claim 1, characterized in that, After determining the multiple shard resources corresponding to the schedulable resource based on the multi-dimensional evaluation index information, the method further includes: If the selection of one of the multiple sharded resources fails and the target resource for scheduling is determined, the target resource for scheduling is re-determined from the schedulable resources.
4. The method according to claim 1, characterized in that, Before obtaining the multi-dimensional evaluation index information of schedulable resources, the method further includes: Construct a first topology diagram of global resources and a second topology diagram of resources required by the business; The second topology graph is matched with the first topology graph to obtain at least one target topology graph that matches the second topology graph; The resources corresponding to the nodes of the target topology graph are determined as the schedulable resources.
5. The method according to claim 4, characterized in that, The step of matching the second topology map with the first topology map to obtain at least one target topology map that matches the second topology map includes: Traverse the nodes in the first topology graph and select a splitting node from the multiple nodes in the first topology graph; The first topology graph is segmented based on the segmentation nodes to obtain multiple connected subgraphs; By matching the multiple connected subgraphs with the second topology graph, at least one target topology graph is obtained.
6. The method according to claim 4, characterized in that, After obtaining at least one target topology map that matches the second topology map, the method further includes: Based on a preset optimization algorithm, an optimal target topology map is determined from the at least one target topology map; The resources corresponding to the nodes of the optimal target topology are determined as schedulable resources, so as to schedule the resources corresponding to the nodes of the optimal target topology.
7. A resource scheduling device, characterized in that, The resource scheduling device includes: The acquisition unit is used to acquire multi-dimensional evaluation index information of schedulable resources; The determining unit is used to determine multiple shard resources corresponding to the schedulable resource based on the multi-dimensional evaluation index information. The determining unit is also configured to determine the target resource for scheduling based on the plurality of fragmented resources; Among them, the construction unit is used to construct the first topology map of global resources and the second topology map of resources required by the business. The determining unit is further configured to determine at least one target topology map that matches the second topology map based on the first topology map and the second topology map; The building unit is also used to build a spanning tree based on the second topology graph; The determining unit is further configured to obtain the set of associated paths corresponding to each node in the spanning tree, and determine the target path value from the set of associated paths; The determining unit is further configured to, for each segmentation node selected from multiple nodes traversing the first topology graph, find a target node in the first topology graph whose distance from each segmentation node is within the target path value. The construction unit is also configured to construct a global subgraph corresponding to each segmentation node based on the target node; The determining unit is further configured to determine a similar topology graph of the second topology graph based on the global subgraph, the spanning tree, and the second topology graph, so as to determine the schedulable resource based on the at least one target topology graph and the similar topology graph.
8. A resource scheduling device, characterized in that, The resource scheduling device includes a processor and a memory; when the processor executes the running program stored in the memory, it implements the method as described in any one of claims 1 to 6.
9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Resource scheduling method and management equipment
CN105099951A
Resource scheduling method, device and equipment
CN120179414A