Scheduling management method, device and system, computer device, and storage medium

By deploying node agents on physical machines to obtain instance creation time and determine the upper limit, the problem of low resource utilization caused by random selection by the scheduler is solved, and more efficient physical server resource management is achieved.

CN113934518BActive Publication Date: 2026-07-10HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2020-07-13
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In existing technologies, the scheduler exhibits strong randomness in selecting physical servers, resulting in low resource utilization and difficulty in effectively utilizing the resources of physical servers.

Method used

The time taken to create an instance is obtained by using node agents deployed on physical machines. An upper limit is determined and sent to the scheduler so that the scheduler can schedule tasks according to actual performance, avoiding over-scheduling or resource waste.

Benefits of technology

It improves the resource utilization of physical servers, avoids resource waste and over-scheduling problems caused by performance differences, and achieves more efficient resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113934518B_ABST
    Figure CN113934518B_ABST
Patent Text Reader

Abstract

The application discloses a scheduling management method, device and system, computer equipment and a storage medium, and belongs to the technical field of scheduling management. The method comprises the following steps: acquiring a time length consumed for creating a single instance on a physical machine; determining an upper limit value of a total number of instances capable of being created on the physical machine within a reference time length based on the time length consumed for creating the single instance on the physical machine; and sending the upper limit value to a scheduler, so that the scheduler schedules a task of creating an instance according to the upper limit value. The application can guarantee that the physical machine creates the instance within a performance range, and can improve resource utilization of the physical machine.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of scheduling management technology, and in particular to a scheduling management method, apparatus and system, computer equipment and storage medium. Background Technology

[0002] A cloud platform deploys numerous physical servers, which provide the essential resources needed to implement business operations. When a user needs to use the cloud platform's resources, they can request the cloud platform to create an instance (such as a virtual machine (VM)) on a physical server to access the cloud platform's resources through that instance.

[0003] Typically, when a user needs to create an instance on a physical server, they send a creation request to the cloud platform via a terminal. Upon receiving the creation request, the cloud platform's cloud operating system interface layer forwards it to the scheduler. The scheduler selects a physical server from among its managed physical servers and sends the creation request to that server. The physical server then creates the instance based on the request.

[0004] In related technologies, schedulers typically select one physical server randomly from among the multiple physical servers they manage, making it difficult to effectively utilize the resources of the physical servers. Summary of the Invention

[0005] This application provides a scheduling management method, apparatus and system, computer equipment and storage medium, which can improve the resource utilization of physical servers.

[0006] In a first aspect, this application provides a scheduling management method applied to a node agent deployed on a physical machine. The method includes: obtaining the time taken to create a single instance on the physical machine; determining an upper limit of the total number of instances that can be created on the physical machine within a reference time based on the time taken to create a single instance on the physical machine; and sending the upper limit to a scheduler so that the scheduler schedules the tasks of creating instances according to the upper limit.

[0007] The process involves using a node agent to obtain the time taken to create a single instance on the deployed physical machine. Based on this time, an upper limit is determined for the total number of instances that can be created on the physical machine within a reference timeframe. This upper limit is then sent to the scheduler, allowing the scheduler to schedule instance creation tasks accordingly. Since the time taken to create a single instance on a physical machine reflects its actual performance, the upper limit represents the maximum number of instances that can be created on the physical machine within the reference timeframe while ensuring its performance. Therefore, by using a node agent deployed on the physical machine to determine this upper limit and sending it to the scheduler, the scheduler can understand the actual performance of the physical machine and schedule instance creation tasks based on this performance. This ensures that instances are created within the physical machine's performance range while improving resource utilization.

[0008] Furthermore, since this scheduling management method is executed by node agents deployed on physical machines, these node agents can determine the upper limit of each physical machine based on its actual performance. When node agents deployed on multiple physical machines managed by the scheduler each determine their own upper limit, these upper limits will not interfere with each other. Compared to techniques where the scheduler uses the same upper limit to schedule multiple physical machines it manages, this avoids resource waste or over-scheduling caused by the different performance levels of the physical machines managed by the scheduler. For example, when the scheduler manages multiple physical machines including high-performance and low-performance machines, determining the upper limit of each corresponding physical machine through its respective node agent allows the scheduler to schedule physical machines based on their actual performance. This avoids over-scheduling of low-performance physical machines and resource waste caused by fewer scheduled tasks on high-performance physical machines.

[0009] In one possible implementation, the upper limit is obtained by quotienting the reference duration with the time required to create a single instance on a physical machine.

[0010] Optionally, the time taken to create a single instance on a physical machine can be obtained, including: obtaining the total time taken to create one or more instances on a physical machine; and obtaining the time taken to create a single instance on a physical machine based on the total time.

[0011] In one possible implementation, obtaining the total time spent creating one or more instances on a physical machine includes: calculating the total time spent creating one or more instances on a physical machine based on the process of creating instances on the physical machine according to instance creation requests sent by users.

[0012] In one possible implementation, the time taken to create an instance can be calculated by calculating the start time and end time of instance creation. Furthermore, for the same instance, the difference between the start and end times represents the total time taken to create that instance.

[0013] In another possible approach, the total time taken to create one or more instances on a physical machine is obtained, including: based on the process of creating simulated instances on a physical machine, the total time taken to create one or more instances on a physical machine is calculated.

[0014] Optionally, the node agent can be controlled to create multiple temporary instances on the physical machine, and the total time taken to create these temporary instances can be calculated. A temporary instance refers to an instance created by the node agent not according to a task scheduled by the scheduler to create an instance. For example, the temporary instance could be an instance spontaneously created on the physical machine when the node agent needs to determine the time taken to create a single instance on the physical machine.

[0015] Optionally, after sending the upper limit value to the scheduler, the method further includes: continuing to obtain the time taken to create a single instance on the physical machine, and determining an updated upper limit value for the total number of instances that can be created on the physical machine within a reference time based on the continued obtained time; and sending the updated upper limit value to the scheduler when the updated upper limit value changes compared to the upper limit value.

[0016] During the operation of the physical machine, the node agent can obtain the updated upper limit value and determine the upper limit value of the physical machine in real time based on the actual performance of the physical machine. This allows the scheduler to schedule the physical machine according to the upper limit value that reflects the actual performance of the physical machine, so that the physical machine can create instances within the performance range and improve the resource utilization of the physical machine.

[0017] The process of continuing to obtain the time taken to create a single instance on a physical machine includes: the process of creating an instance on a physical machine based on an instance creation request sent by a user, and / or the process of creating a simulated instance on a physical machine.

[0018] Secondly, this application provides a scheduling management method applied to a scheduler, the method comprising: receiving an upper limit value sent by a node agent, the upper limit value indicating an upper limit of the total number of instances that the node agent can create on a physical machine within a reference time period; and scheduling the instance creation tasks based on the upper limit value.

[0019] Since the time required to create a single instance on a physical machine reflects its actual performance, the upper limit is the maximum number of instances that can be created on the physical machine within a specified timeframe, while ensuring its performance. Therefore, by receiving the upper limit from the node agent via the receiving module, the scheduling and management device can understand the actual performance of the physical machine and schedule instance creation tasks accordingly. This ensures that the physical machine creates instances within its performance range while improving resource utilization.

[0020] Furthermore, since the scheduling management method provided in this application embodiment is executed by node agents deployed on physical machines, these node agents can determine the upper limit of the physical machines based on their actual performance. When the node agents deployed on multiple physical machines managed by the scheduling management device each determine their respective upper limit, the upper limits of these multiple physical machines will not interfere with each other. Compared with related technologies that use the same upper limit to schedule multiple physical machines under their management, this avoids resource waste or over-scheduling of physical machines caused by the different performance of the multiple physical machines managed by the scheduling management device. For example, when the multiple physical machines managed by the scheduling management device include high-performance physical machines and low-performance physical machines, by having their respective node agents determine the upper limit of the corresponding physical machines, the scheduling management device can schedule the physical machines according to their actual performance, avoiding over-scheduling of low-performance physical machines and avoiding resource waste caused by fewer scheduling tasks for high-performance physical machines.

[0021] Thirdly, this application provides a scheduling management device, which includes: an acquisition module for acquiring the time taken to create a single instance on a physical machine; a determination module for determining an upper limit of the total number of instances that can be created on a physical machine within a reference time period based on the time taken to create a single instance on a physical machine; and a sending module for sending the upper limit to a scheduler, so that the scheduler schedules the tasks for creating instances according to the upper limit.

[0022] Optionally, the upper limit is obtained by dividing the reference duration by the time taken to create a single instance on a physical machine.

[0023] Optionally, the acquisition module is specifically used to: acquire the total time spent creating one or more instances on a physical machine; and based on the total time, acquire the time spent creating a single instance on a physical machine.

[0024] Optionally, the acquisition module is specifically used to: calculate the total time spent creating one or more instances on a physical machine based on the process of creating an instance on the physical machine according to the instance creation request sent by the user.

[0025] Optionally, the acquisition module is specifically used to: calculate the total time spent creating one or more instances on a physical machine based on the process of creating simulated instances on the physical machine.

[0026] Optionally, the apparatus further includes: an acquisition module, configured to continue acquiring the time taken to create a single instance on a physical machine, and based on the continued acquisition time, determine an updated upper limit value for the total number of instances that can be created on a physical machine within a reference time; and an update module, configured to send the updated upper limit value to the scheduler when the updated upper limit value changes compared to the upper limit value.

[0027] Optionally, the acquisition module is specifically used to: acquire the time taken to create a single instance on the physical machine based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, and / or, based on the process of creating a simulated instance on the physical machine.

[0028] Fourthly, this application provides a scheduling management device, which includes: a receiving module for receiving an upper limit value sent by a node agent, the upper limit value indicating the upper limit of the total number of instances that the node agent can create on a physical machine within a reference time period; and a scheduling module for scheduling the instance creation tasks based on the upper limit value.

[0029] Fifthly, this application provides a scheduling management system, which includes: a plurality of scheduling management devices according to any one of the third aspects, and a scheduling management device according to the fourth aspect.

[0030] Sixthly, this application provides a first computer device, which includes a first processor and a first memory; the first memory stores a computer program; when the first processor executes the computer program, the first computer device implements the functions implemented by the node agent in the scheduling management method of the embodiments of this application.

[0031] In a seventh aspect, this application provides a second computer device, which includes a second processor and a second memory; the second memory stores a computer program; when the second processor executes the computer program, the second computer device implements the functions implemented by the scheduler in the scheduling management method of the embodiments of this application.

[0032] Eighthly, this application provides a first storage medium, which is a non-volatile computer-readable storage medium. When the instructions in the first storage medium are executed by a processor, they implement the functions of the node agent in the scheduling management method in the embodiments of this application.

[0033] Ninthly, this application provides a second storage medium, which is a non-volatile computer-readable storage medium, and when the instructions in the second storage medium are executed by a processor, they implement the functions of the scheduler in the scheduling management method of this application.

[0034] In a tenth aspect, this application provides a first computer program product containing instructions that, when run on a computer, cause the computer to perform the functions implemented by the node agent in the scheduling management method of the embodiments of this application.

[0035] In the eleventh aspect, this application provides a second computer program product containing instructions, which, when run on a computer, causes the computer to perform the functions implemented by the scheduler in the scheduling management method of this application. Attached Figure Description

[0036] Figure 1 This is a schematic diagram of the structure of a scheduling management system involved in a scheduling management method provided in an embodiment of this application;

[0037] Figure 2 This is a flowchart of a scheduling management method provided in an embodiment of this application;

[0038] Figure 3 This is a flowchart illustrating a method for a node agent to obtain the time taken to create a single instance on a physical machine, as provided in an embodiment of this application.

[0039] Figure 4 This is a schematic diagram of the structure of a scheduling and management device provided in an embodiment of this application;

[0040] Figure 5 This is a schematic diagram of another scheduling and management device provided in an embodiment of this application;

[0041] Figure 6 This is a schematic diagram of another scheduling and management device provided in an embodiment of this application;

[0042] Figure 7 This is a schematic diagram of the structure of a first computer device provided in an embodiment of this application;

[0043] Figure 8 This is a schematic diagram of the structure of a second computer device provided in an embodiment of this application. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0045] Figure 1This is a schematic diagram of the structure of a scheduling management system involved in a scheduling management method provided in an embodiment of this application. For example... Figure 1 As shown, the scheduling management system includes a scheduler 01 and multiple physical machines 02 (PMs) managed by the scheduler 01. The scheduler 01 establishes a connection with each physical machine 02. The connection between the scheduler 01 and the physical machines 02 can be established via a wireless network or a wired network. In one implementation, the scheduler 01 and the multiple physical machines 02 are all deployed in a cloud platform. Figure 1 This is a schematic diagram of a scheduling management system, including a scheduler 01 and four physical machines 02.

[0046] The scheduler 01 can be a single server, a server cluster consisting of several servers, or a cloud computing service center. Scheduler 01 receives requests to create instances and, based on these requests, schedules the instance creation tasks to multiple physical machines 02 managed by scheduler 01. Physical machines 02 provide the basic resources required to implement business operations, such as computing resources, storage resources, and network resources. Physical machines 02 can be physical servers used to support virtualization technology. Furthermore, a physical server can be a single server, a server cluster consisting of several servers, or a cloud computing service center.

[0047] In one implementation, a node agent is deployed on physical machine 02. Scheduler 01 schedules tasks to physical machine 02, which in turn schedules tasks to the node agent. The node agent is used to create instances on physical machine 02 according to the scheduler 01's scheduling. Specifically, the node agent is virtualization software deployed on physical machine 02, used to handle virtual machine lifecycle management requests (such as instance creation requests) sent by the cloud operating system to physical machine 02. The node agent communicates with physical machine 02 through a virtualization layer that schedules the virtualization layer between the node agent and physical machine 02. For example, after scheduler 01 sends an instance creation request to physical machine 02, the node agent can create an instance on physical machine 02 by invoking the virtualization layer according to the instance creation request.

[0048] The following is a brief explanation of the process by which scheduler 01 schedules the task of creating an instance to physical machine 02. When a user needs to use the resources provided by the cloud platform to implement business operations, the user can send a request to the cloud platform to create an instance through the terminal. The cloud operating system interface layer in the cloud platform is specifically used to receive this creation request. After receiving the request, the cloud operating system interface layer can send the request to scheduler 01. After receiving the request, scheduler 01 can select one physical machine 02 from the multiple physical machines 02 it manages and send the request to the node agent deployed on that physical machine 02. After receiving the request, the node agent deployed on that physical machine 02 can create an instance on that physical machine 02 according to the request.

[0049] In this embodiment, the time taken to create a single instance on the deployed physical machine 02 is obtained through a node agent. Based on this time, an upper limit is determined for the total number of instances that can be created on physical machine 02 within a reference time. This upper limit is then sent to scheduler 01, allowing scheduler 01 to schedule instance creation tasks according to the upper limit. Since the time taken to create a single instance on physical machine 02 reflects its actual performance, the upper limit is the maximum number of instances that can be created on physical machine 02 within the reference time while ensuring its performance. Therefore, by determining this upper limit through the node agent deployed on physical machine 02 and sending it to scheduler 01, scheduler 01 can understand the actual performance of physical machine 02 and schedule instance creation tasks accordingly. This ensures that physical machine 02 creates instances within its performance range and improves its resource utilization.

[0050] Furthermore, since the scheduling management method provided in this embodiment is executed by a node agent deployed on physical machine 02, the node agent can determine the upper limit of physical machine 02 based on its actual performance, ensuring that the upper limit of physical machine 02 reflects its actual performance. When the node agent sends the upper limit of physical machine 02 to scheduler 01, scheduler 01 can schedule physical machine 02 according to its actual performance, ensuring that the tasks scheduled for physical machine 02 are within its capacity. Therefore, it is possible to guarantee the performance of physical machine 02 while effectively utilizing its resources.

[0051] The implementation process of a scheduling management method provided in the embodiments of this application will be described below. Figure 2 As shown, the implementation process of this scheduling management method may include the following steps:

[0052] Step 201: The node agent obtains the time taken to create a single instance on the physical machine.

[0053] In one implementation, such as Figure 3 As shown, the implementation process of step 201 may include:

[0054] Step 2011: The node agent obtains the total time spent creating one or more instances on the physical machine.

[0055] In one possible implementation of step 2011, the node agent can calculate the total time spent creating one or more instances on the physical machine based on the process of creating a simulated instance on the physical machine.

[0056] Optionally, the node agent can be controlled to create multiple temporary instances on the physical machine, and the total time taken to create these temporary instances can be calculated. A temporary instance refers to an instance created by the node agent not according to a task scheduled by the scheduler to create an instance. For example, the temporary instance could be an instance spontaneously created on the physical machine when the node agent needs to determine the time taken to create a single instance on the physical machine.

[0057] Optionally, the physical machine can also be configured with an instance configuration component, which is used to configure the parameters of the temporary instance. For example, it can configure the number of processors, cores, and memory for the temporary instance. The parameters configured by the instance configuration component can be set according to actual needs. Correspondingly, the node agent is specifically used to create temporary instances based on the parameters configured by the instance configuration component.

[0058] For example, during the initial configuration of a physical machine, the instance configuration component configures the temporary instance parameters as follows: create five temporary virtual machines, each using two central processing units (CPUs) with four cores each and 256 gigabit of memory, with each temporary virtual machine's port bandwidth limited to C megabits per second. The node agent can then create five temporary virtual machines on the physical machine by calling the virtualization layer based on the parameters configured in the instance configuration component, and calculate the total time spent creating the five temporary virtual machines. Note that the physical machine does not receive scheduling from the scheduler before completing the initial configuration process.

[0059] It's important to note that since this temporary instance wasn't created based on a user request, it can be deleted after calculating the total creation time to prevent it from consuming physical machine resources. Deleting a temporary instance can be achieved by releasing the physical machine's memory and processor resources used by it.

[0060] In another possible implementation of step 2011, the node agent can calculate the total time spent creating one or more instances on the physical machine based on the process of creating instances on the physical machine according to the instance creation request sent by the user.

[0061] During the actual operation of the physical machine, the scheduler can schedule instance creation requests sent by users to the node agent. Correspondingly, the node agent can create instances based on these requests. Therefore, the total time spent by the node agent creating one or more instances on the physical machine can be statistically analyzed during this process.

[0062] In one possible implementation, the time taken to create an instance can be calculated by counting the start time and end time of instance creation. Furthermore, for the same instance, the difference between the start and end times represents the total time taken to create that instance. For example, during the operation of a physical machine, a node agent can maintain a start time queue and an end time queue. The start time queue stores the start time for creating each instance, and the end time queue stores the end time for completing instance creation. For the same instance, the difference between the end time recorded in the end time queue and the start time recorded in the start time queue represents the total time taken to create that instance.

[0063] Furthermore, a retention threshold for start and end times can be set. When the actual retention time of an instance's start and end times reaches the threshold, the instance whose retention time has reached the threshold is deleted from the physical machine. This reduces the memory and other resources consumed by retention time, thereby ensuring the actual performance of the physical machine. For example, the retention threshold for the time of any instance stored in the start time queue and the end time queue can be set to 1 minute. That is, when the actual retention time of the start time of any instance stored in the start time queue is equal to 1 minute, the start time of that instance is deleted from the start time queue. Similarly, when the actual retention time of the end time of any instance stored in the end time queue is equal to 1 minute, the end time of that instance is deleted from the end time queue.

[0064] Step 2012: The node agent obtains the time taken to create a single instance on the physical machine based on the total duration.

[0065] In one possible implementation, the time taken to create a single instance on a physical machine can be obtained by dividing the total time by the total number of instances created during the execution of step 2011.

[0066] For example, the time required to create a single instance on a physical machine can be equal to the total time and the quotient of that total.

[0067] For example, the time required to create a single instance on a physical machine can be equal to the sum of the total time and the quotient of that total time, plus the error time. The quotient of the total time reflects the time required to create a single instance on a physical machine under average performance conditions. However, in actual operation, the performance of the physical machine may vary relative to this average performance. Therefore, when the time required to create a single instance is equal to the sum of the total time and the quotient of that total time, plus the error time, the variation in physical machine performance in actual situations can be taken into account, ensuring the accuracy of the upper limit determined based on the time required to create a single instance. Furthermore, the error time can be determined by evaluating the performance of the physical machine during its operation, or it can be determined based on empirical values.

[0068] Step 202: Based on the time taken to create a single instance on a physical machine, the node agent determines the upper limit of the total number of instances that can be created on a physical machine within a reference time period.

[0069] Alternatively, the upper limit can be obtained by quoting the reference duration with the time required to create a single instance on a physical machine.

[0070] For example, the upper limit could be equal to the quotient of the reference duration and the time required to create a single instance on a physical machine.

[0071] For example, the upper limit can be equal to the sum of the quotient of the reference duration and the time taken to create a single instance on the physical machine, plus the number of errors. The quotient of the reference duration and the time taken to create a single instance on the physical machine reflects the upper limit of the total number of instances that can be created on the physical machine within the reference duration, assuming the physical machine's performance is at its average level. However, in actual operation, the physical machine's performance may vary relative to this average performance. Therefore, when the upper limit is equal to the sum of the quotient of the reference duration and the time taken to create a single instance on the physical machine, plus the number of errors, the variation in physical machine performance in actual situations can be taken into account, ensuring the accuracy of the determined upper limit. Furthermore, the number of errors can be determined by evaluating the physical machine's performance during operation, or it can be determined based on empirical values.

[0072] It should be noted that since the first implementation method in step 2011 obtains the total duration based on the creation of a temporary instance, this first implementation method can be implemented both during the initialization and configuration of the physical machine and during its actual operation after initialization. Furthermore, when implementing this first implementation method during the actual operation of the physical machine, the total duration can also be obtained according to the first implementation method during the initialization and configuration of the physical machine, and the upper limit value can be determined based on this total duration. Alternatively, a default upper limit value can be set during the initialization and configuration of the physical machine, so that the scheduler can schedule tasks for the physical machine based on this upper limit value during its operation. When the upper limit value of the physical machine is determined during the initialization and configuration of the physical machine according to this first implementation method, the process of setting thresholds by operations and maintenance personnel during the initialization and configuration process can be reduced, minimizing the intervention of operations and maintenance personnel and reducing the risk caused by human error.

[0073] The second implementation of step 2011 involves obtaining the total duration based on the actual instance creation process of the physical machine. Therefore, this second implementation is primarily implemented during the actual operation of the physical machine after initialization configuration. Furthermore, for this second implementation, during the physical machine's initialization configuration, the total duration can be obtained according to the first implementation method, and an upper limit value can be determined based on this total duration. Alternatively, a default upper limit value can be set during the physical machine's initialization configuration, allowing the scheduler to schedule tasks on the physical machine based on this upper limit value during its operation.

[0074] Step 203: The node agent sends the upper limit value to the scheduler.

[0075] Step 204: The scheduler schedules the tasks that create instances based on the upper limit value.

[0076] The process by which the scheduler schedules tasks to create instances based on the upper limit is actually that the scheduler selects a physical machine from among the multiple physical machines managed by the scheduling server based on the actual performance of each physical machine it manages, and sends the user's request to create an instance to the selected physical machine, so that the node agent deployed on that physical machine can create an instance on that physical machine according to the request.

[0077] Furthermore, the scheduler can update the scheduling weights of physical machines based on the upper limit of physical machines and the number of scheduling creation requests to physical machines within a reference duration. When a scheduling creation request is made, the scheduler allocates the request to the physical machine with the highest weight among the multiple physical machines managed by the scheduler. The implementation of updating the scheduling weights of physical machines can include: the scheduler periodically counts the number of times each physical machine is scheduled within a period, and reduces the scheduling weight of a physical machine when the number of times it is scheduled is greater than or equal to the upper limit. Further, when reducing the scheduling weight of a physical machine, the weight can be reduced by different adjustment values ​​depending on the degree to which the number of times a physical machine is scheduled exceeds the upper limit. For example, when the difference between the number of times a physical machine is scheduled and the upper limit is 5, the scheduling weight can be reduced by 0.1; when the difference is 10, the scheduling weight can be reduced by 0.2.

[0078] The scheduler's approach of scheduling tasks that create instances based on the upper limit of physical machines avoids the uncontrollability caused by random selection and ensures the stability of the scheduling system compared to the approach of randomly selecting physical servers in related technologies.

[0079] Step 205: The node agent creates an instance on the physical machine according to the scheduler's schedule.

[0080] Step 206: During the operation of the physical machine, the node agent continues to obtain the time taken to create a single instance on the physical machine, and based on the continuously obtained time, determines the updated upper limit of the total number of instances that can be created on the physical machine within the reference time.

[0081] The implementation process of step 206 includes: the process of the node agent creating an instance based on the instance creation request sent by the user on the physical machine, and / or, based on the process of creating a simulated instance on the physical machine, continuing to obtain the time taken to create a single instance on the physical machine.

[0082] The process of the node agent creating an instance on the physical machine based on the instance creation request sent by the user, and then obtaining the implementation process of how to obtain the time taken to create a single instance on the physical machine, is described in step 201. The process of obtaining the time taken to create a single instance on the physical machine based on the process of creating a simulated instance on the physical machine is also described in step 201. Finally, the process of the node agent determining the updated upper limit of the total number of instances that can be created on the physical machine within a reference time period based on the continuously obtained time is described in step 202.

[0083] Step 207: When the updated upper limit value changes compared to the previous upper limit value, the node agent sends the updated upper limit value to the scheduler.

[0084] When the updated upper limit value changes compared to the upper limit value determined in step 202, it indicates a change in the physical machine's performance. If the scheduler then schedules the physical machine based on the previous upper limit value, either over-scheduling or under-scheduling will occur, both of which will affect the physical machine's resource utilization. Therefore, when the updated upper limit value changes compared to the upper limit value determined in step 202, the updated upper limit value can be sent to the scheduler so that the scheduler can schedule the physical machine based on its actual performance, thereby ensuring the physical machine's resource utilization.

[0085] Each time an upper limit value is determined, it can be saved so that it can be compared with the updated upper limit value when an updated upper limit value is determined later.

[0086] During the operation of the physical machine, the node agent can continuously execute steps 206 and 207 to determine the upper limit of the physical machine in real time based on its actual performance. This allows the scheduler to schedule the physical machine according to the upper limit reflecting its actual performance, enabling the physical machine to create instances within its performance range and improving resource utilization. Furthermore, the node agent can execute steps 206 and 207 periodically. This period can be determined based on actual needs; for example, it can be equal to the aforementioned reference duration.

[0087] Step 208: The scheduler schedules the tasks that create instances based on the updated upper limit value.

[0088] The implementation process of step 208 is described in detail in step 204, and will not be repeated here.

[0089] Step 209: The node agent creates an instance on the physical machine according to the scheduler's schedule.

[0090] Optionally, the node agent may include the following functional units: a data reporting unit, an upper limit value storage unit, an upper limit value calculation unit, an upper limit value update unit, and a task distribution unit. The data reporting unit sends the upper limit value to the scheduler, as described in steps 203 and 207 above. The upper limit value storage unit stores the upper limit value for subsequent comparisons. The upper limit value calculation unit calculates the upper limit value for the physical machine, as described in steps 201 and 202 above. The upper limit value update unit determines the updated upper limit value for the physical machine during its operation, as described in step 206 above. Furthermore, the process of determining the updated upper limit value for the physical machine by the upper limit value update unit can be implemented by calling the upper limit value calculation unit. The task distribution unit interacts with the virtualization layer according to the scheduler's scheduling to create instances on the physical machine, as described in step 205 above.

[0091] In summary, in this embodiment, the time taken to create a single instance on the physical machine deployed on the node agent is obtained. Based on this time, an upper limit is determined for the total number of instances that can be created on the physical machine within a reference time. This upper limit is then sent to the scheduler, allowing the scheduler to schedule instance creation tasks according to the upper limit. Since the time taken to create a single instance on the physical machine reflects the actual performance of the physical machine, the upper limit is the maximum number of instances that can be created on the physical machine within the reference time while ensuring the performance of the physical machine. Therefore, by determining this upper limit through the node agent deployed on the physical machine and sending it to the scheduler, the scheduler can understand the actual performance of the physical machine and schedule instance creation tasks with reference to the actual performance of the physical machine. This ensures that the physical machine creates instances within its performance range and improves the resource utilization of the physical machine.

[0092] Furthermore, since the scheduling management method provided in this application embodiment is executed by node agents deployed on physical machines, these node agents can determine the upper limit of the physical machines based on their actual performance. When the node agents deployed on multiple physical machines managed by the scheduler each determine their respective upper limit, the upper limits of these multiple physical machines will not interfere with each other. Compared to related technologies where the scheduler uses the same upper limit to schedule multiple physical machines it manages, this avoids resource waste or over-scheduling of physical machines caused by the different performance of the multiple physical machines managed by the scheduler. For example, when the multiple physical machines managed by the scheduler include high-performance physical machines and low-performance physical machines, by having their respective node agents determine the upper limit of the corresponding physical machines, the scheduler can schedule the physical machines according to their actual performance, avoiding over-scheduling of low-performance physical machines and avoiding resource waste caused by fewer scheduling tasks for high-performance physical machines.

[0093] It should be noted that the order of steps in the scheduling management method provided in this application can be appropriately adjusted, and steps can also be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.

[0094] This application also provides a scheduling management device. For example... Figure 4 As shown, the scheduling and management device 40 includes:

[0095] Module 401 is used to obtain the time taken to create a single instance on a physical machine.

[0096] The determination module 402 is used to determine an upper limit on the total number of instances that can be created on a physical machine within a reference time period, based on the time taken to create a single instance on the physical machine.

[0097] The sending module 403 is used to send the upper limit value to the scheduler, so that the scheduler schedules the tasks that create instances according to the upper limit value.

[0098] Optionally, the upper limit is obtained by dividing the reference duration by the time taken to create a single instance on a physical machine.

[0099] Optionally, module 401 is specifically used to: obtain the total time spent creating one or more instances on a physical machine; and based on the total time, obtain the time spent creating a single instance on a physical machine.

[0100] Optionally, the acquisition module 401 is specifically used to: based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, calculate the total time spent creating one or more instances on the physical machine.

[0101] Optionally, module 401 is specifically used to: calculate the total time spent creating one or more instances on a physical machine based on the process of creating a simulated instance on the physical machine.

[0102] Optionally, such as Figure 5 As shown, the scheduling management device 40 also includes:

[0103] The acquisition module 401 is used to continue acquiring the time taken to create a single instance on a physical machine, and based on the acquired time, to determine an updated upper limit for the total number of instances that can be created on a physical machine within a reference time.

[0104] The update module 404 is used to send the updated upper limit value to the scheduler when the updated upper limit value changes compared to the original upper limit value.

[0105] Optionally, the acquisition module 401 is specifically used to: based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, and / or, based on the process of creating a simulated instance on the physical machine, continue to acquire the time taken to create a single instance on the physical machine.

[0106] In summary, in this embodiment, the acquisition module obtains the time taken to create a single instance on the deployed physical machine, the determination module determines an upper limit on the total number of instances that can be created on the physical machine within a reference time based on the time taken to create a single instance on the physical machine, and the sending module sends the upper limit to the scheduler, enabling the scheduler to schedule instance creation tasks according to the upper limit. Since the time taken to create a single instance on the physical machine reflects the actual performance of the physical machine, the upper limit is the maximum number of instances that can be created on the physical machine within the reference time while ensuring the performance of the physical machine. Therefore, by determining this upper limit and sending it to the scheduler, the scheduler can understand the actual performance of the physical machine and schedule instance creation tasks with reference to the actual performance of the physical machine. This ensures that the physical machine creates instances within its performance range and improves the resource utilization of the physical machine.

[0107] Furthermore, since the scheduling management device can determine the upper limit of a physical machine based on its actual performance, when the upper limit of multiple physical machines managed by the scheduler is determined separately by their respective scheduling management devices, these upper limits will not interfere with each other. Compared to related technologies where the scheduler uses the same upper limit to schedule multiple physical machines under its management, this avoids resource waste or over-scheduling caused by the different performance of the physical machines managed by the scheduler. For example, when the scheduler manages multiple physical machines including high-performance and low-performance physical machines, by having the upper limit of each physical machine determined separately by the scheduling management devices of each physical machine, the scheduler can schedule the physical machines according to their actual performance, avoiding over-scheduling of low-performance physical machines and avoiding resource waste caused by fewer scheduled tasks for high-performance physical machines.

[0108] This application also provides a scheduling management device. For example... Figure 6 As shown, the scheduling and management device 60 includes:

[0109] The receiving module 601 is used to receive the upper limit value sent by the node agent, which indicates the upper limit of the total number of instances that the node agent can create on the physical machine within a reference time period.

[0110] The scheduling module 602 is used to schedule tasks that create instances based on an upper limit value.

[0111] In summary, in this embodiment, since the time required to create a single instance on a physical machine reflects the actual performance of the physical machine, the upper limit is the maximum number of instances that can be created on the physical machine within a reference time period while ensuring the performance of the physical machine. Therefore, by receiving the upper limit sent by the node agent through the receiving module, the scheduling and management device can know the actual performance of the physical machine and schedule the instance creation tasks with reference to the actual performance of the physical machine. This ensures that the physical machine creates instances within its performance range and improves the resource utilization of the physical machine.

[0112] Furthermore, since the scheduling management method provided in this application embodiment is executed by node agents deployed on physical machines, these node agents can determine the upper limit of the physical machines based on their actual performance. When the node agents deployed on multiple physical machines managed by the scheduling management device each determine their respective upper limit, the upper limits of these multiple physical machines will not interfere with each other. Compared with related technologies that use the same upper limit to schedule multiple physical machines under their management, this avoids resource waste or over-scheduling of physical machines caused by the different performance of the multiple physical machines managed by the scheduling management device. For example, when the multiple physical machines managed by the scheduling management device include high-performance physical machines and low-performance physical machines, by having their respective node agents determine the upper limit of the corresponding physical machines, the scheduling management device can schedule the physical machines according to their actual performance, avoiding over-scheduling of low-performance physical machines and avoiding resource waste caused by fewer scheduling tasks for high-performance physical machines.

[0113] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding content in the foregoing system embodiments and method embodiments, and will not be repeated here.

[0114] This application provides a scheduling management system, which includes multiple first scheduling management devices and second scheduling management devices. The first scheduling management devices implement the node agent function described in the aforementioned method embodiments. The second scheduling management devices implement the scheduler function described in the aforementioned method embodiments. Optionally, the structure of this scheduling management system can be found in [reference needed]. Figure 1 .

[0115] This application provides a first computer device. Figure 7 An exemplary possible architecture diagram of a first computer device is provided. For example... Figure 7 As shown, the first computer device 70 may include a first processor 701, a first memory 702, a first communication interface 703, and a first bus 704. In the first computer device, the number of first processors 701 may be one or more. Figure 7 Only one first processor 701 is illustrated. Optionally, the first processor 701 may be a central processing unit (CPU). If the first computer device has multiple first processors 701, the multiple first processors 701 may be of different types or may be the same. Optionally, the multiple first processors of the first computer device may also be integrated into a multi-core processor.

[0116] The first memory 702 stores computer instructions and data. The first memory 702 can store the computer instructions and data required to implement the functions of the node agent in the scheduling and management method provided in this application. The first memory 702 can be any one or any combination of the following storage media: non-volatile memory (such as read-only memory (ROM), solid-state disk (SSD), hard disk drive (HDD), optical disk, etc.), and volatile memory.

[0117] The first communication interface 703 can be any one or any combination of the following devices: network interface (such as Ethernet interface), wireless network card, or other devices with network access function.

[0118] The first communication interface 703 is used for the first computer device to communicate with other nodes or other computer devices.

[0119] Figure 7 A first bus 704 is also illustrated. The first bus 704 can connect the first processor 701 to the first memory 702 and the first communication interface 703. In this way, through the first bus 704, the first processor 701 can access the first memory 702 and can also use the first communication interface 703 to interact with other nodes or other computer devices.

[0120] In this application, the first computer device executes computer instructions stored in the first memory 702 to implement the node agent function in the scheduling management method provided in this application. For example, the first computer device executing the computer instructions in the first memory 702 can perform the following steps: obtaining the time taken to create a single instance on the physical machine; determining an upper limit value for the total number of instances that can be created on the physical machine within a reference time period based on the time taken to create a single instance on the physical machine; and sending the upper limit value to the scheduler, so that the scheduler schedules the instance creation tasks according to the upper limit value. Furthermore, the implementation process of the first computer device executing the computer instructions in the first memory 702 to perform the node agent execution steps can be referred to the corresponding description in the above method embodiments.

[0121] This application provides a second computer device. Figure 8 An exemplary possible architecture diagram of a second computer device is provided. For example... Figure 8 As shown, the second computer device 80 may include a second processor 801, a second memory 802, a second communication interface 803, and a second bus 804. In the second computer device, the number of second processors 801 may be one or more. Figure 8 Only one of the second processors 801 is illustrated. Optionally, the second processor 801 may be a central processing unit. If the second computer device has multiple second processors 801, the multiple second processors 801 may be of different types or may be the same. Optionally, the multiple second processors of the second computer device may also be integrated into a multi-core processor.

[0122] The second memory 802 stores computer instructions and data. The second memory 802 can store computer instructions and data required to implement the function of the scheduler in the scheduling management method provided in this application. The second memory 802 can be any one or any combination of the following storage media: non-volatile memory (such as read-only memory), solid-state drive, hard disk, optical disk, etc., and volatile memory.

[0123] The second communication interface 803 can be any one or any combination of the following devices: network interface (such as Ethernet interface), wireless network card, or other devices with network access function.

[0124] The second communication interface 803 is used for the second computer device to communicate with other nodes or other computer devices.

[0125] Figure 8 A second bus 804 is also illustrated. The second bus 804 can connect the second processor 801 to the second memory 802 and the second communication interface 803. In this way, through the second bus 804, the second processor 801 can access the second memory 802 and can also use the second communication interface 803 to interact with other nodes or other computer devices.

[0126] In this application, the second computer device executes computer instructions stored in the second memory 802 to implement the function of the scheduler in the scheduling management method provided in this application. For example, the second computer device executing the computer instructions in the second memory 802 can perform the following steps: receiving an upper limit value sent by the node agent, which indicates the upper limit of the total number of instances that the node agent can create on the physical machine within a reference time period; and scheduling the instance creation tasks based on the upper limit value. Furthermore, the implementation process of the second computer device executing the steps of the scheduler by executing the computer instructions in the second memory 802 can be referred to the corresponding description in the above method embodiments.

[0127] This application also provides a first storage medium, which is a non-volatile computer-readable storage medium. When the instructions in the first storage medium are executed by the processor, the node agent in the scheduling management method provided in this application implements the functions.

[0128] This application also provides a second storage medium, which is a non-volatile computer-readable storage medium. When the instructions in the second storage medium are executed by the processor, the functions implemented by the scheduler in the scheduling management method provided in this application are realized.

[0129] This application also provides a first computer program product containing instructions, which, when run on a computer, causes the computer to perform the functions implemented by the node agent in the scheduling and management method provided in this application.

[0130] This application also provides a second computer program product containing instructions, which, when run on a computer, causes the computer to perform the functions implemented by the scheduler in the scheduling management method provided in this application.

[0131] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0132] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise expressly defined.

[0133] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0134] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the concept and principles of this application should be included within the protection scope of this application.

Claims

1. A scheduling management method, characterized in that, The method is applied to node agents deployed on physical machines, and the method includes: Get the time taken to create a single instance on a physical machine; Based on the time taken to create a single instance on the physical machine, an upper limit is determined for the total number of instances that can be created on the physical machine within a reference time period. This upper limit is used to reduce the scheduling weight of the physical machine when the number of instances created on the physical machine within the reference time period is greater than or equal to the upper limit. The upper limit value is sent to the scheduler, which schedules the task of creating the instance according to the upper limit value. The scheduling includes selecting the physical machine with the highest weight among the multiple physical machines managed by the scheduler to create the instance requested by the user.

2. The method according to claim 1, characterized in that, The upper limit is obtained by dividing the reference duration by the time required to create a single instance on the physical machine.

3. The method according to claim 1 or 2, characterized in that, The time taken to create a single instance on a physical machine includes: Get the total time taken to create one or more instances on the physical machine; Based on the total duration, obtain the time taken to create a single instance on the physical machine.

4. The method according to claim 3, characterized in that, The process of obtaining the total time spent creating one or more instances on the physical machine includes: Based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, the total time spent creating one or more instances on the physical machine is calculated.

5. The method according to claim 3, characterized in that, The process of obtaining the total time spent creating one or more instances on the physical machine includes: Based on the process of creating simulated instances on the physical machine, the total time spent creating one or more instances on the physical machine is calculated.

6. The method according to any one of claims 1, 2, 4, and 5, characterized in that, After sending the upper limit value to the scheduler, the method further includes: Continue to obtain the time taken to create a single instance on the physical machine, and based on the continued obtaining time, determine an updated upper limit value for the total number of instances that can be created on the physical machine within the reference time. When the updated upper limit value changes compared to the upper limit value, the updated upper limit value is sent to the scheduler.

7. The method according to claim 6, characterized in that, The process of continuing to obtain the time taken to create a single instance on the physical machine includes: Based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, and / or based on the process of creating a simulated instance on the physical machine, the time taken to create a single instance on the physical machine is further obtained.

8. A scheduling management method, characterized in that, The method is applied to a scheduler, and the method includes: The upper limit value sent by the receiving node agent is used to indicate the upper limit of the total number of instances that the node agent can create on the physical machine within a reference time period. The upper limit value is used to reduce the scheduling weight of the physical machine when the number of instances created on the physical machine within the reference time period is greater than or equal to the upper limit value. The task of creating an instance is scheduled based on the upper limit value. The scheduling includes selecting the physical machine with the highest weight from among the multiple physical machines managed by the scheduler to create the instance requested by the user.

9. A scheduling and management device, characterized in that, The scheduling and management device includes: The acquisition module is used to obtain the time taken to create a single instance on a physical machine; The determination module is used to determine an upper limit of the total number of instances that can be created on the physical machine within a reference time period based on the time taken to create a single instance on the physical machine. The upper limit is used to reduce the scheduling weight of the physical machine when the number of instances created on the physical machine within the reference time period is greater than or equal to the upper limit. The sending module is used to send the upper limit value to the scheduler, so that the scheduler schedules the task of creating the instance according to the upper limit value. The scheduling includes selecting the physical machine with the largest weight among multiple physical machines managed by the scheduler to create the instance requested by the user.

10. The apparatus according to claim 9, characterized in that, The upper limit is obtained by dividing the reference duration by the time required to create a single instance on the physical machine.

11. The apparatus according to claim 9 or 10, characterized in that, The acquisition module is specifically used for: Get the total time taken to create one or more instances on the physical machine; Based on the total duration, obtain the time taken to create a single instance on the physical machine.

12. The apparatus according to claim 11, characterized in that, The acquisition module is specifically used to: based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, calculate the total time spent creating one or more instances on the physical machine.

13. The apparatus according to claim 11, characterized in that, The acquisition module is specifically used to: based on the process of creating a simulated instance on the physical machine, calculate the total time spent creating one or more instances on the physical machine.

14. The apparatus according to any one of claims 9, 10, 12, and 13, characterized in that, The device further includes: The acquisition module is used to continue acquiring the time taken to create a single instance on the physical machine, and based on the continued acquisition time, to determine an updated upper limit value for the total number of instances that can be created on the physical machine within the reference time. An update module is used to send the update upper limit value to the scheduler when the update upper limit value changes compared to the upper limit value.

15. The apparatus according to claim 14, characterized in that, The acquisition module is specifically used for: Based on the process of creating an instance on the physical machine according to the instance creation request sent by the user, and / or based on the process of creating a simulated instance on the physical machine, the time taken to create a single instance on the physical machine is further obtained.

16. A scheduling and management device, characterized in that, The scheduling and management device includes: A receiving module is used to receive an upper limit value sent by a node agent. The upper limit value is used to indicate the upper limit of the total number of instances that the node agent can create on a physical machine within a reference time period. The upper limit value is used to reduce the scheduling weight of the physical machine when the number of instances created on the physical machine within the reference time period is greater than or equal to the upper limit value. The scheduling module is used to schedule the task of creating the instance based on the upper limit value. The scheduling includes selecting the physical machine with the largest weight from multiple physical machines managed by the scheduling management device to create the instance requested by the user.

17. A scheduling and management system, characterized in that, The scheduling management system includes: a plurality of scheduling management devices as described in any one of claims 9 to 15, and a scheduling management device as described in claim 16.

18. A computer device, characterized in that, The computer device includes a processor and a memory, wherein the memory stores a computer program; when the processor executes the computer program, the computer device implements the method of any one of claims 1 to 7, or the method of claim 8.

19. A storage medium, characterized in that, When the instructions in the storage medium are executed by the processor, the method of any one of claims 1 to 7, or the method of claim 8, is implemented.