Collaborative Scheduling Method, Device and Storage Medium of Computing Power Resources in Cloudy Scenarios
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 computing resource utilization and load balancing are achieved.
Patent Information
- Application Number
- CN202411625542.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-06-27
- 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 task allocation and resource allocation cannot be adjusted in real time, resulting in low computing power 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 allocation is carried out based on the virtual computing resource pool, and the target scheduling scheme is generated to achieve load balancing.
It improves the efficiency of computing resource utilization in multi-cloud environments, optimizes load balancing, improves computing resource scheduling performance, and improves cross-cloud collaborative processing and task execution efficiency.
Smart Images

Figure CN119557067B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computing power resource management, and particularly to a method, device and storage medium for collaborative scheduling of computing power 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 a multi-cloud deployment strategy to improve the reliability, flexibility and scalability of the system. In the prior art, the scheduling of computing power resources in a multi-cloud environment usually adopts a static scheduling strategy, and tasks and resources are allocated in advance according to experience or prediction. This static scheduling method cannot adapt to the dynamic changes of computing power resources in a multi-cloud environment, and it is difficult to adjust task allocation and resource allocation in real time, resulting in low utilization efficiency of computing power resources; secondly, the static scheduling method lacks reasonable partitioning of tasks and cross-cloud collaborative processing, and cannot give full play to the parallel processing ability of the multi-cloud environment, affecting the task execution efficiency; in addition, the static scheduling method is prone to load imbalance, and the computing power resources of some cloud platforms may be overloaded, while the computing power resources of other cloud platforms are not fully utilized, affecting the overall system performance. Summary of the Invention
[0003] The present application provides a method, device and storage medium for collaborative scheduling of computing power resources in a multi-cloud scenario, aiming to solve the technical problems of low scheduling efficiency and load imbalance of computing power resources in a multi-cloud environment in the prior art.
[0004] In a first aspect, the present application provides a method for collaborative scheduling of computing power resources in a multi-cloud scenario, the method comprising: constructing a multi-cloud cluster, the multi-cloud cluster being composed of multiple cloud processing servers, wherein each cloud processing server has a server identifier; constructing a virtual computing power resource pool based on the multi-cloud cluster, and maintaining and updating in real time the computing power resource status information of the multiple cloud processing servers through the virtual computing power resource pool, the computing power resource status information including remaining available computing power and computing power occupancy rate; receiving a task to be processed, obtaining the target server identifier of the target cloud processing server for receiving the task to be processed, and obtaining target computing power resource status information in the virtual computing power resource pool according to the target server identifier; evaluating the task processing ability of the target cloud processing server according to the target computing power resource status information, and determining 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, dividing the task to be processed into multiple subtasks; based on the computing power resource status information of the multiple cloud processing servers in the virtual computing power resource pool, performing cross-cloud collaborative allocation on the multiple subtasks to balance the loads of the multiple cloud processing servers, generating a target scheduling plan; and performing cross-cloud collaborative processing of the 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 includes: a cluster construction unit for constructing a multi-cloud cluster, which is composed of multiple cloud processing servers, where each cloud processing server has a server identifier; a resource pool maintenance unit for constructing a virtual computing power resource pool based on the multi-cloud cluster, and maintaining and updating the computing power resource status information of multiple cloud processing servers in real time through the virtual computing power resource pool. The computing power resource status information includes remaining available computing power and computing power occupancy rate; a task receiving unit for receiving a task to be processed, obtaining the target server identifier of the target cloud processing server that receives the task to be processed, and obtaining the target computing power resource status information in the virtual computing power resource pool according to the target server identifier; a capability evaluation unit for evaluating the task processing capability of the target cloud processing server according to the target computing power resource status information, and determining whether the target cloud processing server meets the computing power resource requirements of the task to be processed; a task splitting unit for splitting 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 for performing cross-cloud collaborative allocation on multiple subtasks based on the computing power resource status information of multiple cloud processing servers in the virtual computing power resource pool, making the loads of multiple cloud processing servers tend to be balanced, and generating a target scheduling plan; a task processing unit for performing 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 for executing the computing power resource collaborative scheduling method in a multi-cloud scenario provided by the present application.
[0007] One or more technical solutions provided in the present application have at least the following technical effects or advantages:
[0008] Since a multi-cloud cluster is constructed, the multi-cloud cluster is composed of multiple cloud processing servers. Each cloud processing server has a server identifier. By constructing the multi-cloud cluster, the computing power resources of different cloud platforms are integrated together, providing a basis for subsequent collaborative scheduling. A virtual computing power resource pool is constructed based on the multi-cloud cluster. Through the virtual computing power resource pool, the computing power resource status information of multiple cloud processing servers is maintained and updated in real time. The computing power resource status information includes the remaining available computing power and the computing power occupancy rate, realizing the unified management and dynamic update of the computing power resources in the multi-cloud environment, and providing real-time and accurate resource status information for subsequent scheduling decisions. Receive a 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. By obtaining the resource status information of the target cloud processing server, its task processing ability can be evaluated, providing a basis for subsequent task scheduling. Evaluate the task processing ability of the target cloud processing server according to the target computing power resource status information, and judge whether the target cloud processing server meets the computing power resource requirements of the task to be processed. Through the task processing ability evaluation, judge whether the target cloud processing server can independently complete the task processing. 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 power resource requirements of the task to be processed, divide the task to be processed into multiple subtasks to optimize the task execution efficiency. 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, making the loads of multiple cloud processing servers tend to be balanced, generating a target scheduling plan, realizing the balanced allocation of subtasks among different cloud processing servers, improving the utilization efficiency of computing power resources, and optimizing the load balance. Execute the cross-cloud collaborative processing of multiple subtasks according to the target scheduling plan. 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 ability of the multi-cloud environment. The technical solution solves the technical problems of low computing power resource scheduling efficiency and unbalanced load in the multi-cloud environment in the prior art, and achieves the technical effects of improving the utilization efficiency of computing power resources in the multi-cloud environment, realizing cross-cloud collaborative processing, and optimizing the load balance.
[0009] The above description is only an overview of the technical solution of this application. In order to be able to understand the technical means of this application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of this application more obvious and understandable, the specific embodiments of this application are given below. Brief Description of the Drawings
[0010] Figure 1 It is a schematic flowchart of a method for collaborative scheduling of computing power resources in a multi-cloud scenario provided by this application;
[0011] Figure 2This application provides a schematic structural diagram of a computing power resource collaborative scheduling device in a multi-cloud scenario;
[0012] Figure 3 This is a schematic structural diagram of an electronic device provided by this application.
[0013] Explanation of 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 implementation manners
[0014] The overall idea of the technical solution provided by this application is as follows:
[0015] Embodiments of this application provide a method, device, and storage medium for collaborative scheduling of computing power resources in a multi-cloud scenario. By constructing a multi-cloud cluster and a virtual computing power resource pool, unified management and dynamic update of computing power resources in a multi-cloud environment are realized; through task processing capability evaluation, task division, and cross-cloud collaborative allocation, tasks are reasonably allocated and collaboratively processed among different cloud processing servers, thereby improving the utilization efficiency of computing power resources, optimizing load balancing, and improving the scheduling performance of computing power resources in a multi-cloud environment.
[0016] First, construct a multi-cloud cluster composed of multiple cloud processing servers, and build a virtual computing power resource pool based on the multi-cloud cluster. The computing power resource status information of each cloud processing server is maintained and updated in real time through the virtual computing power resource pool. When a task to be processed is received, obtain the computing power resource status information of the target cloud processing server, evaluate its task processing ability, and determine whether it meets the computing power resource requirements of the task. If not, divide the task into multiple subtasks, and comprehensively consider the computing power resource status of each cloud processing server to perform cross-cloud collaborative allocation of the subtasks, so that the load of each cloud processing server tends to be balanced. Then, according to the generated target scheduling scheme, collaborate multiple cloud processing servers to process the subtasks in parallel, make full use of the computing power resources in the multi-cloud environment, and improve the task execution efficiency.
[0017] After introducing the basic principle of this application, the various non-restrictive implementation manners of this application will be specifically introduced below with reference to the accompanying drawings of the specification.
[0018] Embodiment 1, as Figure 1 shown, embodiments of this application provide a method for collaborative scheduling of computing power resources in a multi-cloud scenario, and the method includes:
[0019] S1: Construct a multi-cloud cluster, the multi-cloud cluster is composed of multiple cloud processing servers, and each cloud processing server has a server identifier.
[0020] Specifically, to achieve the collaborative scheduling of computing power resources in a multi-cloud scenario, a multi-cloud cluster composed of multiple cloud processing servers is first constructed. These cloud processing servers may be scattered in different geographical locations, provided by different vendors, and have different hardware configurations and performance metrics. Integrating multiple cloud processing servers into a multi-cloud cluster enables unified management and scheduling of these heterogeneous computing power resources.
[0021] During the construction of the multi-cloud cluster, a unique server identifier is assigned to each cloud processing server incorporated into the cluster. The role of the server identifier is to accurately identify and locate each cloud processing server in subsequent processes such as resource status monitoring and task scheduling. For example, in the form of strings such as "server-01", "server-02", or composed of information such as the brand model and serial number of the server. Regardless of the method used, it is necessary to ensure that the server identifier can uniquely correspond to a specific cloud processing server.
[0022] Through the initial construction of the multi-cloud cluster, the scattered cloud processing servers are brought into the scope of unified management and scheduling, laying a foundation for subsequent computing power resource status monitoring, task scheduling, etc.
[0023] S2: Based on the multi-cloud cluster, construct a virtual computing power resource pool, and through the virtual computing power resource pool, maintain and update the computing power resource status information of the multiple cloud processing servers in real time. The computing power resource status information includes the remaining available computing power and the computing power occupancy rate.
[0024] Specifically, on the basis of the multi-cloud cluster, further construct a virtual computing power resource pool for maintaining and updating the computing power resource status information of multiple cloud processing servers in real time. The virtual computing power resource pool abstracts and aggregates the computing power resources of all cloud processing servers in the multi-cloud cluster to form a unified resource view.
[0025] The computing power resource status information refers to the information reflecting the current workload and available computing power of each cloud processing server, including two indicators, namely the remaining available computing power and the computing power occupancy rate. Among them, the remaining available computing power indicates the amount of tasks or workload that the current server can still carry, and can be measured by specific indicators such as the number of CPU cores, the size of memory, and the size of video memory; the computing power occupancy rate indicates the proportion of the computing power resources already occupied by the current server, usually presented in the form of a percentage.
[0026] The virtual computing power resource pool establishes real-time communication and monitoring channels with each cloud processing server in the multi-cloud cluster, and obtains the status information of the computing power resources of each cloud processing server in real time. When the workload of the cloud processing server changes, for example, when a new task is assigned to the server or the original task is completed and the computing power is released, the virtual computing power resource pool can promptly sense these changes and update the corresponding remaining available computing power and computing power occupancy rate data.
[0027] By constructing a virtual computing power resource pool, the unified abstraction and management of heterogeneous computing power resources in a multi-cloud environment are realized, providing a unified resource view and scheduling object for task scheduling and load balancing, thereby achieving the efficient utilization of computing power resources and the 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 constructing the multi-cloud cluster and the virtual computing power resource pool, when receiving a task to be processed, first obtain the target execution location of the task, that is, determine which cloud processing server should carry and execute the task. Specifically, the task to be processed will carry metadata information, such as task type, priority, data dependency relationship, etc. These metadata help to reasonably arrange the execution order and location of the task. Among them, the target execution location can be obtained by explicit specification, that is, the submitter of the task to be processed directly specifies which cloud processing server to execute; it can also be obtained by automatic allocation, that is, according to the characteristics of the task to be processed and the status of the cloud processing server, dynamically select the optimal execution location. No matter which method is adopted, the target server identifier of the target cloud processing server needs to be obtained, and this identifier has been assigned to each cloud processing server when constructing the multi-cloud cluster. Using the target server identifier as the basis for retrieval, query the computing power resource status information of the target cloud processing server in the virtual computing power resource pool. The virtual computing power resource pool maintains the computing power resource status information of each cloud processing server in the form of key-value pairs, where the server identifier is used as the key and the corresponding computing power resource status information is used as the value. Using the target server identifier as the key, perform a retrieval operation in the virtual computing power resource pool to obtain key parameters such as the remaining available computing power and computing power occupancy rate of the server, and obtain the target computing power resource status information.
[0030] By obtaining the target computing power resource status information, it provides a basis for the subsequent evaluation of task execution capabilities. By comparing the computing power resource requirements of the task and the remaining computing power of the target cloud processing server, it can be judged whether the current server meets the conditions for task execution and whether further splitting and scheduling optimization of the task are required.
[0031] S4: Evaluate the task processing ability 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.
[0032] Specifically, after obtaining the target computing power resource status information, evaluate the task processing ability of the target cloud processing server according to this information to determine whether it meets the computing power resource requirements of the task to be processed.
[0033] First, extract the computing power resource requirements 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, and how much storage space are needed; the other is the estimated execution time of the task, that is, the length of time required for the task to be completed under the given computing power resource conditions. These computing power requirement information can be explicitly filled in by the task submitter or automatically inferred according to parameters such as the type of task and the amount of input data. Secondly, extract the current remaining available computing power of the target cloud processing server from the target computing power resource status information. Then, compare the computing power resource requirements of the task with the remaining available computing power of the server. If the remaining computing power of the server fully 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 it is determined to meet the computing power resource requirements; otherwise, 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 determination result is that it does not meet the computing power resource requirements.
[0034] Through the above evaluation process, a relatively accurate judgment can be made on the task execution ability of the target cloud processing server. If the target server meets the computing power requirements, the task to be processed can be directly assigned to the server for execution; if not, it is necessary 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 power resource requirements of the task to be processed, divide the task to be processed 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 constraints, 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 specified execution location information in the target scheduling plan, each subtask is deployed to the corresponding cloud processing server. Second, in accordance with the execution order specified in the target scheduling plan, the execution of each subtask is triggered. For subtasks with dependencies, they are strictly scheduled in the order determined by the dependencies; for subtasks that can be executed in parallel, the execution processes of these tasks are started simultaneously to make full use of the parallel computing capabilities of multiple cloud processing servers. Third, during the execution of the 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 situation of the subtasks is obtained in a timely manner, including information such as the running status, the amount of computation completed, and the estimated remaining time. If it is found that a certain subtask has an abnormality or low execution efficiency, 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 result of the original task to be processed, realizing the cross-cloud collaborative processing of multiple subtasks.
[0043] By collaboratively processing multiple subtasks on different cloud processing servers, not only the correctness and integrity of task processing are ensured, but also the distributed computing advantages of the multi-cloud environment are fully utilized, improving the overall task processing efficiency.
[0044] Furthermore, the embodiment of the present application further includes:
[0045] Construct a corresponding computing power resource occupancy rate list for each cloud processing server in the multi-cloud cluster as the computing power resource status information. The computing power resource occupancy rate list includes the computing power 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 power resource occupancy rate list; construct the virtual computing power resource pool based on the computing power resource occupancy rate lists of the multiple cloud processing servers.
[0046] In a feasible implementation, first, a corresponding computing power resource occupancy rate list is constructed for each cloud processing server in the multi-cloud cluster. As an important information carrier reflecting the computing power resource status of the server, this list contains two key indicators: one is the computing power occupancy rate expressed as a percentage, which intuitively reflects the current load level of the server. For example, "75%" means that three-quarters of the computing power resources of the current server have been occupied; the other is the remaining available computing power expressed as a specific value, which clearly shows the amount of computing tasks that the server can still undertake, such as "4-core CPU", "8GB memory", etc. Through the dual-index recording method, the overall load situation of the server can be quickly judged, and the specific available resource amount can be accurately understood. 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 rate list accordingly. The specific update content includes: recalculating and recording the current computing power occupancy rate percentage, and at the same time 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 rate list always reflects the latest status of each cloud processing server. Subsequently, on the basis of obtaining and maintaining the computing power resource occupancy rate list of each cloud processing server, a unified virtual computing power resource pool is constructed. This virtual computing power resource pool integrates and manages the computing power 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 power resource pool, the load situation and available resource situation of each cloud processing server can be grasped in real time, providing an important basis for subsequent task scheduling decisions.
[0047] Precise monitoring and unified management of the computing power resource status of each cloud processing server in the multi-cloud cluster lay the foundation for realizing efficient collaborative scheduling of computing power resources. This method of constructing a virtual computing power resource pool based on the computing power resource occupancy rate 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 embodiments of the present application further include:
[0049] Extract the computing power resource requirements of the to-be-processed task, where the computing power resource requirements include the estimated required computing power value and the 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 the preset time threshold, determine that the target cloud processing server meets the computing power resource requirements of the to-be-processed task; 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 requirements of the to-be-processed task.
[0050] In a feasible implementation manner, first, extract the computing power resource requirements of the to-be-processed task. 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 task execution and can be represented by specific computing resource metrics, such as the number of CPU cores and the amount of memory required; the other is the estimated task duration, which represents the length of time required to complete the task under normal execution conditions and can be represented by time units such as seconds and minutes. These two parameters together constitute the basic data for evaluating task processing capabilities. Then, extract the target remaining available computing power of the target cloud processing server from the target computing power resource status information. This parameter reflects the amount of idle computing resources currently available on the target cloud processing server for new task processing and is an important reference indicator for evaluating task processing capabilities. The target remaining available computing power can be represented by the same computing resource metrics as the estimated required computing power value for convenient subsequent comparison and judgment.
[0051] When both conditions are met, determine that the target cloud processing server meets the computing power resource requirements of the to-be-processed task: Condition 1 is that the target remaining available computing power is greater than or equal to the estimated required computing power value to ensure sufficient computing resources to support task execution; Condition 2 is that the estimated task duration is less than the preset time threshold to ensure that the task can be completed within an acceptable time range. This dual-condition determination mechanism takes into account both resource sufficiency and execution efficiency. When any of the following situations occurs, determine that the target cloud processing server does not meet the computing power resource requirements of the to-be-processed task: Situation 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; Situation 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] By using a dual-evaluation mechanism based on computing power requirements and time constraints to determine whether the target cloud processing server has the ability to execute the to-be-processed task, it not only ensures the sufficiency of resources for task execution but also guarantees that the execution efficiency meets the requirements, providing a reliable decision-making basis for subsequent task processing.
[0053] Furthermore, the embodiments of the present application further include:
[0054] Extract the task feature parameters of the to-be-processed task, where the task feature parameters include computational complexity, data dependency, and data processing volume; determine the task partitioning granularity based on the task feature parameters, where the task partitioning granularity is used to characterize the minimum processing unit of the subtasks; partition the to-be-processed task into multiple subtasks according to the task partitioning 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, extract the task feature parameters of the to-be-processed task. This parameter includes 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 and can be quantified by factors such as the type and quantity of computational operations; the second is the data dependency, which is used to describe the strength of the data dependency relationship between each computational step in the task execution process and reflects the parallelization potential of the task; the third is the data processing volume, which is used to represent the size of the data scale 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 partitioning. Then, determine the task partitioning granularity based on the extracted task feature parameters. The task partitioning granularity is an important parameter for measuring the scale of subtasks and is used to characterize the size of the minimum processing unit of subtasks. When determining the partitioning granularity, it is necessary to comprehensively consider the influence of these three feature parameters of computational complexity, data dependency, and data processing volume. For example, when the computational complexity is high, it is necessary to increase the partitioning granularity to reduce communication overhead; when the data dependency is low, a smaller partitioning granularity is selected to improve parallelism; when the data processing volume is large, a suitable partitioning granularity is selected according to the actual storage and transmission capabilities. Subsequently, perform the task partitioning operation according to the determined task partitioning granularity. Specifically, first, split the to-be-processed task into multiple subtasks of comparable scale according to the partitioning granularity. During the partitioning process, it is necessary to pay special attention to ensuring 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 independently executed on a single server and avoids the situation where the subtask still exceeds the processing capacity of the server.
[0056] Through the task partitioning process, the originally large to-be-processed task is reasonably split into multiple independently executable subtasks. This adaptive partitioning method based on task feature parameters not only considers the characteristics of the task itself but also takes into account the constraints of the actual execution environment, which helps to improve the rationality and execution efficiency of task partitioning. At the same time, the constraint mechanism of ensuring that the subtask scale is less than the server processing capacity provides a reliable execution guarantee for subsequent cross-cloud collaborative processing.
[0057] Further, the embodiments of the present application further include:
[0058] Construct a task division granularity calculation formula: where G represents the task division granularity, G base represents the benchmark task division granularity, C represents the computational complexity of the task to be processed, C base represents the benchmark computational complexity, V represents the data processing volume of the task to be processed, V base represents the benchmark data processing volume, D represents the data dependency of the task to be processed, D base represents the benchmark data dependency, and α, β, and γ are the computational complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient respectively; through the task division granularity calculation formula, determine the task division granularity based on the computational complexity, the data dependency, and the data processing volume.
[0059] In a preferred embodiment, first, construct a task division granularity calculation formula. The formula expression is: where G is the finally determined task division granularity, representing the minimum processing unit size of the subtask, G base is the benchmark task division granularity, which is a reference value set according to experience, C is the computational complexity of the task to be processed, reflecting the computational difficulty of the current task, C base is the benchmark computational complexity, serving as a reference standard for the computational complexity; V is the data processing volume of the task to be processed, representing the data scale to be processed, V base is the benchmark data processing volume, serving as a reference standard for the data processing volume, D is the data dependency of the task to be processed, describing the internal data association degree of the task, D base is the benchmark data dependency, serving as a reference standard for the data dependency, and α, β, and γ are the computational complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient respectively, used to adjust the influence degree of each parameter on the final division granularity.
[0060] The task division granularity calculation formula reflects the influence of the computational complexity on the division granularity through terms, reflects the influence of the data processing volume on the division granularity through terms, and the sum of the two terms represents the combined effect of these two factors; then through Introduce the influence of data dependency. When the data dependency is high, the value of this item will decrease, thereby increasing the final partitioning granularity and avoiding excessive data interaction overhead caused by over-fine partitioning. Then, using the task partitioning granularity calculation formula, substitute the computational complexity, data processing volume, and data dependency of the task to be processed into the formula for calculation, and obtain the task partitioning granularity suitable for the current task characteristics, which can adaptively adjust the partitioning granularity according to the specific characteristics of the task, ensuring both the scientificity and rationality of the partitioning and providing a quantifiable partitioning basis.
[0061] Through the precise calculation of the task partitioning granularity, the task partitioning process becomes more objective and controllable, providing reliable technical support for subsequent task splitting. At the same time, through the flexible setting of the adjustment coefficient, the task partitioning granularity has better adaptability and scalability.
[0062] Furthermore, the embodiments of the present application further include:
[0063] Based on the computing power requirements and task urgency of the subtasks, perform priority partitioning on the multiple subtasks to obtain a subtask priority list; based on the remaining available computing power and computing power occupancy rate of the cloud processing servers, perform processing capacity sorting on the multiple 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; calculate the load balance degree of the multiple cloud processing servers based on the initial scheduling plan. When the load balance degree is greater than the preset balance degree threshold, iteratively adjust the initial scheduling plan until the load balance degree is less than or equal to the preset balance degree threshold to obtain the target scheduling plan.
[0064] In a preferred implementation manner, when obtaining the target scheduling plan, first, perform priority partitioning on the multiple subtasks. During the partitioning process, two key factors are mainly considered: one is the computing power requirements of the subtasks, which reflects the resource consumption degree of the tasks; the other is the task urgency, which represents the time requirement for task completion. By comprehensively evaluating these two factors, assign corresponding priorities to each subtask, and sort all subtasks in descending order of priority to form a subtask priority list. This priority mechanism ensures that important and urgent tasks can be processed first. Then, perform processing capacity sorting on the multiple cloud processing servers. 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 on 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, sort the processing capacities of all cloud processing servers to generate a server processing capacity list. This sorting mechanism helps to identify the most suitable server for executing tasks.
[0065] After that, based on the obtained sub-task priority list and server processing capacity list, an initial scheduling plan is generated. During the generation process, following the principle of preferentially allocating high-priority tasks to servers with strong processing capabilities, the execution location of each sub-task is initially determined. This allocation strategy based on double sorting not only ensures the execution efficiency of important tasks but also makes full use of the processing capabilities of high-performance servers. After that, the initial scheduling plan is optimized for load balancing. First, calculate the load balancing degree of each cloud processing server under the initial plan. When the load balancing degree exceeds the preset balancing degree threshold, it indicates that the load distribution among the servers is not balanced enough. At this time, the initial scheduling plan needs to be optimized through iterative adjustment until the load balancing degree is reduced below the preset threshold, and finally, a target scheduling plan that meets the load balancing requirements is obtained.
[0066] Through the collaborative allocation of multiple sub-tasks, a reasonable matching of sub-tasks to cloud processing servers is achieved. This allocation method based on priority and processing capacity, combined with the optimization mechanism of load balancing, not only ensures the efficiency and reliability of task processing but also realizes the balanced utilization of computing power resources. At the same time, through the iterative optimization method, the final scheduling plan not only meets the requirements of task execution but also avoids the situation of overloading individual servers, providing strong support for efficient collaborative processing in a multi-cloud environment.
[0067] Furthermore, the embodiments of the present application further include:
[0068] According to the initial scheduling plan, obtain the multiple pre-estimated computing power occupancy rates of the multiple cloud processing servers; sort the multiple cloud processing servers according to the multiple pre-estimated computing power occupancy rates to obtain the maximum pre-estimated computing power occupancy rate and the minimum pre-estimated computing power occupancy rate; divide the difference between the maximum pre-estimated computing power occupancy rate and the minimum pre-estimated computing power occupancy rate by the average pre-estimated computing power occupancy rate to obtain the load balancing degree; when the load balancing degree is greater than the preset balancing degree threshold, screen out the sub-tasks to be migrated from the cloud processing server with the highest pre-estimated computing power occupancy rate, and migrate the sub-tasks to be migrated to the cloud processing server with the lowest pre-estimated computing power occupancy rate to generate an updated scheduling plan; wherein, the expected required computing power value of the sub-tasks to be migrated is less than the remaining available computing power of the cloud processing server with the lowest pre-estimated computing power occupancy rate, and the difference in the pre-estimated computing power occupancy rates of the two cloud processing servers after migrating the sub-tasks to be migrated is the smallest; recalculate the load balancing degree, if it is less than or equal to the preset balancing degree threshold, then determine the updated scheduling plan as the target scheduling plan.
[0069] In a preferred embodiment, first, a pre - estimated force occupancy rate is obtained based on the initial scheduling scheme. For each cloud processing server, according to the computing power requirements of the subtasks assigned to the cloud processing server and combined with the current computing power occupancy situation, the pre - estimated force occupancy rate after executing these tasks is calculated, and multiple pre - estimated force occupancy rates are obtained. These pre - estimated values reflect the expected load levels of each server after the implementation of the initial scheduling scheme. Then, the cloud processing servers are sorted according to the multiple pre - estimated force occupancy rates. All cloud processing servers are sorted from high to low according to their pre - estimated force 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 value of the pre - estimated force occupancy rate and the minimum value of the pre - estimated force occupancy rate. These two extreme values reflect the degree of imbalance in the load distribution among the servers. After that, the load balance degree index is calculated. By subtracting the minimum value of the pre - estimated force occupancy rate from the maximum value of the pre - estimated force occupancy rate, and then dividing by the average pre - estimated force occupancy rate, the load balance degree is obtained. This calculation method standardizes the degree of dispersion of the load distribution, making the load balance degree have good comparability. A larger load balance degree indicates that the load distribution is more uneven 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. Appropriate subtasks to be migrated are selected from the server with the heaviest load and migrated to the server with the lightest load. When selecting the subtasks to be migrated, two conditions need to be met: one is that 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 the migration; the other is that the difference in the pre - estimated force occupancy rates of the two servers after migration is the smallest to ensure the best migration effect. After the migration is completed, an updated scheduling scheme is formed. Subsequently, the load balance degree of the updated scheduling scheme is recalculated. If the new load balance degree drops below the preset balance degree threshold, it means that the load distribution has met the balance requirements, and at this time, the current updated scheduling scheme is determined as the final target scheduling scheme. If the load balance degree still exceeds the threshold, the task migration optimization continues.
[0070] Through iterative optimization, the evolution from the initial scheduling scheme to the target scheduling scheme is realized. This iterative optimization method based on the load balance degree not only ensures the controllability of the optimization process but also ensures the effectiveness of the optimization result.
[0071] In summary, the multi - cloud scenario computing power resource collaborative scheduling method provided by the embodiments of this application has the following technical effects:
[0072] Build a multi-cloud cluster, which consists of multiple cloud processing servers. Each cloud processing server has a server identifier. Integrate the computing power resources of different cloud platforms to form a unified resource pool, providing a basis for subsequent collaborative scheduling. Build a virtual computing power resource pool based on the multi-cloud cluster. Through the virtual computing power resource pool, the computing power resource status information of multiple cloud processing servers is maintained and updated in real time. The computing power resource status information includes remaining available computing power and computing power occupancy rate, realizing the unified management and dynamic update of computing power resources in a multi-cloud environment, and providing real-time and accurate resource status information for subsequent scheduling decisions. Receive a 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, providing a basis for evaluating its task processing ability. Evaluate the task processing ability of the target cloud processing server according to the target computing power resource status information, determine whether the target cloud processing server meets the computing power resource requirements of the task to be processed, and determine whether the target cloud processing server can independently complete the task processing, providing a decision-making basis for subsequent task scheduling. 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, and reasonably split the task according to the task characteristics and the computing power resource status of the cloud processing server, preparing for cross-cloud collaborative processing. 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, making the loads of multiple cloud processing servers tend to be balanced, generating a target scheduling plan. The target scheduling plan comprehensively considers the computing power resource status of different cloud processing servers, realizes the balanced allocation of subtasks among different cloud processing servers, improves the utilization efficiency of computing power resources, and optimizes the load balance. Execute cross-cloud collaborative processing of multiple subtasks according to the target scheduling plan. Under the guidance of the target scheduling plan, coordinate different cloud processing servers to process subtasks in parallel, giving full play to the parallel processing ability of the multi-cloud environment and improving the task execution efficiency.
[0073] Embodiment 2. Based on the same inventive concept as the method for collaborative scheduling of computing power resources in a multi-cloud scenario in the foregoing embodiment, as Figure 2 shown, the embodiment of the present application provides a device for collaborative scheduling of computing power resources in a multi-cloud scenario. The device includes:
[0074] A cluster construction unit 11, configured to build a multi-cloud cluster, which consists of multiple cloud processing servers. Each cloud processing server has a server identifier;
[0075] A resource pool maintenance unit 12, configured to build a virtual computing power resource pool based on the multi-cloud cluster, and through the virtual computing power resource pool, maintain and update the computing power resource status information of the multiple cloud processing servers in real time. The computing power resource status information includes remaining available computing power and computing power occupancy rate;
[0076] A task receiving unit 13, configured 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 power resource status information in the virtual computing power resource pool according to the target server identifier;
[0077] An ability evaluation unit 14, configured to evaluate the task processing ability 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;
[0078] A task splitting unit 15, configured 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;
[0079] A task allocation unit 16, configured to perform cross-cloud collaborative allocation on the 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 the multiple cloud processing servers tend to be balanced, and generate a target scheduling plan;
[0080] A task processing unit 17, configured to perform cross-cloud collaborative processing of the multiple subtasks according to the target scheduling plan.
[0081] Further, the resource pool maintenance unit 12 includes the following execution steps:
[0082] Construct a corresponding computing power resource occupancy rate list for each cloud processing server in the multi-cloud cluster as the computing power resource status information. The computing power resource occupancy rate list includes the computing power occupancy rate expressed as a percentage and the remaining available computing power expressed as a numerical value;
[0083] 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 power resource occupancy rate list;
[0084] Construct the virtual computing power resource pool based on the computing power resource occupancy rate lists of the multiple cloud processing servers.
[0085] Further, the ability evaluation unit 14 includes the following execution steps:
[0086] Extract the computing power resource requirements of the task to be processed. The computing power resource requirements include the expected required computing power value and the expected task duration;
[0087] Extract the target remaining available computing power of the target cloud processing server from the target computing power resource status information;
[0088] When the remaining available computing power of the target is greater than or equal to the predicted required computing power value, and the predicted task duration is less than the 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 remaining available computing power of the target is less than the predicted required computing power value, or the predicted task duration is greater than or equal to the 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] Further, the task splitting unit 15 includes the following execution steps:
[0091] Extract the task characteristic parameters of the task to be processed, where the task characteristic parameters include computational complexity, data dependency, and data processing volume;
[0092] Determine the task partitioning granularity based on the task characteristic parameters, where the task partitioning granularity is used to represent the minimum processing unit of the subtasks;
[0093] Divide the task to be processed into multiple subtasks according to the task partitioning granularity, and ensure that the predicted required computing power value of each subtask is less than the remaining available computing power of a single cloud processing server.
[0094] Further, the task splitting unit 15 also includes the following execution steps:
[0095] Construct a task partitioning granularity calculation formula:
[0096]
[0097] where G represents the task partitioning granularity, G base represents the baseline task partitioning granularity, C represents the computational complexity of the task to be processed, C base represents the baseline computational complexity, V represents the data processing volume of the task to be processed, V base represents the baseline data processing volume, D represents the data dependency of the task to be processed, D base represents the baseline data dependency, and α, β, and γ are the computational complexity adjustment coefficient, data processing volume adjustment coefficient, and data dependency adjustment coefficient respectively;
[0098] Determine the task partitioning granularity based on the computational complexity, the data dependency, and the data processing volume through the task partitioning granularity calculation formula.
[0099] Further, the task allocation unit 16 includes the following execution steps:
[0100] Perform priority partitioning on the multiple subtasks based on the computing power requirements and task urgency of the subtasks to obtain a subtask priority list;
[0101] Sort the multiple cloud processing servers according to the remaining available computing power and computing power occupancy rate of the cloud processing server 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] Calculate the load balancing degree of multiple cloud processing servers based on the initial scheduling plan. When the load balancing degree is greater than the preset balancing degree threshold, iteratively adjust the initial scheduling plan until the load balancing degree is less than or equal to the preset balancing degree threshold to obtain the target scheduling plan.
[0104] Furthermore, the task allocation unit 16 further includes the following execution steps:
[0105] Obtain the multiple pre-estimated computing power occupancy rates of the multiple cloud processing servers according to the initial scheduling plan;
[0106] Sort the multiple cloud processing servers according to the multiple pre-estimated computing power occupancy rates to obtain the maximum pre-estimated computing power occupancy rate and the minimum pre-estimated computing power occupancy rate;
[0107] Divide the difference between the maximum pre-estimated computing power occupancy rate and the minimum pre-estimated computing power occupancy rate by the average pre-estimated computing power occupancy rate to obtain the load balancing degree;
[0108] When the load balancing degree is greater than the preset balancing degree threshold, screen out the sub-tasks to be migrated from the cloud processing server with the highest pre-estimated computing power occupancy rate, and migrate the sub-tasks to be migrated to the cloud processing server with the lowest pre-estimated computing power occupancy rate to generate an updated scheduling plan;
[0109] Among them, the expected computing power value of the sub-task to be migrated is less than the remaining available computing power of the cloud processing server with the lowest pre-estimated computing power occupancy rate, and the difference between the pre-estimated computing power occupancy rates of the two cloud processing servers after migrating the sub-task to be migrated is the smallest;
[0110] Recalculate the load balancing degree. If it is less than or equal to the preset balancing degree threshold, determine the updated scheduling plan as the target scheduling plan.
[0111] Embodiment III Figure 3 It is a schematic diagram of an embodiment of a computer-readable storage medium provided by an embodiment of the present invention. As Figure 3 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, it implements a computing power resource collaborative scheduling method in a multi-cloud scenario.
[0112] Any step of the method described above can be stored as computer instructions or programs in an unrestricted computer memory and can be called and recognized by an unrestricted computer processor to implement any method in the embodiments of the present application, without any additional restrictions here.
[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 equivalent technologies, the present application is intended to include these changes and variations.
Claims
1. A method for collaborative scheduling of 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, wherein the 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
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