WO2018141242A1 - 资源调度的方法、系统、服务器和存储介质 - Google Patents

资源调度的方法、系统、服务器和存储介质 Download PDF

Info

Publication number
WO2018141242A1
WO2018141242A1 PCT/CN2018/074609 CN2018074609W WO2018141242A1 WO 2018141242 A1 WO2018141242 A1 WO 2018141242A1 CN 2018074609 W CN2018074609 W CN 2018074609W WO 2018141242 A1 WO2018141242 A1 WO 2018141242A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
target
host
cluster
label
Prior art date
Application number
PCT/CN2018/074609
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 WO2018141242A1 publication Critical patent/WO2018141242A1/zh
Priority to US16/437,264 priority Critical patent/US11442790B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present application relates to the field of computer technologies, and in particular, to a method, system, server, and storage medium for resource scheduling.
  • Private Clouds is a cloud resource environment that provides stable, efficient, secure, and isolated cloud resources for enterprise customers. It manages enterprise resources flexibly and strives to optimize resource allocation. At the same time, high availability is also a key requirement in a private cloud environment, so how to ensure high availability of services in a private cloud environment is especially important.
  • resources of all the hosts are usually collected, and resources are scheduled according to the size and utilization of the resources, and the impact of resources having the same service attribute when the host is down is not considered, for example, Two or more virtual machines of the same service attribute are simultaneously scheduled on one host.
  • the host is down, the entire service corresponding to the service attribute is affected.
  • a method, system, server, and storage medium for resource scheduling are provided.
  • a method for resource scheduling comprising:
  • the cloud control server receives a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine label;
  • the cloud control server compares the target virtual machine label with a current virtual machine label in each host in the cluster to determine a target host, and the target host does not have a virtual machine that matches the target virtual machine label. Label;
  • the cloud control server causes the target host to create a first virtual machine and set a label of the first virtual machine as the target virtual machine label.
  • a method for resource scheduling comprising:
  • the cluster control server receives a virtual machine application request sent by the cloud control server, where the virtual machine application request includes a target virtual machine label;
  • the cluster control server acquires a current virtual machine label in each host in the current cluster, compares the target virtual machine label with a current virtual machine label in each host in the cluster, and determines a target host, where the target host There is no virtual machine label matching the target virtual machine label;
  • the cluster control server causes the target host to create a first virtual machine and set a label of the first virtual machine as the target virtual machine label.
  • a system for resource scheduling comprising:
  • a cloud control server configured to receive a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine label, determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and forward the virtual machine request request a cluster control server corresponding to the target cluster;
  • a cluster control server configured to acquire a current virtual machine label in each host in the current cluster, compare the target virtual machine label with a current virtual machine label in each host in the cluster, and determine a target host, where the target host A virtual machine label matching the target virtual machine label does not exist in the host, so that the target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
  • a server comprising a memory and a processor, the memory storing computer readable instructions, the computer readable instructions being executed by the processor, such that the processor performs the following steps:
  • the target host creates a first virtual machine and sets a label of the first virtual machine as the target virtual machine label.
  • a server comprising a memory and a processor, the memory storing computer readable instructions, the computer readable instructions being executed by the processor, such that the processor performs the following steps:
  • the target host creates a first virtual machine and sets a label of the first virtual machine as the target virtual machine label.
  • One or more non-volatile storage media storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the following steps:
  • the target host creates a first virtual machine and sets a label of the first virtual machine as the target virtual machine label.
  • One or more non-volatile storage media storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the following steps:
  • the target host creates a first virtual machine and sets a label of the first virtual machine as the target virtual machine label.
  • 1 is an application environment diagram of a method for resource scheduling in an embodiment
  • Figure 2 is a diagram showing the internal structure of the first server of Figure 1 in an embodiment
  • FIG. 3 is an internal structural diagram of a cluster control server in FIG. 1 in an embodiment
  • Figure 5 is a flow chart of determining a target host in an embodiment
  • FIG. 6 is a schematic structural diagram of a resource scheduling system in an embodiment
  • FIG. 7 is a schematic diagram of existing resource allocation in an embodiment
  • FIG. 8 is a schematic diagram of resource allocation after resource scheduling in an embodiment
  • FIG. 10 is a flow chart of determining a target host in an embodiment
  • FIG. 11 is a structural block diagram of a system for resource scheduling in an embodiment
  • FIG. 12 is a structural block diagram of an apparatus for resource scheduling in an embodiment
  • FIG. 13 is a structural block diagram of a virtual machine resource scheduling module in an embodiment
  • FIG. 15 is a structural block diagram of another apparatus for resource scheduling in an embodiment.
  • FIG. 1 is an application environment diagram of a method for resource scheduling in an embodiment.
  • the application environment includes a terminal 110, a first server 120, and a cluster 130.
  • the cluster 130 may include multiple clusters.
  • the cluster 130 may include a cluster 131, a cluster 132, a cluster 13N, where N is The total number of clusters, each cluster has a corresponding cluster control server and a schedulable host.
  • the cluster 131 includes a cluster control server 131a and a schedulable host 131b...131M, where M is the total number of schedulable hosts in the cluster 131.
  • the terminal 110, the first server 120, and the cluster 130 communicate through a network, wherein the first server 120 can be a cloud control server.
  • the terminal 110 can be a smart phone, a tablet computer, a notebook computer, a desktop computer, etc., but is not limited thereto.
  • the virtual machine application request may be sent to the first server 120 through the terminal 110, and the first server 120 acquires the current virtual machine label in each host, and compares with the target virtual machine label in the virtual machine application request to determine the target host, thereby The target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
  • the target server may be determined by the first server 120 through the cluster scheduling policy, and the virtual machine application request is forwarded to the target cluster control server corresponding to the target cluster, and the target cluster control server obtains the current virtual machine label and virtual in each host in the current cluster.
  • the target virtual machine label in the machine request is compared to determine the target host, so that the first virtual machine is created on the target host and the label of the first virtual machine is set as the target virtual machine label, where the target virtual machine does not exist and the target virtual machine
  • the virtual machine label matches the virtual machine label.
  • the virtual machine label represents the service attribute of the virtual machine. It ensures that there is no matching virtual machine label in the target host, so the matching virtual machine labels will be different when applying for the virtual machine.
  • the application in the host machine can distribute the virtual machines of the same service attribute in a distributed manner to ensure high availability of the service.
  • the internal structure of the first server 120 of FIG. 1 is as shown in FIG. 2, and the first server 120 includes a processor, a memory, and a network interface connected by a system bus.
  • the memory of the first server 120 includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium of the computer device can store operating system and computer readable instructions.
  • the computer readable instructions when executed, may cause the processor to perform a method of resource scheduling.
  • the processor of the first server 120 is configured to provide computing and control capabilities to support operation of the entire first server 120.
  • the internal memory can store computer readable instructions that, when executed by the processor, cause the processor to perform a method of resource scheduling.
  • the network interface of the first server 120 is configured to communicate with the external terminal 110 and the cluster 130 via a network connection, such as receiving a request sent by the terminal 110 and transmitting a request to the cluster 130.
  • the internal structure of the cluster control server of Figure 1 is as shown in Figure 3, which includes a processor, memory, and network interface connected by a system bus.
  • the memory of the cluster control server includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium of the computer device can store operating system and computer readable instructions.
  • the computer readable instructions when executed, may cause the processor to perform a method of resource scheduling.
  • the processor of the cluster control server is used to provide computing and control capabilities to support the operation of the entire cluster control server.
  • the internal memory can store computer readable instructions that, when executed by the processor, cause the processor to perform a method of resource scheduling.
  • the network interface of the cluster control server is configured to communicate with the external first server 120 through a network connection, such as receiving a request forwarded by the first server 120.
  • FIG. 2 and FIG. 3 are only block diagrams of partial structures related to the solution of the present application, and do not constitute a limitation of the terminal to which the solution of the present application is applied, and a specific server. More or fewer components than those shown in the figures may be included, or some components may be combined, or have different component arrangements.
  • a method for resource scheduling is provided to be applied to a first server in the application environment, and the following steps are included:
  • Step S210 Receive a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine label.
  • the terminal may use the virtual machine application page, such as a web site, to receive the input target virtual machine label, generate a corresponding virtual machine application request according to the target virtual machine label, and send the virtual machine application request to the cloud control server, which may be private.
  • Cloud control server The virtual machine request request is used to determine the target host based on the target virtual machine tag and apply for the virtual machine on the target host.
  • the target virtual machine label is used to identify a service attribute of the virtual machine, and the service attribute includes at least one of a usage attribute and a service attribute, and the different attributes may be combined to obtain the service attribute.
  • the virtual machine application request may further include more information, such as at least one of cluster area information, a cluster name, user information, and virtual machine configuration information, so that the target cluster or pair may be acquired through the information carried in the virtual machine application request. User permissions for verification, etc.
  • the virtual machine request request may include one or more target virtual machine tags, so that one or more virtual machines corresponding to the target virtual machine tag may be applied at one time.
  • step S220 the target virtual machine label is compared with the current virtual machine label in each host in the cluster to determine the target host, and the virtual machine label matching the target virtual machine label does not exist in the target host.
  • the cloud control server is responsible for receiving the user request, verifying the validity of the request, and scheduling according to the policy to the appropriate cluster control server for processing and returning the processing result to the user.
  • the cloud control server can send a virtual machine request request to all cluster control servers to obtain the current virtual machine label of the host in all clusters returned by the cluster control server, and compare and determine the target host.
  • the target cluster can also be determined according to the cluster scheduling policy, and then the current virtual machine label of the host in the target cluster is obtained to compare and determine the target host.
  • the number and range of the specific host to be selected can be customized according to requirements.
  • the host is a compute node in the cluster that can receive and respond to requests from the cluster controller.
  • the host also known as the hypervisor, is an intermediate software layer running between the physical server and the operating system. Multiple operating systems and applications share a set of underlying physical hardware that coordinates all physical and virtual machines on the server and controls, manages, and monitors the virtual guest and storage environments running on it. As long as there is no virtual machine label matching the target virtual machine label in the host to be selected, it can be used as the target host.
  • the first host that has obtained the virtual machine label that does not match the target virtual machine label can be used as the target host, or the host that does not have the virtual machine label matching the target virtual machine label can be added to the schedulable first. Host collection, and then obtain the target host according to the specific host scheduling policy.
  • the virtual machine label matching the target virtual machine label refers to the virtual machine label that is identical or similar to the target virtual machine label, and whether the similarity is similar may be determined according to a specific proximity algorithm, such as calculating the current virtual machine label and the target virtual machine. If the similarity exceeds the preset threshold, the similarity of the tags is determined to be similar. If the similarity does not exceed the preset threshold, it is determined to be not similar. For example, the Finance Department and the Finance Department are matching virtual machine labels. If there is no virtual machine label matching the target virtual machine label in the target host, then two identical or similar virtual machine labels will be assigned to different hosts, so that virtual machines with the same or similar service attributes can be deployed in a distributed manner. When one of the hosts is down, the same or similar services can be provided in other hosts to ensure high availability of the service.
  • Step S230 in which the target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
  • the cloud control server may send a virtual machine application request carrying the target host information to the cluster control server where the target host is located, so that the cluster control server determines the target host according to the target host information, and The target host creates the first virtual machine.
  • the first virtual machine is created, the first virtual machine is allocated an appropriate amount of memory, CPU, network, and disk, and the guest operating system of the first virtual machine is loaded, and the first virtual machine is set.
  • the label is the target virtual machine label.
  • the virtual machine application request includes the target virtual machine label
  • the target virtual machine label is compared with the current virtual machine label in each host in the cluster to determine the target host, and the target The virtual machine label matching the target virtual machine label does not exist in the host, so that the target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label, and the matching virtual machine labels are assigned differently.
  • the virtual machines of the same or similar service attributes can be deployed in a distributed manner. When one of the hosts is down, the same or similar services can be provided in other hosts, and resources can be improved by rational scheduling of resources. The ability to provide external services ensures high availability of services.
  • step S220 includes:
  • Step S221 if there is no virtual machine label in the first host that is the same as the target virtual machine label, the first host is added to the schedulable host set.
  • the virtual machine label that is the same as the target virtual machine label does not exist in the first host, and the service provided by each virtual machine in the first host is different from the service provided by the virtual machine to be applied.
  • the first host joins the set of schedulable hosts, such as storing each schedulable host information in the form of a list.
  • Step S222 selecting a target host according to a host scheduling policy from the set of schedulable hosts.
  • the host scheduling policy can be customized according to requirements, such as resource minimum scheduling, greedy scheduling, etc., and the most suitable target host can be selected from the set of schedulable hosts.
  • each target virtual machine tag has a corresponding set of schedulable hosts, and the final target host is selected in the respective schedulable host set.
  • the first target virtual machine label corresponds to the first schedulable host set
  • the first target host is selected from the first schedulable host set
  • the second target virtual machine label corresponds to the second schedulable host set, from the second The schedulable host set is selected to obtain the second target host.
  • the eligible host is first added to the set of schedulable hosts, and then the target host is determined from the set of schedulable hosts, thereby further improving the suitability of the target host selection.
  • the method before step S220, further includes: determining, by the cluster scheduling policy, the target cluster according to the virtual machine application request, and sending the virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns to the target cluster.
  • the current virtual machine label in each host before step S220, the method further includes: determining, by the cluster scheduling policy, the target cluster according to the virtual machine application request, and sending the virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns to the target cluster.
  • the current virtual machine label in each host before step S220, the method further includes: determining, by the cluster scheduling policy, the target cluster according to the virtual machine application request, and sending the virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns to the target cluster.
  • the current virtual machine label in each host before step S220, the method further includes: determining, by the cluster scheduling policy, the target cluster according to the virtual machine application request, and sending the virtual machine application request
  • the cluster scheduling policy can be customized according to needs, such as resource minimum usage scheduling, greedy scheduling, and the like. If the virtual machine application request carries the area information or the cluster information, the cluster matching the area information may be obtained as the target cluster or the target cluster may be directly determined according to the cluster information, such as the cluster name. If the virtual machine application request carries the virtual machine configuration information, the target cluster that matches the configuration information of the virtual machine can also be obtained. The configuration of the virtual machine created in the target cluster meets the configuration information of the virtual machine carried in the virtual machine application request. As shown in FIG.
  • the resource scheduling system architecture diagram applied to the resource scheduling method includes a terminal 240, wherein the terminal 240 displays a user portal, a cloud control server 250, a cluster 260 and a corresponding cluster control server 261, a cluster network management 262, and a sink.
  • the cloud control server 250 can determine the target cluster from the clusters 260, 270, 280 through the cluster scheduling policy according to the virtual machine application request.
  • Step S220 includes: comparing the target virtual machine label with a current virtual machine label in each host in the target cluster to determine the target host.
  • the target cluster is determined, only the target virtual machine label is compared with the current virtual machine label in each host in the target cluster to determine the target host, and the scope of the label comparison is limited to the target cluster. Need to select the target cluster, on the one hand to improve the determination efficiency of the target host, on the other hand to ensure the configurability of the target host selection.
  • the virtual machine application request includes at least one of rights information, cluster information, and virtual machine configuration information
  • the step of determining the target cluster by using the cluster scheduling policy according to the virtual machine application request includes: carrying according to the virtual machine application request The information verifies the validity of the virtual machine application request. If the verification succeeds, the target cluster is determined according to the information carried in the application request and the cluster scheduling policy.
  • the privilege information refers to the information related to the virtual machine application privilege, such as the user information, the cluster level, and the like. Different users correspond to different virtual machine application privilege, and users with high levels can apply for a high virtual machine. Verify that the user meets the permissions of the virtual machine application, if the virtual machine application request is valid.
  • the cluster information refers to the cluster-related information, such as the cluster configuration information and the cluster area information. It can verify whether the user meets the conditions of the virtual machine in the cluster that applies for the corresponding cluster configuration information. If the conditions are met, the virtual machine application request is legal.
  • the virtual machine configuration information includes the memory size of the virtual machine, the CPU information, and the like, and verifies whether the user meets the conditions of the virtual machine that applies for the corresponding virtual machine configuration information.
  • the virtual machine application request is legal. Only when the virtual machine application request is legal, can the user enter the information according to the application request and the cluster scheduling policy to determine the target cluster, and apply for the virtual machine, which enhances the security and configurability of the virtual machine application.
  • the target virtual machine label is composed of the business department name and the business module name according to the service division.
  • the target virtual machine label is divided according to the service, so that when the same service applies for the virtual machine, the virtual machine corresponding to the same service is configured to a different host, and when one of the hosts is down, the other host can be Provide the same or similar services, and improve the external service capability of resources through reasonable scheduling of resources to ensure high availability of services.
  • the target virtual machine label is composed of the business department name and the business module name, such as “planning department/website”, “finance department/database”, etc., and the target virtual machine label is defined by the business department name and the business module name. The repeatability improves the description accuracy of the target virtual machine label, so that the service is finely divided.
  • the host computer 320, 330 or 340 can provide database services for the finance department to ensure high availability of the service.
  • a method for resource scheduling is provided to be applied to any of the cluster control servers in the application environment, and includes the following steps:
  • Step S410 Receive a virtual machine application request sent by the cloud control server, where the virtual machine application request includes a target virtual machine label.
  • the cloud control server sends a virtual machine application request to the target cluster control server corresponding to the target cluster, and the target cluster control server receives the virtual machine application request that carries the target virtual machine label.
  • the virtual machine request request is used to determine the target host based on the target virtual machine tag and apply for the virtual machine on the target host.
  • the target virtual machine label is used to identify a service attribute of the virtual machine, and the service attribute includes at least one of a usage attribute and a service attribute, and the different attributes may be combined to obtain the service attribute.
  • the virtual machine application request may further include more information, such as at least one of cluster area information, a cluster name, user information, and virtual machine configuration information, so that the target cluster or pair may be acquired through the information carried in the virtual machine application request. User permissions for verification, etc.
  • the virtual machine request request may include one or more target virtual machine tags, so that one or more virtual machines corresponding to the target virtual machine tag may be applied at one time.
  • step S420 the current virtual machine label in each host in the current cluster is obtained, and the target virtual machine label is compared with the current virtual machine label in each host in the cluster to determine the target host, and the target host does not exist and the target virtual machine exists.
  • the virtual machine label that the machine label matches.
  • the target virtual machine label is compared with the current virtual machine label in each host in the target cluster to determine the target host, and the scope of the label comparison is limited to the target cluster, and the target cluster can be selected as needed.
  • the aspect improves the certain efficiency of the target host, and on the other hand ensures the configurability of the target host selection.
  • Step S430 in which the target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
  • the cluster control server may send a virtual machine request request to the target host, so that the target host creates the first virtual machine, and when the first virtual machine is created, the first virtual machine is allocated an appropriate amount of memory. , CPU, network, and disk, and load the guest operating system of the first virtual machine, and set the label of the first virtual machine to the target virtual machine label.
  • the virtual machine application request by receiving the virtual machine application request sent by the cloud control server, the virtual machine application request includes the target virtual machine label, and obtains the current virtual machine label in each host in the current cluster, and the target virtual machine label and each of the cluster The current virtual machine label in the host is compared to determine the target host, and the virtual machine label matching the target virtual machine label does not exist in the target host, so that the target host creates the first virtual machine and sets the first virtual machine.
  • the tag is the target virtual machine tag, and the matching virtual machine tags are assigned to different hosts, so that virtual machines with the same or similar service attributes can be deployed in a distributed manner, when one host is down, and the other host is The same or similar services can be provided, and the ability of resources to be externally serviced can be improved by rationally scheduling resources to ensure high availability of services.
  • the target sending cluster of the virtual machine application request is determined by the cloud control server according to the virtual machine application request sent by the terminal by the cluster scheduling policy.
  • the terminal may use the virtual machine application page, such as a web site, to receive the input target virtual machine label, generate a corresponding virtual machine application request according to the target virtual machine label, and send the virtual machine application request to the cloud control server, which may be private. Cloud control server.
  • the cluster scheduling policy can be customized according to needs, such as resource usage scheduling, greedy scheduling, and so on. If the virtual machine application request carries the area information or the cluster information, the cluster matching the area information may be obtained as the target cluster or the target cluster may be directly determined according to the cluster information, such as the cluster name. If the virtual machine application request carries the virtual machine configuration information, the target cluster that matches the configuration information of the virtual machine can also be obtained. The configuration of the virtual machine created in the target cluster meets the configuration information of the virtual machine carried in the virtual machine application request.
  • step S420 includes:
  • Step S421 If the virtual machine label of the same virtual machine label as the target virtual machine label does not exist in the first host in the cluster, the first host is added to the schedulable host set.
  • the virtual machine label that is the same as the target virtual machine label does not exist in the first host, and the service provided by each virtual machine in the first host is different from the service provided by the virtual machine to be applied.
  • the first host joins the set of schedulable hosts, such as storing each schedulable host information in the form of a list.
  • Step S422 selecting a target host according to a host scheduling policy from the set of schedulable hosts.
  • the host scheduling policy can be customized according to requirements, such as resource minimum scheduling, greedy scheduling, etc., and the most suitable target host can be selected from the set of schedulable hosts.
  • each target virtual machine tag has a corresponding set of schedulable hosts, and the final target host is selected in the respective schedulable host set.
  • the first target virtual machine label corresponds to the first schedulable host set
  • the first target host is selected from the first schedulable host set
  • the second target virtual machine label corresponds to the second schedulable host set, from the second The schedulable host set is selected to obtain the second target host.
  • the eligible host is first added to the set of schedulable hosts, and then the target host is determined from the set of schedulable hosts, thereby further improving the suitability of the target host selection.
  • the target virtual machine label is composed of the business department name and the business module name according to the service division.
  • the target virtual machine label is divided according to the service, so that when the same service applies for the virtual machine, the virtual machine corresponding to the same service is configured to a different host, and when one of the hosts is down, the other host can be Provide the same or similar services, and improve the external service capability of resources through reasonable scheduling of resources to ensure high availability of services.
  • the target virtual machine label is composed of the business department name and the business module name, such as “planning department/website”, “finance department/database”, etc., and the target virtual machine label is defined by the business department name and the business module name. The repeatability improves the description accuracy of the target virtual machine label, so that the service is finely divided.
  • a system for resource scheduling is provided, where the system includes:
  • the cloud control server 510 is configured to receive a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine label, determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and forward the virtual machine application request to the target cluster. Corresponding cluster control server.
  • the cluster control server 520 is configured to obtain a current virtual machine label in each host in the current cluster, and compare the target virtual machine label with a current virtual machine label in each host in the cluster to determine a target host, and the target host does not There is a virtual machine tag that matches the target virtual machine tag, such that the target host creates the first virtual machine and sets the tag of the first virtual machine as the target virtual machine tag.
  • the cloud control server determines the target cluster according to the cluster scheduling policy, and limits the scope of the label comparison to the target cluster, and can select the target cluster according to requirements, and improve the target on the one hand.
  • the deterministic efficiency of the host ensures the configurability of the target host selection, and the matching virtual machine tags are assigned to different hosts in the cluster, so that virtual machines of the same or similar service attributes can be deployed in a distributed manner.
  • the same or similar services can be provided in other hosts, and the resources can be reasonably scheduled to improve the ability of the resources to external services to ensure high availability of services.
  • the cluster control server is further configured to join the first host to the schedulable host set if the same virtual machine label as the target virtual machine label does not exist in the first host in the current cluster.
  • a target host is selected from the set of schedulable hosts according to a host scheduling policy.
  • the target virtual machine label is composed of the business department name and the business module name according to the service division.
  • an apparatus for resource scheduling including:
  • the receiving module 610 is configured to receive a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine label.
  • the virtual machine resource scheduling module 620 is configured to compare the target virtual machine label with the current virtual machine label in each host in the cluster to determine the target host, and the virtual host label that matches the target virtual machine label does not exist in the target host. In order for the target host to create the first virtual machine and set the label of the first virtual machine as the target virtual machine label.
  • the virtual machine resource scheduling module 620 includes:
  • the schedulable host collection determining unit 621 is configured to add the first host to the schedulable host set if the same virtual machine label as the target virtual machine label does not exist in the first host.
  • the target host determining unit 622 is configured to select a target host according to a host scheduling policy from the set of schedulable hosts.
  • the device further includes:
  • the cluster selection module 630 is configured to determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and send a virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns each of the target clusters.
  • the current virtual machine label in the host is configured to determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and send a virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns each of the target clusters.
  • the current virtual machine label in the host is configured to determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and send a virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster control server returns each of the target clusters.
  • the current virtual machine label in the host is configured to determine a target cluster by using a cluster scheduling policy according to the virtual machine application request, and send a virtual machine application request to the cluster control server corresponding to the target cluster, so that the cluster
  • the virtual machine resource scheduling module 620 is further configured to compare the target virtual machine label with a current virtual machine label in each host within the target cluster.
  • the target virtual machine label is composed of the business department name and the business module name according to the service division.
  • a resource invoking device including:
  • the receiving module 710 is configured to receive a virtual machine application request sent by the cloud control server, where the virtual machine application request includes a target virtual machine label.
  • the virtual machine resource scheduling module 720 is configured to obtain the current virtual machine label in each host in the current cluster, compare the target virtual machine label with the current virtual machine label in each host in the cluster, and determine the target host, the target host. There is no virtual machine label matching the target virtual machine label, so that the target host creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
  • the target sending cluster of the virtual machine application request is determined by the cloud control server according to the virtual machine application request sent by the terminal by the cluster scheduling policy.
  • the target virtual machine label is composed of the business department name and the business module name according to the service division.
  • a server is further provided, and the internal structure of the server may be as shown in FIG. 2 or FIG. 3, the server includes a resource scheduling device, and the resource scheduling device includes each module, and each module may be all Or partially implemented by software, hardware or a combination thereof.
  • the various steps in the various embodiments of the present application are not necessarily performed in the order indicated by the steps. Except as explicitly stated herein, the execution of these steps is not strictly limited, and the steps may be performed in other orders. Moreover, at least some of the steps in the embodiments may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be executed at different times, and the execution of these sub-steps or stages The order is also not necessarily sequential, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of the other steps.
  • Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • Synchlink DRAM SLDRAM
  • Memory Bus Radbus
  • RDRAM Direct RAM
  • DRAM Direct Memory Bus Dynamic RAM
  • RDRAM Memory Bus Dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

一种资源调度的方法、系统、服务器和存储介质,包括:接收终端发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签(S210);将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签(S220);以使目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签(S230)。

Description

资源调度的方法、系统、服务器和存储介质
本申请要求于2017年02月06日提交中国专利局,申请号为2017100681069,申请名称为“资源调度的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源调度的方法、系统、服务器和存储介质。
背景技术
随着计算机技术的发展,政企进行私有云的建设已普遍存在。私有云(Private Clouds)是能够为企业客户提供稳定、高效、安全、隔离的云资源环境,对企业资源进行灵活管理,力求资源最优化配置。与此同时,高可用性也是私有云环境中关键需求,因此,如何保证在私有云环境中服务的高可用性尤为重要。
传统的私有云环境中,通常对所有的宿主机的资源进行采集,根据资源的大小和利用率进行资源的调度,没有考虑到宿主机宕机时对具有相同服务属性的资源的影响,如具有相同服务属性的两台或者多台虚拟机同时被调度在一台宿主机上,当此宿主机宕机时,影响此服务属性对应的整个服务。
发明内容
根据本申请提供的各种实施例,提供一种资源调度的方法、系统、服务器和存储介质。
一种资源调度的方法,所述方法包括:
云控制服务器接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
所述云控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚 拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
所述云控制服务器以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一种资源调度的方法,所述方法包括:
集群控制服务器接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
所述集群控制服务器获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签;及
所述集群控制服务器以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一种资源调度的系统,所述系统包括:
云控制服务器,用于接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签,根据所述虚拟机申请请求通过集群调度策略确定目标集群,将所述虚拟机申请请求转发至所述目标集群对应的集群控制服务器;及
集群控制服务器,用于获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一种服务器,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:
接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一种服务器,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:
接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:
接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:
接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述 目标虚拟机标签。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征、目的和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中资源调度的方法的应用环境图;
图2为一个实施例中图1中第一服务器的内部结构图;
图3为一个实施例中图1中集群控制服务器的内部结构图;
图4为一个实施例中资源调度的方法的流程图;
图5为一个实施例中确定目标宿主机的流程图;
图6为一个实施例中资源调度系统架构示意图;
图7为一个实施例中已有资源分配示意图;
图8为一个实施例中资源调度后资源分配示意图;
图9为一个实施例中另一种资源调度的方法的流程图;
图10为一个实施例中确定目标宿主机的流程图;
图11为一个实施例中资源调度的系统的结构框图;
图12为一个实施例中资源调度的装置的结构框图;
图13为一个实施例中虚拟机资源调度模块的结构框图;
图14为另一个实施例中资源调度的装置的结构框图;及
图15为一个实施例中另一种资源调度的装置的结构框图。
具体实施方式
图1为一个实施例中资源调度的方法运行的应用环境图。如图1所示,该应用环境包括终端110、第一服务器120和集群130,其中集群130可包括多个集群, 如图所示,可包括集群131、集群132……集群13N,其中N为集群总数目,各个集群都有对应的集群控制服务器和可调度宿主机,集群131包括集群控制服务器131a和可调度宿主机131b……131M,其中M为集群131内的可调度宿主机总数目。终端110、第一服务器120和集群130间通过网络进行通信,其中第一服务器120可为云控制服务器。
终端110,可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。可通过终端110向第一服务器120发送虚拟机申请请求,第一服务器120获取各个宿主机中的当前虚拟机标签,与虚拟机申请请求中的目标虚拟机标签进行对比确定目标宿主机,从而在目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签。也可由第一服务器120通过集群调度策略确定目标集群,将虚拟机申请请求转发至目标集群对应的目标集群控制服务器,目标集群控制服务器获取当前集群内各个宿主机中的当前虚拟机标签,与虚拟机申请请求中的目标虚拟机标签进行对比确定目标宿主机,从而在目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签,其中目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,虚拟机标签代表了虚拟机的服务属性,保证目标宿主机中不存在相互匹配的虚拟机标签,从而相互匹配的虚拟机标签在申请虚拟机时,将在不同的宿主机中申请,能够将相同服务属性的虚拟机分散部署,保证服务的高可用。
在一个实施例中,图1中第一服务器120的内部结构如图2所示,该第一服务器120包括通过系统总线连接的处理器、存储器和网络接口。其中,该第一服务器120的存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令。该计算机可读指令被执行时,可使得处理器执行一种资源调度的方法。该第一服务器120的处理器用于提供计算和控制能力,支撑整个第一服务器120的运行。该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种资源调度的方法。该第一服务器120的网络接口用于与外部的终端110、集群130通过网络连接通信,比如接收终端110发送的请求及向集群130发送请求等。
在一个实施例中,图1中集群控制服务器的内部结构如图3所示,该集群 控制服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,该集群控制服务器的存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令。该计算机可读指令被执行时,可使得处理器执行一种资源调度的方法。该集群控制服务器的处理器用于提供计算和控制能力,支撑整个集群控制服务器的运行。该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种资源调度的方法。该集群控制服务器的网络接口用于与外部的第一服务器120通过网络连接通信,比如接收第一服务器120转发的请求等。
本领域技术人员可以理解,图2以及图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图4所示,在一个实施例中,提供了一种资源调度的方法,以应用于上述应用环境中的第一服务器来举例说明,包括如下步骤:
步骤S210,接收终端发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签。
具体的,终端可通过虚拟机申请页面,如web网站,接收输入的目标虚拟机标签,根据目标虚拟机标签生成对应的虚拟机申请请求,将虚拟机申请请求发送至云控制服务器,可为私有云控制服务器。虚拟机申请请求用于根据目标虚拟机标签确定目标宿主机,并申请目标宿主机上的虚拟机。目标虚拟机标签用于标识虚拟机的服务属性,服务属性包括用途属性以及业务属性中的至少一种,可将不同属性结合得到服务属性。通过为待申请的虚拟机配置虚拟机标签,可区分待申请的虚拟机的用途,从而根据虚拟机的用途确定符合条件的目标宿主机,达到资源的合理利用,提高高可用性。虚拟机申请请求中还可包括更多的信息,如集群区域信息、集群名称、用户信息以及虚拟机配置信息中的至少一种,从而可通过虚拟机申请请求中携带的信息获取目标集群或对用户权限进行验证等。虚拟机申请请求中可包括一个或多个目标虚拟机标签,从而可一次性申请与目标虚拟机标签对应的一个或多个虚拟机。
步骤S220,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签。
具体的,云控制服务器负责接收用户请求,可校验请求合法性,并根据请求的不同按照策略调度至合适的集群控制服务器进行处理并将处理结果返回给用户。云控制服务器可将虚拟机申请请求发送至所有的集群控制服务器,以获取集群控制服务器返回的所有集群中的宿主机的当前虚拟机标签,并进行对比确定目标宿主机。也可根据集群调度策略先确定目标集群,再获取目标集群中的宿主机的当前虚拟机标签进行对比确定目标宿主机,具体的待选择宿主机的数量和范围可根据需要自定义。宿主机是集群中的一个计算节点,可负责接收来自于集群控制器发出的请求并作出响应,宿主机也称Hypervisor,是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,可以协调访问服务器上的所有物理设备和虚拟机,并控制、管理和监控运行在其上的虚拟子机和存储环境。只要待选择宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,就可作为目标宿主机。可将第一个获取到的不存在与目标虚拟机标签匹配的虚拟机标签的宿主机作为目标宿主机,也可先将不存在与目标虚拟机标签匹配的虚拟机标签的宿主机加入可调度宿主机集合,再根据具体的主机调度策略获取目标宿主机。其中与目标虚拟机标签匹配的虚拟机标签,是指与目标虚拟机标签完全相同或相近的虚拟机标签,其中是否相近可根据具体的近似度算法确定,如计算当前虚拟机标签与目标虚拟机标签的相似度,如果相似度超过预设阈值,则判断为相近,如相似度没有超过预设阈值,则判断为不相近。如财务处与财务部门是匹配的虚拟机标签。目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,则2个相同或相近的虚拟机标签会被分配到不同的宿主机中,从而能够将相同或相似服务属性的虚拟机分散部署,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的服务,从而保证服务的高可用。
步骤S230,以使目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签。
具体的,云控制服务器确定目标宿主机后,可向目标宿主机所在的集群控制服务器发送携带目标宿主机信息的虚拟机申请请求,从而集群控制服务器根据目标宿主机信息确定目标宿主机,并在目标宿主机创建第一虚拟机,创建第一虚拟机时,会给第一虚拟机分配适量的内存、CPU、网络和磁盘,并加载第一虚拟机的客户操作系统,并设置第一虚拟机的标签为目标虚拟机标签。
本实施例中,通过接收终端发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签,则相互匹配的虚拟机标签分配到不同的宿主机中,从而能够将相同或相似服务属性的虚拟机分散部署,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的服务,通过对资源合理调度从而提高资源对外服务的能力,保证服务的高可用。
在一个实施例中,如图5所示,步骤S220包括:
步骤S221,如果第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将第一宿主机加入可调度宿主机集合。
具体的,第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则说明第一宿主机中已创建的各个虚拟机提供的服务与待申请的虚拟机提供的服务不同,可将第一宿主机加入可调度宿主机集合,如通过列表的形式存储各个可调度宿主机信息。
步骤S222,从可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
具体的,主机调度策略可根据需要自定义,如包括资源最少使用调度,贪婪调度等,可从可调度宿主机集合中选择最适合的目标宿主机。当虚拟机申请请求中包括多个目标虚拟机标签时,每个目标虚拟机标签有对应的可调度宿主机集合,在各自的可调度宿主机集合中选择最终的目标宿主机。如第一目标虚拟机标签对应第一可调度宿主机集合,从第一可调度宿主机集合选择得到第一目标宿主机,第二目标虚拟机标签对应第二可调度宿主机集合,从第二可调度宿主机集合选择得到第二目标宿主机。
本实施例中,先将符合条件的宿主机加入可调度宿主机集合,再从可调度宿主机集合中确定目标宿主机,进一步提高了目标宿主机选择的适合度。
在一个实施例中,步骤S220之前,还包括:根据虚拟机申请请求通过集群调度策略确定目标集群,将虚拟机申请请求发送至目标集群对应的集群控制服务器,以使集群控制服务器返回目标集群内的各个宿主机中的当前虚拟机标签。
具体的,集群调度策略可根据需要自定义,如资源最少使用调度,贪婪调度等。如果虚拟机申请请求中携带了地区信息或集群信息,则可获取与地区信息匹配的集群作为目标集群或直接根据集群信息,如集群名称确定目标集群。如果虚拟机申请请求中携带了虚拟机配置信息,也可获取与虚拟机配置信息匹配的目标集群,目标集群中创建的虚拟机的配置符合虚拟机申请请求中携带的虚拟机配置信息。如图6所示,为资源调度方法应用的资源调度系统架构图,包括终端240,其中终端240显示用户入口,云控制服务器250、集群260和对应的集群控制服务器261、集群网络管理262、宿主机集合263,集群270和对应的集群控制服务器271、集群网络管理272、宿主机集合273、集群280和对应的集群控制服务器281、集群网络管理282、宿主机集合283,其中集群网络管理用于管理此集群中网络规划,配置,回收等。云控制服务器250可根据虚拟机申请请求通过集群调度策略从集群260、270、280中确定目标集群。
步骤S220包括:将目标虚拟机标签与目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机。
具体的,当确定目标集群后,只需要将目标虚拟机标签与目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,将标签对比的范围限制在目标集群内,可根据需要选择目标集群,一方面提高了目标宿主机的确定效率,另一方面保证了目标宿主机选择的可配置性。
在一个实施例中,虚拟机申请请求包括权限信息、集群信息以及虚拟机配置信息中的至少一种,根据虚拟机申请请求通过集群调度策略确定目标集群的步骤包括:根据虚拟机申请请求携带的信息校验虚拟机申请请求的合法性,如果校验成功,则根据申请请求携带的信息和集群调度策略确定目标集群。
具体的,权限信息是指与虚拟机申请权限相关的信息,如包括用户信息、 集群级别等,不同的用户对应了不同的虚拟机申请权限,级别高的用户可申请配置高的虚拟机,可验证用户是否符合虚拟机申请的权限,如果符合虚拟机申请请求合法。集群信息是指与集群相关的信息,如集群配置信息、集群地域信息等,可验证用户是否符合申请相应集群配置信息的集群中的虚拟机的条件,如果符合条件,则虚拟机申请请求合法。虚拟机配置信息包括虚拟机的内存大小、CPU信息等,验证用户是否符合申请相应虚拟机配置信息的虚拟机的条件,如果符合条件,则虚拟机申请请求合法。只有虚拟机申请请求合法,才能进入根据申请请求携带的信息和集群调度策略确定目标集群的步骤,进行虚拟机的申请,加强了虚拟机申请的安全性与可配置性。
在一个实施例中,目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
具体的,目标虚拟机标签根据业务划分,从而使得相同业务申请虚拟机时,将相同业务对应的虚拟机配置到不同的宿主机,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的业务,通过对资源合理调度从而提高资源对外的业务能力,保证业务的高可用。目标虚拟机标签由业务部门名称和业务模块名组成,如“企划部/网站”,“财务部/数据库”等,通过业务部门名称和业务模块名2个层次定义目标虚拟机标签,减少了标签可重复度,提高了目标虚拟机标签的描述准确度,使得业务得到精细粒度的划分。
在一个具体的实施例中,如果财务部需要申请2台主机做数据库使用,假设目前系统的资源分配情况如图7所示,则资源调度的具体过程如下:
1、接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签为“财务部/数据库”。
2、将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比,由于宿主机310和宿主机340中存在与目标虚拟机标签匹配的虚拟机标签,不能作为可调度宿主机,所以宿主机320和宿主机330为目标宿主机;
3、在宿主机320中创建第一虚拟机并设置所述第一虚拟机的标签为“财务部/数据库”,在宿主机330中创建第二虚拟机并设置所述第二虚拟机的标签为“财务部/数据库”,完成资源调度后的资源分配示意图如图8所示。
通过以上的资源调度,当宿主机310宕机时,可通过宿主机320、330或340为财务部提供数据库服务,保证业务的高可用。
在一个实施例中,如图9所示,提供了一种资源调度的方法,以应用于上述应用环境中的任一集群控制服务器来举例说明,包括如下步骤:
步骤S410,接收云控制服务器发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签。
具体的,云控制服务器根据集群调度策略确定目标集群后,向目标集群对应的目标集群控制服务器发送虚拟机申请请求,目标集群控制服务器接收携带目标虚拟机标签的虚拟机申请请求。虚拟机申请请求用于根据目标虚拟机标签确定目标宿主机,并申请目标宿主机上的虚拟机。目标虚拟机标签用于标识虚拟机的服务属性,服务属性包括用途属性以及业务属性中的至少一种,可将不同属性结合得到服务属性。通过为待申请的虚拟机配置虚拟机标签,可区分待申请的虚拟机的用途,从而根据虚拟机的用途确定符合条件的目标宿主机,达到资源的合理利用,提高高可用性。虚拟机申请请求中还可包括更多的信息,如集群区域信息、集群名称、用户信息以及虚拟机配置信息中的至少一种,从而可通过虚拟机申请请求中携带的信息获取目标集群或对用户权限进行验证等。虚拟机申请请求中可包括一个或多个目标虚拟机标签,从而可一次性申请与目标虚拟机标签对应的一个或多个虚拟机。
步骤S420,获取当前集群内各个宿主机中的当前虚拟机标签,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签。
具体的,只需要将目标虚拟机标签与目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,将标签对比的范围限制在目标集群内,可根据需要选择目标集群,一方面提高了目标宿主机的确定效率,另一方面保证了目标宿主机选择的可配置性。
步骤S430,以使目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签。
具体的,集群控制服务器确定目标宿主机后,可向目标宿主机发送虚拟机申请请求,从而目标宿主机创建第一虚拟机,创建第一虚拟机时,会给第一虚拟机分配适量的内存、CPU、网络和磁盘,并加载第一虚拟机的客户操作系统,并设置第一虚拟机的标签为目标虚拟机标签。
本实施例中,通过接收云控制服务器发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签,获取当前集群内各个宿主机中的当前虚拟机标签,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为目标虚拟机标签,相互匹配的虚拟机标签分配到不同的宿主机中,从而能够将相同或相似服务属性的虚拟机分散部署,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的服务,通过对资源合理调度从而提高资源对外服务的能力,保证服务的高可用。
在一个实施例中,虚拟机申请请求的目标发送集群由云控制服务器根据终端发送的虚拟机申请请求通过集群调度策略确定。
具体的,终端可通过虚拟机申请页面,如web网站,接收输入的目标虚拟机标签,根据目标虚拟机标签生成对应的虚拟机申请请求,将虚拟机申请请求发送至云控制服务器,可为私有云控制服务器。集群调度策略可根据需要自定义,如资源最少使用调度,贪婪调度等。如果虚拟机申请请求中携带了地区信息或集群信息,则可获取与地区信息匹配的集群作为目标集群或直接根据集群信息,如集群名称确定目标集群。如果虚拟机申请请求中携带了虚拟机配置信息,也可获取与虚拟机配置信息匹配的目标集群,目标集群中创建的虚拟机的配置符合虚拟机申请请求中携带的虚拟机配置信息。
在一个实施例中,如图10所示,步骤S420包括:
步骤S421,如果集群中第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将第一宿主机加入可调度宿主机集合。
具体的,第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则说明第一宿主机中已创建的各个虚拟机提供的服务与待申请的虚拟机提供的服务 不同,可将第一宿主机加入可调度宿主机集合,如通过列表的形式存储各个可调度宿主机信息。
步骤S422,从可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
具体的,主机调度策略可根据需要自定义,如包括资源最少使用调度,贪婪调度等,可从可调度宿主机集合中选择最适合的目标宿主机。当虚拟机申请请求中包括多个目标虚拟机标签时,每个目标虚拟机标签有对应的可调度宿主机集合,在各自的可调度宿主机集合中选择最终的目标宿主机。如第一目标虚拟机标签对应第一可调度宿主机集合,从第一可调度宿主机集合选择得到第一目标宿主机,第二目标虚拟机标签对应第二可调度宿主机集合,从第二可调度宿主机集合选择得到第二目标宿主机。
本实施例中,先将符合条件的宿主机加入可调度宿主机集合,再从可调度宿主机集合中确定目标宿主机,进一步提高了目标宿主机选择的适合度。
在一个实施例中,目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
具体的,目标虚拟机标签根据业务划分,从而使得相同业务申请虚拟机时,将相同业务对应的虚拟机配置到不同的宿主机,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的业务,通过对资源合理调度从而提高资源对外的业务能力,保证业务的高可用。目标虚拟机标签由业务部门名称和业务模块名组成,如“企划部/网站”,“财务部/数据库”等,通过业务部门名称和业务模块名2个层次定义目标虚拟机标签,减少了标签可重复度,提高了目标虚拟机标签的描述准确度,使得业务得到精细粒度的划分。
在一个实施例中,如图11所示,提供了一种资源调度的系统,系统包括:
云控制服务器510,用于接收终端发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签,根据所述虚拟机申请请求通过集群调度策略确定目标集群,将虚拟机申请请求转发至目标集群对应的集群控制服务器。
集群控制服务器520,用于获取当前集群内各个宿主机中的当前虚拟机标签,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定 目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为目标虚拟机标签。
本实施例中,通过云控制服务器和集群控制服务器的配合,云控制服务器根据集群调度策略确定目标集群,将标签对比的范围限制在目标集群内,可根据需要选择目标集群,一方面提高了目标宿主机的确定效率,另一方面保证了目标宿主机选择的可配置性,相互匹配的虚拟机标签分配到集群中不同的宿主机中,从而能够将相同或相似服务属性的虚拟机分散部署,在其中一个宿主机宕机时,在其它的宿主机中可提供相同或相似的服务,通过对资源合理调度从而提高资源对外服务的能力,保证服务的高可用。
在一个实施例中,集群控制服务器还用于如果当前集群内的第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合,从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
在一个实施例中,目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
在一个实施例中,如图12所示,提供了一种资源调度的装置,包括:
接收模块610,用于接收终端发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签。
虚拟机资源调度模块620,用于将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使目标宿主机创建第一虚拟机并设置第一虚拟机的标签为目标虚拟机标签。
在一个实施例中,如图13所示,虚拟机资源调度模块620包括:
可调度宿主机集合确定单元621,用于如果第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将第一宿主机加入可调度宿主机集合。
目标宿主机确定单元622,用于从可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
在一个实施例中,如图14所示,装置还包括:
集群选择模块630,用于根据虚拟机申请请求通过集群调度策略确定目标集群,将虚拟机申请请求发送至所述目标集群对应的集群控制服务器,以使集群控制服务器返回所述目标集群内的各个宿主机中的当前虚拟机标签。
虚拟机资源调度模块620还用于将目标虚拟机标签与目标集群内的各个宿主机中的当前虚拟机标签进行对比。
在一个实施例中,目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
在一个实施例中,如图15所示,提供了一种资源调用装置,包括:
接收模块710,用于接收云控制服务器发送的虚拟机申请请求,虚拟机申请请求包括目标虚拟机标签。
虚拟机资源调度模块720,用于获取当前集群内各个宿主机中的当前虚拟机标签,将目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为目标虚拟机标签。
在一个实施例中,虚拟机申请请求的目标发送集群由云控制服务器根据终端发送的虚拟机申请请求通过集群调度策略确定。
在一个实施例中,目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
在一个实施例中,还提供了一种服务器,该服务器的内部结构可如图2或图3所示,该服务器包括资源调度的装置,资源调度的装置中包括各个模块,每个模块可全部或部分通过软件、硬件或其组合来实现。
应该理解的是,本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一 时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (30)

  1. 一种资源调度的方法,所述方法包括:
    云控制服务器接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    所述云控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    所述云控制服务器以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  2. 根据权利要求1所述的方法,其特征在于,所述云控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    如果第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则所述云控制服务器将所述第一宿主机加入可调度宿主机集合;
    所述云控制服务器从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  3. 根据权利要求1所述的方法,其特征在于,所述云控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比的步骤之前,还包括:
    所述云控制服务器根据所述虚拟机申请请求通过集群调度策略确定目标集群,将所述虚拟机申请请求发送至所述目标集群对应的集群控制服务器,以使所述集群控制服务器返回所述目标集群内的各个宿主机中的当前虚拟机标签;
    所述云控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    所述云控制服务器将所述目标虚拟机标签与所述目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机。
  4. 根据权利要求3所述的方法,其特征在于,所述虚拟机申请请求包括权限信息、集群信息以及虚拟机配置信息中的至少一种,所述云控制服务器根据 所述虚拟机申请请求通过集群调度策略确定目标集群的步骤包括:
    所述云控制服务器根据所述虚拟机申请请求携带的信息校验所述虚拟机申请请求的合法性,如果校验成功,则根据所述申请请求携带的信息和集群调度策略确定目标集群。
  5. 根据权利要求1所述的方法,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  6. 一种资源调度的方法,所述方法包括:
    集群控制服务器接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    所述集群控制服务器获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    所述集群控制服务器以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  7. 根据权利要求6所述的方法,其特征在于,所述虚拟机申请请求的目标发送集群由所述云控制服务器根据终端发送的虚拟机申请请求通过集群调度策略确定。
  8. 根据权利要求6所述的方法,其特征在于,所述集群控制服务器将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签相同的虚拟机标签的步骤包括:
    如果集群中第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则所述集群控制服务器将所述第一宿主机加入可调度宿主机集合;
    所述集群控制服务器从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  9. 根据权利要求6所述的方法,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  10. 一种资源调度的系统,其特征在于,所述系统包括:
    云控制服务器,用于接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签,根据所述虚拟机申请请求通过集群调度策略确定目标集群,将所述虚拟机申请请求转发至所述目标集群对应的集群控制服务器;及
    集群控制服务器,用于获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签匹配的虚拟机标签,以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  11. 根据权利要求10所述的系统,其特征在于,所述集群控制服务器还用于如果当前集群内的第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合,从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  12. 根据权利要求10所述的系统,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  13. 一种服务器,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:
    接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  14. 根据权利要求13所述的服务器,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    如果第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合;
    从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  15. 根据权利要求13所述的服务器,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比的步骤之前,所述计算机可读指令还使得所述处理器执行如下步骤:
    根据所述虚拟机申请请求通过集群调度策略确定目标集群,将所述虚拟机申请请求发送至所述目标集群对应的集群控制服务器,以使所述集群控制服务器返回所述目标集群内的各个宿主机中的当前虚拟机标签;
    所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    将所述目标虚拟机标签与所述目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机。
  16. 根据权利要求15所述的服务器,其特征在于,所述虚拟机申请请求包括权限信息、集群信息以及虚拟机配置信息中的至少一种,所述根据所述虚拟机申请请求通过集群调度策略确定目标集群的步骤包括:
    根据所述虚拟机申请请求携带的信息校验所述虚拟机申请请求的合法性,如果校验成功,则根据所述申请请求携带的信息和集群调度策略确定目标集群。
  17. 根据权利要求13所述的服务器,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  18. 一种服务器,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:
    接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  19. 根据权利要求18所述的服务器,其特征在于,所述虚拟机申请请求的目标发送集群由所述云控制服务器根据终端发送的虚拟机申请请求通过集群调度策略确定。
  20. 根据权利要求18所述的服务器,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签相同的虚拟机标签的步骤包括:
    如果集群中第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合;
    从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  21. 根据权利要求18所述的服务器,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  22. 一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:
    接收终端发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  23. 根据权利要求22所述的存储介质,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    如果第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合;
    从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  24. 根据权利要求22所述的存储介质,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比的步骤之前,所述计算机可读指令还使得所述处理器执行如下步骤:
    根据所述虚拟机申请请求通过集群调度策略确定目标集群,将所述虚拟机申请请求发送至所述目标集群对应的集群控制服务器,以使所述集群控制服务器返回所述目标集群内的各个宿主机中的当前虚拟机标签;
    所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机的步骤包括:
    将所述目标虚拟机标签与所述目标集群内的各个宿主机中的当前虚拟机标签进行对比确定目标宿主机。
  25. 根据权利要求24所述的存储介质,其特征在于,所述虚拟机申请请求包括权限信息、集群信息以及虚拟机配置信息中的至少一种,所述根据所述虚拟机申请请求通过集群调度策略确定目标集群的步骤包括:
    根据所述虚拟机申请请求携带的信息校验所述虚拟机申请请求的合法性,如果校验成功,则根据所述申请请求携带的信息和集群调度策略确定目标集群。
  26. 根据权利要求22所述的存储介质,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
  27. 一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:
    接收云控制服务器发送的虚拟机申请请求,所述虚拟机申请请求包括目标虚拟机标签;
    获取当前集群内各个宿主机中的当前虚拟机标签,将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与所述目标虚拟机标签匹配的虚拟机标签;及
    以使所述目标宿主机创建第一虚拟机并设置所述第一虚拟机的标签为所述目标虚拟机标签。
  28. 根据权利要求27所述的存储介质,其特征在于,所述虚拟机申请请求的目标发送集群由所述云控制服务器根据终端发送的虚拟机申请请求通过集群 调度策略确定。
  29. 根据权利要求27所述的存储介质,其特征在于,所述将所述目标虚拟机标签与集群中各个宿主机中的当前虚拟机标签进行对比确定目标宿主机,所述目标宿主机中不存在与目标虚拟机标签相同的虚拟机标签的步骤包括:
    如果集群中第一宿主机中不存在与目标虚拟机标签相同的虚拟机标签,则将所述第一宿主机加入可调度宿主机集合;
    从所述可调度宿主机集合中根据主机调度策略选择得到目标宿主机。
  30. 根据权利要求27所述的存储介质,其特征在于,所述目标虚拟机标签根据业务划分,由业务部门名称和业务模块名组成。
PCT/CN2018/074609 2017-02-06 2018-01-30 资源调度的方法、系统、服务器和存储介质 WO2018141242A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/437,264 US11442790B2 (en) 2017-02-06 2019-06-11 Resource scheduling system, method and server for ensuring high availability of services

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710068106.9 2017-02-06
CN201710068106.9A CN108399101B (zh) 2017-02-06 2017-02-06 资源调度的方法、装置和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/437,264 Continuation US11442790B2 (en) 2017-02-06 2019-06-11 Resource scheduling system, method and server for ensuring high availability of services

Publications (1)

Publication Number Publication Date
WO2018141242A1 true WO2018141242A1 (zh) 2018-08-09

Family

ID=63039284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/074609 WO2018141242A1 (zh) 2017-02-06 2018-01-30 资源调度的方法、系统、服务器和存储介质

Country Status (3)

Country Link
US (1) US11442790B2 (zh)
CN (1) CN108399101B (zh)
WO (1) WO2018141242A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158894A (zh) * 2018-11-08 2020-05-15 杭州海康威视数字技术股份有限公司 一种云分析系统中的任务监测方法以及装置
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399101B (zh) 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统
JP7003692B2 (ja) * 2018-01-30 2022-01-20 富士通株式会社 情報処理装置,情報処理システムおよび制御プログラム
CN110928638A (zh) * 2018-09-20 2020-03-27 北京国双科技有限公司 一种虚拟机部署的宿主机的选择方法和装置
CN110221920B (zh) * 2019-06-04 2022-02-18 合肥讯飞数码科技有限公司 部署方法、装置、存储介质及系统
CN112134941A (zh) * 2020-09-18 2020-12-25 北京达佳互联信息技术有限公司 一种通信方法、通信装置、服务器和存储介质
CN112330229B (zh) * 2020-12-02 2023-09-22 北京元心科技有限公司 资源调度方法、装置、电子设备及计算机可读存储介质
CN112905337B (zh) * 2021-02-07 2024-03-26 中国工商银行股份有限公司 软硬件混合部署的MySQL集群调度方法及装置
CN113076175B (zh) * 2021-03-26 2022-09-30 北京汇钧科技有限公司 用于虚拟机的内存共享方法及装置
CN113660313B (zh) * 2021-07-26 2022-12-20 杭州安恒信息技术股份有限公司 基于云防护的节点调度方法、装置、电子装置和存储介质
CN113608834A (zh) * 2021-07-29 2021-11-05 济南浪潮数据技术有限公司 一种基于超融合的资源调度方法、装置、设备及可读介质
CN113778679B (zh) * 2021-09-06 2023-03-10 抖音视界有限公司 资源调度方法、资源调度装置、电子设备和可读存储介质
CN114785806A (zh) * 2022-02-09 2022-07-22 紫光云(南京)数字技术有限公司 一种资源调度标签自动设置方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299929A (zh) * 2011-09-15 2011-12-28 北京天地云箱科技有限公司 虚拟机的访问控制方法、系统和装置
CN103092675A (zh) * 2012-12-24 2013-05-08 北京伸得纬科技有限公司 一种虚拟环境的构建方法
CN104008002A (zh) * 2014-06-17 2014-08-27 电子科技大学 云平台环境下虚拟机部署的目标主机选择方法
CN104142848A (zh) * 2013-05-08 2014-11-12 西安邮电大学 一种虚拟机标识符及其使用方法
CN105740040A (zh) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 虚拟机数据加载方法及系统
EP3048529A1 (en) * 2013-10-25 2016-07-27 Huawei Technologies Co., Ltd. Cloud system data management method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090919B2 (en) * 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
US9292557B2 (en) * 2009-02-27 2016-03-22 Red Hat Israel, Ltd. Managing virtual machines using hierarchical labeling
CN101937357B (zh) * 2009-07-01 2013-11-06 华为技术有限公司 一种虚拟机迁移决策方法、装置及系统
US8806484B2 (en) * 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US9535764B2 (en) * 2012-02-15 2017-01-03 Cisco Technology, Inc. Resource allocation mechanism
US9135040B2 (en) * 2012-08-03 2015-09-15 International Business Machines Corporation Selecting provisioning targets for new virtual machine instances
CN104424013B (zh) * 2013-08-26 2018-03-09 国际商业机器公司 在计算环境中部署虚拟机的方法和设备
JP6277853B2 (ja) * 2014-05-12 2018-02-14 富士通株式会社 制御装置、通信装置、および、通信方法
CN105446792B (zh) * 2014-08-27 2019-09-24 联想(北京)有限公司 一种虚拟机的部署方法、部署装置和管理节点
CN104281496B (zh) * 2014-10-27 2018-02-02 深圳中兴网信科技有限公司 虚拟资源的分配方法及分配装置
CN105577732B (zh) * 2014-10-31 2019-04-26 华为技术有限公司 一种服务发现方法、相关设备、及系统
CN105847403A (zh) * 2016-04-26 2016-08-10 乐视控股(北京)有限公司 调度方法及系统
CN106201648A (zh) * 2016-06-27 2016-12-07 浪潮电子信息产业股份有限公司 一种虚拟机创建方法及装置
CN106020937A (zh) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置及系统
CN106201661B (zh) * 2016-07-20 2018-09-14 北京百度网讯科技有限公司 用于弹性伸缩虚拟机集群的方法和装置
CN108399101B (zh) 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299929A (zh) * 2011-09-15 2011-12-28 北京天地云箱科技有限公司 虚拟机的访问控制方法、系统和装置
CN103092675A (zh) * 2012-12-24 2013-05-08 北京伸得纬科技有限公司 一种虚拟环境的构建方法
CN104142848A (zh) * 2013-05-08 2014-11-12 西安邮电大学 一种虚拟机标识符及其使用方法
EP3048529A1 (en) * 2013-10-25 2016-07-27 Huawei Technologies Co., Ltd. Cloud system data management method
CN104008002A (zh) * 2014-06-17 2014-08-27 电子科技大学 云平台环境下虚拟机部署的目标主机选择方法
CN105740040A (zh) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 虚拟机数据加载方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158894A (zh) * 2018-11-08 2020-05-15 杭州海康威视数字技术股份有限公司 一种云分析系统中的任务监测方法以及装置
CN111158894B (zh) * 2018-11-08 2023-04-07 杭州海康威视数字技术股份有限公司 一种云分析系统中的任务监测方法以及装置
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US20190294479A1 (en) 2019-09-26
US11442790B2 (en) 2022-09-13
CN108399101A (zh) 2018-08-14
CN108399101B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
WO2018141242A1 (zh) 资源调度的方法、系统、服务器和存储介质
US9253053B2 (en) Transparently enforcing policies in hadoop-style processing infrastructures
US20200364608A1 (en) Communicating in a federated learning environment
US8972956B2 (en) Application deployment in heterogeneous environments
US11119986B2 (en) Intelligent data routing and storage provisioning
US10331669B2 (en) Fast query processing in columnar databases with GPUs
US10505863B1 (en) Multi-framework distributed computation
US11182217B2 (en) Multilayered resource scheduling
US11573946B2 (en) Management of memory usage using usage analytics
US11645424B2 (en) Integrity verification in cloud key-value stores
CN111355689B (zh) 一种流数据处理方法及装置
US20210281561A1 (en) Certification for connection of virtual communication endpoints
US10108692B1 (en) Data set distribution
US11288291B2 (en) Method and system for relation discovery from operation data
US11782901B2 (en) Method and system for performing computations in a distributed system
US11275770B2 (en) Parallelization of node's fault tolerent record linkage using smart indexing and hierarchical clustering
US20210286819A1 (en) Method and System for Operation Objects Discovery from Operation Data
US11074223B2 (en) Orphaned content remediation
US11496602B2 (en) Fence computing
Sharma et al. Carbon Emission-aware and Trusted Multi-tenant, Multi-cloud Storage
US10467077B2 (en) Configuration item integrity
CN118074922A (zh) 信息验证方法、装置、设备和介质
CN115509643A (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: 18748266

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: 18748266

Country of ref document: EP

Kind code of ref document: A1