Resource scheduling method and apparatus
By scheduling resources on edge nodes and allocating resources according to service needs and client requests, the problem of centralized cloud computing platforms being unable to meet high latency and high bandwidth requirements is solved, achieving efficient resource scheduling and system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIBABA (CHINA) CO LTD
- Filing Date
- 2022-10-14
- Publication Date
- 2026-04-17
AI Technical Summary
Centralized cloud computing platforms cannot meet the high latency and high bandwidth requirements of terminals for cloud resources, especially in the era of 5G and the Internet of Things, resulting in low resource scheduling efficiency.
By performing resource scheduling on edge nodes, the target deployment area and deployment resources are determined based on the deployment resource requirements of the target service, and the target edge nodes are allocated to handle requests according to client requests, thus achieving efficient resource scheduling.
It improves the operating efficiency and resource utilization of edge nodes, reduces scheduling and processing resources caused by insufficient resources, saves costs, and improves the operating efficiency and stability of the system.
Smart Images

Figure CN115801702B_ABST
Abstract
Description
Technical Field
[0001] The embodiments in this specification relate to the field of cloud computing technology, and in particular to a resource scheduling method. Background Technology
[0002] Currently, with the advent of the 5G and IoT era and the gradual increase in cloud computing applications, terminals have increasingly higher requirements for cloud resources in terms of latency, bandwidth, and other performance aspects, such as CDN (Content Delivery Network), live streaming, cloud gaming, and autonomous driving. Centralized cloud computing platforms can no longer meet the ever-increasing cloud resource demands of terminals. Summary of the Invention
[0003] In view of this, embodiments of this specification provide a resource scheduling method. One or more embodiments of this specification also relate to a resource scheduling apparatus, a resource scheduling system, a computing device, a computer-readable storage medium, and a computer program, to address the technical deficiencies existing in the prior art.
[0004] According to a first aspect of the embodiments of this specification, a resource scheduling method is provided, comprising:
[0005] Based on the deployment resource requirements of the target service, the target deployment region for the target service and the deployment resources corresponding to each target deployment region are determined. The target service is one of at least one service to be deployed, the target deployment region is one of at least one region to be deployed, each region to be deployed corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0006] Deploy the target service based on the aforementioned deployment resources;
[0007] Based on the client request for the target service, a target edge node is determined to process the client request, so that the target edge node processes the client request.
[0008] According to a second aspect of the embodiments of this specification, a resource scheduling apparatus is provided, comprising:
[0009] The resource determination module is configured to determine the target deployment area and the deployment resources corresponding to each target deployment area based on the deployment resource requirements of the target service. The target service is one of at least one service to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0010] The resource deployment module is configured to deploy the target service based on the deployment resources;
[0011] The request processing module is configured to determine a target edge node for processing a client request for the target service, so that the target edge node processes the client request.
[0012] According to a third aspect of the embodiments of this specification, a resource scheduling system is provided, the system including a central control device and a region;
[0013] The central control device is used to determine the target deployment area and the deployment resources corresponding to each target deployment area based on the deployment resource requirements of the target service. The target service is one of at least one service to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0014] The central control device is used to deploy the target service based on the deployment resources;
[0015] The central control device is used to determine the target edge node for processing the client request based on the client request for the target service, so that the target edge node processes the client request;
[0016] The edge node is used to receive and process the target client request.
[0017] According to a fourth aspect of the embodiments of this specification, a computing device is provided, comprising:
[0018] Memory and processor;
[0019] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the resource scheduling method described above.
[0020] According to a fifth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores computer-executable instructions that, when executed by a processor, implement the steps of the resource scheduling method described above.
[0021] According to a sixth aspect of the embodiments of this specification, a computer program is provided, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the resource scheduling method described above.
[0022] This specification provides a resource scheduling method and apparatus. The resource scheduling method includes: determining target deployment regions and corresponding deployment resources for each target deployment region based on the deployment resource requirements of a target service; wherein the target service is one of at least one services to be deployed, the target deployment region is one of at least one regions to be deployed, each region to be deployed corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes; deploying the target service based on the deployment resources; and determining target edge nodes to handle client requests based on client requests for the target service. By determining target deployment regions and corresponding deployment resources for the target service in each deployment region during the deployment phase, a foundation is laid for efficient scheduling of the deployed services. Furthermore, by allocating corresponding target edge nodes to client requests, the load on each edge node can be balanced, thereby improving the operating efficiency of the edge nodes. Attached Figure Description
[0023] Figure 1 This is a schematic diagram illustrating a scenario of a resource scheduling method provided in one embodiment of this specification;
[0024] Figure 2 This is a flowchart illustrating a resource scheduling method provided in one embodiment of this specification;
[0025] Figure 3 This is an architecture diagram of a resource scheduling system provided in one embodiment of this specification;
[0026] Figure 4 This is a flowchart illustrating the processing procedure of a resource scheduling method provided in one embodiment of this specification.
[0027] Figure 5 This is a schematic diagram of the structure of a resource scheduling device provided in one embodiment of this specification;
[0028] Figure 6 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation
[0029] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.
[0030] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0031] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0032] First, the terms and concepts used in one or more embodiments of this specification will be explained.
[0033] Edge cloud: A small-scale cloud data center distributed at the edge of the network, providing real-time data processing and analysis for decision-making.
[0034] Distributed computing: Distributed computing is a research direction in computer science that studies how to divide a problem that requires enormous computing power into many smaller parts, distribute these parts to multiple computers for processing, and finally combine the results of these calculations to obtain the final result.
[0035] IaaS: Infrastructure-as-a-service.
[0036] PaaS: Platform-as-a-service.
[0037] Global Server Load Balance (GSL.B): Its main purpose is to direct user requests to the appropriate node (or region) across the entire network.
[0038] Host machine: A dedicated physical server with a virtualized environment deployed on it.
[0039] Central processing unit (CPU): As the core of a computer system for computation and control, it is the final execution unit for information processing and program execution.
[0040] Memory: An important component of a computer, also known as internal memory or main memory, it is used to temporarily store data processed by the CPU, as well as data exchanged with external storage devices such as hard drives.
[0041] Bandwidth: The "maximum data rate" that can pass from one point to another in a network per unit of time; that is, the amount of data that can be transmitted on the line per unit of time. The commonly used unit for bandwidth is bps (bits per second). The bandwidth of a computer network refers to the highest data rate that the network can handle, i.e., how many bits per second.
[0042] Processor clock speed: The CPU clock speed represents the speed at which digital pulse signals oscillate within the CPU. There is a certain relationship between the clock speed and the actual processing speed.
[0043] Storage space: The set of physical addresses is called physical space, also known as storage space, which is the total capacity of a storage device, such as 256MB of memory, 128MB of USB flash drive, 80GB of hard drive, etc.
[0044] Gigabyte (GMT): also known as gigabyte, is a unit of computer storage capacity.
[0045] PB: refers to Petabyte, which is a higher-level storage unit. 1 PB = 1024 TB = 1048576 GB.
[0046] Bare machine: also known as bare metal, refers to an electronic computer without an operating system or other software.
[0047] Queries per second (QPS) is a measure of how much traffic a specific query server processes within a given time period.
[0048] This specification provides a resource scheduling method, and also relates to a resource scheduling device, a computing device, a resource scheduling system, and a computer-readable storage medium, which will be described in detail in the following embodiments.
[0049] See Figure 1 , Figure 1This diagram illustrates a scenario illustrating a resource scheduling method according to an embodiment of this specification. The network system 100 of this embodiment is a cloud computing platform built upon edge infrastructure, based on cloud computing technology and edge computing capabilities. It is a cloud platform located at the edge, possessing computing, networking, storage, and security capabilities. The network system 100 includes: a central control device 101, edge nodes 102, 103, and 104. Each edge node includes a series of edge infrastructures, including but not limited to: distributed data centers (DCs), wireless equipment rooms or clusters, operator communication networks, core network equipment, base stations, edge gateways, home gateways, computing devices or storage devices, and corresponding network environments. It should be noted that the location, capabilities, and included infrastructure of different edge nodes may be the same or different.
[0050] Specifically, edge nodes 102, 103, and 104 are all network connected to the central control device 101. Furthermore, edge nodes 102, 103, and 104 are distributed in different areas, and the central control device can plan the resource allocation for edge nodes 102, 103, and 104 based on the resource requirements of each area. The central control device can also allocate resources for services in each area to ensure rational resource utilization. Additionally, the central control device can analyze client requests for services to allocate more suitable areas to client requests.
[0051] By utilizing the processing resource requirements of a region, configuring processing resources for that region, allocating deployment resources for services running on that region, and assigning corresponding processing regions to client requests, the system's operating efficiency is improved.
[0052] See Figure 2 , Figure 2 A flowchart of a resource scheduling method according to an embodiment of this specification is shown, which specifically includes the following steps.
[0053] Step 202: Based on the deployment resource requirements of the target service, determine the target deployment area for the target service and the deployment resources corresponding to each target deployment area. The target service is one of at least one service to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0054] Deployment resource requirements can refer to the resources needed to run a service. In cloud computing applications, resource requirements might manifest as virtual machines' resource demands on the host machine, such as processor clock speed, memory utilization, and bandwidth speed. Correspondingly, deployment resources can refer to the resources allocated to a service. The deployment area can be a physical location, such as Beijing, Shanghai, or Shenzhen; the service can be a service running on an edge node, such as a virtual machine or an application server.
[0055] In practical applications, edge cloud infrastructure supports multiple applications, i.e., multiple services. Resource quotas can be applied for according to the needs of each service, which means that corresponding resources need to be allocated to each service to ensure stable operation.
[0056] For example, if service D needs to be deployed, and the resource requirements for service D are given: 15PB of storage space, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and a bandwidth of 200Gbps, then allocate the corresponding target deployment region to service D, and determine the deployment resources within that target deployment region, based on these resource requirements.
[0057] The embodiments in this specification allocate and deploy resources for services based on the resource requirements of the target service, thereby improving the rationality of resource allocation for services, reducing the need for subsequent service scheduling due to insufficient resources, reducing the processing resources used for scheduling, and saving resource costs.
[0058] In one possible implementation, before determining the target deployment regions for the target service and the corresponding deployment resources for each target deployment region based on the deployment resource requirements of the target service, the method further includes:
[0059] Based on the resource requirements of at least one service corresponding to the first region, the configuration requirements of the first region are determined, wherein the first region is one of the regions to be deployed;
[0060] Configure the edge node resources corresponding to the first region according to the configuration requirements of the first region.
[0061] Configuration requirements can be the resource needs within the region, such as the number of data centers required and the number of servers in each data center. Correspondingly, edge node resources can include data centers and servers. Configuration requirements can also include the processor's clock speed, memory utilization, and bandwidth speed within the machines.
[0062] In practical applications, because edge cloud is a distributed cluster, it is necessary to predict the business needs of each region and plan and construct global resources accordingly, for example, by planning and constructing global resources on a monthly basis. This allows for resource management within a region to meet the growing resource demands of services.
[0063] For example, in region A, there is an edge node. The services corresponding to this region include Service A, Service B, and Service C. Service A requires the following resources: 10PB of storage, 256GB of memory, a 64-core CPU at 2.8GHz, and 100Gbps bandwidth. Service B requires the following resources: 50PB of storage, 256GB of memory, a 64-core CPU at 2.0GHz, and 150Gbps bandwidth. Service C requires the following resources: 10PB of storage, 512GB of memory, a 128-core CPU at 2.8GHz, and 100Gbps bandwidth. Combining the resource requirements of Services A, B, and C yields a resource requirement of 70PB of storage, 1024GB of memory, and a 256-core CPU. Based on these resource requirements, two data centers are needed, each with 50 servers.
[0064] The embodiments in this specification plan the resources of each region according to the resource requirements of the service, thereby improving the rational utilization rate of the region.
[0065] In one possible implementation, configuring the edge node resources corresponding to the first region according to the configuration requirements of the first region includes:
[0066] Determine the target resource requirements of at least one service corresponding to the first region within a set time period;
[0067] Based on the target resource requirements, the edge node resources of the first region are configured within a set time period.
[0068] The set time period can be the time period for resource statistics, such as one month or one week; the target resource requirement can be the upper limit of resource requirements, such as the maximum resource usage within one month being 10PB of storage space, 256G of memory, 128 CPU cores, a processing frequency of 2.8GHz, and a bandwidth of 100Gbps.
[0069] In practical applications, it is necessary to statistically analyze resource usage over a period of time to determine the upper limit of resource usage. Based on this upper limit, resource planning can be carried out for this area.
[0070] For example, in region A, the corresponding services include Service A, Service B, and Service C. In the past month, Service A's resource requirements are as follows: maximum storage space of 10PB, memory of 256GB, CPU with 64 cores and a processing frequency of 2.8GHz, and bandwidth of 100Gbps. Service B's resource requirements are as follows: maximum storage space of 50PB, memory of 512GB, CPU with 64 cores and a processing frequency of 2.0GHz, and bandwidth of 150Gbps. Service C's resource requirements are as follows: maximum storage space of 10PB, memory of 256GB, CPU with 64 cores and a processing frequency of 2.8GHz, and bandwidth of 100Gbps. Combining the resource requirements of Services A, B, and C yields a target resource requirement of 70PB storage space, 1024GB memory, and a CPU with 256 cores. Because some resources need to be reserved to avoid unforeseen circumstances, the resource requirement could be 100PB storage space, 1280GB memory, and a CPU with 320 cores. Based on resource requirements, two data centers can be determined, with 50 servers in each data center.
[0071] The embodiments in this specification determine the resource demand in a region in the near future by statistically analyzing the resource demand over a period of time, thereby enabling the rational allocation of resources.
[0072] In practical applications, the demand for resources can be estimated based on anticipated events, holidays, and other factors, allowing for adjustments to service resources accordingly.
[0073] For example, in region A, the corresponding services include Service A, Service B, and Service C. Over the next week, Service A is expected to experience increased resource demand due to an event. The projected resource requirements for Service A are: 10PB of storage, 256GB of memory, a 64-core CPU at 2.8GHz, and 100Gbps bandwidth. Service B's resource requirements are: 50PB of storage, 512GB of memory, a 64-core CPU at 2.0GHz, and 150Gbps bandwidth. Service C's resource requirements are: 10PB of storage, 256GB of memory, a 64-core CPU at 2.8GHz, and 100Gbps bandwidth. Combining the resource requirements of Services A, B, and C yields a target resource requirement of 70PB of storage, 1024GB of memory, and a 256-core CPU. However, to reserve some resources to mitigate unforeseen circumstances, the target resource requirement could be 100PB of storage, 1280GB of memory, and a 320-core CPU. Configure the processing resources of the corresponding edge nodes within the region according to resource requirements.
[0074] The embodiments in this specification estimate resource demand over a future period to determine changes in resource demand in a region, thereby enabling rational resource allocation.
[0075] In one possible implementation, determining the target deployment regions for the target service and the corresponding deployment resources for each target deployment region based on the deployment resource requirements of the target service includes:
[0076] The processing resources of the region to be deployed are determined. If the processing resources of the region to be deployed meet the deployment resource requirements of the target service, the region to be deployed is determined as the target deployment region for the target service, and deployment resources are allocated to the target service according to the processing resources of the target deployment region.
[0077] Among them, the processing resources can be the processing resources of the host machine. For example, the host machine has 10PB of storage space, 256G of memory, 128 CPU cores, a processing frequency of 2.8GHz, and a bandwidth of 100Gbps.
[0078] In practical applications, when multiple services are deployed, there may be insufficient processing resources in a region. Therefore, it is necessary to determine the target deployment region where the target service can be deployed and the deployment resources allocated to the target service within the target deployment region.
[0079] For example, if there are regions 1, 2, and 3, and service D needs to be deployed in regions 1, 2, and 3, but the processing resources in regions 1 and 2 are insufficient, then region 3 can be identified as the target deployment region, and deployment resources can be allocated to the target service according to the processing resources corresponding to the target deployment region.
[0080] Step 204: Deploy the target service based on the deployment resources.
[0081] In practical applications, once the deployment resources have been allocated, the service can be installed on the corresponding edge node based on the allocated deployment resources.
[0082] Continuing the example above, in region A, the deployed resources are 100PB of storage space, 1280GB of memory, and a CPU with 320 cores. Service A is installed based on resources with 10PB of storage space, 256GB of memory, a CPU with 64 cores, a processing frequency of 2.8GHz, and a bandwidth of 100Gbps. Service B is installed based on resources with 50PB of storage space, 512GB of memory, a CPU with 64 cores, a processing frequency of 2.0GHz, and a bandwidth of 150Gbps. Service C is installed based on resources with 10PB of storage space, 256GB of memory, a CPU with 64 cores, a processing frequency of 2.8GHz, and a bandwidth of 100Gbps.
[0083] In one possible implementation, a resource scheduling method provided in one embodiment of this specification further includes:
[0084] Monitor the update deployment resource requirements of the target service;
[0085] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0086] If the available processing resources in the second region meet the requirements for the supplementary deployment resources, the supplementary deployment resources are determined from the processing resources in the second region;
[0087] The additional deployment resources are added to the deployment resources corresponding to the second region.
[0088] Among them, the updated deployment resource requirements can be the resource requirements of the service currently in operation, such as the resource requirements of the service in the last five seconds; the deployment resources can be the resources allocated to the service, such as 15PB of storage space, 256G of memory, 64 cores of CPU, a processing frequency of 2.8GHz, and a bandwidth of 150Gbps; the supplementary deployment resources can be the resources added or removed from the service.
[0089] In practical applications, resource scheduling needs to dynamically meet the elastic resource allocation requirements of multiple services. That is, resources should be allocated to services according to the demand in different time periods.
[0090] For example, service D's resource requirements are: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Resources are allocated to service D based on these requirements. However, service D experiences peak access periods, with requests increasing from 4 PM to 6 PM daily. Therefore, resource allocation for service D is adjusted based on the resource demand during this period. For instance, during 4 PM to 6 PM daily, the resources for service D could be changed to: 15PB of storage, 512GB of memory, a 128-core CPU with a processing frequency of 3.8GHz, and 200Gbps bandwidth.
[0091] For example, service D has the following resource requirements: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and a bandwidth of 150Gbps. Resources are allocated to service D based on these requirements. However, service D experiences a low-access period, from 24:00 to 7:00 each day, when the request volume for service D is lower than at other times. Therefore, resource allocation is based on the resource demand during this period. For instance, during this period, the resources for service D could be changed to: 15PB of storage, 128GB of memory, a 32-core CPU with a processing frequency of 1.8GHz, and a bandwidth of 20Gbps.
[0092] The embodiments in this specification improve resource utilization efficiency and stability by flexibly allocating resources to services.
[0093] One possible implementation also includes:
[0094] Monitor the update deployment resource requirements of the target service;
[0095] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0096] If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, alternative resources are determined from the processing resources in the third region, wherein the third region includes other regions in the target deployment region besides the second region;
[0097] The target service is deployed in the third region based on the alternative resources.
[0098] In practical applications, if the resources of the edge node where the target service is located are insufficient, other edge nodes can be searched in the current region first to deploy the target service. If the resources of the region where the service is located are insufficient, other regions can be searched and the deployment resources of other regions can be used to deploy the edge node.
[0099] For example, service D requires the following resources: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps of bandwidth. However, service D experiences peak access periods, with requests to it increasing significantly between 4 PM and 6 PM daily. Since the current region lacks sufficient processing resources, a nearby region with adequate resources is selected to deploy service D on the appropriate edge node.
[0100] It should be noted that after the target service is deployed on the edge node, the edge node can directly receive client requests for the target service and process the client requests.
[0101] One possible implementation also includes:
[0102] Monitor the update deployment resource requirements of the target service;
[0103] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0104] If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, determine the deployment resources corresponding to at least one second service, wherein the at least one second service includes other services in the second region besides the target service;
[0105] The supplementary deployment resources are determined from the deployment resources corresponding to the at least one second service;
[0106] The additional deployment resources are added to the deployment resources corresponding to the second region.
[0107] In practical applications, multiple services share a resource pool, and services need to have the ability to quickly move between edge cloud resources. In other words, the resources used by each service need to be coordinated with each other as needed to allocate and deploy resources reasonably.
[0108] For example, service D's resource requirements are: 15PB storage, 256GB memory, 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Service E is also deployed in the same area, with resource requirements of: 20PB storage, 512GB memory, 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. However, service D experiences peak access periods, with requests to service D higher between 4 PM and 6 PM daily, while requests to service E are lower. Therefore, based on the resource demand during 4 PM to 6 PM, resource allocation to service D is reduced by compressing the resource usage of service E. For instance, during 4 PM to 6 PM daily, the resource requirements for service D are changed to: 15PB storage, 512GB memory, 128-core CPU with a processing frequency of 3.8GHz, and 200Gbps bandwidth. From 4 PM to 6 PM, the resource usage of service E is 20PB of storage space, 256G of memory, 64 CPU cores, a processing frequency of 1.8GHz, and a bandwidth of 100Gbps.
[0109] For example, service D's resource requirements are: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Services E and F are also deployed in this area. Service E's resource requirements are: 20PB of storage, 512GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Service F's resource requirements are: 25PB of storage, 512GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. However, service D experiences peak access times, specifically from 4 PM to 6 PM daily. Requests to service D are higher during these times compared to other periods, while requests to services E and F are lower. Therefore, based on the resource demand during this period, the resource allocation for service D is adjusted by reducing the resource usage of services E and F. For example, during this period, service D's resources might be configured as follows: 15PB of storage, 512GB of memory, a 128-core CPU at 3.8GHz, and 200Gbps bandwidth. Then, during the same period, service E's resource usage would be 20PB of storage, 384GB of memory, a 32-core CPU at 2.3GHz, and 130Gbps bandwidth. Service F's resource usage would be 25PB of storage, 384GB of memory, a 32-core CPU at 2.3GHz, and 120Gbps bandwidth.
[0110] The embodiments in this specification allocate service resources by compressing resources from other services. Because of the dynamic allocation of resources, the rationality of resource utilization is improved.
[0111] In one possible implementation, determining the supplementary deployment resources from the deployment resources corresponding to the at least one second service includes:
[0112] Determine the priority of the target service, and if the priority of the target service is higher than the priority of at least one second service, determine the supplementary deployment resources from the deployment resources corresponding to the at least one second service.
[0113] Among them, priority can be the priority of service preemption of resources. For example, priority is divided into level A, level B and level C, where level A can be the highest priority and level C can be the lowest priority.
[0114] In practical applications, when resources are scarce within an edge node, high-priority services can preempt resources from low-priority services. In other words, a priority can be set for all services, and resources can be scheduled and allocated according to the priority.
[0115] For example, service D has the following resource requirements: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Service E is also deployed in the same region, with resource requirements of 20PB of storage, 512GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. However, service D experiences peak access periods, with higher request volumes from 4 PM to 6 PM daily compared to other times. Similarly, service E also experiences higher request volumes during the same period. Furthermore, since there are no idle resources in the region during 4 PM to 6 PM daily, resource allocation is based on the priority of services E and D. For example, if service E has a priority of B and service D has a priority of A, and the resources for service D are changed daily from 4 PM to 6 PM to include 15PB of storage, 512GB of memory, a 128-core CPU with a processing frequency of 3.8GHz, and 200Gbps bandwidth, then during the same period, service E's resource usage will be 20PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 1.8GHz, and 100Gbps bandwidth.
[0116] For example, service D's resource requirements are: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Service E is also deployed in the same region, with resource requirements of: 20PB of storage, 512GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. However, service D experiences peak access periods, with higher request volume between 4 PM and 6 PM daily compared to other times. Similarly, service E also experiences higher request volume during the same period. Furthermore, if there are no available resources in the region between 4 PM and 6 PM, resource allocation is based on the priorities of services E and D. For instance, if service E has a priority of A and service D has a priority of B, resources will be preempted from available resources in the region. If no resources are available in the region, then the region will wait for new available resources or resources that can be compressed from services with a priority lower than B.
[0117] The embodiments in this specification can allocate resources according to priority, and priorities can be set according to needs to make reasonable resource allocation and improve resource utilization efficiency.
[0118] In one possible implementation, after determining the priority of the target service, the method further includes:
[0119] If the priority of the target service is the same as the priority of the at least one second service, the priority of the target service is adjusted according to the resource requirements of the target service and the resource requirements of the at least one second service.
[0120] In practical applications, when a single-machine cluster experiences resource shortages, congestion, or overload, priority is prioritized for preemption and degraded services to ensure service availability. In other words, the priority of services can be adjusted to adjust resource allocation for those services.
[0121] For example, service D is deployed in a region with the following resource requirements: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. Service E is also deployed in the same region with the following resource requirements: 20PB of storage, 512GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. However, service D experiences peak access periods, with higher request volume between 4 PM and 6 PM daily compared to other times. Similarly, service E also experiences higher request volume during the same period. Furthermore, during 4 PM to 6 PM daily, there are no idle resources in the region. Therefore, resource allocation is based on the priorities of services E and D. For instance, if both service E and service D have priority level A, service D's priority can be adjusted to level B to avoid resource contention.
[0122] The embodiments in this specification improve stability by adjusting the priority of services with the same priority to avoid instability caused by priority conflicts.
[0123] Furthermore, after determining the supplementary deployment resources from the deployment resources corresponding to the at least one second service, the method further includes:
[0124] The at least one second service is migrated to a third region, wherein the third region includes one of the other regions in the target deployment region besides the second region.
[0125] In practical applications, if the target service preempts resources from other services, causing those services to run out of resources, then you can find a nearby region with sufficient resources and deploy the other services on the corresponding edge nodes.
[0126] In one possible implementation, after determining the target deployment regions for the target service and the corresponding deployment resources for each target deployment region based on the deployment resource requirements of the target service, the method further includes:
[0127] In response to a custom deployment instruction containing deployment region information, a custom deployment region corresponding to the target service is determined, and the target service is migrated to the custom deployment region, wherein the custom deployment region is one of the target deployment regions.
[0128] Among them, the custom deployment command can be a command for the user to specify the region where the service is deployed; the scheduling region can be the region specified in the custom deployment command.
[0129] In practical applications, edge cloud resource scheduling provides customers with a list of distributed resource pools with location attributes. For example, it shows users the resource capabilities of a region in location A, so that users can choose to reschedule to a new resource instance that meets both the location attributes and resource quantity requirements as a substitute.
[0130] For example, service D is deployed in the target deployment region of Shanghai. Service D's resource requirements are: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. If the user finds that a target deployment region also exists in Beijing, then service D is deployed in the target deployment region of Beijing, which is equivalent to migrating service D.
[0131] The embodiments in this specification migrate services to the corresponding regions specified by the user, providing personalization capabilities.
[0132] In one possible implementation, after determining the target deployment regions for the target service and the corresponding deployment resources for each target deployment region based on the deployment resource requirements of the target service, the method further includes:
[0133] In the event of a failure of an edge node corresponding to the target deployment area, the service to be restored corresponding to the failed edge node is determined, and the service to be restored is migrated to other edge nodes, wherein the service to be restored is one of the target services.
[0134] In this context, an edge node failure can be caused by a hardware or software malfunction within the host machine, such as corrupted host machine memory. A service awaiting recovery is one that uses the failed resource. For example, if service A uses host machine 1 and host machine 1's disk fails, service A needs to be recovered and becomes a service awaiting recovery.
[0135] In practical applications, the ability to reschedule resources in the allocated resource pool list that fail or malfunction is required. In other words, services that cannot run due to failure can be rescheduled to other regions.
[0136] For example, service D is deployed in the target deployment area in Shanghai. Service D's resource requirements are: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and 150Gbps bandwidth. If the target deployment area in Shanghai experiences a network failure and communication is impossible, then service D will be migrated to the target deployment area in Beijing; that is, service D will be deployed in the target deployment area in Beijing.
[0137] The embodiments in this specification migrate services in the target deployment area in the event of a failure of an edge node in the target deployment area, thereby improving the stability of the edge node in the target deployment area.
[0138] Step 206: Based on the client request for the target service, determine the target edge node to process the client request, so that the target edge node processes the client request.
[0139] In this context, a client request can be a request for a service. For example, if the service is a balance query program, the client request can be a request to query the balance.
[0140] In practical applications, access to services also affects resource consumption, so it is necessary to determine the amount of resources required for access in order to schedule client requests in the future.
[0141] For example, if the number of accesses to service D is 10 million QPS in the same second, the required bandwidth can be determined to be 500Gbps and memory 256G.
[0142] The embodiments in this specification determine the amount of resources required for access, so as to facilitate the subsequent scheduling of client requests, thereby improving the system's processing efficiency.
[0143] In one possible implementation, determining the target edge node for processing the client request based on the client request for the target service includes:
[0144] Determine the region corresponding to the client request for the target service, and determine the target processing region based on the region corresponding to the client request and the preset scheduling rules, wherein the target processing region includes one of the target deployment regions;
[0145] Among the edge nodes corresponding to the target processing area, determine the target edge node for processing the client request.
[0146] In practical applications, global dynamic load balancing can be performed in real time based on the user request volume and resource pool capacity of various services across the entire network. This guides user requests from across the network to the most suitable resource instance for their corresponding service, and identifies the most suitable edge resource instance from the resource instance pool for that service, taking into account both location and capacity.
[0147] Using the previous example, if the number of requests to service D within the same second is 10 million QPS, then the required bandwidth is 500Gbps and the memory is 256G. However, the edge node currently hosting service D does not have enough processing resources. Therefore, based on the resource requirements, a target edge node is determined within the current region, and all or a portion of the requests are allocated to that target edge node.
[0148] For example, if service D experiences 10 million QPS (queries per second), this indicates a required bandwidth of 500Gbps and 256G of memory. Since service D's current location in region 1 lacks these resources, the target region is determined based on resource demand. Region 2 is closer to region 1 and has sufficient resources; therefore, all or some requests can be allocated to region 2 to ensure service D is scheduled to the most suitable edge resource instance.
[0149] By performing global dynamic load balancing based on user request volume and resource pool capacity, the heavy load on a single node is reduced, and the load is distributed across multiple edge nodes in multiple regions to ensure reasonable resource allocation.
[0150] This specification provides a resource scheduling method and apparatus. The resource scheduling method includes: determining, based on the deployment resource requirements of a target service, a target deployment region for the target service and deployment resources corresponding to each target deployment region, wherein the target service is one of at least one services to be deployed, the target deployment region is one of at least one deployment region to be deployed, each deployment region to be deployed corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes; deploying the target service based on the deployment resources; and determining, based on a client request for the target service, a target edge node to process the client request, so that the target edge node processes the client request. By determining the target deployment region and the corresponding deployment resources for the target service, and allocating corresponding target edge nodes for client requests, the operating efficiency of the edge nodes is improved.
[0151] This specification also provides a resource processing system, which includes a central control device and at least one edge node;
[0152] The central control device is used to determine the target deployment area and the deployment resources corresponding to each target deployment area based on the deployment resource requirements of the target service. The target service is one of at least one service to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0153] The central control device is used to deploy the target service based on the deployment resources;
[0154] The central control device is used to determine the target edge node for processing the client request based on the client request for the target service, so that the target edge node processes the client request;
[0155] The target edge node is used to receive and process the target client request.
[0156] The deployment area can be a physical location, such as Beijing, Shanghai, or Shenzhen. The service can be a service running on that area, such as a virtual machine or an application server. Resource requirements are the resources needed to run the service. For example, in cloud computing applications, resource requirements might be the virtual machine's resource requirements on the host machine, such as processor frequency, memory utilization, and bandwidth speed. Processing resources can be the host machine's processing resources, such as 10PB of storage, 256GB of memory, a 128-core CPU with a processing frequency of 2.8GHz, and 100Gbps of bandwidth. Deployment resources are the resources allocated to the service. Client requests can be requests to the service; for example, if the service is a balance query program, the client request could be a request to query the balance.
[0157] The central control device manages edge nodes, providing unified control over at least one edge node in the network system across various aspects such as resource scheduling, image management, instance management, operation and maintenance, network, and security. This allows cloud computing services to be processed on each edge node. In terms of deployment, the central control device can be deployed in one or more cloud computing data centers, or in one or more traditional data centers. The central control device and the at least one edge node it manages can also form an edge cloud network; this embodiment does not impose any limitations on this.
[0158] In practical applications, see Figure 3 , Figure 3This diagram illustrates an architecture of a resource scheduling system provided in an embodiment of this specification. The resource allocation system can be an edge cloud scheduling system, which consists of multiple layers, including an access scheduling layer, a resource scheduling layer, and a resource planning layer. Edge cloud is a relative concept, referring to a cloud computing platform relatively close to the terminal. In other words, it is distinct from a central cloud or traditional cloud computing platform. A central cloud or traditional cloud computing platform can include data centers with large-scale and concentrated resources, while edge nodes cover a wider network range and are therefore closer to the terminal. While the resource scale of a single edge node is smaller, the number of edge nodes is greater, and multiple edge nodes constitute the edge cloud in this embodiment.
[0159] First, the resource scheduling layer can be IaaS layer resource scheduling, capable of scheduling production virtual machines, containers, bare metal, and other resource quota carriers on demand, which is the scheduling of processing resources for edge nodes in the above embodiment. Second, the access scheduling layer can be PaaS layer service scheduling, including request access scheduling, task scheduling, etc., which is the scheduling of client requests in the above embodiment. Finally, it also includes a resource planning layer, used for overall resource planning to guide the supply chain in distributed node layout. Here, overall resource planning refers to resource planning for all regions, and the supply chain refers to a series of software-provided services, such as service programs that are called.
[0160] Furthermore, the edge cloud scheduling system features multi-layered interactive linkage, including access scheduling with precise traffic redirection capabilities, enabling on-demand access to the nearest available edge node, and global load balancing, which allocates target edge nodes to client requests based on region. Access scheduling is linked with the anomaly detection system to achieve rapid escape from faults or anomalies, i.e., scheduling services that cannot run due to faults to other edge nodes. Access scheduling can trigger resource scaling in the business resource pool based on global or local load, such as setting a priority for all service programs and allocating resources according to priority. Resource scheduling responds to resource requests on demand and delivers resources to maintain the business resource pool capacity at a reasonable level, such as allocating corresponding resources to service programs based on demand at different times. Resource scheduling performs reasonable business orchestration and application co-deployment based on global resource inventory to achieve a reasonable global resource utilization rate. Application co-deployment refers to deploying different services together on the same node, such as deploying application A and application B on edge node 1, where the resources of edge node 1 are just sufficient for the deployment of applications A and B.
[0161] Furthermore, the edge cloud consists of distributed small cloud clusters spread across the entire network. Each node cluster is small in scale, with multiple applications sharing egress bandwidth; for example, application A and application B share 500Gbps of bandwidth. Multiple applications are interleaved and share physical resources (storage, computing, etc.); for example, application A and application B share a 64-core CPU and 1024GB of memory. Edge cloud clusters are connected via the public network. With massive clusters spread across the entire network, the distributed layout cannot guarantee that all nodes are available. Therefore, the edge cloud scheduling system needs to have good anomaly detection and escape capabilities. That is, if an edge node fails, it should be able to detect the abnormal event and migrate the service programs of that edge node.
[0162] In one possible implementation, the target edge node determines unallocated processing resources and processes the client request if the unallocated processing resources can satisfy the access resource.
[0163] If the unallocated processing resources do not meet the access requirements, the client request will be sent to the central control device for processing.
[0164] In practical applications, after a request is received, requests that can be processed locally at the edge are processed locally. Requests that cannot be processed locally are sent to the central control device for processing. In other words, edge nodes need to have the ability to route requests across nodes and plan paths to ensure that requests are aggregated to the center for processing in the most reasonable way.
[0165] For example, if service program D experiences 10 million QPS (queries per second), the required bandwidth is 500Gbps and memory is 256G. However, the edge node where service program D is located does not have these resources. Therefore, all or part of the requests can be sent to the central control device for scheduling and processing to ensure the stable operation of service program D. The central control device can then forward received requests to the computing modules in the cloud computing data center, thereby distributing the load on the edge nodes.
[0166] This specification's embodiments improve the operational efficiency of edge nodes by utilizing the demand of a region to allocate resources to edge nodes in that region, allocating resources to service programs running on edge nodes, and allocating corresponding edge nodes for client requests.
[0167] The following is in conjunction with the appendix Figure 4 Taking the application of the resource scheduling method provided in this specification in a cloud computing scenario as an example, the resource scheduling method will be further explained. Figure 4 A flowchart illustrating the processing steps of a resource scheduling method according to an embodiment of this specification is shown, specifically including the following steps.
[0168] Step 402: Within a set time period, determine the target resource requirements for at least one service corresponding to each region to be deployed.
[0169] The set time period can be the time period for resource statistics, such as one month or one week; the target resource requirement can be the upper limit of resource requirements, such as the maximum resource usage within one month being 10PB of storage space, 256G of memory, a 64-core CPU with a processing frequency of 2.8GHz, and a bandwidth of 100Gbps.
[0170] For example, in region A, the corresponding services include Service A, Service B, and Service C. In the past month, the resource requirements for Service A are as follows: maximum required resources: 10PB storage, 256GB memory, 64-core CPU with a processing frequency of 2.8GHz, and 100Gbps bandwidth. The resource requirements for Service B are as follows: maximum required resources: 50PB storage, 512GB memory, 64-core CPU with a processing frequency of 2.0GHz, and 150Gbps bandwidth. The resource requirements for Service C are as follows: maximum required resources: 10PB storage, 256GB memory, 64-core CPU with a processing frequency of 2.8GHz, and 100Gbps bandwidth. Combining the resource requirements of Services A, B, and C yields a target resource requirement of 70PB storage, 1024GB memory, and a 256-core CPU.
[0171] Step 404: Determine the configuration requirements of the region to be deployed based on the target resource requirements of at least one service corresponding to the region to be deployed, and configure the edge node resources corresponding to the region to be deployed based on the configuration requirements of the region to be deployed.
[0172] For example, to reserve some resources to avoid abnormal situations, the resource requirements could be 100PB of storage space, 1280GB of memory, and 320 CPU cores. The corresponding processing resources are then allocated to the edge nodes based on these resource requirements.
[0173] Step 406: Determine the update deployment resource requirements and deployment resources for the target service.
[0174] Among them, the updated deployment resource requirements can be the resource requirements of the service currently running, such as the resource requirements of the service in the last five seconds; the deployment resources can be the resources allocated to the service, such as 15PB of storage space, 256G of memory, 64 cores of CPU, a processing frequency of 2.8GHz, and a bandwidth of 150Gbps.
[0175] For example, if service D is deployed in a region and its resource requirements are given: 15PB of storage, 256GB of memory, a 64-core CPU with a processing frequency of 2.8GHz, and a bandwidth of 150Gbps, then allocate the corresponding resources to service D based on these requirements.
[0176] Step 408: Determine if the deployment resources meet the deployment update requirements. If yes, proceed to step 412. If no, proceed to step 410.
[0177] For example, if service D experiences a peak access period, with requests to service D being higher between 4 PM and 6 PM each day than at other times, then the service will be allocated based on the resource demand during the 4 PM to 6 PM period.
[0178] Step 410: Determine supplementary deployment resources based on the update deployment resource requirements and deployment resources, and select supplementary deployment resources from the region's processing resources.
[0179] Among them, supplementary deployment resources can be resources added to or removed from the service.
[0180] For example, the resources of service D are changed to 15PB of storage space, 512G of memory, 128 CPU cores, 3.8GHz of processing frequency, and 200Gbps of bandwidth between 4 PM and 6 PM every day.
[0181] Step 412: Based on the client request for the target service, determine the target edge node to handle the client request so that the target edge node can process the client request.
[0182] Continuing with the previous example, if the number of requests to service D within the same second is 10 million QPS, then the required bandwidth is 50Gbps and memory is 256G. However, the region where service D is currently located does not have these resources. Therefore, based on the resource requirements, a target region is determined, and all or some of the requests are distributed to other regions.
[0183] By utilizing the processing resource demand of a region, allocating processing resources to that region, allocating resources to services running on that region, and assigning corresponding processing regions to client requests, the system's operating efficiency is improved.
[0184] Corresponding to the above method embodiments, this specification also provides embodiments of a resource scheduling device. Figure 5 A schematic diagram of a resource scheduling device according to one embodiment of this specification is shown. Figure 5 As shown, the device includes:
[0185] The resource determination module 502 is configured to determine the target deployment area and the deployment resources corresponding to each target deployment area based on the deployment resource requirements of the target service. The target service is one of at least one service to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes.
[0186] Resource deployment module 504 is configured to deploy the target service based on the deployment resources;
[0187] The request processing module 506 is configured to determine a target edge node for processing the client request based on the client request for the target service, so that the target edge node processes the client request.
[0188] In one possible implementation, the resource determination module 502 is further configured as follows:
[0189] Based on the resource requirements of at least one service corresponding to the first region, the configuration requirements of the first region are determined, wherein the first region is one of the regions to be deployed;
[0190] Configure the edge node resources corresponding to the first region according to the configuration requirements of the first region.
[0191] In one possible implementation, the resource determination module 502 is further configured as follows:
[0192] Determine the target resource requirements of at least one service corresponding to the first region within a set time period;
[0193] Based on the target resource requirements, the edge node resources of the first region are configured within a set time period.
[0194] In one possible implementation, the resource determination module 502 is further configured as follows:
[0195] The processing resources of the region to be deployed are determined. If the processing resources of the region to be deployed meet the deployment resource requirements of the target service, the region to be deployed is determined as the target deployment region for the target service, and deployment resources are allocated to the target service according to the processing resources of the target deployment region.
[0196] In one possible implementation, resource deployment module 504 is also configured as follows:
[0197] Monitor the update deployment resource requirements of the target service;
[0198] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0199] If the available processing resources in the second region meet the requirements for the supplementary deployment resources, the supplementary deployment resources are determined from the processing resources in the second region;
[0200] The additional deployment resources are added to the deployment resources corresponding to the second region.
[0201] In one possible implementation, resource deployment module 504 is also configured as follows:
[0202] Monitor the update deployment resource requirements of the target service;
[0203] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0204] If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, alternative resources are determined from the processing resources in the third region, wherein the third region includes other regions in the target deployment region besides the second region;
[0205] The target service is deployed in the third region based on the alternative resources.
[0206] In one possible implementation, resource deployment module 504 is also configured as follows:
[0207] Monitor the update deployment resource requirements of the target service;
[0208] Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions;
[0209] If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, determine the deployment resources corresponding to at least one second service, wherein the at least one second service includes other services in the second region besides the target service;
[0210] The supplementary deployment resources are determined from the deployment resources corresponding to the at least one second service;
[0211] The additional deployment resources are added to the deployment resources corresponding to the second region.
[0212] In one possible implementation, resource deployment module 504 is also configured as follows:
[0213] The at least one second service is migrated to a third region, wherein the third region includes one of the other regions in the target deployment region besides the second region.
[0214] In one possible implementation, resource deployment module 504 is also configured as follows:
[0215] Determine the priority of the target service, and if the priority of the target service is higher than the priority of at least one second service, determine the supplementary deployment resources from the deployment resources corresponding to the at least one second service.
[0216] In one possible implementation, resource deployment module 504 is also configured as follows:
[0217] If the priority of the target service is the same as the priority of the at least one second service, the priority of the target service is adjusted according to the resource requirements of the target service and the resource requirements of the at least one second service.
[0218] In one possible implementation, resource deployment module 504 is also configured as follows:
[0219] In response to a custom deployment instruction containing deployment region information, a custom deployment region corresponding to the target service is determined, and the target service is migrated to the custom deployment region, wherein the custom deployment region is one of the target deployment regions.
[0220] In one possible implementation, resource deployment module 504 is also configured as follows:
[0221] In the event of a failure of an edge node corresponding to the target deployment area, the service to be restored corresponding to the failed edge node is determined, and the service to be restored is migrated to other edge nodes, wherein the service to be restored is one of the target services.
[0222] In one possible implementation, the request processing module 506 is further configured as follows:
[0223] Determine the region corresponding to the client request for the target service, and determine the target processing region based on the region corresponding to the client request and the preset scheduling rules, wherein the target processing region includes one of the target deployment regions;
[0224] Among the edge nodes corresponding to the target processing area, determine the target edge node for processing the client request.
[0225] This specification provides a resource scheduling method and apparatus. The resource scheduling apparatus includes: determining, based on the deployment resource requirements of a target service, a target deployment region for the target service and deployment resources corresponding to each target deployment region, wherein the target service is one of at least one services to be deployed, the target deployment region is one of at least one regions to be deployed, each region to be deployed corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes; deploying the target service based on the deployment resources; and determining, based on a client request for the target service, a target edge node to process the client request, so that the target edge node processes the client request. By determining the target deployment region and the corresponding deployment resources for the target service, and allocating corresponding target edge nodes for client requests, the operating efficiency of the edge nodes is improved.
[0226] The above is an illustrative scheme of a resource scheduling device according to this embodiment. It should be noted that the technical solution of this resource scheduling device and the technical solution of the resource scheduling method described above belong to the same concept. For details not described in detail in the technical solution of the resource scheduling device, please refer to the description of the technical solution of the resource scheduling method described above.
[0227] Figure 6 A structural block diagram of a computing device 600 according to one embodiment of this specification is shown. The components of the computing device 600 include, but are not limited to, a memory 610 and a processor 620. The processor 620 is connected to the memory 610 via a bus 630, and a database 650 is used to store data.
[0228] The computing device 600 also includes an access device 640, which enables the computing device 600 to communicate via one or more networks 660. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 640 may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) interface, a Wi-MAX interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0229] In one embodiment of this specification, the above-described components of the computing device 600 and Figure 6 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 6The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0230] The computing device 600 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or PCs. The computing device 600 can also be a mobile or stationary server.
[0231] The processor 620 is configured to execute the following computer-executable instructions, which, when executed by the processor, implement the steps of the resource scheduling method described above.
[0232] The above is an illustrative scheme of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the resource scheduling method described above belong to the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the resource scheduling method described above.
[0233] An embodiment of this specification also provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the resource scheduling method described above.
[0234] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the resource scheduling method described above belong to the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the resource scheduling method described above.
[0235] An embodiment of this specification also provides a computer program, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the resource scheduling method described above.
[0236] The above is an illustrative scheme of a computer program according to this embodiment. It should be noted that the technical solution of this computer program and the technical solution of the resource scheduling method described above belong to the same concept. For details not described in detail in the technical solution of the computer program, please refer to the description of the technical solution of the resource scheduling method described above.
[0237] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0238] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.
[0239] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.
[0240] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0241] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.
Claims
1. A resource scheduling method, comprising: Based on the resource requirements of at least one service corresponding to the first region, the configuration requirements of the first region are determined, wherein the first region is one of the regions to be deployed, and the configuration requirements are the resource requirements of each service in the region, which are obtained by estimating the resources required by the services in the future; and the edge node resources corresponding to the first region are configured according to the configuration requirements of the first region. Based on the deployment resource requirements of the target service, the target deployment region and the deployment resources corresponding to each target deployment region are determined. The target service is one of at least one service to be deployed, the target deployment region is one of at least one region to be deployed, each region to be deployed corresponds to one or more edge nodes, and the deployment resources include deployment resources on the edge nodes. The deployment resources are resources allocated to the service. Based on the deployment resources, the target service is deployed. If the resources of the edge node where the target service is located are insufficient, other edge nodes are searched in the current area to deploy the target service. If the resources of the area where the target service is located are insufficient, deployment resources in other areas are used to deploy the edge node. Based on the client request for the target service, a target edge node is determined to process the client request, so that the target edge node processes the client request.
2. The method according to claim 1, wherein configuring the edge node resources corresponding to the first region according to the configuration requirements of the first region includes: Determine the target resource requirements of at least one service corresponding to the first region within a set time period; Based on the target resource requirements, the edge node resources of the first region are configured within a set time period.
3. The method according to claim 1, wherein determining the target deployment region for the target service and the corresponding deployment resources for each target deployment region based on the deployment resource requirements of the target service includes: The processing resources of the region to be deployed are determined. If the processing resources of the region to be deployed meet the deployment resource requirements of the target service, the region to be deployed is determined as the target deployment region for the target service, and deployment resources are allocated to the target service according to the processing resources of the target deployment region.
4. The method according to claim 3, further comprising: Monitor the update and deployment resource requirements of the target service; Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions; If the available processing resources in the second region meet the requirements for the supplementary deployment resources, the supplementary deployment resources are determined from the processing resources in the second region; The additional deployment resources are added to the deployment resources corresponding to the second region.
5. The method according to claim 3, further comprising: Monitor the update and deployment resource requirements of the target service; Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions; If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, alternative resources are determined from the processing resources in the third region, wherein the third region includes other regions in the target deployment region besides the second region; The target service is deployed in the third region based on the alternative resources.
6. The method according to claim 3, further comprising: Monitor the update and deployment resource requirements of the target service; Supplementary deployment resources are determined based on the updated deployment resource requirements and the deployment resources corresponding to the second region, wherein the second region is one of the target deployment regions; If the available processing resources in the second region do not meet the requirements for the supplementary deployment resources, determine the deployment resources corresponding to at least one second service, wherein the at least one second service includes other services in the second region besides the target service; The supplementary deployment resources are determined from the deployment resources corresponding to the at least one second service; The additional deployment resources are added to the deployment resources corresponding to the second region.
7. The method of claim 6, further comprising, after determining the supplementary deployment resource from the deployment resources corresponding to the at least one second service: The at least one second service is migrated to a third region, wherein the third region includes one of the other regions in the target deployment region besides the second region.
8. The method according to claim 6, wherein determining the supplementary deployment resource from the deployment resources corresponding to the at least one second service comprises: Determine the priority of the target service, and if the priority of the target service is higher than the priority of at least one second service, determine the supplementary deployment resources from the deployment resources corresponding to the at least one second service.
9. The method of claim 8, further comprising, after determining the priority of the target service: If the priority of the target service is the same as the priority of the at least one second service, the priority of the target service shall be adjusted according to the resource requirements of the target service and the resource requirements of the at least one second service.
10. The method according to claim 1, further comprising, after determining the target deployment regions for the target service and the deployment resources corresponding to each target deployment region based on the deployment resource requirements of the target service: In response to a custom deployment instruction containing deployment region information, a custom deployment region corresponding to the target service is determined, and the target service is migrated to the custom deployment region, wherein the custom deployment region is one of the target deployment regions.
11. The method according to claim 1, further comprising, after determining the target deployment regions for the target service and the deployment resources corresponding to each target deployment region based on the deployment resource requirements of the target service: In the event of a failure of an edge node corresponding to the target deployment area, the service to be restored corresponding to the failed edge node is determined, and the service to be restored is migrated to other edge nodes, wherein the service to be restored is one of the target services.
12. The method according to claim 1, wherein determining the target edge node for processing the client request based on the client request for the target service comprises: Determine the region corresponding to the client request for the target service, and determine the target processing region based on the region corresponding to the client request and the preset scheduling rules, wherein the target processing region includes one of the target deployment regions; Among the edge nodes corresponding to the target processing area, determine the target edge node for processing the client request.
13. A resource scheduling system, the system comprising a central control device and at least one edge node; The central control device is used to determine the target deployment area for the target service and the corresponding deployment resources for each target deployment area based on the deployment resource requirements of the target service. The target service is one of at least one services to be deployed, the target deployment area is one of at least one deployment area, each deployment area corresponds to one or more edge nodes, the deployment resources include deployment resources on the edge nodes, and the deployment resources are resources allocated to the service; The central control device is also used to deploy the target service based on the deployment resources. If the resources of the edge node where the target service is located are insufficient, it can search for other edge nodes in the current area to deploy the target service. If the resources of the area where the target service is located are insufficient, it can use the deployment resources of other areas to deploy the edge node. The central control device is further configured to determine, based on a client request for the target service, a target edge node for processing the client request, wherein the target edge node is one of the at least one edge node; The target edge node is used to receive and process the target client request.
14. A computing device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the resource scheduling method according to any one of claims 1-12.
15. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the resource scheduling method according to any one of claims 1-12.
Citation Information
Patent Citations
Service deployment method, resource allocation method, system, device and server
CN112583861A