CN108399101B - Method, device and system for scheduling resources - Google Patents

Method, device and system for scheduling resources Download PDF

Info

Publication number
CN108399101B
CN108399101B CN201710068106.9A CN201710068106A CN108399101B CN 108399101 B CN108399101 B CN 108399101B CN 201710068106 A CN201710068106 A CN 201710068106A CN 108399101 B CN108399101 B CN 108399101B
Authority
CN
China
Prior art keywords
virtual machine
target
host
label
cluster
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201710068106.9A
Other languages
Chinese (zh)
Other versions
CN108399101A (en
Inventor
潘晓东
胡林红
莫衍
朱虹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710068106.9A priority Critical patent/CN108399101B/en
Priority to PCT/CN2018/074609 priority patent/WO2018141242A1/en
Publication of CN108399101A publication Critical patent/CN108399101A/en
Priority to US16/437,264 priority patent/US11442790B2/en
Application granted granted Critical
Publication of CN108399101B publication Critical patent/CN108399101B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/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

Landscapes

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

Abstract

The invention relates to a method, a device and a system for scheduling resources, comprising the following steps: the method comprises the steps of receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine label, comparing the target virtual machine label with current virtual machine labels in all hosts in a cluster to determine a target host, and the target host does not have a virtual machine label matched with the target virtual machine label, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label, and high availability of service is guaranteed.

Description

Method, device and system for scheduling resources
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, and a system for resource scheduling.
Background
With the development of computer technology, the construction of private clouds by government enterprises is ubiquitous. Private Clouds (Private Clouds) are cloud resource environments that can provide stable, efficient, safe and isolated for enterprise customers, flexibly manage enterprise resources, and strive for optimal resource configuration. Meanwhile, high availability is also a key requirement in a private cloud environment, and therefore, how to ensure high availability of services in the private cloud environment is particularly important.
In a traditional private cloud environment, resources of all hosts are generally collected, and the resources are scheduled according to the size and the utilization rate of the resources, without considering the influence on the resources with the same service attribute when the hosts are down, for example, two or more virtual machines with the same service attribute are simultaneously scheduled on one host, and when the hosts are down, the whole service corresponding to the service attribute is influenced.
Disclosure of Invention
Therefore, it is necessary to provide a method, an apparatus, and a system for resource scheduling to improve the capability of resources to serve external services by reasonably scheduling the resources, so as to ensure high availability of the services.
A method of resource scheduling, the method comprising:
receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine label;
comparing a target virtual machine label with current virtual machine labels in all host machines in a cluster to determine a target host machine, wherein the target host machine does not have a virtual machine label matched with the target virtual machine label;
and enabling the target host machine to create a first virtual machine and setting the label of the first virtual machine as the label of the target virtual machine.
An apparatus of resource scheduling, the apparatus comprising:
the virtual machine application request comprises a target virtual machine label;
the virtual machine resource scheduling module is used for comparing a target virtual machine label with current virtual machine labels in all host machines in the cluster to determine a target host machine, wherein the target host machine does not have a virtual machine label matched with the target virtual machine label, so that the target host machine creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
According to the method and the device for scheduling the resources, the virtual machine application request sent by the receiving terminal comprises the target virtual machine label, the target virtual machine label is compared with the current virtual machine label in each host machine in the cluster to determine the target host machine, the virtual machine label matched with the target virtual machine label does not exist in the target host machine, so that the target host machine creates the first virtual machine and sets the label of the first virtual machine as the target virtual machine label, the mutually matched virtual machine labels are distributed to different host machines, and therefore the virtual machines with the same or similar service attributes can be distributed and deployed.
A method of resource scheduling, the method comprising:
receiving a virtual machine application request sent by a cloud control server, wherein the virtual machine application request comprises a target virtual machine label;
obtaining current virtual machine labels in all host machines in a current cluster, and comparing the target virtual machine labels with the current virtual machine labels in all host machines in the cluster to determine target host machines, wherein virtual machine labels matched with the target virtual machine labels do not exist in the target host machines;
and enabling the target host machine to create a first virtual machine and setting the label of the first virtual machine as the label of the target virtual machine.
An apparatus of resource scheduling, the apparatus comprising:
the cloud control server comprises a receiving module, a sending module and a processing module, wherein the receiving module is used for receiving a virtual machine application request sent by the cloud control server, and the virtual machine application request comprises a target virtual machine label;
the virtual machine resource scheduling module is used for acquiring current virtual machine labels in all host machines in a current cluster, comparing the target virtual machine labels with the current virtual machine labels in all host machines in the cluster to determine target host machines, wherein virtual machine labels matched with the target virtual machine labels do not exist in the target host machines, so that the target host machines create first virtual machines and set the labels of the first virtual machines as the target virtual machine labels.
The method and the device for scheduling the resources receive the virtual machine application request sent by the cloud control server, the virtual machine application request comprises a target virtual machine label, the current virtual machine label in each host machine in the current cluster is obtained, the target virtual machine label is compared with the current virtual machine label in each host machine in the cluster to determine the target host machine, the target host machine does not have a virtual machine label matched with the target virtual machine label, so that the target host machine creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label, the mutually matched virtual machine labels are distributed to different host machines, thereby being capable of dispersedly deploying the virtual machines with the same or similar service attributes, when one host machine is down, the same or similar services can be provided in other host machines, and the capacity of the resources for external services is improved by reasonably scheduling the resources, ensuring high availability of services.
A system for resource scheduling, the system comprising:
the cloud control server is used for receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine label, determining a target cluster through a cluster scheduling strategy according to the virtual machine application request, and forwarding the virtual machine application request to a cluster control server corresponding to the target cluster;
the cluster control server is used for obtaining current virtual machine labels in all host machines in a current cluster, comparing the target virtual machine labels with the current virtual machine labels in all host machines in the cluster to determine target host machines, wherein virtual machine labels matched with the target virtual machine labels do not exist in the target host machines, so that the target host machines create first virtual machines and set the labels of the first virtual machines as the target virtual machine labels.
According to the resource scheduling system, through the cooperation of the cloud control server and the cluster control server, the cloud control server determines the target cluster according to the cluster scheduling strategy, the label comparison range is limited in the target cluster, the target cluster can be selected according to needs, on one hand, the determination efficiency of the target host is improved, on the other hand, the configurability of the target host selection is guaranteed, the matched virtual machine labels are distributed to different hosts in the cluster, so that the virtual machines with the same or similar service attributes can be distributed and deployed, when one host is down, the same or similar services can be provided in other hosts, the capacity of resources for external services is improved through reasonable scheduling of the resources, and the high availability of the services is guaranteed.
Drawings
FIG. 1 is a diagram of an application environment of a method of resource scheduling in one embodiment;
FIG. 2 is a diagram illustrating an internal structure of the first server shown in FIG. 1 according to an embodiment;
FIG. 3 is an internal block diagram of the cluster control server of FIG. 1 in one embodiment;
FIG. 4 is a flow diagram of a method of resource scheduling in one embodiment;
FIG. 5 is a flow diagram of determining a target host in one embodiment;
FIG. 6 is a diagram of a resource scheduling system architecture in one embodiment;
FIG. 7 is a diagram illustrating an example of an existing resource allocation;
FIG. 8 is a diagram illustrating resource allocation after resource scheduling in one embodiment;
FIG. 9 is a flow diagram of another method for resource scheduling in one embodiment;
FIG. 10 is a flow diagram of determining a target host in one embodiment;
FIG. 11 is a block diagram of a system for resource scheduling in one embodiment;
FIG. 12 is a block diagram of an apparatus for resource scheduling in one embodiment;
FIG. 13 is a block diagram that illustrates the architecture of a virtual machine resource scheduling module in one embodiment;
FIG. 14 is a block diagram showing an apparatus for resource scheduling in another embodiment;
fig. 15 is a block diagram of an apparatus for resource scheduling in an embodiment.
Detailed Description
FIG. 1 is a diagram of an application environment in which a method for resource scheduling operates, according to an embodiment. As shown in fig. 1, the application environment includes a terminal 110, a first server 120, and a cluster 130, where the cluster 130 may include a plurality of clusters, and as shown, may include a cluster 131, a cluster 132 … … cluster 13N, where N is a total number of clusters, each cluster has a corresponding cluster control server and schedulable host, and the cluster 131 includes a cluster control server 131a and a schedulable host 131b … … 131M, where M is a total number of schedulable hosts within the cluster 131. The terminal 110, the first server 120 and the cluster 130 communicate with each other through a network, wherein the first server 120 may be a cloud control server.
The terminal 110 may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, and the like. The virtual machine application request can be sent to the first server 120 through the terminal, the first server 120 obtains current virtual machine tags in each host machine, and the current virtual machine tags are compared with target virtual machine tags in the virtual machine application request to determine target host machines, so that the first virtual machines are created in the target host machines, and the tags of the first virtual machines are set as the target virtual machine tags. Or the first server 120 determines a target cluster through a cluster scheduling policy, forwards a virtual machine application request to a target cluster control server corresponding to the target cluster, and the target cluster control server obtains current virtual machine tags in each host in the current cluster and compares the current virtual machine tags with the target virtual machine tags in the virtual machine application request to determine the target host, thereby creating a first virtual machine in the target host and setting the first virtual machine tags as the target virtual machine tags, wherein the target host does not have a virtual machine tag matched with the target virtual machine tag, the virtual machine tags represent service attributes of the virtual machine, and ensure that the target host does not have mutually matched virtual machine tags, so that the mutually matched virtual machine tags are applied in different hosts when applying for the virtual machine, and the virtual machines with the same service attributes can be deployed dispersedly, ensuring high availability of services.
In one embodiment, the internal structure of the first server 120 in fig. 1 is as shown in fig. 2, and the first server 120 includes a processor, a storage medium, a memory, and a network interface connected by a system bus. The storage medium of the first server 120 stores an operating system, a database, and a first resource scheduling apparatus, where the database is used to store data, and the first resource scheduling apparatus is used to implement a method suitable for resource scheduling of the first server 120. The processor of the first server 120 is configured to provide computational and control capabilities to support the operation of the entire first server 120. The memory of the first server 120 provides an environment for the operation of the first resource scheduling device in the storage medium. The network interface of the first server 120 is used for communicating with the external terminal 110 and the cluster 130 through a network connection, such as receiving a request sent by the terminal 110 and sending the request to the cluster 130.
In one embodiment, the internal structure of the cluster control server 131 in fig. 1 is as shown in fig. 3, and the cluster control server 131 includes a processor, a storage medium, a memory and a network interface which are connected through a system bus. The storage medium of the cluster control server 131 stores an operating system, a database, and a second resource scheduling apparatus, where the database is used to store data, such as a host scheduling policy, and the second resource scheduling apparatus is used to implement a resource scheduling method applicable to the cluster control server 131. The processor of the cluster control server 131 is used to provide computing and control capabilities to support the operation of the entire cluster control server 131. The memory of the cluster control server 131 provides an environment for the operation of the second resource scheduling means in the storage medium. The network interface of the cluster control server 131 is used for communicating with the external first server 120 through a network connection, such as receiving a request forwarded by the first server 120.
As shown in fig. 4, in an embodiment, a method for resource scheduling is provided, which is exemplified by being applied to a first server in the application environment, and includes the following steps:
step S210, receiving a virtual machine application request sent by the terminal, where the virtual machine application request includes a target virtual machine tag.
Specifically, the terminal may receive an input target virtual machine tag through a virtual machine application page, such as a web site, generate a corresponding virtual machine application request according to the target virtual machine tag, and send the virtual machine application request to the cloud control server, which may be a private cloud control server. The virtual machine application request is used for determining a target host machine according to the target virtual machine label and applying for a virtual machine on the target host machine. The target virtual machine label is used for identifying service attributes of the virtual machine, the service attributes comprise use attributes, service attributes and the like, and different attributes can be combined to obtain the service attributes. The application of the virtual machine to be applied can be distinguished by configuring the virtual machine label for the virtual machine to be applied, so that the target host machine meeting the conditions is determined according to the application of the virtual machine, the reasonable utilization of resources is achieved, and the high availability is improved. The virtual machine application request may further include more information, such as cluster area information, cluster name, user information, virtual machine configuration information, and the like, so that the target cluster may be acquired or the user right may be verified through the information carried in the virtual machine application request. The virtual machine application request can comprise one or more target virtual machine tags, so that one or more virtual machines corresponding to the target virtual machine tags can be applied at one time.
Step S220, comparing the target virtual machine label with the current virtual machine label in each host machine in the cluster to determine the target host machine, wherein the target host machine does not have a virtual machine label matched with the target virtual machine label.
Specifically, the cloud control server is responsible for receiving a user request, can check the request validity, and schedules the request to a proper cluster control server according to different strategies according to the request to process the request and return a processing result to the user. The cloud control server can send the virtual machine application request to all the cluster control servers so as to obtain current virtual machine labels of the hosts in all the clusters returned by the cluster control servers, and the current virtual machine labels are compared to determine the target host. The target cluster can also be determined according to the cluster scheduling strategy, then the current virtual machine labels of the hosts in the target cluster are obtained and compared to determine the target hosts, and the number and the range of the specific hosts to be selected can be defined according to the needs. The host machine is a computing node in the cluster and can be responsible for receiving requests sent by a cluster controller and responding, the host machine is also called Hypervisor and is an intermediate software layer running between a physical server and an operating system, a set of basic physical hardware can be allowed to be shared by a plurality of operating systems and applications, all physical equipment and virtual machines on the server can be coordinately accessed, and virtual sub machines and storage environments running on the host machine can be controlled, managed and monitored. And as long as the virtual machine label matched with the target virtual machine label does not exist in the host to be selected, the host can be used as the target host. The first acquired host machine without the virtual machine label matched with the target virtual machine label can be used as the target host machine, or the host machine without the virtual machine label matched with the target virtual machine label can be added into a schedulable host machine set, and then the target host machine is acquired according to a specific host machine scheduling strategy. The virtual machine label matched with the target virtual machine label refers to a virtual machine label which is completely the same as or similar to the target virtual machine label, wherein whether the virtual machine label is similar or not can be determined according to a specific similarity algorithm, if the similarity between the current virtual machine label and the target virtual machine label is calculated, if the similarity exceeds a preset threshold value, the virtual machine label is judged to be similar, and if the similarity does not exceed the preset threshold value, the virtual machine label is judged to be not similar. Such as a virtual machine tag that the financial department is matched with the financial department. If the target host does not have the virtual machine label matched with the target virtual machine label, 2 same or similar virtual machine labels are distributed to different hosts, so that the virtual machines with the same or similar service attributes can be distributed and deployed, and when one host is down, the same or similar services can be provided in other hosts, thereby ensuring high availability of the services.
Step S230, enabling the target host to create the first virtual machine and set the label of the first virtual machine as the label of the target virtual machine.
Specifically, after the cloud control server determines the target host, the cloud control server may send a virtual machine application request carrying information of the target host to the cluster control server where the target host is located, so that the cluster control server determines the target host according to the information of the target host, creates a first virtual machine at the target host, allocates an appropriate amount of memory, CPU, network and disk to the first virtual machine when creating the first virtual machine, loads a client operating system of the first virtual machine, and sets a tag of the first virtual machine as a tag of the target virtual machine.
In this embodiment, a virtual machine application request sent by a receiving terminal is received, where the virtual machine application request includes a target virtual machine tag, the target host is determined by comparing the target virtual machine tag with current virtual machine tags in each host in a cluster, and the target host does not have a virtual machine tag matching the target virtual machine tag, so that the target host creates a first virtual machine and sets the tag of the first virtual machine as the target virtual machine tag, and the mutually matching virtual machine tags are distributed to different hosts, so that virtual machines with the same or similar service attributes can be deployed in a scattered manner.
In one embodiment, as shown in fig. 5, step S220 includes:
step S221, if the virtual machine label identical to the target virtual machine label does not exist in the first host, adding the first host into the dispatchable host set.
Specifically, if the first host does not have a virtual machine tag that is the same as the target virtual machine tag, it indicates that the service provided by each virtual machine created in the first host is different from the service provided by the virtual machine to be applied, and the first host may be added to the schedulable host set, for example, information of each schedulable host is stored in a list.
And step S222, selecting and obtaining a target host from the schedulable host set according to the host scheduling strategy.
Specifically, the host scheduling policy may be customized according to needs, for example, the scheduling policy includes resource least use scheduling, greedy scheduling, and the like, and the most suitable target host may be selected from the schedulable host set. When the virtual machine application request comprises a plurality of target virtual machine labels, each target virtual machine label has a corresponding schedulable host machine set, and a final target host machine is selected from the schedulable host machine sets. And if the first target virtual machine label corresponds to the first schedulable host set, selecting to obtain a first target host from the first schedulable host set, and if the second target virtual machine label corresponds to the second schedulable host set, selecting to obtain a second target host from the second schedulable host set.
In this embodiment, the host machines meeting the condition are added into the schedulable host machine set, and then the target host machine is determined from the schedulable host machine set, so that the suitability of the selection of the target host machine is further improved.
In one embodiment, before step S220, the method further includes: and determining a target cluster through a cluster scheduling strategy according to the virtual machine application request, and sending the virtual machine application request to a cluster control server corresponding to the target cluster so that the cluster control server returns current virtual machine labels in all host machines in the target cluster.
Specifically, the cluster scheduling policy may be customized according to needs, such as least resource usage scheduling, greedy scheduling, and the like. If the virtual machine application request carries the area information or the cluster information, the cluster matched with the area information can be obtained to be used as a target cluster or the target cluster is directly determined according to the cluster information, such as the cluster name. If the virtual machine application request carries virtual machine configuration information, a target cluster matched with the virtual machine configuration information can be obtained, and the configuration of the virtual machine established in the target cluster conforms to the virtual machine configuration information carried in the virtual machine application request. As shown in fig. 6, a resource scheduling system architecture diagram for a resource scheduling method application includes a terminal 240, where 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 manager 262, a host set 263, a cluster 270 and a corresponding cluster control server 271, a cluster network manager 272, a host set 273, a cluster 280 and a corresponding cluster control server 281, a cluster network manager 282, and a host set 283, where the cluster network manager is used to manage network planning, configuration, recovery, and the like in this cluster. The cloud control server 250 may determine a target cluster from the clusters 260, 270, 280 through a cluster scheduling policy according to the virtual machine application request.
Step S220 includes: and comparing the target virtual machine label with the current virtual machine label in each host machine in the target cluster to determine the target host machine.
Specifically, after the target cluster is determined, the target host is determined only by comparing the target virtual machine label with the current virtual machine labels in the host machines in the target cluster, the label comparison range is limited in the target cluster, and the target cluster can be selected as required, so that the determination efficiency of the target host is improved, and the configurability of the target host selection is ensured.
In one embodiment, the virtual machine application request includes at least one of authority information, cluster information, and virtual machine configuration information, and the step of determining the target cluster according to the virtual machine application request and the cluster scheduling policy includes: and verifying the validity of the virtual machine application request according to the information carried by the virtual machine application request, and if the verification is successful, determining a target cluster according to the information carried by the application request and a cluster scheduling strategy.
Specifically, the permission information refers to information related to the virtual machine application permission, for example, the information includes user information, cluster levels and the like, different users correspond to different virtual machine application permissions, a user with a high level can apply for configuring a high-level virtual machine, and can verify whether the user accords with the permission applied by the virtual machine, if the user accords with the virtual machine application request, the permission information is legal. The cluster information refers to information related to a cluster, such as cluster configuration information, cluster region information and the like, and can verify whether a user meets the condition of a virtual machine in the cluster applying the corresponding cluster configuration information, and if so, the virtual machine applies that the request is legal. The virtual machine configuration information comprises the memory size of the virtual machine, CPU information and the like, whether a user meets the condition of the virtual machine applying the corresponding virtual machine configuration information is verified, and if the user meets the condition, the virtual machine applying request is legal. Only if the virtual machine application request is legal, the step of determining the target cluster according to the information carried by the application request and the cluster scheduling strategy can be entered to apply for the virtual machine, so that the safety and configurability of the virtual machine application are enhanced.
In one embodiment, the target virtual machine tag is based on business division, and consists of a business department name and a business module name.
Specifically, the target virtual machine labels are divided according to the services, so that when the same service applies for the virtual machines, the virtual machines corresponding to the same service are configured to different hosts, when one host goes down, the same or similar service can be provided in other hosts, and the external service capability of the resources is improved by reasonably scheduling the resources, so that the high availability of the service is ensured. The target virtual machine label is composed of a business department name and a business module name, such as a 'penguing department/website' and a 'financial department/database', and the target virtual machine label is defined by 2 layers of the business department name and the business module name, so that the repeatability of the label is reduced, the description accuracy of the target virtual machine label is improved, and the business is divided into fine granularity.
In a specific embodiment, if the finance department needs to apply for 2 hosts to use as the database, assuming that the resource allocation situation of the current system is as shown in fig. 7, the specific process of resource scheduling is as follows:
1. receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine labeled as financial department/database.
2. Comparing the target virtual machine label with the current virtual machine label in each host machine in the cluster, wherein the host machines 320 and 330 are target host machines because the virtual machine labels matched with the target virtual machine label exist in the host machines 310 and 340 and cannot be used as schedulable host machines;
3. a schematic diagram of resource allocation after resource scheduling is completed is shown in fig. 8, in which a first virtual machine is created in the host 320 and a label of the first virtual machine is set to be "finance department/database", a second virtual machine is created in the host 330 and a label of the second virtual machine is set to be "finance department/database".
Through the resource scheduling, when the host 310 goes down, the database service can be provided for the financial department through the hosts 320, 330 and 340, and the high availability of the service is ensured.
In one embodiment, as shown in fig. 9, a method for resource scheduling is provided, which is exemplified by being applied to any cluster control server in the application environment, and includes the following steps:
step S410, receiving a virtual machine application request sent by the cloud control server, where the virtual machine application request includes a target virtual machine tag.
Specifically, after determining a target cluster according to a cluster scheduling policy, the cloud control server sends a virtual machine application request to a target cluster control server corresponding to the target cluster, and the target cluster control server receives the virtual machine application request carrying a target virtual machine label. The virtual machine application request is used for determining a target host machine according to the target virtual machine label and applying for a virtual machine on the target host machine. The target virtual machine label is used for identifying service attributes of the virtual machine, the service attributes comprise use attributes, service attributes and the like, and different attributes can be combined to obtain the service attributes. The application of the virtual machine to be applied can be distinguished by configuring the virtual machine label for the virtual machine to be applied, so that the target host machine meeting the conditions is determined according to the application of the virtual machine, the reasonable utilization of resources is achieved, and the high availability is improved. The virtual machine application request may further include more information, such as cluster area information, cluster name, user information, virtual machine configuration information, and the like, so that the target cluster may be acquired or the user right may be verified through the information carried in the virtual machine application request. The virtual machine application request can comprise one or more target virtual machine tags, so that one or more virtual machines corresponding to the target virtual machine tags can be applied at one time.
Step S420, obtaining current virtual machine tags in each host in the current cluster, and comparing the target virtual machine tags with the current virtual machine tags in each host in the cluster to determine a target host, where no virtual machine tag matching the target virtual machine tag exists in the target host.
Specifically, the target host is determined only by comparing the target virtual machine label with the current virtual machine label in each host in the target cluster, the label comparison range is limited in the target cluster, and the target cluster can be selected as required, so that the determination efficiency of the target host is improved on one hand, and the configurability of the target host selection is ensured on the other hand.
Step S430, enabling the target host to create the first virtual machine and set the label of the first virtual machine as the label of the target virtual machine.
Specifically, after determining the target host, the cluster control server may send a virtual machine application request to the target host, so that the target host creates a first virtual machine, and when creating the first virtual machine, the cluster control server allocates an appropriate amount of memory, CPU, network, and disk to the first virtual machine, loads a guest operating system of the first virtual machine, and sets a tag of the first virtual machine as a tag of the target virtual machine.
In this embodiment, a virtual machine application request sent by a cloud control server is received, where the virtual machine application request includes a target virtual machine tag, a current virtual machine tag in each host in a current cluster is obtained, the target virtual machine tag is compared with the current virtual machine tag in each host in the cluster to determine a target host, and a virtual machine tag matching with the target virtual machine tag does not exist in the target host, so that the target host creates a first virtual machine and sets the tag of the first virtual machine as the target virtual machine tag, and the mutually matching virtual machine tags are distributed to different hosts, thereby being capable of dispersedly deploying virtual machines with the same or similar service attributes, and when one host goes down, the same or similar service can be provided in other hosts, and the capacity of the resources for external service is improved by reasonably scheduling the resources, ensuring high availability of services.
In one embodiment, a 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 through a cluster scheduling policy.
Specifically, the terminal may receive an input target virtual machine tag through a virtual machine application page, such as a web site, generate a corresponding virtual machine application request according to the target virtual machine tag, and send the virtual machine application request to the cloud control server, which may be a private cloud control server. The cluster scheduling strategy can be customized according to needs, such as least resource utilization scheduling, greedy scheduling and the like. If the virtual machine application request carries the area information or the cluster information, the cluster matched with the area information can be obtained to be used as a target cluster or the target cluster is directly determined according to the cluster information, such as the cluster name. If the virtual machine application request carries virtual machine configuration information, a target cluster matched with the virtual machine configuration information can be obtained, and the configuration of the virtual machine established in the target cluster conforms to the virtual machine configuration information carried in the virtual machine application request.
In one embodiment, as shown in fig. 10, step S420 includes:
step S421, if the virtual machine label identical to the target virtual machine label does not exist in the first host in the cluster, adding the first host into the schedulable host set.
Specifically, if the first host does not have a virtual machine tag that is the same as the target virtual machine tag, it indicates that the service provided by each virtual machine created in the first host is different from the service provided by the virtual machine to be applied, and the first host may be added to the schedulable host set, for example, information of each schedulable host is stored in a list.
And S422, selecting and obtaining the target host from the schedulable host set according to the host scheduling strategy.
Specifically, the host scheduling policy may be customized according to needs, for example, the scheduling policy includes resource least use scheduling, greedy scheduling, and the like, and the most suitable target host may be selected from the schedulable host set. When the virtual machine application request comprises a plurality of target virtual machine labels, each target virtual machine label has a corresponding schedulable host machine set, and a final target host machine is selected from the schedulable host machine sets. And if the first target virtual machine label corresponds to the first schedulable host set, selecting to obtain a first target host from the first schedulable host set, and if the second target virtual machine label corresponds to the second schedulable host set, selecting to obtain a second target host from the second schedulable host set.
In this embodiment, the host machines meeting the condition are added into the schedulable host machine set, and then the target host machine is determined from the schedulable host machine set, so that the suitability of the selection of the target host machine is further improved.
In one embodiment, the target virtual machine tag is based on business division, and consists of a business department name and a business module name.
Specifically, the target virtual machine labels are divided according to the services, so that when the same service applies for the virtual machines, the virtual machines corresponding to the same service are configured to different hosts, when one host goes down, the same or similar service can be provided in other hosts, and the external service capability of the resources is improved by reasonably scheduling the resources, so that the high availability of the service is ensured. The target virtual machine label is composed of a business department name and a business module name, such as a 'penguing department/website' and a 'financial department/database', and the target virtual machine label is defined by 2 layers of the business department name and the business module name, so that the repeatability of the label is reduced, the description accuracy of the target virtual machine label is improved, and the business is divided into fine granularity.
In one embodiment, as shown in fig. 11, there is provided a system for resource scheduling, the system comprising:
the cloud control server 510 is configured to receive a virtual machine application request sent by a terminal, where the virtual machine application request includes a target virtual machine tag, determine a target cluster through a cluster scheduling policy according to the virtual machine application request, and forward the virtual machine application request to a cluster control server corresponding to the target cluster.
The cluster control server 520 is configured to obtain a 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 to determine a target host, where a virtual machine label matching the target virtual machine label does not exist in the target host, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
In the embodiment, through the cooperation of the cloud control server and the cluster control server, the cloud control server determines the target cluster according to the cluster scheduling strategy, the tag comparison range is limited in the target cluster, the target cluster can be selected according to needs, on one hand, the determination efficiency of the target host is improved, on the other hand, the configurability of the target host selection is ensured, the tags of the virtual machines matched with each other are distributed to different hosts in the cluster, so that the virtual machines with the same or similar service attributes can be distributed and deployed, when one host is down, the same or similar services can be provided in other hosts, the capability of the resources for external services is improved through reasonable scheduling of the resources, and the high availability of the services is ensured.
In an embodiment, the cluster control server is further configured to add the first host to a schedulable host set if a virtual machine label identical to the target virtual machine label does not exist in the first host in the current cluster, and select the target host from the schedulable host set according to the host scheduling policy.
In one embodiment, the target virtual machine tag is based on business division, and consists of a business department name and a business module name.
In one embodiment, as shown in fig. 12, there is provided an apparatus for resource scheduling, including:
the receiving module 610 is configured to receive a virtual machine application request sent by a terminal, where the virtual machine application request includes a target virtual machine tag.
And the virtual machine resource scheduling module 620 is configured to compare the target virtual machine tag with a current virtual machine tag in each host in the cluster to determine a target host, where no virtual machine tag matching the target virtual machine tag exists in the target host, so that the target host creates a first virtual machine and sets the tag of the first virtual machine as the target virtual machine tag.
In one embodiment, as shown in fig. 13, the virtual machine resource scheduling module 620 includes:
a schedulable host set determining unit 621, configured to add the first host to the schedulable host set if the virtual machine label identical to the target virtual machine label does not exist in the first host.
And a target host determining unit 622, configured to select a target host from the schedulable host set according to the host scheduling policy.
In one embodiment, as shown in fig. 14, the apparatus further comprises:
the cluster selection module 630 is configured to determine a target cluster through a cluster scheduling policy according to a virtual machine application request, and send the virtual machine application request to a cluster control server corresponding to the target cluster, so that the cluster control server returns a current virtual machine label in each host in the target cluster.
The virtual machine resource scheduling module 620 is further configured to compare the target virtual machine label with current virtual machine labels in the hosts in the target cluster.
In one embodiment, the target virtual machine tag is based on business division, and consists of a business department name and a business module name.
In one embodiment, as shown in fig. 15, there is provided a resource calling apparatus including:
the receiving module 710 is configured to receive a virtual machine application request sent by a cloud control server, where the virtual machine application request includes a target virtual machine tag.
The virtual machine resource scheduling module 720 is configured to obtain a 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 to determine a target host, where a virtual machine label matching the target virtual machine label does not exist in the target host, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
In one embodiment, a 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 through a cluster scheduling policy.
In one embodiment, the target virtual machine tag is based on business division, and consists of a business department name and a business module name.
It will be understood by those skilled in the art that all or part of the processes in the methods of the embodiments described above may be implemented by hardware related to instructions of a computer program, which may be stored in a computer readable storage medium, for example, in the storage medium of a computer system, and executed by at least one processor in the computer system, so as to implement the processes of the embodiments including the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (19)

1. A method of resource scheduling, the method comprising:
receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine label, and the target virtual machine label is used for identifying the service attribute of a virtual machine and is a virtual machine label configured for the virtual machine to be applied;
comparing the target virtual machine label with the current virtual machine label in each host machine in the cluster to determine the target host machine, wherein the method comprises the following steps: if the virtual machine label which is the same as the target virtual machine label does not exist in the first host machine, adding the first host machine into a schedulable host machine set; selecting a target host from the schedulable host set according to a self-defined host scheduling strategy, wherein a virtual machine label matched with the target virtual machine label does not exist in the target host;
and enabling the target host machine to create a first virtual machine and setting the label of the first virtual machine as the label of the target virtual machine.
2. The method of claim 1, wherein the host scheduling policy comprises least-resource-used scheduling or greedy scheduling.
3. The method of claim 1 or 2, wherein the step of comparing the target virtual machine label with the current virtual machine labels in the respective hosts of the cluster is preceded by the step of:
determining a target cluster through a cluster scheduling strategy according to the virtual machine application request, and sending the virtual machine application request to a cluster control server corresponding to the target cluster so that the cluster control server returns current virtual machine labels in all host machines in the target cluster;
the step of comparing the target virtual machine label with the current virtual machine label in each host machine in the cluster to determine the target host machine comprises the following steps:
and comparing the target virtual machine label with the current virtual machine label in each host machine in the target cluster to determine the target host machine.
4. The method according to claim 3, wherein the virtual machine application request includes at least one of permission information, cluster information, and virtual machine configuration information, and the step of determining the target cluster through the cluster scheduling policy according to the virtual machine application request includes:
and verifying the validity of the virtual machine application request according to the information carried by the virtual machine application request, and if the verification is successful, determining a target cluster according to the information carried by the application request and a cluster scheduling strategy.
5. The method of claim 1, wherein the target virtual machine tag is comprised of a business department name and a business module name according to a business partition.
6. A method of resource scheduling, the method comprising:
receiving a virtual machine application request sent by a cloud control server, wherein the virtual machine application request comprises a target virtual machine label, and the target virtual machine label is used for identifying the service attribute of a virtual machine and is a virtual machine label configured for the virtual machine to be applied;
obtaining current virtual machine labels in all host machines in a current cluster, comparing the target virtual machine labels with the current virtual machine labels in all host machines in the cluster to determine target host machines, and the method comprises the following steps: if the virtual machine label which is the same as the target virtual machine label does not exist in the first host machine, adding the first host machine into a schedulable host machine set; selecting a target host from the schedulable host set according to a self-defined host scheduling strategy, wherein a virtual machine label matched with the target virtual machine label does not exist in the target host;
and enabling the target host machine to create a first virtual machine and setting the label of the first virtual machine as the label of the target virtual machine.
7. The method according to claim 6, wherein 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 through a cluster scheduling policy.
8. The method of claim 6, wherein the host scheduling policy comprises least-resource-used scheduling or greedy scheduling.
9. The method of claim 6, wherein the target virtual machine tag is comprised of a business department name and a business module name according to a business partition.
10. A system for resource scheduling, the system comprising:
the cloud control server is used for receiving a virtual machine application request sent by a terminal, wherein the virtual machine application request comprises a target virtual machine label, a target cluster is determined through a cluster scheduling strategy according to the virtual machine application request, the virtual machine application request is forwarded to a cluster control server corresponding to the target cluster, and the target virtual machine label is used for identifying the service attribute of a virtual machine and is a virtual machine label configured for the virtual machine to be applied;
the cluster control server is used for acquiring current virtual machine labels in all hosts in a current cluster, comparing the target virtual machine labels with the current virtual machine labels in all hosts in the cluster to determine target hosts, and comprises the following steps: if the virtual machine label which is the same as the target virtual machine label does not exist in the first host machine, adding the first host machine into a schedulable host machine set; and selecting a target host from the schedulable host set according to a self-defined host scheduling strategy, wherein a virtual machine label matched with the target virtual machine label does not exist in the target host, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
11. The system of claim 10, wherein the host scheduling policy comprises a least resource usage schedule or a greedy schedule.
12. The system of claim 10, wherein the target virtual machine tag is comprised of a business department name and a business module name according to business division.
13. An apparatus for resource scheduling, the apparatus comprising:
the virtual machine application request comprises a target virtual machine label, wherein the target virtual machine label is used for identifying the service attribute of the virtual machine and is a virtual machine label configured for the virtual machine to be applied;
the virtual machine resource scheduling module is used for comparing the target virtual machine label with the current virtual machine label in each host machine in the cluster to determine the target host machine, and comprises the following steps: if the virtual machine label which is the same as the target virtual machine label does not exist in the first host machine, adding the first host machine into a schedulable host machine set; and selecting a target host from the schedulable host set according to a self-defined host scheduling strategy, wherein a virtual machine label matched with the target virtual machine label does not exist in the target host, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
14. The apparatus of claim 13, wherein the host scheduling policy comprises a least resource used scheduling or a greedy scheduling.
15. The apparatus of claim 13 or 14, further comprising:
the cluster selection module is used for determining a target cluster through a cluster scheduling strategy according to the virtual machine application request, and sending the virtual machine application request to a cluster control server corresponding to the target cluster so as to enable the cluster control server to return current virtual machine labels in all hosts in the target cluster;
the virtual machine resource scheduling module is further configured to compare the target virtual machine label with current virtual machine labels in each host machine in the target cluster.
16. The apparatus of claim 13, wherein the target virtual machine tag is comprised of a business department name and a business module name according to a business partition.
17. An apparatus for resource scheduling, the apparatus comprising:
the cloud control server comprises a receiving module, a processing module and a processing module, wherein the receiving module is used for receiving a virtual machine application request sent by the cloud control server, the virtual machine application request comprises a target virtual machine tag, and the target virtual machine tag is used for identifying the service attribute of a virtual machine and is a virtual machine tag configured for the virtual machine to be applied;
the virtual machine resource scheduling module is configured to obtain a current virtual machine label in each host in a current cluster, and compare the target virtual machine label with the current virtual machine label in each host in the cluster to determine a target host, and includes: if the virtual machine label which is the same as the target virtual machine label does not exist in the first host machine, adding the first host machine into a schedulable host machine set; and selecting a target host from the schedulable host set according to a self-defined host scheduling strategy, wherein a virtual machine label matched with the target virtual machine label does not exist in the target host, so that the target host creates a first virtual machine and sets the label of the first virtual machine as the target virtual machine label.
18. The apparatus according to claim 17, wherein 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 through a cluster scheduling policy.
19. The apparatus of claim 17, wherein the target virtual machine tag is comprised of a business department name and a business module name according to a business partition.
CN201710068106.9A 2017-02-06 2017-02-06 Method, device and system for scheduling resources Active CN108399101B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710068106.9A CN108399101B (en) 2017-02-06 2017-02-06 Method, device and system for scheduling resources
PCT/CN2018/074609 WO2018141242A1 (en) 2017-02-06 2018-01-30 Resource scheduling method, system, server and storage medium
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 (1)

Application Number Priority Date Filing Date Title
CN201710068106.9A CN108399101B (en) 2017-02-06 2017-02-06 Method, device and system for scheduling resources

Publications (2)

Publication Number Publication Date
CN108399101A CN108399101A (en) 2018-08-14
CN108399101B true CN108399101B (en) 2021-03-16

Family

ID=63039284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710068106.9A Active CN108399101B (en) 2017-02-06 2017-02-06 Method, device and system for scheduling resources

Country Status (3)

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

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399101B (en) 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 Method, device and system for scheduling resources
JP7003692B2 (en) * 2018-01-30 2022-01-20 富士通株式会社 Information processing equipment, information processing system and control program
CN110928638A (en) * 2018-09-20 2020-03-27 北京国双科技有限公司 Method and device for selecting host machine for virtual machine deployment
CN111158894B (en) * 2018-11-08 2023-04-07 杭州海康威视数字技术股份有限公司 Task monitoring method and device in cloud analysis system
CN110221920B (en) * 2019-06-04 2022-02-18 合肥讯飞数码科技有限公司 Deployment method, device, storage medium and system
CN112134941A (en) * 2020-09-18 2020-12-25 北京达佳互联信息技术有限公司 Communication method, communication device, server and storage medium
CN112330229B (en) * 2020-12-02 2023-09-22 北京元心科技有限公司 Resource scheduling method, device, electronic equipment and computer readable storage medium
CN112905337B (en) * 2021-02-07 2024-03-26 中国工商银行股份有限公司 MySQL cluster scheduling method and device for software and hardware hybrid deployment
CN113076175B (en) * 2021-03-26 2022-09-30 北京汇钧科技有限公司 Memory sharing method and device for virtual machine
CN113608833A (en) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 Virtual machine creation method and device, computer equipment and storage medium
CN113660313B (en) * 2021-07-26 2022-12-20 杭州安恒信息技术股份有限公司 Node scheduling method and device based on cloud protection, electronic device and storage medium
CN113608834A (en) * 2021-07-29 2021-11-05 济南浪潮数据技术有限公司 Resource scheduling method, device and equipment based on super-fusion and readable medium
CN113778679B (en) * 2021-09-06 2023-03-10 抖音视界有限公司 Resource scheduling method, resource scheduling device, electronic device and readable storage medium
CN114785806A (en) * 2022-02-09 2022-07-22 紫光云(南京)数字技术有限公司 Automatic setting method for resource scheduling label

Family Cites Families (22)

* 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 (en) * 2009-07-01 2013-11-06 华为技术有限公司 Virtual machine migration decision-making method, device and system
US8806484B2 (en) * 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
CN102299929B (en) * 2011-09-15 2015-05-27 北京天地云箱科技有限公司 Access control method, system and device for virtual machine
DE102012217202B4 (en) * 2011-10-12 2020-06-18 International Business Machines Corporation Method and system for optimizing the placement of virtual machines in cloud computing environments
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
CN103092675A (en) * 2012-12-24 2013-05-08 北京伸得纬科技有限公司 Virtual environment construction method
CN104142848A (en) * 2013-05-08 2014-11-12 西安邮电大学 Virtual machine identifier and use method thereof
CN104424013B (en) * 2013-08-26 2018-03-09 国际商业机器公司 The method and apparatus for disposing virtual machine in a computing environment
CN103544047B (en) * 2013-10-25 2017-01-04 华为技术有限公司 cloud system data management method
JP6277853B2 (en) * 2014-05-12 2018-02-14 富士通株式会社 Control device, communication device, and communication method
CN105446792B (en) * 2014-08-27 2019-09-24 联想(北京)有限公司 A kind of dispositions method of virtual machine, deployment device and management node
CN104281496B (en) * 2014-10-27 2018-02-02 深圳中兴网信科技有限公司 The distribution method and distributor of virtual resource
CN105577732B (en) * 2014-10-31 2019-04-26 华为技术有限公司 A kind of service discovery method, relevant device and system
CN105740040B (en) * 2014-12-10 2020-07-14 中兴通讯股份有限公司 Virtual machine data loading method and system
CN105847403A (en) * 2016-04-26 2016-08-10 乐视控股(北京)有限公司 Scheduling method and system
CN106201648A (en) * 2016-06-27 2016-12-07 浪潮电子信息产业股份有限公司 A kind of virtual machine creation method and device
CN106020937A (en) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 Method, device and system for creating virtual machine
CN106201661B (en) * 2016-07-20 2018-09-14 北京百度网讯科技有限公司 Method and apparatus for elastic telescopic cluster virtual machine
CN108399101B (en) 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 Method, device and system for scheduling resources

Also Published As

Publication number Publication date
US20190294479A1 (en) 2019-09-26
WO2018141242A1 (en) 2018-08-09
US11442790B2 (en) 2022-09-13
CN108399101A (en) 2018-08-14

Similar Documents

Publication Publication Date Title
CN108399101B (en) Method, device and system for scheduling resources
US11842208B2 (en) Virtual provisioning with implementation resource boundary awareness
US20200364608A1 (en) Communicating in a federated learning environment
CA2811020C (en) Virtual resource cost tracking with dedicated implementation resources
US9253053B2 (en) Transparently enforcing policies in hadoop-style processing infrastructures
US9386033B1 (en) Security recommendation engine
US20120084113A1 (en) Virtual resource cost tracking with dedicated implementation resources
US11328073B1 (en) Robust data tagging
KR102398076B1 (en) Apparatus and method for distributing and storing data
US9110729B2 (en) Host system admission control
US10834220B2 (en) Apparatus for providing cloud brokerage service based on multiple clouds and method thereof
US10757190B2 (en) Method, device and computer program product for scheduling multi-cloud system
US11636386B2 (en) Determining data representative of bias within a model
US9612927B1 (en) Managing server processes with proxy files
CN107045452B (en) Virtual machine scheduling method and device
CN114070847A (en) Current limiting method, device, equipment and storage medium of server
CN114860390B (en) Container data management method, device, program product, medium and electronic equipment
US11288291B2 (en) Method and system for relation discovery from operation data
CN111741097B (en) Method for tenant to monopolize node, computer equipment and storage medium
US11381468B1 (en) Identifying correlated resource behaviors for resource allocation
US11275770B2 (en) Parallelization of node's fault tolerent record linkage using smart indexing and hierarchical clustering
US20230259411A1 (en) Multiple web api call deadlock prevention
AU2014265092B2 (en) Virtual resource cost tracking with dedicated implementation resources
CN117891466A (en) Security product component method, apparatus, computer device, and storage medium
CN114064277A (en) Instance resource processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant