WO2020001320A1 - 一种资源分配方法、装置及设备 - Google Patents

一种资源分配方法、装置及设备 Download PDF

Info

Publication number
WO2020001320A1
WO2020001320A1 PCT/CN2019/091668 CN2019091668W WO2020001320A1 WO 2020001320 A1 WO2020001320 A1 WO 2020001320A1 CN 2019091668 W CN2019091668 W CN 2019091668W WO 2020001320 A1 WO2020001320 A1 WO 2020001320A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
resources
hybrid
resource pool
mixed
Prior art date
Application number
PCT/CN2019/091668
Other languages
English (en)
French (fr)
Inventor
陈杰
黄涛
张瓅玶
吕奇
李治
欧阳晋
冯亦挥
侯前明
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020001320A1 publication Critical patent/WO2020001320A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Definitions

  • the present application relates to the field of the Internet, and in particular, to a method, a device, and a device for resource allocation.
  • cluster management system In a cluster management system, usually a large number of computing resources need to be deployed. These computing resources can be deployed on multiple physical machines, and computing resources can be flexibly scheduled across multiple physical machines to greatly improve resource utilization.
  • computing resource A can be used for processing online services
  • computing resource B can be used for processing offline services.
  • computing resource A cannot meet business requirements and computing resource B is idle. In another period of time, if there are fewer online services and more offline services, it will cause computing resource B to fail to meet business requirements, and computing resource A will be idle.
  • This application provides a resource allocation method, which includes:
  • the hybrid resource pool is used to provide resources to at least two services.
  • This application provides a resource allocation method, which includes:
  • the hybrid resource pool is used to provide resources to at least two services.
  • This application provides a resource allocation device, where the device includes:
  • An obtaining module configured to obtain a resource application request for a specific service, where the resource application request includes resource information
  • a selection module configured to select a resource from a mixed resource pool according to the resource information
  • An allocation module configured to allocate a resource selected from a mixed resource pool to the specific service
  • the hybrid resource pool is used to provide resources to at least two services.
  • This application provides a resource allocation device, where the device includes:
  • An obtaining module configured to obtain a resource application request for a specific service, where the resource application request includes resource information
  • a sending module configured to send the resource application request to a hybrid scheduler, so that the hybrid scheduler selects a resource from a hybrid resource pool according to the resource information, and allocates the resource to the specific service; wherein The hybrid resource pool is used to provide resources to at least two services.
  • This application provides a resource allocation device, including a processor and a machine-readable storage medium.
  • the machine-readable storage medium stores a number of computer instructions.
  • the processor executes the computer instructions, the processor performs the following processing: A resource application request for a service, the resource application request including resource information; selecting a resource from a mixed resource pool according to the resource information; assigning a resource selected from the mixed resource pool to a specific service; the mixed resource pool is used for Provide resources for at least two services.
  • This application provides a resource allocation device, including a processor and a machine-readable storage medium.
  • the machine-readable storage medium stores a number of computer instructions.
  • the processor executes the computer instructions, the processor performs the following processing: A resource application request for a service, where the resource application request includes resource information; and sending the resource application request to a hybrid scheduler, so that the hybrid scheduler selects a resource from a hybrid resource pool according to the resource information, and The resources are allocated to the specific service; wherein the mixed resource pool is used to provide resources to at least two services.
  • a hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • resources such as computing resources
  • the hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • the scheduling system of each service type can be retained, so that each scheduling system retains its own resource management capabilities and scheduling capabilities, and by mixing resources
  • the pool provides shared resources to all business types of scheduling systems, thereby optimizing and scheduling resources globally, realizing global optimization of resources for the cluster management system, and implementing mixed deployment of resources, thereby achieving the purpose of improving resource utilization and ultimately achieving Sharing of resources.
  • FIGS. 1A-1C are schematic diagrams of application scenarios in an embodiment of the present application.
  • FIGS. 2A and 2B are flowcharts of a resource allocation method in an embodiment of the present application.
  • 3A and 3B are schematic diagrams of resource allocation in an embodiment of the present application.
  • 4A and 4B are structural diagrams of a resource allocation device in an embodiment of the present application.
  • first, second, third, etc. may be used to describe various information in the embodiments of the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information.
  • word "if” can be interpreted as “at " or "when ! or "in response to a determination”.
  • An embodiment of the present application proposes a resource allocation method that can be applied to a cluster management system.
  • a cluster management system usually a large number of resources (such as computing resources) need to be deployed. These resources can be deployed on multiple physical machines and can span multiple Physical machines to flexibly schedule resources and greatly improve resource utilization.
  • the resources in this embodiment may include, but are not limited to, one or any combination of the following: CPU (Central Processing Unit) resources, memory resources, disk resources, bandwidth resources, and the like, and there are no restrictions on the types of these resources.
  • CPU Central Processing Unit
  • memory resources disk resources
  • bandwidth resources bandwidth resources
  • the physical machine in this embodiment may include, but is not limited to, one or any combination of the following: a server, a personal computer (PC), a terminal device, a smart phone / mobile phone, a tablet computer, a personal digital assistant (PDA), Laptop computers, desktop computers, data platforms, e-commerce platforms, cloud hosts, etc.
  • a server will be used as an example.
  • the cluster management system can deploy a large number of servers, such as more than 1,000 servers, which provide a large amount of CPU resources, such as each server provides 8 CPU cores, so that the cluster management system can use these CPU resources (such as 1000 servers (All the CPU resources are equivalent to a whole) to create a large number of virtual machines and containers, and then use these virtual machines and containers to provide services to users.
  • a large number of servers such as more than 1,000 servers, which provide a large amount of CPU resources, such as each server provides 8 CPU cores, so that the cluster management system can use these CPU resources (such as 1000 servers (All the CPU resources are equivalent to a whole) to create a large number of virtual machines and containers, and then use these virtual machines and containers to provide services to users.
  • the cluster management system needs to be able to handle multiple business types.
  • multiple scheduling systems can be deployed in the cluster management system, that is, multiple scheduling systems coexist.
  • the scheduling system A for online services and the scheduling system B for offline services are deployed in the cluster management system.
  • scheduling system C for real-time services and machine learning services can also be deployed.
  • scheduling system D and the like There is no restriction on the scheduling system D and the like.
  • the scheduling system A may have the capabilities of resource management, scheduling, etc., and may allocate resources for online services
  • the scheduling system B may have the capabilities of resource management, scheduling, etc., and may allocate resources for offline services.
  • the scheduling system A can be implemented by software or hardware.
  • the hardware implementation is taken as an example in the following, for example, the function of the scheduling system A is implemented by an online service scheduler.
  • the scheduling system B can be implemented by software or hardware.
  • the hardware implementation is taken as an example, for example, the function of the scheduling system B is implemented by an offline service scheduler.
  • a cluster management system can deploy six servers, each of which provides eight CPU cores. In practical applications, the number of servers can be much larger than six.
  • the cluster management system can deploy scheduling system A and scheduling system B. Scheduling system A and scheduling system B can be deployed on the same device or on different devices. There is no restriction on this.
  • all CPU resources may be divided into resources for processing online services and resources for processing offline services.
  • the CPU resources of the server 101, the server 102, and the server 103 may be divided into online services
  • the CPU resources of the server 104, server 105, and server 106 may be divided into offline services.
  • scheduling system A can use the CPU resources of server 101, server 102, and server 103 to allocate resources for online services.
  • scheduling system B can use the CPU resources of server 104, server 105, and server 106 to allocate resources for offline services.
  • all CPU resources are divided into three resource pools, namely an online service resource pool, an offline service resource pool, and a hybrid resource pool.
  • the CPU resources of the server 101 can be divided into online service resource pools
  • the CPU resources of the server 106 can be divided into offline business resource pools
  • the CPU resources of the server 102, server 103, server 104, and server 105 can be divided into mixed Resource pool.
  • the scheduling system A can use the CPU resources in the online service resource pool (that is, the CPU resources of the server 101) to allocate resources for online services
  • the scheduling system B can use the CPU resources in the offline service resource pool (that is, the CPU resources of the server 106) ) Allocate resources for offline services.
  • resources can be provided to at least two services (such as services of all service types) through the hybrid resource pool, and the following is an example of providing resources to online services and offline services through the hybrid resource pool.
  • resources can be provided to the online business, such as all CPU resources of the server 102-server 105 To the online service, plus the CPU resources in the online service resource pool, it can meet the needs of the online service, and avoid the idle CPU resources of the offline service.
  • most or all resources in the mixed resource pool can be provided to offline services, such as all CPU resources of server 102-server 105 are provided to offline Services, plus CPU resources in the offline service resource pool, can meet the needs of offline services, and can avoid idle CPU resources for online services.
  • a hybrid scheduling system E can also be deployed in the cluster management system.
  • the hybrid scheduling system E can have resource management and scheduling capabilities. , Can allocate resources for online and offline services, and the hybrid scheduling system E can use resources in the mixed resource pool to allocate resources for online and offline services.
  • the hybrid scheduling system E can be implemented by software or hardware.
  • the hardware implementation is taken as an example in the following.
  • the function of the hybrid scheduling system E is implemented by a hybrid scheduler.
  • the hybrid scheduling system E may be deployed on the same device as the scheduling system A, may be deployed on the same device as the scheduling system B, or may be deployed on different devices with the scheduling system A and the scheduling system B, which is not limited.
  • FIG. 2A it is a schematic flowchart of a resource allocation method proposed in an embodiment of the present application.
  • the method can be applied to a hybrid scheduler.
  • the method may include:
  • Step 211 Obtain a resource application request for a specific service.
  • the resource application request may include resource information, and the resource application request may be sent by a service scheduler for managing the specific service.
  • the specific service may include, but is not limited to, an online service, an offline service, a real-time service, or a machine learning service. If the specific service is an online service, the online service scheduler used to manage the online service may send a resource application request to the hybrid scheduler, and the resource application request may include resource information such as the requested resource amount and priority. If the specific service is an offline service, the offline service scheduler used to manage the offline service may send a resource application request to the hybrid scheduler, and the resource application request may include resource information such as the requested resource amount and priority. By analogy, the details are not repeated for other specific services.
  • Step 212 Select a resource from the mixed resource pool according to the resource information.
  • the hybrid resource pool is used to provide resources to at least two services, and the at least two services include specific services.
  • the hybrid resource pool is used to provide resources to online services and offline services. After obtaining a resource application request for an online service, a resource is selected from the hybrid resource pool according to the resource information.
  • Selecting a resource from the mixed resource pool according to the resource information may include, but is not limited to, obtaining a resource view of the mixed resource pool, the resource view includes an available resource amount, and obtaining the requested resource amount from the resource information. If the applied resource amount is less than or equal to the available resource amount, select a resource corresponding to the applied resource amount from a mixed resource pool; or, if the applied resource amount is greater than the available resource amount, select a resource corresponding to the available resource from the mixed resource pool. Corresponding resources, or refuse to select resources from the mixed resource pool.
  • a priority may be obtained from the resource information, and based on the priority, resources are not selected from the mixed resource pool; or, based on the priority, release The occupied resources in the mixed resource pool, and a resource corresponding to the requested resource amount is selected from the mixed resource pool. Or, based on the priority, the occupied resources in the hybrid resource pool are shared, and a resource corresponding to the requested resource amount is selected from the hybrid resource pool.
  • refusing to select resources from the mixed resource pool may include, but is not limited to, if the priority is lower than the priority corresponding to the occupied resources in the mixed resource pool, then it may be rejected from the mixed resource pool To select resources, that is, no longer allocate resources for specific services from the mixed resource pool.
  • releasing the occupied resources in the mixed resource pool and selecting resources corresponding to the requested resource amount from the mixed resource pool may include, but not limited to, if the priority is greater than the mixed resource pool
  • the priority corresponding to the occupied resources in the resource pool, the occupied resources in the hybrid resource pool can be released, and the resources corresponding to the requested resource amount can be selected from the hybrid resource pool according to the occupied resources; wherein the occupied resources Resources are monopolized by the specific service. For example, assume that the priority of service A is greater than the priority of service B, and service B already occupies resource X in the mixed resource pool.
  • the occupied resource X in the mixed resource pool can be released and the The occupied resource X selects a resource Y corresponding to the requested resource amount from the mixed resource pool (the resource Y has the same size as the requested resource amount), and the resource Y may be a part or all of the resources of the occupied resource X. It should be noted that resource Y is monopolized by service A, that is, service B no longer uses resource Y.
  • sharing the occupied resources in the mixed resource pool and selecting a resource corresponding to the requested resource amount from the mixed resource pool may include, but is not limited to: if the priority is equal to the mixed resource pool
  • the priority corresponding to the occupied resources in the resource pool, the shared resources in the mixed resource pool can be shared, and the resources corresponding to the requested resource amount can be selected from the mixed resource pool according to the occupied resources; wherein the occupied resources Resources are shared by the specific service and other services. For example, assume that the priority of service A is equal to the priority of service B, and service B already occupies resource X in the mixed resource pool.
  • the occupied resource X in the mixed resource pool can be shared and The occupied resource X selects a resource Y corresponding to the applied resource amount from the mixed resource pool, and the resource Y may be a part of the resource X of the occupied resource or the entire resource. It should be noted that resource Y is shared by service A and service B. When service A needs to use resource Y, it is necessary to ensure that service A uses resource Y first. When service A does not need to use resource Y, service B can use resource Y. .
  • Step 213 Allocate resources selected from the mixed resource pool to the specific service.
  • the selected resources may also be reserved in the mixed resource pool, and the resource allocation completion information is notified to the service scheduler. (That is, a service scheduler for managing the specific service), in this way, the service scheduler can use the resources reserved in the hybrid resource pool to configure the resource of the specific service.
  • the resources allocated to the specific service can also be released from the mixed resource pool, thereby achieving resource recovery and reuse.
  • the above execution order is just an example given for convenience of description. In actual applications, the execution order between steps can also be changed, and there is no limitation on the execution order. Moreover, in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification, and the method may include more or fewer steps than those described in this specification. In addition, a single step described in this specification may be divided into multiple steps for description in other embodiments; multiple steps described in this specification may be combined into a single step for description in other embodiments.
  • a schematic flowchart of a resource allocation method proposed in an embodiment of the present application may be applied to the service scheduler.
  • the method may include:
  • Step 221 Obtain a resource application request for a specific service, and the resource application request may include resource information.
  • the specific service may include, but is not limited to, an online service, an offline service, a real-time service, or a machine learning service. If the specific service is an online service, the online service scheduler used to manage the online service may obtain a resource application request for the online service, and the resource application request may include resource information such as the requested resource amount and priority. If the specific service is an offline service, the offline service scheduler used to manage the offline service may obtain a resource application request for the offline service, and the resource application request may include resource information such as the amount of applied resources and the priority. By analogy, it will not be repeated for other specific services.
  • Step 222 Send the resource application request to the hybrid scheduler, so that the hybrid scheduler selects resources from the hybrid resource pool according to the resource information, and allocates the selected resources to the specific service.
  • the hybrid resource pool is used to provide resources to at least two services, and the at least two services include specific services.
  • the hybrid resource pool is used to provide resources to online services and offline services.
  • the hybrid scheduler After receiving the resource application request for online services sent by the online service scheduler, the hybrid scheduler can select resources from the hybrid resource pool according to the resource information, and Assign selected resources to online business.
  • sending the resource application request to the hybrid scheduler may include, but is not limited to: determining whether to allocate resources for the specific service from the hybrid resource pool; if so, sending the resource application request to the hybrid scheduler . In another example, after determining whether to allocate resources of the specific service from the mixed resource pool, if not, then selecting resources from the resource pool of the specific service according to the resource information.
  • the online service scheduler After the online service scheduler obtains the resource application request for the online service, it determines whether to allocate the resources of the online service from the mixed resource pool. If so, a resource request can be sent to the hybrid scheduler. If not, select a resource from the resource pool of the online service according to the resource information.
  • the resource allocation completion information sent by the hybrid scheduler can also be received, and the resources reserved for the specific service can be configured by using the resources reserved in the hybrid resource pool. , You can configure resources for specific services to achieve the processing of specific services.
  • the above execution order is just an example given for convenience of description. In actual applications, the execution order between steps can also be changed, and there is no limitation on the execution order. Moreover, in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification, and the method may include more or fewer steps than those described in this specification. In addition, a single step described in this specification may be divided into multiple steps for description in other embodiments; multiple steps described in this specification may be combined into a single step for description in other embodiments.
  • a hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • resources such as computing resources
  • the hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • the scheduling system of each service type can be retained, so that each scheduling system retains its own resource management capabilities and scheduling capabilities, and by mixing resources
  • the pool provides shared resources to all business types of scheduling systems, thereby optimizing and scheduling resources globally, realizing global optimization of resources for the cluster management system, and implementing mixed deployment of resources, thereby achieving the purpose of improving resource utilization and ultimately achieving Sharing of resources.
  • an online service scheduling system 301 an offline service scheduling system 302, and a hybrid scheduling system 303 are deployed in a cluster management system.
  • the online service scheduler 301 implements the functions of the scheduling system 301
  • the offline service scheduler 302 implements the scheduling system.
  • the function of 302 is that of the hybrid scheduler 303.
  • the online service scheduler 301 may be composed of an online main function module 3011 and an online agent module 3012-online agent module 3014
  • the offline service scheduler 302 may be composed of an offline main function module 3021 and an offline agent module 3022-offline agent.
  • the module 3024 is composed
  • the hybrid scheduler 303 may be composed of a hybrid main function module 3031 and a hybrid agent module 3032-a hybrid agent module 3033.
  • the online main function module 3011, the offline main function module 3021, and the mixed main function module 3031 may be deployed on the same device or on different devices, which is not limited.
  • all CPU resources are divided into online business resource pools, offline business resource pools, and mixed resource pools.
  • the CPU resources of server 304 are divided. Go to the online business resource pool, divide the CPU resources of the server 305 into offline business resource pools, and divide the CPU resources of the servers 306 and 307 into a mixed resource pool.
  • the online proxy module 3012 is deployed on the server 304. Through the cooperation of the online main function module 3011 and the online proxy module 3012, the online service scheduler 301 can use CPU resources in the online service resource pool to allocate resources for online services.
  • the offline proxy module 3022 is deployed on the server 305. Through the cooperation of the offline main function module 3021 and the offline proxy module 3022, the offline service scheduler 302 can use CPU resources in the offline service resource pool to allocate resources for offline services.
  • the online proxy module 3013, the offline proxy module 3023, and the hybrid proxy module 3032 are deployed on the server 306, and the online proxy module 3014, the offline proxy module 3024, and the hybrid proxy module 3033 are deployed on the server 307.
  • the hybrid scheduler 303 can use the resources in the hybrid resource pool. CPU resources allocate resources for online services.
  • the hybrid scheduler 303 can use the resources in the hybrid resource pool.
  • CPU resources allocate resources for offline services.
  • the hybrid main function module 3031 is used to implement the management of the resource view; implement the decentralization and effect of the resource configuration; provide the API interface to the hybrid proxy module 3032 / hybrid proxy module 3033 to support the collection of resource views, that is, the hybrid proxy module 3032 / hybrid
  • the agent module 3033 sends the collected resource information to the hybrid main function module 3031, and the hybrid main function module 3031 generates a resource view according to the resource information; by providing an API interface to the online main function module 3011 / offline main function module 3021 to support
  • the online main function module 3011 / offline main function module 3021 performs processes such as resource application, resource release, and resource view acquisition from the hybrid main function module 3031; by providing API interfaces to the management and control platform, it supports the management and control platform for cluster division and mixed resource pools.
  • server offline management machine status (such as available, read-only, unavailable, etc.) management, cluster resource management of each scheduler, etc .; used to achieve the allocation and management of CPU resources in a mixed resource pool, and can accept each scheduling system Resource reservation, conduct arbitration and bookkeeping operations, save The total combined resource pool of resources, allocated resources, the allocation of resources.
  • the hybrid proxy module 3032 / hybrid proxy module 3033 reports server resources, such as total hardware resources and remaining resources, such as total CPU resources and remaining available CPU resources; by reading the resource allocation information of the hybrid main function module 3031, Realize the actual allocation of resources for online business and offline business.
  • the online main function module 3011 is a resource control and allocation module for online business. It accepts resource requests from users or applications, completes online services such as resource allocation, container creation, name service registration, and traffic access. When resources are allocated, it works with mixed main functions. Module 3031 makes a resource reservation. If the arbitration of the hybrid main function module 3031 is successful, the online main function module 3011 performs operations such as creating a container. If the arbitration of the hybrid main function module 3031 fails, the online main function module 3011 performs rescheduling or returns a resource request. failure.
  • the online proxy module 3013 / online proxy module 3014 is used for the discovery of resources available for online services, and the hosting of containers for online services on the server, such as creation, start-stop, and failover. By creating an online application on the server, one or more containers can be created using server resources.
  • the offline main function module 3021 is a resource control and allocation module for offline services. It accepts resource requests from users or applications, completes offline services such as resource allocation and task scheduling, and makes resource reservations with the hybrid main function module 3031 during resource allocation. If the arbitration of the hybrid main function module 3031 is successful, the offline main function module 3021 performs operations such as task creation. If the arbitration of the hybrid main function module 3031 fails, the offline main function module 3021 fails to reschedule or return the resource application.
  • the offline proxy module 3023 / offline proxy module 3024 is used for the discovery of resources available for offline services and the hosting of offline tasks on the server, such as creation, start-stop, failover, and so on. By creating offline tasks on the server, you can use the server's resources to create one or more tasks or containers.
  • FIG. 3B it is a schematic flow chart of resource application.
  • the resource application process of the online service is taken as an example.
  • the resource application process of the offline service is similar and will not be described again.
  • Step 311 The online main function module 3011 obtains a resource view from the hybrid main function module 3031.
  • the hybrid agent module 3032 can send the resource information of the server 306 to the online main function module 3011.
  • the total CPU resources of the server 306 are 8 cores
  • the available CPU resources are 2 cores
  • the used CPU resources are 6 cores.
  • the hybrid proxy module 3033 can send the resource information of the server 307 to the online main function module 3011.
  • the total CPU resources of the server 307 are 8 cores
  • the available CPU resources are 0 cores
  • the used CPU resources are 8 cores.
  • the mixed main function module 3031 can use the above information to obtain the resource view of the mixed resource pool.
  • the resource view can include the total amount of resources (such as CPU resources of 16 cores), the amount of available resources (such as CPU resources of 2 cores), and used resources. The amount of resources (such as the CPU resources of 14 cores).
  • the hybrid main function module 3031 may send the resource view to the online main function module 3011, and the online main function module 3011 obtains information such as the total resource amount, the available resource amount, and the used resource amount.
  • the hybrid main function module 3031 can send the changed resource view to the online main function module 3011 when the resource view changes.
  • the online main function module 3011 may periodically send a resource view request. After receiving the resource view request, the hybrid main function module 3031 may send the resource view to the online main function module 3011.
  • the above method is only an example, and there is no limitation on this.
  • step 312 the user initiates a resource application request to the online main function module 3011.
  • Step 313 After the online main function module 3011 obtains the resource application request, it determines whether to allocate resources from the mixed resource pool. For example, it can determine whether to allocate resources from the mixed resource pool according to the resource application request and the above resource view. If yes, go to step 314; if not, then you can select a resource from the resource pool of the online service according to the resource application request, and the resource allocation process will not be repeated here.
  • the resource application request may carry the applied resource amount, and the resource view may include the total resource amount and the available resource amount.
  • the online main function module 3011 may determine to allocate resources from the mixed resource pool; if the applied resource amount is greater than the available resource amount, the online main function module 3011 may determine No resources are allocated from the mixed resource pool.
  • the online main function module 3011 may determine to allocate resources from the mixed resource pool; if the applied resource amount is greater than the total resource amount, the online main function module 3011 may determine not to Allocate resources from a mixed resource pool.
  • the above method is only an example, and there is no limitation on this.
  • Step 314 The online main function module 3011 sends a resource application request to the hybrid main function module 3031.
  • the resource application request may include resource information, and the resource information may include the amount of the requested resource.
  • Step 315 The hybrid main function module 3031 selects resources from the hybrid resource pool according to the resource information, and allocates the selected resources to the online service, thereby realizing the scheduling and allocation of resources for the online service.
  • the hybrid main function module 3031 may obtain the available resource amount from the resource view of the hybrid resource pool, and obtain the requested resource amount from the resource information. Based on this, if the applied resource amount is less than or equal to the available resource amount, a resource corresponding to the applied resource amount can be selected from the mixed resource pool; or, if the applied resource amount is greater than the available resource amount, the mixed resource can be rejected. Select resources in the resource pool.
  • a resource corresponding to the applied resource amount is selected from the mixed resource pool as an example. Assume that the applied resource amount is 2 core CPU resources. If the total CPU resource of the server 306 is 8 cores, the available CPU resources are 2 cores, the CPU resources of the 2 cores of the server 306 can be allocated to online services.
  • step 316 the hybrid main function module 3031 sends resource allocation information to the hybrid agent module 3032.
  • the resource allocation information indicates that the CPU resources of the two cores of the server 306 are allocated to the online service.
  • step 317 the hybrid agent module 3032 performs resource allocation of the online service according to the resource allocation information.
  • the hybrid agent module 3032 may reserve the CPU resources of the two cores of the server 306 for online services.
  • the CPU resources of the two cores may be set as cgroup resources.
  • step 318 the hybrid agent module 3032 sends resource allocation completion information to the hybrid main function module 3031, and the hybrid main function module 3031 sends resource allocation completion information to the online main function module 3011.
  • step 319 the online main function module 3011 notifies the online proxy module 3013 to perform resource configuration.
  • the online proxy module 3013 uses the resources reserved in the hybrid resource pool to perform resource configuration, that is, to configure resources for online services, and to implement processing of online services. For example, you can create a container by using the resources that have been reserved in the mixed resource pool, and you can use this container to process online services.
  • the online proxy module 3013 can perform container-level resource management operations according to the scheduling policy of the online main function module 3011, and implement operations such as starting, stopping, and configuring resources of the container.
  • step 321 the online proxy module 3013 returns the resource configuration completion to the online main function module 3011, and the online main function module 3011 returns the resource configuration completion to the user, thus completing the resource allocation process.
  • the online main function module 3011 sends a resource release request to the hybrid main function module 3031, and the hybrid main function module 3031 sends the resource release information to the hybrid agent module 3032, and the resource allocation information This indicates that the CPU resources of the two cores of the server 306 are released.
  • the hybrid proxy module 3032 releases the resources of the online service according to the resource release information, that is, releases the resources allocated to the online service from the mixed resource pool, thereby realizing resource recovery and reuse.
  • the resource information may also include a priority (that is, a resource priority), and the priority indicates a degree of resource protection, and a high-priority service may preempt a resource of a low-priority service or share a resource of a low-priority service. Low-priority services cannot preempt resources from high-priority services or share resources from high-priority services.
  • the priority Based on this priority, in step 315, if the amount of applied resources is greater than the amount of available resources, the priority can be obtained from the resource information. If the priority is lower than the priority corresponding to the occupied resources in the mixed resource pool (that is, the priority of the service corresponding to the occupied resources), the resource selection from the mixed resource pool may be rejected.
  • the occupied resources in the hybrid resource pool can be released and the resources corresponding to the requested resource amount can be selected from the hybrid resource pool, that is, It can release the occupied resources of the low-priority services and provide the released resources to the high-priority services to achieve resource preemption.
  • the priority is equal to the priority corresponding to the occupied resources in the hybrid resource pool (that is, the priority of the service corresponding to the occupied resources)
  • the occupied resources in the hybrid resource pool can also be shared and selected from the hybrid resource pool.
  • the resources corresponding to the requested amount of resources, that is, the occupied resources of the services of the same priority can be shared, that is, the services of the same priority can use this part of the resources, thereby achieving the sharing of resources.
  • the priority may be divided into three levels.
  • the three levels are only an example, and there is no limitation on this.
  • the three priority levels are: S10, S20, and S30.
  • S10 indicates that it adopts exclusive CPU resources, and guarantees the use of CPU resources first. It has the highest priority and can preempt S30-level CPU resources.
  • S20 indicates that non-exclusive CPU resources can be used to share CPU resources. It has the second highest priority and can share S30-level CPU resources. S30 has the lowest priority.
  • resources in the hybrid resource pool are occupied by S30-level offline services. If a resource application request for an S10-level online service is received, if the resources in the hybrid resource pool cannot meet the resource requirements of the online service, The occupied resources in the hybrid resource pool can be released, and the released resources can be provided to the S10-level online services, so that the S10-level online services can be preferentially guaranteed. Moreover, after the released resources are provided to the S10-level online services, this part of the resources is exclusively occupied by the S10-level online services, that is, other services such as offline services no longer use this part of the resources.
  • the online service of the S10 level releases the resources in the mixed resource pool
  • the released resources can also be returned to the offline service of the S30 level, thereby meeting the resource requirements of the offline service.
  • resources in the hybrid resource pool are occupied by S30-level offline services. If a resource application request for an online service at the S20 level is received, if the resources in the hybrid resource pool cannot meet the resource requirements of the online service, then The occupied resources in the mixed resource pool can be shared, and the shared resources can be provided to the S20-level online services, so that the S20-level online services can be preferentially guaranteed.
  • S30-level Offline services can also use these resources, but you need to ensure that online services use these resources first, that is, when online services need to use these resources, you need to provide these resources to online services, but not to Offline services.
  • online services do not need to use these resources, they are provided to offline services.
  • the shared resources can also be returned to the S30-level offline services, thereby meeting the resource requirements of the offline services.
  • the resources in the hybrid resource pool are occupied by S30-level offline services. If a resource application request for an online service at S30 level is received, if the resources in the hybrid resource pool cannot meet the resource requirements of the online service, the hybrid resource pool can be shared. The resources that have been occupied in the S30 and provide the shared resources to the S30 level online business. After the shared resources are provided to the S30 level online business, these resources are shared by the S30 level online service and the S30 level offline service. In other words, S30-level online services can use these resources, and S30-level offline services can also use these resources.
  • the resource application requests of multiple scheduling systems can also be transferred to the hybrid main function module 3031, that is, the hybrid main function module 3031 receives the user's resource application request. Then, the hybrid main function module 3031 allocates resource requests to different scheduling systems according to the type of resource application request, for example, allocates resource requests for online services to the online main function module 3011, and allocates resource requests for offline services to the offline main function.
  • the hybrid main function module 3031 allocates resource requests to different scheduling systems according to the type of resource application request, for example, allocates resource requests for online services to the online main function module 3011, and allocates resource requests for offline services to the offline main function.
  • a hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • resources such as computing resources
  • the hybrid resource pool can be deployed, and resources (such as computing resources) can be provided to at least two services through the hybrid resource pool, such as providing resources to online services and offline services through the hybrid resource pool.
  • the scheduling system of each service type can be retained, so that each scheduling system retains its own resource management capabilities and scheduling capabilities, and by mixing resources
  • the pool provides shared resources to all business types of scheduling systems, thereby optimizing and scheduling resources globally, realizing global optimization of resources for the cluster management system, and implementing mixed deployment of resources, thereby achieving the purpose of improving resource utilization and ultimately achieving Sharing of resources.
  • a hybrid scheduling system By constructing a hybrid scheduling system to control and coordinate state information shared by multiple scheduling systems, such as machine metadata information, machine deployment information, status information, and resource partition information in a mixed resource pool, real-time state sharing of resources is minimized to avoid
  • the hybrid scheduling system perceives too detailed scheduling status information and only shares necessary information, so that each scheduling system retains the original system architecture and functions as much as possible, and minimizes the possibility of resource conflicts in the hybrid scheduling system and reduces the number of multiple scheduling systems.
  • the coupling reduces complexity, improves reliability, and takes advantage of their respective scheduling systems to optimize resources.
  • an embodiment of the present application further provides a resource allocation device.
  • FIG. 4A it is a structural diagram of the resource allocation device.
  • the device specifically includes:
  • An obtaining module 401 is configured to obtain a resource application request for a specific service, where the resource application request includes resource information;
  • a selection module 402 configured to select a resource from a mixed resource pool according to the resource information
  • An allocation module 403, configured to allocate resources selected from the mixed resource pool to the specific service
  • the hybrid resource pool is used to provide resources to at least two services.
  • the selecting module 402 is specifically configured to: when selecting resources from the mixed resource pool according to the resource information:
  • the selection module 402 is further configured to:
  • the amount of applied resources is greater than the amount of available resources, selecting a resource corresponding to the amount of available resources from the mixed resource pool, or refusing to select resources from the mixed resource pool; or,
  • the amount of requested resources is greater than the amount of available resources, obtaining a priority from the resource information; refusing to select resources from the mixed resource pool based on the priority; or, releasing based on the priority
  • For the occupied resources in the mixed resource pool select a resource corresponding to the applied resource amount from the mixed resource pool; or, based on the priority, share the occupied resources in the mixed resource pool, from A resource corresponding to the applied resource amount is selected from the mixed resource pool.
  • an embodiment of the present application further provides a resource allocation device, including a processor and a machine-readable storage medium.
  • the machine-readable storage medium stores several computer instructions, and the processor executes The computer instruction performs the following processing: obtaining a resource application request for a specific service, the resource application request including resource information; selecting a resource from a mixed resource pool according to the resource information; and allocating a resource selected from the mixed resource pool To specific services; the hybrid resource pool is used to provide resources to at least two services.
  • an embodiment of the present application further provides a machine-readable storage medium.
  • the machine-readable storage medium stores a number of computer instructions. When the computer instructions are executed, the following processing is performed: A resource application request for a specific service, the resource application request including resource information; selecting a resource from a mixed resource pool according to the resource information; assigning a resource selected from the mixed resource pool to a specific service; the mixed resource pool is used for Provide resources to at least two services.
  • an embodiment of the present application further provides a resource allocation device, as shown in FIG. 4B, which is a structural diagram of the resource allocation device.
  • the device specifically includes:
  • An obtaining module 411 is configured to obtain a resource application request for a specific service, where the resource application request includes resource information;
  • a sending module 412 configured to send the resource application request to a hybrid scheduler, so that the hybrid scheduler selects a resource from a hybrid resource pool according to the resource information, and allocates the resource to the specific service;
  • the hybrid resource pool is used to provide resources to at least two services.
  • an embodiment of the present application further provides a resource allocation device, including a processor and a machine-readable storage medium.
  • the machine-readable storage medium stores several computer instructions, and the processor executes The computer instruction performs the following processing: obtaining a resource application request for a specific service, the resource application request including resource information; and sending the resource application request to a hybrid scheduler, so that the hybrid scheduler according to the resource
  • the information selects resources from a mixed resource pool and allocates the resources to the specific service; wherein the mixed resource pool is used to provide resources to at least two services.
  • an embodiment of the present application further provides a machine-readable storage medium.
  • the machine-readable storage medium stores a number of computer instructions. When the computer instructions are executed, the following processing is performed: A resource application request for a specific service, the resource application request including resource information; sending the resource application request to a hybrid scheduler, so that the hybrid scheduler selects resources from the hybrid resource pool according to the resource information, and The resource is allocated to the specific service; wherein the mixed resource pool is used to provide resources to at least two services.
  • the system, device, module, or unit described in the foregoing embodiments may be specifically implemented by a computer chip or entity, or a product with a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email sending and receiving device, and a game control Desk, tablet computer, wearable device, or a combination of any of these devices.
  • the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • these computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device,
  • the instruction device implements the functions specified in a flowchart or a plurality of processes and / or a block or a plurality of blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing device, so that a series of operation steps can be performed on the computer or other programmable device to generate a computer-implemented process, which can be executed on the computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种资源分配方法、装置及设备,该方法包括:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;根据所述资源信息从混合资源池中选择资源;将从混合资源池中选择的资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。通过本申请的技术方案,实现资源的混合部署,达到提高资源利用率的目的,最终实现资源的共享。

Description

一种资源分配方法、装置及设备
本申请要求2018年06月27日递交的申请号为201810682138.2、发明名称为“一种资源分配方法、装置及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网领域,尤其是涉及一种资源分配方法、装置及设备。
背景技术
随着人工智能、云计算、大数据分析等技术的发展,对大数据计算能力提出了更高的要求,对物理资源的需求越来越大,为此提出了集群管理系统。在集群管理系统中,通常需要部署大量计算资源,这些计算资源可以部署在多个物理机,且可以跨多个物理机来弹性调度计算资源,大幅提升资源利用率。
随着互联网技术的快速发展,业务类型越来越多,如在线业务、离线业务等,集群管理系统需要能够处理在线业务和离线业务,为此,可以将所有计算资源划分为用于处理在线业务的计算资源A、用于处理离线业务的计算资源B,这样,可以使用计算资源A处理在线业务,使用计算资源B处理离线业务。
但是,若某个时间段,在线业务较多,离线业务较少,会导致计算资源A无法满足业务需求,计算资源B空闲。在另一个时间段,若在线业务较少,离线业务较多,会导致计算资源B无法满足业务需求,而计算资源A空闲。
发明内容
本申请提供一种资源分配方法,所述方法包括:
获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
根据所述资源信息从混合资源池中选择资源;
将从混合资源池中选择的资源分配给所述特定业务;
其中,所述混合资源池用于向至少两种业务提供资源。
本申请提供一种资源分配方法,所述方法包括:
获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从 混合资源池中选择资源,并将所述资源分配给所述特定业务;
其中,所述混合资源池用于向至少两种业务提供资源。
本申请提供一种资源分配装置,所述装置包括:
获取模块,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
选择模块,用于根据所述资源信息从混合资源池中选择资源;
分配模块,用于将从混合资源池中选择的资源分配给所述特定业务;
其中,所述混合资源池用于向至少两种业务提供资源。
本申请提供一种资源分配装置,所述装置包括:
获取模块,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
发送模块,用于将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
本申请提供一种资源分配设备,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;根据所述资源信息从混合资源池中选择资源;将从混合资源池中选择的资源分配给特定业务;所述混合资源池用于向至少两种业务提供资源。
本申请提供一种资源分配设备,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
基于上述技术方案,本申请实施例中,可以部署混合资源池,并通过混合资源池向至少两种业务提供资源(如计算资源),如通过混合资源池向在线业务和离线业务提供资源。这样,在获取到针对在线业务的资源申请请求后,可以从混合资源池中为在线业务选择资源,并将混合资源池中的资源分配给在线业务;在获取到针对离线业务的资源申请请求后,可以从混合资源池中为离线业务选择资源,并将混合资源池中的资源分配 给离线业务。综上所述,在某个时间段,若在线业务较多,离线业务较少,则可以将混合资源池中的多数资源分配给在线业务,将混合资源池中的少数资源分配给离线业务,从而满足在线业务的需求,且避免资源的浪费。在另一个时间段,若在线业务较少,离线业务较多,则可以将混合资源池中的多数资源分配给离线业务,将混合资源池中的少数资源分配给在线业务,从而满足离线业务的需求,且避免资源的浪费。
显然,在上述方式中,针对集群管理系统,若存在多个业务类型,则可以保留每个业务类型的调度系统,使得每个调度系统保留自身的资源管理能力和调度能力,而且,通过混合资源池向所有业务类型的调度系统提供共享的资源,从而在全局进行资源的优化与调度,实现集群管理系统的资源全局优化,实现资源的混合部署,从而达到提高资源利用率的目的,最终实现了资源的共享。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1A-图1C是本申请一种实施方式中的应用场景示意图;
图2A和图2B是本申请一种实施方式中的资源分配方法的流程图;
图3A和图3B是本申请一种实施方式中的资源分配示意图;
图4A和图4B是本申请一种实施方式中的资源分配装置的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在…… 时”或“当……时”或“响应于确定”。
本申请实施例中提出一种资源分配方法,可以应用于集群管理系统,在集群管理系统中,通常需要部署大量资源(如计算资源),这些资源可以部署在多个物理机,且可以跨多个物理机来弹性调度资源,大幅提升资源利用率。
其中,本实施例中的资源可以包括但不限于以下之一或者任意组合:CPU(Central Processing Unit,中央处理器)资源、内存资源、磁盘资源、带宽资源等,对此资源类型不做限制。为了方便描述,后续以CPU资源为例进行说明。
其中,本实施例中的物理机可以包括但不限于以下之一或者任意组合:服务器、PC(Personal Computer,个人计算机)、终端设备、智能电话/手机、平板电脑、个人数字助理(PDA)、膝上计算机、台式计算机、数据平台、电商平台、云主机等,对此物理机类型不做限制,后续以服务器为例进行说明。
基于此,集群管理系统可以部署大量服务器,如1000个以上的服务器,这些服务器提供大量CPU资源,如每个服务器提供8个CPU核,这样,集群管理系统可以使用这些CPU资源(如1000个服务器的所有CPU资源相当于一个整体)创建大量虚拟机和容器等,继而使用这些虚拟机和容器为用户提供服务。
随着互联网技术的快速发展,业务类型越来越多,如在线业务、离线业务、实时业务、机器学习业务等,对此业务类型不做限制,因此,集群管理系统需要能够处理多种业务类型的业务,这样,就可以在集群管理系统部署多个调度系统,即多个调度系统共存。例如,在集群管理系统部署在线业务的调度系统A、离线业务的调度系统B,以调度系统A和调度系统B为例,实际应用中,还可以部署实时业务的调度系统C、机器学习业务的调度系统D等,对此不做限制。
其中,调度系统A可以具有资源管理、调度等能力,能够为在线业务分配资源,调度系统B可以具有资源管理、调度等能力,能够为离线业务分配资源。
而且,调度系统A可以通过软件实现,也可以通过硬件实现,为了方便描述,后续以硬件实现为例,例如,通过在线业务调度器实现调度系统A的功能。类似的,调度系统B可以通过软件实现,也可以通过硬件实现,为了方便描述,后续以硬件实现为例,例如,通过离线业务调度器实现调度系统B的功能。
参见图1A所示,为本实施例的应用场景示意图,集群管理系统可以部署6个服务器,每个服务器提供8个CPU核,在实际应用中,服务器的数量可以远远大于6个。集群管理系统可以部署调度系统A和调度系统B,调度系统A和调度系统B可以部署在同 一设备,也可以部署在不同设备,对此不做限制。
在一个例子中,参见图1B所示,可以将所有CPU资源划分为处理在线业务的资源、处理离线业务的资源。例如,可以将服务器101、服务器102和服务器103的CPU资源划分给在线业务,将服务器104、服务器105和服务器106的CPU资源划分给离线业务。基于此,调度系统A可以利用服务器101、服务器102和服务器103的CPU资源为在线业务分配资源,同理,调度系统B可以利用服务器104、服务器105和服务器106的CPU资源为离线业务分配资源。
但是上述方式中,若某个时间段,在线业务较多,离线业务较少,则服务器101、服务器102和服务器103的CPU资源无法满足在线业务需求,服务器104、服务器105和服务器106的CPU资源空闲。在另一时间段,若在线业务较少,离线业务较多,则服务器104、服务器105和服务器106的CPU资源无法满足离线业务需求,服务器101、服务器102和服务器103的CPU资源空闲。
针对上述发现,本实施例中,将所有CPU资源划分到3个资源池,即在线业务资源池、离线业务资源池、混合资源池。参见图1C所示,可以将服务器101的CPU资源划分到在线业务资源池,将服务器106的CPU资源划分到离线业务资源池,将服务器102、服务器103服务器104和服务器105的CPU资源划分到混合资源池。基于此,调度系统A可以利用在线业务资源池中的CPU资源(即服务器101的CPU资源)为在线业务分配资源,调度系统B可以利用离线业务资源池中的CPU资源(即服务器106的CPU资源)为离线业务分配资源。
本实施例中,通过部署混合资源池,则可以通过混合资源池向至少两种业务(如所有业务类型的业务)提供资源,后续以通过混合资源池向在线业务和离线业务提供资源为例进行说明。基于此,若某个时间段,在线业务较多,离线业务较少,则可以将混合资源池中的多数资源或者全部资源提供给在线业务,如将服务器102-服务器105的所有CPU资源均提供给在线业务,再加上在线业务资源池中的CPU资源,从而可以满足在线业务需求,且可以避免离线业务的CPU资源空闲。在另一时间段,若在线业务较少,离线业务较多,则可以将混合资源池中的多数资源或者全部资源提供给离线业务,如将服务器102-服务器105的所有CPU资源均提供给离线业务,再加上离线业务资源池中的CPU资源,从而可以满足离线业务需求,且可以避免在线业务的CPU资源空闲。
为了更好的控制混合资源池中的CPU资源,在调度系统A和调度系统B的基础上,还可以在集群管理系统中部署混合调度系统E,混合调度系统E可以具有资源管理、调 度等能力,能够为在线业务和离线业务分配资源,且混合调度系统E能够利用混合资源池中的资源,为在线业务和离线业务分配资源。
混合调度系统E可以通过软件实现,也可以通过硬件实现,为了方便描述,后续以硬件实现为例,例如,通过混合调度器实现混合调度系统E的功能。混合调度系统E可以与调度系统A部署在同一设备,可以与调度系统B部署在同一设备,也可以与调度系统A和调度系统B部署在不同设备,对此不做限制。
在上述应用场景下,参见图2A所示,为本申请实施例中提出的资源分配方法的流程示意图,该方法可以应用于混合调度器,该方法可以包括:
步骤211,获取针对特定业务的资源申请请求,该资源申请请求可以包括资源信息,该资源申请请求可以是用于管理该特定业务的业务调度器发送的。
其中,该特定业务可以包括但不限于:在线业务、离线业务、实时业务或者机器学习业务。若特定业务为在线业务,则用于管理在线业务的在线业务调度器可以向混合调度器发送资源申请请求,该资源申请请求可以包括申请资源量和优先级等资源信息。若特定业务为离线业务,则用于管理离线业务的离线业务调度器可以向混合调度器发送资源申请请求,该资源申请请求可以包括申请资源量和优先级等资源信息。以此类推,对于其它特定业务不再重复赘述。
步骤212,根据该资源信息从混合资源池中选择资源。
其中,混合资源池用于向至少两种业务提供资源,且所述至少两种业务包括特定业务。例如,混合资源池用于向在线业务和离线业务提供资源,在获取到针对在线业务的资源申请请求后,根据资源信息从混合资源池中选择资源。
其中,根据该资源信息从混合资源池中选择资源,可以包括但不限于:获取混合资源池的资源视图,该资源视图包括可用资源量,从该资源信息中获取申请资源量。若该申请资源量小于等于该可用资源量,从混合资源池中选择与该申请资源量对应的资源;或者,若该申请资源量大于该可用资源量,从混合资源池中选择与该可用资源量对应的资源,或拒绝从混合资源池中选择资源。
在另一个例子中,若该申请资源量大于该可用资源量,则可以从该资源信息中获取优先级,基于该优先级,拒绝从混合资源池中选择资源;或者,基于该优先级,释放混合资源池中的已占用资源,并从混合资源池中选择与该申请资源量对应的资源。或者,基于该优先级,共享混合资源池中的已占用资源,并从混合资源池中选择与申请资源量对应的资源。
在一个例子中,基于该优先级,拒绝从混合资源池中选择资源,可以包括但不限于:若该优先级小于混合资源池中的已占用资源对应的优先级,则可以拒绝从混合资源池中选择资源,即不再从混合资源池中为特定业务分配资源。
在一个例子中,基于该优先级,释放混合资源池中的已占用资源,并从混合资源池中选择与该申请资源量对应的资源,可以包括但不限于:若该优先级大于混合资源池中的已占用资源对应的优先级,则可以释放混合资源池中的已占用资源,并根据所述已占用资源从混合资源池中选择与该申请资源量对应的资源;其中,所述已占用资源被所述特定业务独占。例如,假设业务A的优先级大于业务B的优先级,业务B已经占有混合资源池中的资源X。在需要为业务A分配资源时,由于业务A的优先级大于混合资源池中的已占用资源X对应的业务B的优先级,因此,可以释放混合资源池中的已占用资源X,并根据已占用资源X从混合资源池中选择与该申请资源量对应的资源Y(资源Y与该申请资源量的大小相同),该资源Y可以是已占用资源X的部分资源或者全部资源。需要注意的是,资源Y被业务A独占,即业务B不再使用资源Y。
在一个例子中,基于该优先级,共享混合资源池中的已占用资源,并从混合资源池中选择与该申请资源量对应的资源,可以包括但不限于:若该优先级等于混合资源池中的已占用资源对应的优先级,则可以共享混合资源池中的已占用资源,并根据所述已占用资源从混合资源池中选择与该申请资源量对应的资源;其中,所述已占用资源被所述特定业务和其它业务共享。例如,假设业务A的优先级等于业务B的优先级,业务B已经占有混合资源池中的资源X。在需要为业务A分配资源时,由于业务A的优先级等于混合资源池中的已占用资源X对应的业务B的优先级,因此,可以共享混合资源池中的已占用资源X,并根据已占用资源X从混合资源池中选择与该申请资源量对应的资源Y,该资源Y可以是已占用资源X的部分资源或者全部资源。需要注意的是,资源Y被业务A和业务B共享,在业务A需要使用资源Y时,需要优先保证业务A使用资源Y,在业务A不需要使用资源Y时,则业务B可以使用资源Y。
步骤213,将从混合资源池中选择的资源分配给该特定业务。
在一个例子中,在将从混合资源池中选择的资源分配给该特定业务后,还可以在混合资源池中对所述选择的资源进行资源预留,并将资源分配完成信息通知给业务调度器(即用于管理该特定业务的业务调度器),这样,业务调度器就可以利用该混合资源池中已预留的资源进行特定业务的资源配置。
在一个例子中,若接收到针对该特定业务的资源释放请求,则还可以从混合资源池 中释放分配给该特定业务的资源,从而实现资源的回收和再利用。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
在上述应用场景下,参见图2B所示,为本申请实施例中提出的资源分配方法的流程示意图,该方法可以应用于业务调度器,该方法可以包括:
步骤221,获取针对特定业务的资源申请请求,该资源申请请求可以包括资源信息。其中,该特定业务可以包括但不限于:在线业务、离线业务、实时业务或者机器学习业务。若特定业务为在线业务,则用于管理在线业务的在线业务调度器可以获取针对在线业务的资源申请请求,资源申请请求可以包括申请资源量和优先级等资源信息。若特定业务为离线业务,则用于管理离线业务的离线业务调度器可以获取针对离线业务的资源申请请求,资源申请请求可以包括申请资源量和优先级等资源信息。以此类推,对于其它特定业务不再赘述。
步骤222,将该资源申请请求发送给混合调度器,以使混合调度器根据该资源信息从混合资源池中选择资源,并将选择的资源分配给该特定业务。
其中,混合资源池用于向至少两种业务提供资源,且所述至少两种业务包括特定业务。例如,混合资源池用于向在线业务和离线业务提供资源,混合调度器接收到在线业务调度器发送的针对在线业务的资源申请请求后,可以根据该资源信息从混合资源池中选择资源,并将选择的资源分配给在线业务。
在一个例子中,将该资源申请请求发送给混合调度器,可以包括但不限于:判断是否从混合资源池中分配该特定业务的资源;如果是,则可以将资源申请请求发送给混合调度器。在另一例子中,在判断是否从混合资源池中分配该特定业务的资源后,如果否,则根据资源信息从特定业务的资源池中选择资源。
例如,在线业务调度器获取到针对在线业务的资源申请请求后,判断是否从混合资源池中分配该在线业务的资源。如果是,则可以将资源申请请求发送给混合调度器。如果否,则根据资源信息从在线业务的资源池中选择资源。
在一个例子中,在将该资源申请请求发送给混合调度器之后,还可以接收混合调度 器发送的资源分配完成信息,并利用混合资源池中已预留的资源进行特定业务的资源配置,这样,可以为特定业务配置资源,实现特定业务的处理。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,可以部署混合资源池,并通过混合资源池向至少两种业务提供资源(如计算资源),如通过混合资源池向在线业务和离线业务提供资源。这样,在获取到针对在线业务的资源申请请求后,可以从混合资源池中为在线业务选择资源,并将混合资源池中的资源分配给在线业务;在获取到针对离线业务的资源申请请求后,可以从混合资源池中为离线业务选择资源,并将混合资源池中的资源分配给离线业务。综上所述,在某个时间段,若在线业务较多,离线业务较少,则可以将混合资源池中的多数资源分配给在线业务,将混合资源池中的少数资源分配给离线业务,从而满足在线业务的需求,且避免资源的浪费。在另一个时间段,若在线业务较少,离线业务较多,则可以将混合资源池中的多数资源分配给离线业务,将混合资源池中的少数资源分配给在线业务,从而满足离线业务的需求,且避免资源的浪费。
显然,在上述方式中,针对集群管理系统,若存在多个业务类型,则可以保留每个业务类型的调度系统,使得每个调度系统保留自身的资源管理能力和调度能力,而且,通过混合资源池向所有业务类型的调度系统提供共享的资源,从而在全局进行资源的优化与调度,实现集群管理系统的资源全局优化,实现资源的混合部署,从而达到提高资源利用率的目的,最终实现了资源的共享。
以下结合具体的应用场景,对上述资源分配方法进行说明。参见图3A所示,在集群管理系统部署在线业务的调度系统301、离线业务的调度系统302、混合调度系统303,在线业务调度器301实现调度系统301的功能,离线业务调度器302实现调度系统302的功能,混合调度器303实现混合调度系统303的功能。
参见图3A所示,在线业务调度器301可以由在线主功能模块3011和在线代理模块3012-在线代理模块3014组成,离线业务调度器302可以由离线主功能模块3021和离线代理模块3022-离线代理模块3024组成,混合调度器303可以由混合主功能模块3031 和混合代理模块3032-混合代理模块3033组成。
在一个例子中,在线主功能模块3011、离线主功能模块3021、混合主功能模块3031可以部署在同一个设备,也可以部署在不同的设备,对此不做限制。
参见图3A所示,将所有CPU资源划分到在线业务资源池、离线业务资源池、混合资源池,以部署4个服务器,每个服务器提供8个CPU核为例,将服务器304的CPU资源划分到在线业务资源池,将服务器305的CPU资源划分到离线业务资源池,将服务器306和服务器307的CPU资源划分到混合资源池。
进一步的,在线代理模块3012部署在服务器304,通过在线主功能模块3011和在线代理模块3012的配合,使得在线业务调度器301能够利用在线业务资源池中的CPU资源为在线业务分配资源。此外,离线代理模块3022部署在服务器305,通过离线主功能模块3021和离线代理模块3022的配合,使得离线业务调度器302能够利用离线业务资源池中的CPU资源为离线业务分配资源。
在线代理模块3013、离线代理模块3023和混合代理模块3032部署在服务器306,在线代理模块3014、离线代理模块3024和混合代理模块3033部署在服务器307。基于此,通过在线主功能模块3011、在线代理模块3013、在线代理模块3014、混合主功能模块3031、混合代理模块3032、混合代理模块3033的配合,使得混合调度器303能够利用混合资源池中的CPU资源为在线业务分配资源。同理,通过离线主功能模块3021、离线代理模块3023、离线代理模块3024、混合主功能模块3031、混合代理模块3032、混合代理模块3033的配合,使得混合调度器303能够利用混合资源池中的CPU资源为离线业务分配资源。
混合主功能模块3031用于实现资源视图的管理;实现资源配置的下放和生效;通过向混合代理模块3032/混合代理模块3033提供API接口,以支持资源视图的采集,即混合代理模块3032/混合代理模块3033将采集到的资源信息发送给混合主功能模块3031,由混合主功能模块3031根据这些资源信息生成资源视图;通过向在线主功能模块3011/离线主功能模块3021提供API接口,以支持在线主功能模块3011/离线主功能模块3021从混合主功能模块3031进行资源申请、资源释放和资源视图获取等流程;通过向管控平台提供API接口,以支持管控平台进行集群划分、混合资源池的管理、服务器上下线管理、机器状态(如可用、只读、不可用等)管理、各调度器的集群资源管理等;用于实现混合资源池中CPU资源的分配和管理,可以接受各个调度系统的资源预约,进行仲裁和记账等操作,保存混合资源池的总资源、已分配资源、可分配资源。
混合代理模块3032/混合代理模块3033实现服务器资源的上报,如硬件资源总量、剩余资源量等,如CPU资源总量和剩余可用CPU资源;通过读取混合主功能模块3031的资源分配信息,实现在线业务、离线业务的资源实际分配。
在线主功能模块3011是在线业务的资源控制和分配模块,接受用户或应用的资源请求,完成资源分配,容器创建,名字服务注册,流量接入等在线服务,在资源分配时,与混合主功能模块3031进行资源预约,如果混合主功能模块3031的仲裁成功,在线主功能模块3011进行容器的创建等操作,如果混合主功能模块3031的仲裁失败,在线主功能模块3011进行重调度或返回资源申请失败。
在线代理模块3013/在线代理模块3014用于在线业务可用资源的发现、在线业务的容器在服务器上的托管,如创建,启停,故障转移等。通过在服务器创建在线应用,从而可以利用服务器的资源创建一个或者多个容器。
离线主功能模块3021是离线业务的资源控制和分配模块,接受用户或者应用的资源请求,完成资源分配、任务调度等离线服务,在进行资源分配时,与混合主功能模块3031进行资源预约,如果混合主功能模块3031的仲裁成功,则离线主功能模块3021进行任务的创建等操作,如果混合主功能模块3031的仲裁失败,则离线主功能模块3021进行重调度或者返回资源申请失败。
离线代理模块3023/离线代理模块3024用于离线业务可用资源的发现、离线任务在服务器上的托管,如创建,启停,故障转移等。通过在服务器创建离线任务,从而可以利用服务器的资源创建一个或者多个任务或者容器。
在上述应用场景下,参见图3B所示,为资源申请的流程示意图,本实施例以在线业务的资源申请过程为例,离线业务的资源申请过程类似,不再赘述。
步骤311,在线主功能模块3011从混合主功能模块3031获取资源视图。
其中,混合代理模块3032可以将服务器306的资源信息发送给在线主功能模块3011,如服务器306的总CPU资源是8核,可用CPU资源是2核,已用CPU资源是6核。混合代理模块3033可以将服务器307的资源信息发送给在线主功能模块3011,如服务器307的总CPU资源是8核,可用CPU资源是0核,已用CPU资源是8核。混合主功能模块3031可以利用上述信息获取混合资源池的资源视图,如资源视图可以包括总资源量(如16个核的CPU资源)、可用资源量(如2个核的CPU资源)、已用资源量(如14个核的CPU资源)。
进一步的,混合主功能模块3031可以将资源视图发送给在线主功能模块3011,在 线主功能模块3011获取到总资源量、可用资源量、已用资源量等信息。
其中,混合主功能模块3031可以在资源视图发生变化时,将变化后的资源视图发送给在线主功能模块3011。或者,在线主功能模块3011可以周期性发送资源视图请求,混合主功能模块3031在接收到该资源视图请求后,可以将资源视图发送给在线主功能模块3011。当然,上述方式只是示例,对此不做限制。
步骤312,用户向在线主功能模块3011发起资源申请请求。
其中,用户在有扩容需求时,向在线主功能模块3011发起资源申请请求。
步骤313,在线主功能模块3011获取到资源申请请求后,判断是否从混合资源池中分配资源,例如,可以根据该资源申请请求和上述资源视图判断是否从混合资源池中分配资源。如果是,则执行步骤314;如果否,则可以根据该资源申请请求从在线业务的资源池中选择资源,对此资源分配过程不再赘述。
例如,资源申请请求可以携带申请资源量,且资源视图可以包括总资源量和可用资源量。基于此,若该申请资源量小于等于该可用资源量,则在线主功能模块3011可以确定从混合资源池中分配资源;若该申请资源量大于该可用资源量,则在线主功能模块3011可以确定不从混合资源池中分配资源。或者,若该申请资源量小于等于该总资源量,则在线主功能模块3011可以确定从混合资源池中分配资源;若该申请资源量大于该总资源量,则在线主功能模块3011可以确定不从混合资源池中分配资源。当然,上述方式只是示例,对此不做限制。
步骤314,在线主功能模块3011将资源申请请求发送给混合主功能模块3031,该资源申请请求可以包括资源信息,该资源信息可以包括申请资源量。
步骤315,混合主功能模块3031根据该资源信息从混合资源池中选择资源,并将选择的资源分配给在线业务,从而为在线业务实现资源的调度分配。
例如,混合主功能模块3031可以从混合资源池的资源视图中获取可用资源量,从该资源信息中获取申请资源量。基于此,若该申请资源量小于等于该可用资源量,则可以从混合资源池中选择与该申请资源量对应的资源;或者,若该申请资源量大于该可用资源量,则可以拒绝从混合资源池中选择资源。
本实施例中,以从混合资源池中选择与该申请资源量对应的资源为例,假设申请资源量为2个核的CPU资源,若服务器306的总CPU资源是8核,可用CPU资源是2核,则可以将服务器306的2个核的CPU资源分配给在线业务。
步骤316,混合主功能模块3031向混合代理模块3032发送资源分配信息,该资源 分配信息表示将服务器306的2个核的CPU资源分配给在线业务。
步骤317,混合代理模块3032根据资源分配信息进行在线业务的资源分配。
例如,混合代理模块3032可以将服务器306的2个核的CPU资源预留给在线业务,例如,可以将这2个核的CPU资源设置为cgroup资源。
步骤318,混合代理模块3032向混合主功能模块3031发送资源分配完成信息,混合主功能模块3031向在线主功能模块3011发送资源分配完成信息。
步骤319,在线主功能模块3011通知在线代理模块3013进行资源配置。
步骤320,在线代理模块3013利用混合资源池中已预留的资源进行资源配置,即为在线业务配置资源,实现在线业务的处理。例如,可以利用混合资源池中已预留的资源创建容器,并可以通过这个容器实现在线业务的处理。
具体的,在线代理模块3013可以根据在线主功能模块3011的调度策略,进行容器级别的资源管理操作,实现容器的启动、停止、资源配置等操作。
步骤321,在线代理模块3013向在线主功能模块3011返回资源配置完成,在线主功能模块3011向用户返回资源配置完成,至此完成资源分配流程。
在一个例子中,若用户释放在线业务的资源,则在线主功能模块3011将资源释放请求发送给混合主功能模块3031,混合主功能模块3031向混合代理模块3032发送资源释放信息,该资源分配信息表示将服务器306的2个核的CPU资源释放。混合代理模块3032根据资源释放信息进行在线业务的资源释放,即从混合资源池中释放分配给在线业务的资源,从而实现资源的回收和再利用。
在一个例子中,资源信息还可以包括优先级(即资源优先级),而优先级表示资源的保障程度,高优先级的业务可以抢占低优先级业务的资源或者共享低优先级业务的资源,而低优先级的业务不能抢占高优先级业务的资源或者共享高优先级业务的资源。基于此优先级,在步骤315中,若申请资源量大于可用资源量,则可以从该资源信息中获取优先级。若该优先级小于混合资源池中的已占用资源对应的优先级(即已占用资源对应的业务的优先级),则可以拒绝从混合资源池中选择资源。若该优先级大于混合资源池中的已占用资源对应的优先级,则可以释放混合资源池中的已占用资源,并从混合资源池中选择与该申请资源量对应的资源,也就是说,可以释放低优先级业务的已占用资源,并将释放的资源提供给高优先级业务,从而实现资源的抢占。若该优先级等于混合资源池中的已占用资源对应的优先级(即已占用资源对应的业务的优先级),还可以共享混合资源池中的已占用资源,并从混合资源池中选择与该申请资源量对应的资源,也 就是说,可以共享相同优先级业务的已占用资源,即相同优先级的业务均可以使用这部分资源,从而实现资源的共享。
本实施例中,可以将优先级划分为3个级别,当然,3个级别只是一个示例,对此不做限制。例如,优先级的3个级别分别为:S10、S20和S30。S10表示采用独占的CPU资源,优先保证CPU资源的使用,具有最高优先级,可以抢占S30级别的CPU资源。S20表示采用不独占的CPU资源,可以共享CPU资源,具有第二高的优先级,可以共享S30级别的CPU资源。S30具有最低优先级。
在一个例子中,假设混合资源池中的资源被S30级别的离线业务占用,若接收到S10级别的在线业务的资源申请请求,若混合资源池中的资源已经无法满足在线业务的资源需求,则可以释放混合资源池中的已占用资源,并将释放的资源提供给S10级别的在线业务,从而可以优先保证S10级别的在线业务。而且,在将释放的资源提供给S10级别的在线业务后,这部分资源被S10级别的在线业务独占,也就是说,离线业务等其它业务不再使用这部分资源。
进一步的,若S10级别的在线业务释放混合资源池中的资源,则还可以将释放的资源归还给S30级别的离线业务,从而满足离线业务的资源需求。
在一个例子中,假设混合资源池中的资源被S30级别的离线业务占用,若接收到S20级别的在线业务的资源申请请求,若混合资源池中的资源已经无法满足在线业务的资源需求,则可以共享混合资源池中的已占用资源,并将共享的资源提供给S20级别的在线业务,从而可以优先保证S20级别的在线业务。而且,在将共享的资源提供给S20级别的在线业务后,这部分资源被S20级别的在线业务和S30级别的离线业务共享,也就是说,S20级别的在线业务可以使用这部分资源,S30级别的离线业务也可以使用这部分资源,但是,需要保证在线业务优先使用这部分资源,也就是说,当在线业务需要使用这部分资源时,需要将这部分资源提供给在线业务,而不能提供给离线业务,当在线业务不需要使用这部分资源时,才将这部分资源提供给离线业务。
进一步的,若S20级别的在线业务不再共享混合资源池中的资源,则还可以将共享的资源归还给S30级别的离线业务,从而满足离线业务的资源需求。
假设混合资源池中的资源被S30级别的离线业务占用,若接收到S30级别的在线业务的资源申请请求,若混合资源池中的资源已经无法满足在线业务的资源需求,则可以共享混合资源池中的已占用资源,并将共享的资源提供给S30级别的在线业务,在将共享的资源提供给S30级别的在线业务后,这部分资源被S30级别的在线业务和S30级别 的离线业务共享,也就是说,S30级别的在线业务可以使用这部分资源,S30级别的离线业务也可以使用这部分资源。
在一个例子中,还可以将多个调度系统的资源申请请求均转移到混合主功能模块3031,即混合主功能模块3031接收用户的资源申请请求。然后,混合主功能模块3031根据资源申请请求的类型将资源请求分配给不同的调度系统,例如,将在线业务的资源请求分配给在线主功能模块3011,将离线业务的资源请求分配给离线主功能模块3021,之后的其它流程参见上述实施例,不再赘述。
基于上述技术方案,本申请实施例中,可以部署混合资源池,并通过混合资源池向至少两种业务提供资源(如计算资源),如通过混合资源池向在线业务和离线业务提供资源。这样,在获取到针对在线业务的资源申请请求后,可以从混合资源池中为在线业务选择资源,并将混合资源池中的资源分配给在线业务;在获取到针对离线业务的资源申请请求后,可以从混合资源池中为离线业务选择资源,并将混合资源池中的资源分配给离线业务。综上所述,在某个时间段,若在线业务较多,离线业务较少,则可以将混合资源池中的多数资源分配给在线业务,将混合资源池中的少数资源分配给离线业务,从而满足在线业务的需求,且避免资源的浪费。在另一个时间段,若在线业务较少,离线业务较多,则可以将混合资源池中的多数资源分配给离线业务,将混合资源池中的少数资源分配给在线业务,从而满足离线业务的需求,且避免资源的浪费。
显然,在上述方式中,针对集群管理系统,若存在多个业务类型,则可以保留每个业务类型的调度系统,使得每个调度系统保留自身的资源管理能力和调度能力,而且,通过混合资源池向所有业务类型的调度系统提供共享的资源,从而在全局进行资源的优化与调度,实现集群管理系统的资源全局优化,实现资源的混合部署,从而达到提高资源利用率的目的,最终实现了资源的共享。
通过构造混合调度系统来控制和协调多个调度系统共享的状态信息,如混合资源池的机器元数据信息、机器部署信息、状态信息和资源划分信息等,通过最小化的资源实时状态共享,避免混合调度系统感知过于详细的调度状态信息,只共享必要信息,使得每个调度系统尽量保留原有的系统架构和功能,并最大程度减少混合调度系统资源冲突的可能,降低多个调度系统之间的耦合,降低了复杂度,提高可靠性,并发挥了各自调度系统的优势,实现资源优化。
基于与上述方法同样的申请构思,本申请实施例还提供一种资源分配装置,如图4A所示,为所述资源分配装置的结构图,所述装置具体包括:
获取模块401,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
选择模块402,用于根据所述资源信息从混合资源池中选择资源;
分配模块403,用于将从混合资源池中选择的资源分配给所述特定业务;
其中,所述混合资源池用于向至少两种业务提供资源。
所述选择模块402根据所述资源信息从混合资源池中选择资源时具体用于:
获取所述混合资源池的资源视图,所述资源视图包括可用资源量;
从所述资源信息中获取申请资源量;若所述申请资源量小于等于所述可用资源量,则从所述混合资源池中选择与所述申请资源量对应的资源。
所述选择模块402还用于:
若所述申请资源量大于所述可用资源量,则从所述混合资源池中选择与所述可用资源量对应的资源,或者,拒绝从所述混合资源池中选择资源;或者,
若所述申请资源量大于所述可用资源量,则从所述资源信息中获取优先级;基于所述优先级,拒绝从所述混合资源池中选择资源;或者,基于所述优先级,释放所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源;或者,基于所述优先级,共享所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源。
基于与上述方法同样的申请构思,本申请实施例还提供一种资源分配设备,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;根据所述资源信息从混合资源池中选择资源;将从混合资源池中选择的资源分配给特定业务;所述混合资源池用于向至少两种业务提供资源。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;根据所述资源信息从混合资源池中选择资源;将从混合资源池中选择的资源分配给特定业务;所述混合资源池用于向至少两种业务提供资源。
基于与上述方法同样的申请构思,本申请实施例还提供一种资源分配装置,如图4B所示,为所述资源分配装置的结构图,所述装置具体包括:
获取模块411,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资 源信息;
发送模块412,用于将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
基于与上述方法同样的申请构思,本申请实施例还提供一种资源分配设备,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

  1. 一种资源分配方法,其特征在于,所述方法包括:
    获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
    根据所述资源信息从混合资源池中选择资源;
    将从混合资源池中选择的资源分配给所述特定业务;
    其中,所述混合资源池用于向至少两种业务提供资源。
  2. 根据权利要求1所述的方法,其特征在于,
    所述资源申请请求是用于管理所述特定业务的业务调度器发送的。
  3. 根据权利要求1所述的方法,其特征在于,
    所述根据所述资源信息从混合资源池中选择资源,包括:
    获取所述混合资源池的资源视图,所述资源视图包括可用资源量;
    从所述资源信息中获取申请资源量;若所述申请资源量小于等于所述可用资源量,则从所述混合资源池中选择与所述申请资源量对应的资源。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    若所述申请资源量大于所述可用资源量,则从所述混合资源池中选择与所述可用资源量对应的资源,或者,拒绝从所述混合资源池中选择资源。
  5. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    若所述申请资源量大于所述可用资源量,则从所述资源信息中获取优先级;
    基于所述优先级,拒绝从所述混合资源池中选择资源;或者,
    基于所述优先级,释放所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源;或者,
    基于所述优先级,共享所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源。
  6. 根据权利要求5所述的方法,其特征在于,
    基于所述优先级,拒绝从所述混合资源池中选择资源,包括:
    若所述优先级小于所述混合资源池中的已占用资源对应的优先级,则拒绝从所述混合资源池中选择资源。
  7. 根据权利要求5所述的方法,其特征在于,
    所述基于所述优先级,释放所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源,包括:
    若所述优先级大于所述混合资源池中的已占用资源对应的优先级,则释放所述已占用资源,并根据所述已占用资源从所述混合资源池中选择与所述申请资源量对应的资源;其中,所述已占用资源被所述特定业务独占。
  8. 根据权利要求5所述的方法,其特征在于,
    所述基于所述优先级,共享所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源,包括:
    若所述优先级等于所述混合资源池中的已占用资源对应的优先级,则共享所述已占用资源,并根据所述已占用资源从所述混合资源池中选择与所述申请资源量对应的资源;其中,所述已占用资源被所述特定业务和其它业务共享。
  9. 根据权利要求1所述的方法,其特征在于,所述将从混合资源池中选择的资源分配给所述特定业务之后,所述方法还包括:
    在所述混合资源池中对所述选择的资源进行资源预留;
    将资源分配完成信息通知给业务调度器,以使所述业务调度器利用所述混合资源池中已预留的资源进行所述特定业务的资源配置。
  10. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    接收针对所述特定业务的资源释放请求;
    从所述混合资源池中释放分配给所述特定业务的资源。
  11. 根据权利要求1所述的方法,其特征在于,所述特定业务包括:
    在线业务、离线业务、实时业务或者机器学习业务。
  12. 一种资源分配方法,其特征在于,所述方法包括:
    获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
    将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;
    其中,所述混合资源池用于向至少两种业务提供资源。
  13. 根据权利要求12所述的方法,其特征在于,
    所述将所述资源申请请求发送给混合调度器,包括:
    判断是否从混合资源池中分配所述特定业务的资源;
    如果是,则将所述资源申请请求发送给混合调度器。
  14. 根据权利要求13所述的方法,其特征在于,所述判断是否从混合资源池中分配所述特定业务的资源之后,所述方法还包括:
    如果否,则根据所述资源信息从所述特定业务的资源池中选择资源。
  15. 根据权利要求12所述的方法,其特征在于,
    所述将所述资源申请请求发送给混合调度器之后,所述方法还包括:
    接收所述混合调度器发送的资源分配完成信息;
    利用混合资源池中已预留的资源进行所述特定业务的资源配置。
  16. 根据权利要求12所述的方法,其特征在于,所述特定业务包括:
    在线业务、离线业务、实时业务或者机器学习业务。
  17. 一种资源分配装置,其特征在于,所述装置包括:
    获取模块,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
    选择模块,用于根据所述资源信息从混合资源池中选择资源;
    分配模块,用于将从混合资源池中选择的资源分配给所述特定业务;
    其中,所述混合资源池用于向至少两种业务提供资源。
  18. 根据权利要求17所述的装置,其特征在于,
    所述选择模块根据所述资源信息从混合资源池中选择资源时具体用于:
    获取所述混合资源池的资源视图,所述资源视图包括可用资源量;
    从所述资源信息中获取申请资源量;若所述申请资源量小于等于所述可用资源量,则从所述混合资源池中选择与所述申请资源量对应的资源。
  19. 根据权利要求18所述的装置,其特征在于,所述选择模块还用于:
    若所述申请资源量大于所述可用资源量,则从所述混合资源池中选择与所述可用资源量对应的资源,或者,拒绝从所述混合资源池中选择资源;或者,
    若所述申请资源量大于所述可用资源量,则从所述资源信息中获取优先级;基于所述优先级,拒绝从所述混合资源池中选择资源;或者,基于所述优先级,释放所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源;或者,基于所述优先级,共享所述混合资源池中的已占用资源,从所述混合资源池中选择与所述申请资源量对应的资源。
  20. 一种资源分配装置,其特征在于,所述装置包括:
    获取模块,用于获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;
    发送模块,用于将所述资源申请请求发送给混合调度器,以使所述混合调度器根据 所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
  21. 一种资源分配设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;根据所述资源信息从混合资源池中选择资源;将从混合资源池中选择的资源分配给特定业务;所述混合资源池用于向至少两种业务提供资源。
  22. 一种资源分配设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:获取针对特定业务的资源申请请求,所述资源申请请求包括资源信息;将所述资源申请请求发送给混合调度器,以使所述混合调度器根据所述资源信息从混合资源池中选择资源,并将所述资源分配给所述特定业务;其中,所述混合资源池用于向至少两种业务提供资源。
PCT/CN2019/091668 2018-06-27 2019-06-18 一种资源分配方法、装置及设备 WO2020001320A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810682138.2A CN110647394B (zh) 2018-06-27 2018-06-27 一种资源分配方法、装置及设备
CN201810682138.2 2018-06-27

Publications (1)

Publication Number Publication Date
WO2020001320A1 true WO2020001320A1 (zh) 2020-01-02

Family

ID=68986132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/091668 WO2020001320A1 (zh) 2018-06-27 2019-06-18 一种资源分配方法、装置及设备

Country Status (2)

Country Link
CN (1) CN110647394B (zh)
WO (1) WO2020001320A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199194A (zh) * 2020-10-14 2021-01-08 广州虎牙科技有限公司 基于容器集群的资源调度方法、装置、设备和存储介质
CN112491740A (zh) * 2020-12-18 2021-03-12 中国卫通集团股份有限公司 一种卫星转发器的资源分配方法及装置
CN112783659A (zh) * 2021-02-01 2021-05-11 北京百度网讯科技有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN113407343A (zh) * 2021-06-23 2021-09-17 中国工商银行股份有限公司 一种基于资源分配的业务处理方法、装置及设备
CN113672347A (zh) * 2021-08-09 2021-11-19 新华三大数据技术有限公司 一种容器组调度方法及装置
CN114629960A (zh) * 2022-03-14 2022-06-14 北京字节跳动网络技术有限公司 资源调度方法、装置、系统、设备、介质和程序产品
CN116456496A (zh) * 2023-06-15 2023-07-18 阿里巴巴(中国)有限公司 资源调度的方法、存储介质及电子设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315719A (zh) * 2020-02-27 2021-08-27 阿里巴巴集团控股有限公司 流量调度方法、设备、系统及存储介质
CN113365116B (zh) * 2020-03-04 2022-12-13 Vidaa(荷兰)国际控股有限公司 音视频资源管理方法及装置
CN112269641B (zh) * 2020-11-18 2023-09-15 网易(杭州)网络有限公司 一种调度方法、装置、电子设备及存储介质
CN112667392B (zh) * 2020-12-09 2024-01-23 南方电网数字电网研究院有限公司 云计算资源分配方法、装置、计算机设备和存储介质
CN112559182B (zh) * 2020-12-16 2024-04-09 北京百度网讯科技有限公司 资源分配方法、装置、设备及存储介质
US11593178B2 (en) * 2021-01-13 2023-02-28 Dell Products, L.P. ML-to-ML orchestration system and method for system wide information handling system (IHS) optimization
CN113157418B (zh) * 2021-04-25 2023-08-25 腾讯科技(深圳)有限公司 服务器资源分配方法和装置、存储介质及电子设备
CN115481309A (zh) * 2021-05-31 2022-12-16 中兴通讯股份有限公司 业务处理方法、装置、设备、电子设备和可读存储介质
CN113590317B (zh) * 2021-07-27 2024-07-19 杭州网易数之帆科技有限公司 离线业务的调度方法、装置、介质和计算设备
CN115454598B (zh) * 2022-09-09 2023-06-06 苏州大学 部分解耦数据中心的业务部署和资源分配方法
CN115865924B (zh) * 2023-02-16 2023-04-21 天翼云科技有限公司 一种集群部署方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441580A (zh) * 2008-12-09 2009-05-27 华北电网有限公司 分布式并行计算平台系统及其计算任务分配方法
US20140173620A1 (en) * 2011-08-29 2014-06-19 Huawei Technologies Co., Ltd. Resource allocation method and resource management platform
CN106095550A (zh) * 2016-06-07 2016-11-09 百度在线网络技术(北京)有限公司 一种计算任务调度方法和装置
CN107968810A (zh) * 2016-10-20 2018-04-27 阿里巴巴集团控股有限公司 一种服务器集群的资源调度方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441580A (zh) * 2008-12-09 2009-05-27 华北电网有限公司 分布式并行计算平台系统及其计算任务分配方法
US20140173620A1 (en) * 2011-08-29 2014-06-19 Huawei Technologies Co., Ltd. Resource allocation method and resource management platform
CN106095550A (zh) * 2016-06-07 2016-11-09 百度在线网络技术(北京)有限公司 一种计算任务调度方法和装置
CN107968810A (zh) * 2016-10-20 2018-04-27 阿里巴巴集团控股有限公司 一种服务器集群的资源调度方法、装置和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199194A (zh) * 2020-10-14 2021-01-08 广州虎牙科技有限公司 基于容器集群的资源调度方法、装置、设备和存储介质
CN112199194B (zh) * 2020-10-14 2024-04-19 广州虎牙科技有限公司 基于容器集群的资源调度方法、装置、设备和存储介质
CN112491740A (zh) * 2020-12-18 2021-03-12 中国卫通集团股份有限公司 一种卫星转发器的资源分配方法及装置
CN112491740B (zh) * 2020-12-18 2024-02-20 中国卫通集团股份有限公司 一种卫星转发器的资源分配方法及装置
CN112783659A (zh) * 2021-02-01 2021-05-11 北京百度网讯科技有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN112783659B (zh) * 2021-02-01 2023-08-04 北京百度网讯科技有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN113407343A (zh) * 2021-06-23 2021-09-17 中国工商银行股份有限公司 一种基于资源分配的业务处理方法、装置及设备
CN113672347A (zh) * 2021-08-09 2021-11-19 新华三大数据技术有限公司 一种容器组调度方法及装置
CN114629960A (zh) * 2022-03-14 2022-06-14 北京字节跳动网络技术有限公司 资源调度方法、装置、系统、设备、介质和程序产品
CN114629960B (zh) * 2022-03-14 2023-09-19 抖音视界有限公司 资源调度方法、装置、系统、设备、介质和程序产品
CN116456496A (zh) * 2023-06-15 2023-07-18 阿里巴巴(中国)有限公司 资源调度的方法、存储介质及电子设备
CN116456496B (zh) * 2023-06-15 2023-11-14 阿里巴巴(中国)有限公司 资源调度的方法、存储介质及电子设备

Also Published As

Publication number Publication date
CN110647394B (zh) 2022-03-11
CN110647394A (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
WO2020001320A1 (zh) 一种资源分配方法、装置及设备
US11960915B2 (en) Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
US9052932B2 (en) Hybrid virtual machine configuration management
US20200174844A1 (en) System and method for resource partitioning in distributed computing
US7716336B2 (en) Resource reservation for massively parallel processing systems
WO2020177564A1 (zh) Vnf的生命周期管理方法及装置
US8650270B2 (en) Distributed computing with multiple coordinated component collections
WO2022247105A1 (zh) 一种任务调度方法、装置、计算机设备和存储介质
WO2017084453A1 (zh) 云平台资源管理方法、装置及系统
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
CN109992373B (zh) 资源调度方法、信息管理方法和装置及任务部署系统
US10013264B2 (en) Affinity of virtual processor dispatching
WO2021180092A1 (zh) 任务调度方法和装置
WO2021103646A1 (zh) 一种部署pod的方法及装置
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN111163140A (zh) 资源获取和分配的方法、装置和计算机可读存储介质
CN115576683A (zh) 一种协程池调度管理方法、系统、装置及存储介质
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质
CN115063282A (zh) 一种gpu资源调度方法、装置、设备及存储介质
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
Nzanywayingoma et al. Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment
CN113703930A (zh) 任务调度方法、装置及系统、计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19827489

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19827489

Country of ref document: EP

Kind code of ref document: A1