Cooperative scheduling method and device for computing power resources in multi-cloud scene and storage medium
By building a multi-cloud cluster and virtual computing resource pool, and managing and allocating computing resources in a multi-cloud environment in real time, the problems of low scheduling efficiency and unbalanced load in a multi-cloud environment are solved, and efficient resource utilization and load balancing are achieved.
Patent Information
- Application Number
- CN202411625542.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-11-14
AI Technical Summary
In the prior art, computing power resource scheduling efficiency is low and load unbalanced in multi-cloud environments, and it is unable to adapt to the dynamic changes of computing power resources, resulting in low resource utilization efficiency.
By building a multi-cloud cluster and a virtual computing resource pool, the computing resource status information of each cloud processing server is maintained and updated in real time, the pending tasks are received and the task processing capabilities are evaluated, the tasks are divided into subtasks, and the cross-cloud collaborative allocation is carried out based on the virtual computing resource pool, and a scheduling scheme is generated to achieve load balancing.
It improves the efficiency of computing resource utilization in multi-cloud environments, optimizes load balancing, improves the performance of computing resource scheduling, and achieves the improvement of cross-cloud collaborative processing and task execution efficiency.
Smart Images

Figure CN119557067A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computing resource management, and in particular to a method, device and storage medium for collaborative scheduling of computing resources in a multi-cloud scenario. Background Art
[0002] With the development of cloud computing technology, more and more enterprises and organizations have begun to adopt multi-cloud deployment strategies to improve the reliability, flexibility and scalability of the system. In the existing technology, computing resource scheduling in a multi-cloud environment usually adopts a static scheduling strategy to allocate tasks and resources in advance based on experience or prediction. This static scheduling method cannot adapt to the dynamic changes of computing resources in a multi-cloud environment, and it is difficult to adjust task allocation and resource allocation in real time, resulting in low efficiency in computing resource utilization; secondly, the static scheduling method lacks reasonable division of tasks and cross-cloud collaborative processing, and cannot give full play to the parallel processing capabilities of the multi-cloud environment, affecting task execution efficiency; in addition, the static scheduling method is prone to load imbalance, and the computing resources of some cloud platforms may be overloaded, while the computing resources of other cloud platforms are not fully utilized, affecting the overall system performance. Summary of the invention
[0003] This application aims to solve the technical problems of low efficiency and load imbalance in computing resource scheduling in a multi-cloud environment in the prior art by providing a method, device and storage medium for collaborative scheduling of computing resources in a multi-cloud scenario.
[0004] In a first aspect, the present application provides a method for collaborative scheduling of computing resources in a multi-cloud scenario, the method comprising: building a multi-cloud cluster, the multi-cloud cluster being composed of multiple cloud processing servers, wherein each cloud processing server has a server identifier; building a virtual computing resource pool based on the multi-cloud cluster, and maintaining and updating computing resource status information of multiple cloud processing servers in real time through the virtual computing resource pool, wherein the computing resource status information includes remaining available computing power and computing power occupancy rate; receiving a task to be processed, obtaining a target server identifier of a target cloud processing server receiving the task to be processed, and obtaining a target server identifier in the virtual computing resource pool according to the target server identifier; Obtain target computing power resource status information; evaluate the task processing capability of the target cloud processing server based on the target computing power resource status information to determine whether the target cloud processing server meets the computing power resource requirements of the task to be processed; when the target cloud processing server does not meet the computing power resource requirements of the task to be processed, divide the task to be processed into multiple subtasks; based on the computing power resource status information of multiple cloud processing servers in the virtual computing power resource pool, perform cross-cloud collaborative allocation of multiple subtasks to balance the loads of multiple cloud processing servers and generate a target scheduling plan; perform cross-cloud collaborative processing of multiple subtasks according to the target scheduling plan.
[0005] In a second aspect, the present application provides a computing power resource collaborative scheduling device in a multi-cloud scenario, the device comprising: a cluster construction unit, used to construct a multi-cloud cluster, the multi-cloud cluster is composed of multiple cloud processing servers, wherein each cloud processing server has a server identifier; a resource pool maintenance unit, used to construct a virtual computing power resource pool based on the multi-cloud cluster, and to maintain and update the computing power resource status information of multiple cloud processing servers in real time through the virtual computing power resource pool, wherein the computing power resource status information includes the remaining available computing power and the computing power occupancy rate; a task receiving unit, used to receive a task to be processed, obtain a target server identifier of a target cloud processing server for receiving the task to be processed, and obtain a target computing power resource in the virtual computing power resource pool according to the target server identifier. A capacity evaluation unit is used to evaluate the task processing capacity of the target cloud processing server according to the target computing power resource status information, and determine whether the target cloud processing server meets the computing power resource requirements of the task to be processed; a task splitting unit is used to divide the task to be processed into multiple subtasks when the target cloud processing server does not meet the computing power resource requirements of the task to be processed; a task allocation unit is used to perform cross-cloud collaborative allocation of multiple subtasks based on the computing power resource status information of multiple cloud processing servers in the virtual computing power resource pool, so that the loads of multiple cloud processing servers tend to be balanced and a target scheduling plan is generated; a task processing unit is used to perform cross-cloud collaborative processing of multiple subtasks according to the target scheduling plan.
[0006] In a third aspect, the present application provides a computer-readable storage medium storing a computer program, which is used to execute the method for collaborative scheduling of computing resources in a multi-cloud scenario provided by the present application.
[0007] One or more technical solutions provided in this application have at least the following technical effects or advantages:
[0008] Since a multi-cloud cluster is built, the multi-cloud cluster is composed of multiple cloud processing servers, each of which has a server identifier. By building a multi-cloud cluster, the computing resources of different cloud platforms are integrated together to provide a basis for subsequent collaborative scheduling; a virtual computing resource pool is built based on the multi-cloud cluster, and the computing resource status information of multiple cloud processing servers is maintained and updated in real time through the virtual computing resource pool. The computing resource status information includes the remaining available computing power and the computing power occupancy rate, which realizes the unified management and dynamic update of computing resources in a multi-cloud environment, and provides real-time and accurate resource status information for subsequent scheduling decisions; receiving tasks to be processed, obtaining the target server identifier of the target cloud processing server that receives the tasks to be processed, and obtaining the target computing resource status information in the virtual computing resource pool according to the target server identifier. By obtaining the resource status information of the target cloud processing server, its task processing capability can be evaluated to provide a basis for subsequent task scheduling; the task processing capability of the target cloud processing server is evaluated according to the target computing resource status information to determine whether the target cloud processing server meets the computing resource requirements of the tasks to be processed. The target cloud processing server can evaluate the task processing capability and determine whether it can complete the task processing independently. If not, the task needs to be divided into multiple subtasks to achieve cross-cloud collaborative processing. When the target cloud processing server does not meet the computing resource requirements of the task to be processed, the task to be processed is divided into multiple subtasks to optimize the task execution efficiency. Based on the computing resource status information of multiple cloud processing servers in the virtual computing resource pool, multiple subtasks are collaboratively allocated across clouds to balance the loads of multiple cloud processing servers, generate a target scheduling plan, and achieve balanced allocation of subtasks among different cloud processing servers, thereby improving the utilization efficiency of computing resources and optimizing load balancing. The target scheduling plan is used to perform cross-cloud collaborative processing of multiple subtasks. Under the guidance of the target scheduling plan, different cloud processing servers collaborate to complete the processing of subtasks, giving full play to the parallel processing capabilities of the multi-cloud environment. This technical solution solves the technical problems of low computing resource scheduling efficiency and unbalanced load in a multi-cloud environment in the prior art, and achieves the technical effect of improving the utilization efficiency of computing resources in a multi-cloud environment, achieving cross-cloud collaborative processing, and optimizing load balancing.
[0009] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 A flowchart of a method for collaborative scheduling of computing resources in a multi-cloud scenario is provided for this application;
[0011] Figure 2A structural schematic diagram of a computing resource collaborative scheduling device in a multi-cloud scenario is provided for this application;
[0012] Figure 3 A schematic diagram of the structure of an electronic device provided in this application.
[0013] Explanation of the reference numerals: cluster construction unit 11, resource pool maintenance unit 12, task receiving unit 13, capability evaluation unit 14, task splitting unit 15, task allocation unit 16, task processing unit 17, processor 21, memory 22, input device 23, output device 24. DETAILED DESCRIPTION
[0014] The overall idea of the technical solution provided by this application is as follows:
[0015] The embodiments of the present application provide a method, device and storage medium for collaborative scheduling of computing resources in a multi-cloud scenario. By building a multi-cloud cluster and a virtual computing resource pool, unified management and dynamic update of computing resources in a multi-cloud environment are achieved; through task processing capability evaluation, task division and cross-cloud collaborative allocation, reasonable allocation and collaborative processing of tasks among different cloud processing servers are achieved, thereby improving the utilization efficiency of computing resources, optimizing load balancing, and improving the scheduling performance of computing resources in a multi-cloud environment.
[0016] First, build a multi-cloud cluster consisting of multiple cloud processing servers, and build a virtual computing resource pool based on the multi-cloud cluster. Use the virtual computing resource pool to maintain and update the computing resource status information of each cloud processing server in real time. When receiving a task to be processed, obtain the computing resource status information of the target cloud processing server, evaluate its task processing capability, and determine whether it meets the computing resource requirements of the task. If not, divide the task into multiple subtasks, and comprehensively consider the computing resource status of each cloud processing server, and coordinately allocate the subtasks across clouds so that the load of each cloud processing server tends to be balanced. Afterwards, according to the generated target scheduling plan, coordinate multiple cloud processing servers to process subtasks in parallel, make full use of the computing resources of the multi-cloud environment, and improve task execution efficiency.
[0017] After introducing the basic principles of the present application, various non-limiting implementation methods of the present application will be specifically described below in conjunction with the drawings in the specification.
[0018] Embodiment 1, as Figure 1 As shown, the embodiment of the present application provides a method for collaborative scheduling of computing resources in a multi-cloud scenario, the method comprising:
[0019] S1: Building a multi-cloud cluster, where the multi-cloud cluster consists of multiple cloud processing servers, each of which has a server identifier.
[0020] Specifically, to achieve the coordinated scheduling of computing resources in multi-cloud scenarios, we first build a multi-cloud cluster consisting of multiple cloud processing servers. These cloud processing servers may be scattered in different geographical locations, provided by different vendors, and have different hardware configurations and performance indicators. Integrating multiple cloud processing servers into a multi-cloud cluster can achieve unified management and scheduling of these heterogeneous computing resources.
[0021] In the process of building a multi-cloud cluster, a unique server ID is assigned to each cloud processing server included in the cluster. The role of the server ID is to accurately identify and locate each cloud processing server in subsequent resource status monitoring, task scheduling and other processes. For example, it can be in the form of a string such as "server-01" or "server-02", or a combination of information such as the server's brand model and serial number. Regardless of the method used, ensure that the server ID can uniquely correspond to a specific cloud processing server.
[0022] Through the initial construction of a multi-cloud cluster, decentralized cloud processing servers are brought under unified management and scheduling, laying the foundation for subsequent computing resource status monitoring, task scheduling, etc.
[0023] S2: Build a virtual computing resource pool based on the multi-cloud cluster, and maintain and update the computing resource status information of the multiple cloud processing servers in real time through the virtual computing resource pool, where the computing resource status information includes the remaining available computing power and computing power occupancy rate.
[0024] Specifically, on the basis of the multi-cloud cluster, a virtual computing resource pool is further constructed to maintain and update the computing resource status information of multiple cloud processing servers in real time. The virtual computing resource pool abstracts and aggregates the computing resources of all cloud processing servers in the multi-cloud cluster to form a unified resource view.
[0025] The computing resource status information refers to the current workload and available computing power of each cloud processing server, including two indicators, namely the remaining available computing power and computing power utilization rate. Among them, the remaining available computing power indicates the amount of tasks or workload that the current server can still carry, which can be measured by specific indicators such as the number of CPU cores, memory size, and video memory size; the computing power utilization rate indicates the proportion of computing power resources that have been occupied by the current server, usually presented as a percentage.
[0026] The virtual computing resource pool establishes a real-time communication and monitoring channel with each cloud processing server in the multi-cloud cluster, and obtains the computing resource status information of each cloud processing server in real time. When the workload of the cloud processing server changes, such as when a new task is assigned to the server or the original task is completed and the computing power is released, the virtual computing resource pool can perceive these changes in time and update the corresponding remaining available computing power and computing power utilization data.
[0027] By building a virtual computing resource pool, unified abstraction and management of heterogeneous computing resources in a multi-cloud environment is achieved, providing a unified resource view and scheduling objects for task scheduling and load balancing, thereby achieving efficient utilization of computing resources and high-performance execution of tasks.
[0028] S3: Receive the task to be processed, obtain the target server identifier of the target cloud processing server that receives the task to be processed, and obtain the target computing power resource status information in the virtual computing power resource pool according to the target server identifier.
[0029] Specifically, after building a multi-cloud cluster and a virtual computing resource pool, when receiving a pending task, the target execution location of the task is first obtained, that is, which cloud processing server should be used to carry and execute the task. Specifically, the pending task will carry metadata information, such as task type, priority, data dependency, etc. These metadata help to reasonably arrange the execution order and location of the tasks. Among them, the target execution location can be obtained by explicit specification, that is, the submitter of the pending task directly specifies which cloud processing server is to be executed; it can also be obtained by automatic allocation, that is, according to the characteristics of the pending task and the status of the cloud processing server, the optimal execution location is dynamically selected. Regardless of the method used, the target server identifier of the target cloud processing server needs to be obtained, which has been assigned to each cloud processing server when building the multi-cloud cluster. The target server identifier is used as the basis for retrieval, and the computing resource status information of the target cloud processing server is queried from the virtual computing resource pool. The virtual computing resource pool maintains the computing resource status information of each cloud processing server in the form of a key-value pair, where the server identifier is used as the key and the corresponding computing resource status information is used as the value. By using the target server ID as the key and performing a search operation in the virtual computing resource pool, you can obtain key parameters such as the server's remaining available computing power, computing power utilization rate, and obtain the target computing resource status information.
[0030] By obtaining the target computing resource status information, a basis is provided for the subsequent task execution capability evaluation. By comparing the computing resource requirements of the task and the remaining computing power of the target cloud processing server, it can be determined whether the current server meets the conditions for task execution and whether the task needs to be further split and scheduled for optimization.
[0031] S4: Evaluate the task processing capability of the target cloud processing server according to the target computing resource status information to determine whether the target cloud processing server meets the computing resource requirements of the task to be processed.
[0032] Specifically, after obtaining the target computing resource status information, the task processing capability of the target cloud processing server is evaluated based on this information to determine whether it meets the computing resource requirements of the task to be processed.
[0033] First, the computing power resource requirements of the task to be processed are extracted from the metadata of the task to be processed, which mainly includes two aspects: one is the type and quantity of computing power resources required for task execution, such as how many CPU cores, how much memory, how much storage space, etc.; the other is the estimated execution time of the task, that is, the length of time required to complete the task execution under given computing power resource conditions. These computing power requirement information can be explicitly filled in by the task submitter, or can be automatically inferred based on parameters such as the type of task and the amount of input data. Secondly, the current remaining available computing power of the target cloud processing server is extracted from the target computing power resource status information. After that, the computing power resource requirements of the task are compared with the remaining available computing power of the server. If the remaining computing power of the server completely meets or exceeds the computing power resource requirements of the task to be processed, and the estimated execution time is within an acceptable range, it can be considered that the target cloud processing server is capable of executing the task to be processed and is judged to meet the computing power resource requirements; conversely, if the remaining computing power of the server is insufficient to support the execution of the task, or the estimated execution time is too long, the result is that the computing power resource requirements are not met.
[0034] Through the above evaluation process, we can make a relatively accurate judgment on the task execution capability of the target cloud processing server. If the target server meets the computing power requirements, the pending tasks can be directly assigned to the server for execution; if not, we need to further consider splitting the task into multiple subtasks and assigning the subtasks to multiple servers for collaborative processing.
[0035] S5: When the target cloud processing server does not meet the computing resource requirements of the task to be processed, the task to be processed is divided into multiple subtasks.
[0036] Specifically, when the computing power resource status of the target cloud processing server does not meet the computing power resource requirements of the task to be processed, the task to be processed is divided into multiple subtasks, and then these subtasks are assigned to multiple cloud processing servers for collaborative execution. The main purpose of task division is to break down the original task to be processed that requires large computing power into subtasks with smaller computing power requirements, so that each subtask can be executed independently on a single cloud processing server, avoiding task execution failure or inefficiency due to insufficient computing power resources. At the same time, by assigning subtasks to multiple servers for parallel processing, the advantages of distributed computing power can be fully utilized and the overall execution efficiency of the task can be significantly improved. In the actual task division process, a variety of strategies and algorithms can be adopted, such as topological sorting based on task dependency graph, hash partitioning based on data parallelism, recursive partitioning based on algorithm structure, etc.
[0037] Multiple subtasks are obtained through task division, which lays the foundation for subsequent cross-cloud collaborative scheduling, so that subtasks can be flexibly allocated to multiple cloud processing servers for collaborative execution.
[0038] S6: Based on the computing resource status information of multiple cloud processing servers in the virtual computing resource pool, the multiple subtasks are collaboratively allocated across clouds to balance the loads of the multiple cloud processing servers and generate a target scheduling plan.
[0039] Specifically, first, the computing power resource status information of all cloud processing servers is obtained from the virtual computing power resource pool, including the remaining available computing power and the current computing power occupancy rate. This information reflects the current load situation and available computing power of each server, and is an important basis for making task scheduling decisions. Secondly, multiple subtasks are matched and scheduled according to the computing power requirements of the subtasks and the computing power resource status of the cloud processing servers. The scheduling goal is to distribute the subtasks to each cloud processing server as evenly as possible under the premise of meeting the computing power requirements of each subtask, so that the computing power resources of all cloud processing servers are fully and evenly utilized, thereby obtaining the target scheduling plan. The target scheduling plan describes in detail the execution location and execution order of each subtask, as well as the task allocation of the cloud processing server, which will guide the subsequent task deployment and execution process, ensuring that the subtasks can be executed collaboratively on multiple cloud processing servers according to the predetermined plan, thereby efficiently completing the original pending tasks.
[0040] By allocating multiple subtasks across clouds, we can maximize task execution efficiency and resource utilization while meeting the task computing power requirements and server load balancing, give full play to the collaborative advantages of the multi-cloud environment, and improve the performance and efficiency of task processing.
[0041] S7: Execute cross-cloud collaborative processing of the multiple subtasks according to the target scheduling scheme.
[0042] Specifically, first, according to the execution location information specified in the target scheduling scheme, each subtask is deployed to the corresponding cloud processing server. Secondly, the execution of each subtask is triggered according to the execution order specified in the target scheduling scheme. For subtasks with dependencies, they are scheduled strictly in the order determined by the dependencies; for subtasks that can be executed in parallel, the execution processes of these tasks are started at the same time to make full use of the parallel computing capabilities of multiple cloud processing servers. Thirdly, during the execution of subtasks, the execution status and progress of each subtask are monitored in real time. Through the monitoring channels established with each cloud processing server, the execution status of the subtask is obtained in time, including the running status, the amount of calculation completed, the estimated remaining time and other information. If a subtask is found to be abnormal or inefficient, corresponding intervention measures can be taken, such as rescheduling, load migration, etc. After that, when all subtasks are executed, the execution results of each subtask are collected, and these results are summarized and integrated to obtain the final processing results of the original task to be processed, so as to realize cross-cloud collaborative processing of multiple subtasks.
[0043] By collaboratively processing multiple subtasks on different cloud processing servers, the correctness and completeness of task processing are guaranteed, while the distributed computing advantages of the multi-cloud environment are fully utilized to improve the overall task processing efficiency.
[0044] Furthermore, the embodiment of the present application also includes:
[0045] Construct a corresponding computing resource occupancy rate list for each cloud processing server in the multi-cloud cluster as computing resource status information, the computing resource occupancy rate list including the computing resource occupancy rate expressed as a percentage and the remaining available computing power expressed as a numerical value; obtain the current computing power usage of the multiple cloud processing servers in real time, and update the computing power occupancy rate and the remaining available computing power in the corresponding computing resource occupancy rate list; construct the virtual computing resource pool based on the computing resource occupancy rate list of the multiple cloud processing servers.
[0046] In a feasible implementation, first, a corresponding computing resource occupancy list is constructed for each cloud processing server in the multi-cloud cluster. As an important information carrier reflecting the computing resource status of the server, the list contains two key indicators: one is the computing power occupancy expressed in percentage form, which intuitively reflects the current load level of the server, for example, "75%" means that the computing power resources of the current server have been occupied by three quarters; the other is the remaining available computing power expressed in specific numerical form, which clearly shows the amount of computing tasks that the server can still undertake, such as "4-core CPU", "8GB memory", etc. Through the recording method of dual indicators, it is possible to quickly judge the overall load of the server and accurately understand the specific amount of available resources. Then, a periodic resource status monitoring mechanism is established to obtain the current computing power usage of multiple cloud processing servers in real time, and update the relevant data in the computing power resource occupancy list accordingly. The specific update content includes: recalculating and recording the current computing power occupancy percentage, and updating the remaining available computing power value according to the difference between the total computing power and the used computing power. Through the real-time update mechanism, it is ensured that the information in the computing power resource occupancy list always reflects the latest status of each cloud processing server. Subsequently, a unified virtual computing resource pool is constructed based on obtaining and maintaining the computing resource occupancy rate list of each cloud processing server. The virtual computing resource pool integrates and manages the computing resource status information of all cloud processing servers to form a global view of the resource status of the entire multi-cloud cluster. Through the virtual computing resource pool, the load and available resource status of each cloud processing server can be grasped in real time, providing an important basis for subsequent task scheduling decisions.
[0047] Through accurate monitoring and unified management of the computing resource status of each cloud processing server in the multi-cloud cluster, the foundation is laid for efficient collaborative scheduling of computing resources. This method of building a virtual computing resource pool based on a computing resource occupancy list not only ensures the accuracy and timeliness of resource status information, but also provides a clear resource management view, which is conducive to improving the resource utilization efficiency in the entire multi-cloud environment.
[0048] Furthermore, the embodiment of the present application also includes:
[0049] Extract the computing power resource demand of the task to be processed, wherein the computing power resource demand includes an estimated required computing power value and an estimated task duration; extract the target remaining available computing power of the target cloud processing server from the target computing power resource status information; when the target remaining available computing power is greater than or equal to the estimated required computing power value, and the estimated task duration is less than a preset time threshold, determine that the target cloud processing server meets the computing power resource demand of the task to be processed; when the target remaining available computing power is less than the estimated required computing power value, or the estimated task duration is greater than or equal to the preset time threshold, determine that the target cloud processing server does not meet the computing power resource demand of the task to be processed.
[0050] In a feasible implementation, first, the computing power resource requirements of the task to be processed are extracted. The computing power resource requirements mainly include two key parameters: one is the estimated required computing power value, which reflects the demand for computing resources during the execution of the task, and can be expressed by specific computing resource indicators, such as the required number of CPU cores, memory size, etc.; the second is the estimated task duration, which indicates the length of time required to complete the task under normal execution conditions, and can be expressed in time units such as seconds and minutes. These two parameters together constitute the basic data for evaluating task processing capabilities. Then, the target remaining available computing power of the target cloud processing server is extracted from the target computing power resource status information. This parameter reflects the amount of idle computing resources that the target cloud processing server can currently use for new task processing, and is an important reference indicator for evaluating task processing capabilities. The target remaining available computing power can be expressed by the same computing resource indicator as the estimated required computing power value, which is convenient for subsequent comparison and judgment.
[0051] When two conditions are met at the same time, the target cloud processing server is judged to meet the computing resource requirements of the task to be processed: Condition 1 is that the target remaining available computing power is greater than or equal to the estimated required computing power value, ensuring that there are sufficient computing resources to support task execution; Condition 2 is that the estimated task duration is less than the preset time threshold, ensuring that the task can be completed within an acceptable time range. This dual-condition judgment mechanism takes into account both resource adequacy and execution efficiency. When any of the following situations occurs, it is judged that the target cloud processing server does not meet the computing resource requirements of the task to be processed: Condition 1 is that the target remaining available computing power is less than the estimated required computing power value, indicating that the current available computing resources are insufficient to support task execution; Condition 2 is that the estimated task duration is greater than or equal to the preset time threshold, indicating that the task execution time is too long and exceeds the acceptable range.
[0052] Through a dual evaluation mechanism based on computing power requirements and time constraints, it is determined whether the target cloud processing server has the ability to execute the tasks to be processed. This not only ensures the sufficiency of resources for task execution, but also ensures that the execution efficiency meets the requirements, providing a reliable decision-making basis for subsequent task processing.
[0053] Furthermore, the embodiment of the present application also includes:
[0054] Extract task characteristic parameters of the task to be processed, wherein the task characteristic parameters include computational complexity, data dependency and data processing volume; determine the task division granularity based on the task characteristic parameters, wherein the task division granularity is used to characterize the minimum processing unit of the subtask; divide the task to be processed into multiple subtasks according to the task division granularity, and ensure that the estimated required computing power value of each subtask is less than the remaining available computing power of a single cloud processing server.
[0055] In a preferred embodiment, first, the task characteristic parameters of the task to be processed are extracted. The parameters include three key indicators: one is the computational complexity, which is used to characterize the complexity of the computational operations involved in the task execution process, which can be quantified by factors such as the type and number of computational operations; the second is the data dependency, which is used to describe the strength of the data dependency relationship between the various computational steps in the task execution process, reflecting the parallelization potential of the task; the third is the data processing volume, which is used to represent the size of the data that the task needs to process, and can be measured in specific data volume units. These three indicators together constitute a complete description of the task characteristics and provide an important basis for subsequent task division. Then, the task division granularity is determined based on the extracted task characteristic parameters. The task division granularity is an important parameter for measuring the scale of subtasks and is used to characterize the minimum processing unit size of subtasks. When determining the division granularity, it is necessary to comprehensively consider the influence of the three characteristic parameters of computational complexity, data dependency and data processing volume. For example, when the computational complexity is high, the division granularity needs to be increased to reduce communication overhead; when the data dependency is low, a smaller division granularity is selected to improve parallelism; when the data processing volume is large, a suitable division granularity is selected according to the actual storage and transmission capacity. Subsequently, the task division operation is performed according to the determined task division granularity. Specifically, first, the task to be processed is divided into multiple subtasks of equal size according to the division granularity. During the division process, special attention should be paid to ensure that the estimated required computing power value of each subtask is less than the remaining available computing power of a single cloud processing server. This constraint ensures that each subtask can be executed independently on a single server, avoiding the situation where the subtask still exceeds the processing capacity of the server.
[0056] Through the task division process, the originally large task to be processed is reasonably divided into multiple independently executable subtasks. This adaptive division method based on task characteristic parameters not only takes into account the characteristics of the task itself, but also takes into account the constraints of the actual execution environment, which helps to improve the rationality of task division and execution efficiency. At the same time, by ensuring that the subtask size is smaller than the server processing capacity, a reliable execution guarantee is provided for subsequent cross-cloud collaborative processing.
[0057] Furthermore, the embodiment of the present application also includes:
[0058] Build the task division granularity calculation formula: Among them, G represents the task division granularity, G base represents the granularity of benchmark task division, C represents the computational complexity of the task to be processed, and C base represents the computational complexity of the benchmark, V represents the amount of data to be processed, and V base represents the amount of benchmark data processed, D represents the data dependency of the task to be processed, and D base Characterize the benchmark data dependency, α, β, γ are the calculation complexity adjustment coefficient, the data processing volume adjustment coefficient and the data dependency adjustment coefficient respectively; through the task division granularity calculation formula, the task division granularity is determined based on the calculation complexity, the data dependency and the data processing volume.
[0059] In a preferred implementation, first, a task division granularity calculation formula is constructed. The formula is expressed as: Among them, G is the final task division granularity, which indicates the minimum processing unit size of the subtask. base is the granularity of benchmark task division, which is a reference value set based on experience. C is the computational complexity of the task to be processed, reflecting the computational difficulty of the current task. base is the benchmark computational complexity, which is used as a reference standard for computational complexity; V is the data processing volume of the task to be processed, indicating the scale of data to be processed, V base is the benchmark data processing volume, which is used as a reference standard for data processing volume. D is the data dependency of the task to be processed, which describes the degree of data association within the task. base is the benchmark data dependency and the reference standard for data dependency. α, β, and γ are the computational complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient, respectively, which are used to adjust the influence of each parameter on the final partition granularity.
[0060] The task division granularity calculation formula is The term reflects the impact of computational complexity on the partition granularity. The term reflects the impact of data processing volume on the partition granularity, and the sum of the two terms represents the combined effect of the two factors; then The item introduces the influence of data dependency. When the data dependency is high, the value of this item will decrease, thereby increasing the final partition granularity and avoiding excessive data interaction overhead caused by too fine a partition. Afterwards, the task partition granularity calculation formula is used to substitute the computational complexity, data processing volume and data dependency of the task to be processed into the formula for calculation to obtain the task partition granularity suitable for the current task characteristics. The partition granularity can be adaptively adjusted according to the specific characteristics of the task, which not only ensures the scientificity and rationality of the partition, but also provides a quantifiable basis for the partition.
[0061] Through the precise calculation of the task division granularity, the task division process is made more objective and controllable, providing reliable technical support for the subsequent task splitting. At the same time, through the flexible setting of the adjustment coefficient, the task division granularity has better adaptability and scalability.
[0062] Furthermore, the embodiment of the present application also includes:
[0063] The multiple subtasks are prioritized based on the computing power requirements and task urgency of the subtasks to obtain a subtask priority list; the multiple cloud processing servers are sorted by processing capacity based on the remaining available computing power and computing power occupancy rate of the cloud processing servers to obtain a server processing capacity list; an initial scheduling plan is generated according to the subtask priority list and the server processing capacity list; the load balance of multiple cloud processing servers is calculated based on the initial scheduling plan, and when the load balance is greater than a preset balance threshold, the initial scheduling plan is iteratively adjusted until the load balance is less than or equal to the preset balance threshold, so as to obtain the target scheduling plan.
[0064] In a preferred embodiment, when obtaining the target scheduling scheme, first, multiple subtasks are prioritized. In the division process, two key factors are mainly considered: one is the computing power demand of the subtask, which reflects the resource consumption of the task; the other is the task urgency, which indicates the time requirement for task completion. By comprehensively evaluating these two factors, each subtask is assigned a corresponding priority, and all subtasks are sorted according to their priorities to form a subtask priority list. This priority mechanism ensures that important and urgent tasks can be processed first. Then, the processing capabilities of multiple cloud processing servers are sorted. The sorting basis includes two aspects: one is the remaining available computing power, which directly reflects the amount of resources currently available for task processing by the server; the other is the computing power occupancy rate, which reflects the overall load level of the server. By comprehensively considering these two indicators, the processing capabilities of all cloud processing servers are sorted to generate a server processing capacity list. This sorting mechanism helps to identify the server that is most suitable for performing tasks.
[0065] Afterwards, the initial scheduling scheme is generated based on the obtained subtask priority list and server processing capacity list. In the generation process, the principle of allocating high-priority tasks to servers with strong processing capabilities is followed to preliminarily determine the execution location of each subtask. This allocation strategy based on double sorting not only ensures the execution efficiency of important tasks, but also makes full use of the processing capacity of high-performance servers. After that, the initial scheduling scheme is optimized for load balancing. First, the load balance of each cloud processing server under the initial scheme is calculated. When the load balance exceeds the preset balance threshold, it means that the load distribution between the servers is not balanced enough. At this time, it is necessary to optimize the initial scheduling scheme through iterative adjustment until the load balance is reduced to below the preset threshold, and finally obtain the target scheduling scheme that meets the load balancing requirements.
[0066] By collaboratively allocating multiple subtasks, a reasonable match between subtasks and cloud processing servers is achieved. This allocation method based on priority and processing power, combined with the load balancing optimization mechanism, not only ensures the efficiency and reliability of task processing, but also achieves balanced utilization of computing resources. At the same time, through iterative optimization, the final scheduling solution not only meets the needs of task execution, but also avoids the situation where individual servers are overloaded, providing strong support for efficient collaborative processing in a multi-cloud environment.
[0067] Furthermore, the embodiment of the present application also includes:
[0068] According to the initial scheduling scheme, multiple estimated power occupancy rates of the multiple cloud processing servers are obtained; the multiple cloud processing servers are sorted according to the multiple estimated power occupancy rates to obtain the maximum estimated power occupancy rate and the minimum estimated power occupancy rate; the difference between the maximum estimated power occupancy rate and the minimum estimated power occupancy rate is divided by the average estimated power occupancy rate to obtain the load balance degree; when the load balance degree is greater than the preset balance degree threshold, the subtasks to be migrated are screened out from the cloud processing servers with the highest estimated power occupancy rate, and the subtasks to be migrated are migrated to the cloud processing server with the lowest estimated power occupancy rate, and an updated scheduling scheme is generated; wherein the estimated required computing power value of the subtask to be migrated is less than the remaining available computing power of the cloud processing server with the lowest estimated power occupancy rate, and the difference in estimated power occupancy rates of the two cloud processing servers after migrating the subtask to be migrated is the smallest; the load balance degree is recalculated, and if it is less than or equal to the preset balance degree threshold, the updated scheduling scheme is determined as the target scheduling scheme.
[0069] In a preferred embodiment, first, the estimated power occupancy rate is obtained based on the initial scheduling scheme. For each cloud processing server, the estimated power occupancy rate after executing these tasks is calculated according to the computing power requirements of the subtasks assigned to the cloud processing server and the current computing power occupancy, and multiple estimated power occupancy rates are obtained. These estimated values reflect the expected load level of each server after the implementation of the initial scheduling scheme. Then, the cloud processing servers are load sorted according to the multiple estimated power occupancy rates. All cloud processing servers are sorted from high to low according to their estimated power occupancy rates, so as to identify the servers with the heaviest and lightest loads. Specifically, two key values in the sorting result are obtained: the maximum estimated power occupancy rate and the minimum estimated power occupancy rate. These two extreme values reflect the degree of imbalance in the load distribution between servers. After that, the load balance index is calculated. The load balance degree is obtained by subtracting the minimum estimated power occupancy rate from the maximum estimated power occupancy rate and then dividing it by the average estimated power occupancy rate. This calculation method standardizes the discrete degree of load distribution, so that the load balance degree has good comparability. A larger load balance degree indicates that the load distribution is less balanced and needs to be adjusted and optimized. When the calculated load balance degree exceeds the preset balance degree threshold, task migration is required to improve the load distribution. The appropriate subtasks to be migrated are selected from the server with the heaviest load and migrated to the server with the lightest load. Two conditions must be met when selecting the subtasks to be migrated: first, the estimated required computing power value of the subtask to be migrated must be less than the remaining available computing power of the server with the lightest load to ensure the feasibility of migration; second, the difference in the estimated power occupancy rate of the two servers after migration is the smallest to ensure the best migration effect. After the migration is completed, an updated scheduling plan is formed. Subsequently, the load balance degree of the updated scheduling plan is recalculated. If the new load balance degree is reduced to below the preset balance degree threshold, it means that the load distribution has reached the balance requirement. At this time, the current updated scheduling plan is determined as the final target scheduling plan. If the load balance degree still exceeds the threshold, task migration optimization continues.
[0070] Through iterative optimization, the evolution from the initial scheduling scheme to the target scheduling scheme is achieved. This iterative optimization method based on load balancing ensures both the controllability of the optimization process and the effectiveness of the optimization results.
[0071] In summary, the method for collaborative scheduling of computing resources in a multi-cloud scenario provided by the embodiments of the present application has the following technical effects:
[0072] Construct a multi-cloud cluster, which consists of multiple cloud processing servers, each of which has a server ID. The computing resources of different cloud platforms are integrated to form a unified resource pool, which provides a basis for subsequent collaborative scheduling. Construct a virtual computing resource pool based on the multi-cloud cluster. The computing resource status information of multiple cloud processing servers is maintained and updated in real time through the virtual computing resource pool. The computing resource status information includes the remaining available computing power and computing power occupancy rate, so as to realize the unified management and dynamic update of computing resources in a multi-cloud environment, and provide real-time and accurate resource status information for subsequent scheduling decisions. Receive the task to be processed, obtain the target server ID of the target cloud processing server that receives the task to be processed, and obtain the target computing resource status information in the virtual computing resource pool according to the target server ID, so as to provide a basis for evaluating its task processing capability. Evaluate the task processing capability of the target cloud processing server according to the target computing resource status information, judge whether the target cloud processing server meets the computing resource requirements of the task to be processed, and judge whether the target cloud processing server can independently complete the task processing, so as to provide a decision basis for subsequent task scheduling. When the target cloud processing server does not meet the computing resource requirements of the task to be processed, the task to be processed is divided into multiple subtasks. According to the characteristics of the task and the computing resource status of the cloud processing server, the task is reasonably split to prepare for cross-cloud collaborative processing. Based on the computing resource status information of multiple cloud processing servers in the virtual computing resource pool, multiple subtasks are collaboratively allocated across clouds to balance the loads of multiple cloud processing servers and generate a target scheduling scheme. The target scheduling scheme comprehensively considers the computing resource status of different cloud processing servers, realizes the balanced allocation of subtasks among different cloud processing servers, improves the utilization efficiency of computing resources, and optimizes load balancing. According to the target scheduling scheme, the cross-cloud collaborative processing of multiple subtasks is performed. Under the guidance of the target scheduling scheme, different cloud processing servers are coordinated to process subtasks in parallel, giving full play to the parallel processing capabilities of the multi-cloud environment and improving the efficiency of task execution.
[0073] Embodiment 2 is based on the same inventive concept as the method for collaboratively scheduling computing resources in a multi-cloud scenario in the previous embodiment. Figure 2 As shown, an embodiment of the present application provides a computing resource collaborative scheduling device in a multi-cloud scenario, the device comprising:
[0074] A cluster construction unit 11 is used to construct a multi-cloud cluster, wherein the multi-cloud cluster is composed of a plurality of cloud processing servers, wherein each cloud processing server has a server identifier;
[0075] A resource pool maintenance unit 12 is used to build a virtual computing resource pool based on the multi-cloud cluster, and to maintain and update computing resource status information of the multiple cloud processing servers in real time through the virtual computing resource pool, wherein the computing resource status information includes remaining available computing power and computing power occupancy rate;
[0076] The task receiving unit 13 is used to receive the task to be processed, obtain the target server identifier of the target cloud processing server that receives the task to be processed, and obtain the target computing resource state information in the virtual computing resource pool according to the target server identifier;
[0077] A capability evaluation unit 14 is used to evaluate the task processing capability of the target cloud processing server according to the target computing resource status information, and determine whether the target cloud processing server meets the computing resource requirements of the task to be processed;
[0078] The task splitting unit 15 is used to divide the task to be processed into multiple subtasks when the target cloud processing server does not meet the computing resource requirements of the task to be processed;
[0079] The task allocation unit 16 is used to perform cross-cloud collaborative allocation of the multiple subtasks based on the computing resource status information of the multiple cloud processing servers in the virtual computing resource pool, so that the loads of the multiple cloud processing servers tend to be balanced, and generate a target scheduling plan;
[0080] The task processing unit 17 is used to perform cross-cloud collaborative processing of the multiple subtasks according to the target scheduling scheme.
[0081] Furthermore, the resource pool maintenance unit 12 includes the following execution steps:
[0082] Constructing a corresponding computing resource occupancy rate list for each cloud processing server in the multi-cloud cluster as computing resource status information, the computing resource occupancy rate list including the computing resource occupancy rate expressed as a percentage and the remaining available computing power expressed as a numerical value;
[0083] Acquire the current computing power usage of the multiple cloud processing servers in real time, and update the computing power occupancy rate and remaining available computing power in the corresponding computing power resource occupancy rate list;
[0084] The virtual computing resource pool is constructed based on the computing resource occupancy rate list of the multiple cloud processing servers.
[0085] Furthermore, the capability evaluation unit 14 includes the following execution steps:
[0086] Extracting the computing power resource requirements of the task to be processed, wherein the computing power resource requirements include an estimated required computing power value and an estimated task duration;
[0087] Extracting the target remaining available computing power of the target cloud processing server from the target computing power resource status information;
[0088] When the target remaining available computing power is greater than or equal to the estimated required computing power value, and the estimated task duration is less than a preset time threshold, it is determined that the target cloud processing server meets the computing power resource requirements of the task to be processed;
[0089] When the target remaining available computing power is less than the estimated required computing power value, or the estimated task duration is greater than or equal to a preset time threshold, it is determined that the target cloud processing server does not meet the computing power resource requirements of the task to be processed.
[0090] Furthermore, the task splitting unit 15 includes the following execution steps:
[0091] Extracting task characteristic parameters of the task to be processed, wherein the task characteristic parameters include computational complexity, data dependency and data processing amount;
[0092] Determine a task division granularity based on the task characteristic parameter, wherein the task division granularity is used to characterize a minimum processing unit of a subtask;
[0093] The to-be-processed task is divided into a plurality of subtasks according to the task division granularity, and it is ensured that the estimated required computing power value of each subtask is less than the remaining available computing power of a single cloud processing server.
[0094] Furthermore, the task splitting unit 15 also includes the following execution steps:
[0095] Build the task division granularity calculation formula:
[0096]
[0097] Among them, G represents the task division granularity, G base represents the granularity of benchmark task division, C represents the computational complexity of the task to be processed, and C base represents the computational complexity of the benchmark, V represents the amount of data to be processed, and V base represents the amount of benchmark data processed, D represents the data dependency of the task to be processed, and D base Characterizes the dependency of benchmark data, α, β, and γ are the calculation complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient, respectively;
[0098] The task division granularity calculation formula is used to determine the task division granularity based on the calculation complexity, the data dependency and the data processing amount.
[0099] Furthermore, the task allocation unit 16 includes the following execution steps:
[0100] Prioritize the multiple subtasks based on the computing power requirements and task urgency of the subtasks to obtain a subtask priority list;
[0101] Sort the processing capabilities of the plurality of cloud processing servers based on the remaining available computing power and computing power occupancy rate of the cloud processing servers to obtain a server processing capacity list;
[0102] Generate an initial scheduling plan according to the subtask priority list and the server processing capacity list;
[0103] The load balance of multiple cloud processing servers is calculated based on the initial scheduling plan. When the load balance is greater than a preset balance threshold, the initial scheduling plan is iteratively adjusted until the load balance is less than or equal to the preset balance threshold, thereby obtaining the target scheduling plan.
[0104] Furthermore, the task allocation unit 16 further includes the following execution steps:
[0105] According to the initial scheduling scheme, obtaining a plurality of estimated power occupancy rates of the plurality of cloud processing servers;
[0106] Sort the plurality of cloud processing servers according to the plurality of estimated force occupancy rates, and obtain a maximum estimated force occupancy rate and a minimum estimated force occupancy rate;
[0107] Dividing the difference between the maximum estimated force occupancy rate and the minimum estimated force occupancy rate by the average estimated force occupancy rate to obtain the load balancing degree;
[0108] When the load balance degree is greater than the preset balance degree threshold, the subtasks to be migrated are selected from the cloud processing server with the highest estimated capacity occupancy rate, the subtasks to be migrated are migrated to the cloud processing server with the lowest estimated capacity occupancy rate, and an updated scheduling plan is generated;
[0109] The estimated required computing power value of the subtask to be migrated is less than the remaining available computing power of the cloud processing server with the lowest estimated computing power occupancy rate, and the difference in estimated computing power occupancy rates of two cloud processing servers after migrating the subtask to be migrated is the smallest;
[0110] The load balance degree is recalculated, and if it is less than or equal to the preset balance degree threshold, the updated scheduling scheme is determined as the target scheduling scheme.
[0111] Embodiment 3, Figure 3 A schematic diagram of an embodiment of a computer-readable storage medium provided in an embodiment of the present invention. Figure 3 As shown, this embodiment provides a computer-readable storage medium 200 on which a computer program 211 is stored. When the computer program is executed by a processor, a method for collaborative scheduling of computing resources in a multi-cloud scenario is implemented.
[0112] Any step of the method described above can be stored as a computer instruction or program in an unlimited computer memory, and can be called and recognized by an unlimited computer processor to implement any method in the embodiments of the present application, without any unnecessary restrictions.
[0113] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the present application and its equivalents, the present application is intended to include these modifications and variations.
Claims
1. A method for collaboratively scheduling computing resources in a multi-cloud scenario, characterized in that: include: Building a multi-cloud cluster, wherein the multi-cloud cluster is composed of a plurality of cloud processing servers, wherein each cloud processing server has a server identifier; Building a virtual computing resource pool based on the multi-cloud cluster, and maintaining and updating computing resource status information of the multiple cloud processing servers in real time through the virtual computing resource pool, wherein the computing resource status information includes remaining available computing power and computing power occupancy rate; Receive a task to be processed, obtain a target server identifier of a target cloud processing server that receives the task to be processed, and obtain target computing resource status information in the virtual computing resource pool according to the target server identifier; Performing task processing capability evaluation on the target cloud processing server according to the target computing resource status information to determine whether the target cloud processing server meets the computing resource requirements of the task to be processed; When the target cloud processing server does not meet the computing resource requirements of the task to be processed, dividing the task to be processed into multiple subtasks; Based on the computing resource status information of multiple cloud processing servers in the virtual computing resource pool, the multiple subtasks are collaboratively allocated across clouds to balance the loads of the multiple cloud processing servers and generate a target scheduling plan; The cross-cloud collaborative processing of the multiple subtasks is performed according to the target scheduling scheme.
2. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 1 is characterized in that: Building a virtual computing resource pool based on the multi-cloud cluster includes: Constructing a corresponding computing resource occupancy rate list for each cloud processing server in the multi-cloud cluster as computing resource status information, the computing resource occupancy rate list including the computing resource occupancy rate expressed as a percentage and the remaining available computing power expressed as a numerical value; Acquire the current computing power usage of the multiple cloud processing servers in real time, and update the computing power occupancy rate and remaining available computing power in the corresponding computing power resource occupancy rate list; The virtual computing resource pool is constructed based on the computing resource occupancy rate list of the multiple cloud processing servers.
3. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 1 is characterized in that: Performing task processing capability evaluation on the target cloud processing server according to the target computing power resource status information includes: Extracting the computing power resource requirements of the task to be processed, wherein the computing power resource requirements include an estimated required computing power value and an estimated task duration; Extracting the target remaining available computing power of the target cloud processing server from the target computing power resource status information; When the target remaining available computing power is greater than or equal to the estimated required computing power value, and the estimated task duration is less than a preset time threshold, it is determined that the target cloud processing server meets the computing power resource requirements of the task to be processed; When the target remaining available computing power is less than the estimated required computing power value, or the estimated task duration is greater than or equal to a preset time threshold, it is determined that the target cloud processing server does not meet the computing power resource requirements of the task to be processed.
4. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 1 is characterized in that: Divide the task to be processed into multiple subtasks, including: Extracting task characteristic parameters of the task to be processed, wherein the task characteristic parameters include computational complexity, data dependency and data processing amount; Determine a task division granularity based on the task characteristic parameter, wherein the task division granularity is used to characterize a minimum processing unit of a subtask; The to-be-processed task is divided into a plurality of subtasks according to the task division granularity, and it is ensured that the estimated required computing power value of each subtask is less than the remaining available computing power of a single cloud processing server.
5. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 4 is characterized in that: Determining the task division granularity based on the task characteristic parameters includes: Build the task division granularity calculation formula: Among them, G represents the task division granularity, G base represents the granularity of benchmark task division, C represents the computational complexity of the task to be processed, and C base represents the computational complexity of the benchmark, V represents the amount of data to be processed, and V base represents the amount of benchmark data processed, D represents the data dependency of the task to be processed, and D base Characterizes the dependency of benchmark data, α, β, and γ are the calculation complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient, respectively; The task division granularity calculation formula is used to determine the task division granularity based on the calculation complexity, the data dependency and the data processing amount.
6. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 1, characterized in that: Based on the computing resource status information of multiple cloud processing servers in the virtual computing resource pool, the multiple subtasks are collaboratively allocated across clouds to balance the loads of the multiple cloud processing servers, and a target scheduling scheme is generated, including: Prioritize the multiple subtasks based on the computing power requirements and task urgency of the subtasks to obtain a subtask priority list; Sort the processing capabilities of the plurality of cloud processing servers based on the remaining available computing power and computing power occupancy rate of the cloud processing servers to obtain a server processing capacity list; Generate an initial scheduling plan according to the subtask priority list and the server processing capacity list; The load balance of multiple cloud processing servers is calculated based on the initial scheduling plan. When the load balance is greater than a preset balance threshold, the initial scheduling plan is iteratively adjusted until the load balance is less than or equal to the preset balance threshold, thereby obtaining the target scheduling plan.
7. The method for collaborative scheduling of computing resources in a multi-cloud scenario according to claim 6 is characterized in that: Iteratively adjusting the initial scheduling scheme includes: According to the initial scheduling scheme, obtaining a plurality of estimated power occupancy rates of the plurality of cloud processing servers; Sort the plurality of cloud processing servers according to the plurality of estimated force occupancy rates, and obtain a maximum estimated force occupancy rate and a minimum estimated force occupancy rate; Dividing the difference between the maximum estimated force occupancy rate and the minimum estimated force occupancy rate by the average estimated force occupancy rate to obtain the load balancing degree; When the load balance degree is greater than the preset balance degree threshold, the subtasks to be migrated are selected from the cloud processing server with the highest estimated capacity occupancy rate, the subtasks to be migrated are migrated to the cloud processing server with the lowest estimated capacity occupancy rate, and an updated scheduling plan is generated; The estimated required computing power value of the subtask to be migrated is less than the remaining available computing power of the cloud processing server with the lowest estimated computing power occupancy rate, and the difference in estimated computing power occupancy rates of two cloud processing servers after migrating the subtask to be migrated is the smallest; The load balance degree is recalculated, and if it is less than or equal to the preset balance degree threshold, the updated scheduling scheme is determined as the target scheduling scheme.
8. The computing resource collaborative scheduling system in multi-cloud scenarios is characterized by: The method for collaboratively scheduling computing resources in a multi-cloud scenario according to any one of claims 1 to 7 comprises: A cluster construction unit, the cluster construction unit is used to construct a multi-cloud cluster, the multi-cloud cluster is composed of a plurality of cloud processing servers, wherein each cloud processing server has a server identifier; A resource pool maintenance unit, the resource pool maintenance unit is used to build a virtual computing resource pool based on the multi-cloud cluster, and maintain and update the computing resource status information of the multiple cloud processing servers in real time through the virtual computing resource pool, wherein the computing resource status information includes the remaining available computing power and the computing power occupancy rate; A task receiving unit, the task receiving unit is used to receive a task to be processed, obtain a target server identifier of a target cloud processing server that receives the task to be processed, and obtain target computing resource status information in the virtual computing resource pool according to the target server identifier; A capability evaluation unit, the capability evaluation unit is used to evaluate the task processing capability of the target cloud processing server according to the target computing resource status information, and determine whether the target cloud processing server meets the computing resource requirements of the task to be processed; A task splitting unit, wherein the task splitting unit is used to divide the task to be processed into a plurality of subtasks when the target cloud processing server does not meet the computing resource requirements of the task to be processed; A task allocation unit, the task allocation unit is used to perform cross-cloud collaborative allocation of the multiple subtasks based on the computing resource status information of the multiple cloud processing servers in the virtual computing resource pool, so that the loads of the multiple cloud processing servers tend to be balanced, and generate a target scheduling plan; A task processing unit is used to perform cross-cloud collaborative processing of the multiple subtasks according to the target scheduling scheme.
9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, so the computer program is used to execute the method for collaborative scheduling of computing resources in a multi-cloud scenario as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Method and system based on multi-cloud resource scheduling, equipment and medium
CN117742936A
Computing task scheduling method and system based on multi-cloud heterogeneous management platform
CN117762582A
Cross-data-center computing power scheduling management method and system
CN117768466A
Computing power resource allocation method and device, electronic equipment and computer readable medium
CN118502939A
Cited By
Calculation scheduling system and method based on industrial Internet of Things data center and medium
CN119988037A
Cloud computing power analysis method and cloud computing power platform and system
CN120353579A
Computing power resource scheduling method and system based on computing power server
CN120407152A
Multi-agent collaborative dynamic safety regulation and control system for power system
CN120638642A
Multi-task cooperative scheduling system applied to electromechanical manufacturing
CN120764961A