[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2016169166A1 - Virtual machine scheduling method and device - Google Patents

Virtual machine scheduling method and device Download PDF

Info

Publication number
WO2016169166A1
WO2016169166A1 PCT/CN2015/087278 CN2015087278W WO2016169166A1 WO 2016169166 A1 WO2016169166 A1 WO 2016169166A1 CN 2015087278 W CN2015087278 W CN 2015087278W WO 2016169166 A1 WO2016169166 A1 WO 2016169166A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
cloud computing
computing application
standby
scheduling
Prior art date
Application number
PCT/CN2015/087278
Other languages
French (fr)
Chinese (zh)
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 WO2016169166A1 publication Critical patent/WO2016169166A1/en

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to the field of communications, and in particular, to a virtual machine scheduling method and apparatus.
  • Cloud computing is an Internet-based computing method. Through this computing method, shared hardware and software resources and information can be provided to computers and other devices as needed.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand.
  • the core idea of cloud computing is to uniformly manage and schedule a large number of virtual
  • the main purpose of the present invention is to provide a virtual machine scheduling method and device, which aims to solve the problem that the cloud computing application is in a situation where the amount of users is not balanced.
  • the present invention provides a virtual machine scheduling method, including:
  • the standby virtual machine resource is scheduled according to the running data.
  • the monitoring the running data of each virtual machine and determining whether the running data exceeds a preset parameter interval further includes:
  • the virtual machine that installs the cloud computing application is configured by using the configuration information in the installation package.
  • the installing the cloud computing application to be installed to the corresponding virtual machine based on the installation package includes:
  • the to-be-installed cloud computing application is installed to the available virtual machine based on the installation package.
  • the virtual machine scheduling method further includes:
  • the standby virtual machine resources are continuously monitored.
  • the virtual machine scheduling method further includes:
  • the present invention further provides a virtual machine scheduling apparatus, where the apparatus includes:
  • a monitoring module configured to monitor operational data of the virtual machine
  • a determining module configured to determine whether the running data exceeds a preset parameter interval
  • the scheduling module is configured to schedule the standby virtual machine resource according to the running data when the running data exceeds a preset parameter interval.
  • the virtual machine scheduling apparatus further includes:
  • Obtaining a module configured to obtain an installation package of the cloud computing application to be installed
  • a configuration module configured to configure a virtual machine that installs the cloud computing application by using configuration information in the installation package.
  • the installation module includes:
  • the obtaining unit is configured to obtain a virtual machine that does not have a cloud computing application installed as an available virtual machine;
  • an installation unit configured to install the to-be-installed cloud computing application to the available virtual machine based on the installation package.
  • the monitoring module is further configured to monitor the standby virtual machine resource; the determining module is further configured to determine whether the standby virtual machine resource is sufficient; the virtual machine scheduling device further includes a creating module configured to be When the resource of the standby virtual machine is insufficient, a new virtual machine is created, and the new virtual machine is set as a standby virtual machine. The monitoring module is further configured to continue to monitor the standby virtual machine when the resource is sufficient. Alternate virtual machine resource.
  • the scheduling module is further configured to periodically schedule the standby virtual machine resources.
  • the monitoring module, the determining module, the scheduling module, the obtaining module, the installing module, the configuration module, and the creating module may use a central processing unit (CPU, Central Processing) when performing processing. Unit), Digital Signal Processor (DSP, Digital Singnal Processor) or Field-Programmable Gate Array (FPGA).
  • CPU Central Processing
  • DSP Digital Signal Processor
  • FPGA Field-Programmable Gate Array
  • the invention determines whether the running data exceeds a preset parameter interval by monitoring running data of each virtual machine; and when the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data.
  • FIG. 1 is a schematic flowchart of a first embodiment of a virtual machine scheduling method according to the present invention
  • FIG. 2 is a schematic flowchart diagram of a second embodiment of a virtual machine scheduling method according to the present invention.
  • step S02 in FIG. 2 is a schematic diagram of a refinement process of step S02 in FIG. 2;
  • FIG. 4 is a schematic flowchart diagram of a third embodiment of a virtual machine scheduling method according to the present invention.
  • FIG. 5 is a schematic flowchart diagram of a fourth embodiment of a virtual machine scheduling method according to the present invention.
  • FIG. 6 is a schematic diagram of functional modules of a first embodiment of a virtual machine scheduling apparatus according to the present invention.
  • FIG. 7 is a schematic diagram of functional modules of a second embodiment of a virtual machine scheduling apparatus according to the present invention.
  • FIG. 8 is a schematic diagram of a refinement function module of the installation module in FIG. 7;
  • FIG. 9 is a schematic diagram of functional modules of a third embodiment of a virtual machine scheduling apparatus according to the present invention.
  • the main solution of the embodiment of the present invention is: monitoring the running data of each virtual machine, determining whether the running data exceeds a preset parameter interval; and when the running data exceeds a preset parameter interval, scheduling according to the running data Alternate virtual machine resource.
  • the present invention provides a virtual machine scheduling method, which is referred to FIG.
  • a schematic flowchart of a first embodiment of a virtual machine scheduling method is invented.
  • the virtual machine scheduling method includes:
  • Step S10 Monitor operation data of each virtual machine, and determine whether the operation data exceeds a preset parameter interval
  • Step S20 When the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data.
  • the server of the cloud computing application includes a listener, and the running data of each virtual machine is periodically monitored by the listener, that is, the running data of each virtual machine is monitored periodically or in real time, and the running data includes but is not limited to CPU utilization and memory usage. Rate and so on. It is determined whether the running data exceeds a preset parameter interval. If a certain virtual machine running data exceeds its preset parameter interval for consecutive N sampling periods, it is determined that the virtual machine running data exceeds a preset parameter interval.
  • the number of sampling periods and the sampling interval can be set according to the configuration and needs of the virtual machine. For example, according to the performance tuning result of the virtual machine, the number of sampling periods and the sampling interval are set.
  • the number of sampling periods is set to three, and the sampling time interval is 5 seconds. That is, the virtual machine performs sampling every 5 seconds.
  • the CPU utilization rate of the virtual machine collected in the three consecutive sampling periods exceeds 90%, it is determined that the virtual machine CPU utilization exceeds the preset parameter interval. Limit value, an alarm signal is issued. After receiving the alarm signal, generating a performance alarm event of the cloud computing application, according to the type of the alarm event and the scheduling policy set by the cloud computing application, that is, according to the event scheduling policy, in the cloud computing application The standby virtual machine resource is scheduled.
  • the available standby virtual machine resources are scheduled from the resource pool of the cloud computing application system for
  • the user quantity of the cloud computing application is divided into other virtual machines, so that the virtual machine running data is within a normal range; if the virtual machine where the cloud computing application is located reaches a performance trough, such as the virtual machine Sampling once every 5 seconds, and determining the CPU utilization of the virtual machine when the CPU utilization of the virtual machine collected in three consecutive sampling periods is less than 10% If the virtual machine performance of the cloud computing application reaches a low level, the standby virtual machine resource is recovered.
  • the configuration interface of the load balancer in the cloud computing application is invoked, and the load balancing dynamic configuration request is initiated through the configuration interface of the load balancer, and the load balancing configuration of the cloud computing application is updated. That is, the load balancer configuration information of the cloud computing application is dynamically changed according to the information of the standby virtual machine IP address, the port, and the context in which the cloud computing application is located, so that the cloud computing application can use the standby virtual machine resource.
  • the standby virtual machine resource is scheduled according to the running data.
  • FIG. 2 is a schematic flowchart diagram of a second embodiment of a virtual machine scheduling method according to the present invention.
  • a second embodiment of the virtual machine scheduling method of the present invention is proposed based on the first embodiment.
  • the method before the step S10, the method further includes:
  • Step S30 obtaining an installation package of the cloud computing application to be installed
  • Step S40 installing the to-be-installed cloud computing application to the corresponding virtual machine based on the installation package
  • Step S50 Configure a virtual machine that installs the cloud computing application by using configuration information in the installation package.
  • step S40 includes:
  • Step S41 Obtain a virtual machine that does not have a cloud computing application installed as an available virtual machine.
  • Step S42 installing the to-be-installed cloud computing application to the available virtual machine based on the installation package.
  • the dynamic scheduling policy includes, but is not limited to, a timing scheduling policy and an event scheduling policy.
  • the scheduling policy that is, scheduling virtual machine resources in units of time, for example, scheduling may be set on a monthly or daily basis, such as setting virtual machine resource scheduling by 10 days, that is, the cloud computing application is every 10 Virtual machine resource scheduling is automatically performed in days.
  • the event scheduling policy may set thresholds such as CPU utilization, memory usage, and number of concurrent connections of the port, and dynamically monitor the virtual machine resource usage of the cloud computing application, and dynamically invoke the cloud computing application according to different thresholds.
  • the standby virtual machine resource such as the virtual machine memory usage of the cloud computing application currently has reached 87%, and the memory usage threshold is 85%, in which case the standby virtual is called The machine resource reduces the memory load of the virtual machine where the cloud computing application is located.
  • an application deployment request is initiated to the cloud computing application system, that is, a request for installing the cloud computing application, and after receiving the request, uploading the deployment package to the cloud computing.
  • the application deployment and the configuration script of the deployment package are executed in the application system, and the deployment of the cloud computing application is completed, that is, the installation of the cloud computing application is completed.
  • the configuration interface of the load balancer is invoked, and the load balancing configuration information of the available cloud computing is dynamically changed according to the information about the deployment of the available cloud computing application.
  • the related information includes, but is not limited to, an IP address, a port, and context information of a deployed server of the cloud computing application.
  • the cloud computing application is deployed to the virtual machine, and the cloud computing application is automatically deployed and configured to improve the efficiency of the cloud computing application deployment.
  • FIG. 4 is a schematic flowchart diagram of a third embodiment of a virtual machine scheduling method according to the present invention.
  • a third embodiment of the virtual machine scheduling method of the present invention is provided based on the first or the second embodiment.
  • the virtual machine scheduling method further includes:
  • Step S60 Monitor the standby virtual machine resource, and determine whether the standby virtual machine resource is sufficient
  • Step S70 When the backup virtual machine resource is insufficient, create a new virtual machine, and set the new virtual machine as a standby virtual machine;
  • Step S80 When the standby virtual machine resource is sufficient, continue to monitor the standby virtual machine resource.
  • the resource pool of the cloud computing application system is initialized, and when it is initialized, a parallel daemon process is started, and the standby virtual machine resources in the resource pool are monitored in real time or periodically to determine whether the standby virtual machine resource is sufficient.
  • the standby virtual machine resource of the resource pool is insufficient, for example, when all the spare virtual machine resources in the resource pool have been used by the cloud computing application, and the memory utilization rate of the standby virtual machine resource of the cloud computing application has reached 50%, determining that the standby virtual machine resource of the cloud computing application in the resource pool is insufficient.
  • the virtual machine creation interface in the cloud computing application system is invoked, and a new virtual machine is dynamically created according to the service template information of the cloud computing application, and the system basic environment of the cloud computing application server is completely configured by script automatically.
  • Invoking an application deployment interface of the cloud computing application system uploading the deployment package to the virtual machine, and remotely executing an application deployment script and configuration, and setting the virtual machine as an alternate virtual machine of the cloud computing application Resources.
  • Invoking the cloud computing application system performance collection configuration interface uploading the performance collection information and the monitoring agent script to the standby virtual machine, and remotely starting the daemon process, and periodically or real-time monitoring each cloud computing application in the standby virtual machine. Operating data. When the standby virtual machine resource is sufficient, the standby virtual machine resource of the cloud computing is continuously monitored.
  • the standby virtual machine resource is dynamically added.
  • FIG. 5 is a schematic flowchart diagram of a fourth embodiment of a virtual machine scheduling method according to the present invention.
  • a fourth embodiment of the virtual machine scheduling method of the present invention is proposed based on the first, second or third embodiment.
  • the virtual machine scheduling method further includes:
  • step S90 the standby virtual machine resource is scheduled periodically.
  • the time for the cloud computing application to schedule the standby virtual machine resource determines whether the current time is The time for scheduling the standby virtual machine resource, when the current time is the time for scheduling the standby virtual machine resource, scheduling the standby virtual machine resource, when the current time is not scheduling the standby virtual machine resource
  • the current time of the cloud computing application system is continuously monitored. After determining that the cloud computing application starts the standby virtual machine resource for 10 days of the current time, the time for reclaiming the standby virtual machine resource is 15 days after the current time.
  • the time for the cloud computing application to start the standby virtual machine resource is 8:00 on April 15, 2015, and the time for reclaiming the standby virtual machine resource is 2015. 8 o'clock on April 20th.
  • Monitoring the current time of the cloud computing application if the current time of monitoring the cloud computing application is 14:00 on April 15, 2015, starting the standby virtual machine resource, if the current time of the cloud computing application is detected
  • the standby virtual machine resource is reclaimed at 1400 hours on April 20, 2015; if the current time of monitoring the cloud computing application is 14:00 on April 11, 2015, the current monitoring of the cloud computing application system is continued. time.
  • the cloud computing application uses the scheduled scheduling policy to schedule the standby virtual machine resources, thereby rapidly improving the response capability of the cloud computing application system, and solving the problem of the server ambiguity in the case where the user volume is unbalanced.
  • the present invention further provides a virtual machine scheduling apparatus.
  • FIG. 6 is a schematic diagram of functional modules of a first embodiment of a virtual machine scheduling apparatus according to the present invention.
  • the device includes:
  • the monitoring module 10 is configured to monitor operation data of each virtual machine
  • the determining module 20 is configured to determine whether the running data exceeds a preset parameter interval
  • the scheduling module 30 is configured to schedule the standby virtual machine resource according to the running data when the running data exceeds a preset parameter interval.
  • the server of the cloud computing application includes a listener, and the running data of each virtual machine is periodically monitored by the listener, that is, the running data of each virtual machine is monitored periodically or in real time, and the running data includes but is not limited to CPU utilization and memory usage. Rate and so on. It is determined whether the running data exceeds a preset parameter interval. If a certain virtual machine running data exceeds its preset parameter interval for consecutive N sampling periods, it is determined that the virtual machine running data exceeds a preset parameter interval.
  • the number of sampling periods and the sampling interval can be set according to the configuration and needs of the virtual machine. For example, according to the performance tuning result of the virtual machine, the number of sampling periods and the sampling interval are set.
  • the number of sampling periods is set to three, and the sampling time interval is 5 seconds. That is, the virtual machine performs sampling every 5 seconds.
  • the CPU utilization rate of the virtual machine collected in the three consecutive sampling periods exceeds 90%, it is determined that the virtual machine CPU utilization exceeds the preset parameter interval. Limit value, an alarm signal is issued. After receiving the alarm signal, generating a performance alarm event of the cloud computing application, according to the type of the alarm event and the scheduling policy set by the cloud computing application, that is, according to the event scheduling policy, in the cloud computing application The standby virtual machine resource is scheduled.
  • the available standby virtual machine resources are scheduled from the resource pool of the cloud computing application system for
  • the user quantity of the cloud computing application is divided into other virtual machines, so that the virtual machine running data is within a normal range; if the virtual machine where the cloud computing application is located reaches a performance trough, such as the virtual machine Sampling is performed every 5 seconds.
  • a performance trough such as the virtual machine Sampling is performed every 5 seconds.
  • the configuration interface of the load balancer in the cloud computing application is invoked, and the load is initiated by using the configuration interface of the load balancer.
  • the dynamic configuration request is updated to update the load balancing configuration of the cloud computing application. That is, the load balancer configuration information of the cloud computing application is dynamically changed according to the information of the standby virtual machine IP address, the port, and the context in which the cloud computing application is located, so that the cloud computing application can use the standby virtual machine resource.
  • the standby virtual machine resource is scheduled according to the running data.
  • FIG. 7 is a schematic diagram of functional modules of a second embodiment of a virtual machine scheduling apparatus according to the present invention.
  • the second embodiment of the virtual machine scheduling apparatus of the present invention is proposed based on the first embodiment.
  • the virtual machine scheduling apparatus further includes:
  • the obtaining module 40 is configured to obtain an installation package of the cloud computing application to be installed
  • the installation module 50 is configured to install the to-be-installed cloud computing application to a corresponding virtual machine based on the installation package;
  • the configuration module 60 is configured to configure the virtual machine of the cloud computing application by using the updated configuration information.
  • the installation module 50 includes:
  • the obtaining unit 51 is configured to acquire a virtual machine that does not have a cloud computing application as an available virtual machine;
  • the installation unit 52 is configured to install the to-be-installed cloud computing application to the available virtual machine based on the installation package.
  • the dynamic scheduling policy includes, but is not limited to, a timing scheduling policy and an event scheduling policy.
  • the timing scheduling policy that is, scheduling virtual machine resources in units of time, for example, scheduling may be set on a monthly or daily basis, such as setting virtual machine resources in units of 10 days.
  • Scheduling that is, the cloud computing application automatically performs virtual machine resource scheduling every 10 days.
  • the event scheduling policy may set thresholds such as CPU utilization, memory usage, and number of concurrent connections of the port, and dynamically monitor the virtual machine resource usage of the cloud computing application, and dynamically invoke the cloud computing application according to different thresholds.
  • the standby virtual machine resource such as the virtual machine memory usage of the cloud computing application currently has reached 87%, and the memory usage threshold is 85%, in which case the standby virtual is called The machine resource reduces the memory load of the virtual machine where the cloud computing application is located.
  • an application deployment request is initiated to the cloud computing application system, that is, a request for installing the cloud computing application, and after receiving the request, uploading the deployment package to the cloud computing.
  • the application deployment and the configuration script of the deployment package are executed in the application system, and the deployment of the cloud computing application is completed, that is, the installation of the cloud computing application is completed.
  • the configuration interface of the load balancer is invoked, and the load balancing configuration information of the available cloud computing is dynamically changed according to the information about the deployment of the available cloud computing application.
  • the related information includes, but is not limited to, an IP address, a port, and context information of a deployed server of the cloud computing application.
  • scheduling module 30 is further configured to periodically schedule the standby virtual machine resources.
  • the cloud computing application system determines the time for the cloud computing application to schedule the standby virtual machine resource, and monitoring the current time of the cloud computing application system, and determining whether the current time is Time to schedule alternate virtual machine resources when When the current time is the time for scheduling the standby virtual machine resource, the standby virtual machine resource is scheduled, and when the current time is not the time for scheduling the standby virtual machine resource, the cloud computing application system is continuously monitored. current time. After determining that the cloud computing application starts the standby virtual machine resource for 10 days of the current time, the time for reclaiming the standby virtual machine resource is 15 days after the current time.
  • the time for the cloud computing application to start the standby virtual machine resource is 8:00 on April 15, 2015, and the time for reclaiming the standby virtual machine resource is 2015. 8 o'clock on April 20th.
  • Monitoring the current time of the cloud computing application if the current time of monitoring the cloud computing application is 14:00 on April 15, 2015, starting the standby virtual machine resource, if the current time of the cloud computing application is detected
  • the standby virtual machine resource is reclaimed at 1400 hours on April 20, 2015; if the current time of monitoring the cloud computing application is 14:00 on April 11, 2015, the current monitoring of the cloud computing application system is continued. time.
  • the cloud computing application is deployed to the virtual machine, and the cloud computing application is automatically deployed and configured to improve the efficiency of the cloud computing application deployment. And by using the scheduled scheduling policy to schedule the standby virtual machine resources in the cloud computing application, the responsiveness of the cloud computing application system is rapidly improved, and the problem of the server ambiguity in the case of an unbalanced user amount is solved.
  • FIG. 9 is a schematic diagram of functional modules of a third embodiment of a virtual machine scheduling apparatus according to the present invention.
  • the third embodiment of the virtual machine scheduling method of the present invention is proposed based on the first or second embodiment.
  • the monitoring module 10 is further configured to monitor the standby virtual machine resource;
  • the determining module 20 is further configured.
  • the virtual machine scheduling apparatus further includes a creating module 70 configured to create a new virtual machine when the standby virtual machine resource is insufficient, and set the new virtual machine to
  • the standby virtual machine is further configured to continue to monitor the standby virtual machine resource when the standby virtual machine resource is sufficient.
  • the resource pool of the cloud computing application system is initialized, and when it is initialized, a parallel daemon process is started, and the standby virtual machine resources in the resource pool are monitored in real time or periodically to determine whether the standby virtual machine resource is sufficient.
  • the standby virtual machine resource of the resource pool is insufficient, such as When the backup virtual machine resources in the resource pool are all used by the cloud computing application, and the memory utilization of the standby virtual machine resource of the cloud computing application has reached 50%, determining the standby of the cloud computing application in the resource pool Insufficient virtual machine resources.
  • the virtual machine creation interface in the cloud computing application system is invoked, and a new virtual machine is dynamically created according to the service template information of the cloud computing application, and the system basic environment of the cloud computing application server is completely configured by script automatically.
  • Invoking an application deployment interface of the cloud computing application system uploading the deployment package to the virtual machine, and remotely executing an application deployment script and configuration, and setting the virtual machine as an alternate virtual machine of the cloud computing application Resources.
  • Invoking the cloud computing application system performance collection configuration interface uploading the performance collection information and the monitoring agent script to the standby virtual machine, and remotely starting the daemon process, and periodically or real-time monitoring each cloud computing application in the standby virtual machine. Operating data. When the standby virtual machine resource is sufficient, the standby virtual machine resource of the cloud computing is continuously monitored.
  • the standby virtual machine resource is dynamically added.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • a storage medium such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • the invention determines whether the running data exceeds a preset parameter interval by monitoring running data of each virtual machine; and when the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

A virtual machine scheduling method and virtual machine scheduling device for dynamically scheduling virtual machine resources. The method comprises: monitoring operation data of each of virtual machines, and determining whether the operation data exceeds a preset parameter interval (S10); and if the operation data exceeds the preset parameter interval, then scheduling backup virtual machine resources according to the operation data (S20).

Description

虚拟机调度方法和装置Virtual machine scheduling method and device 技术领域Technical field
本发明涉及通信领域,尤其涉及一种虚拟机调度方法和装置。The present invention relates to the field of communications, and in particular, to a virtual machine scheduling method and apparatus.
背景技术Background technique
云计算,是一种基于互联网的计算方式,通过这种计算方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算的核心思想,是将大量用网络连接的虚拟机统一管理和调度,构成一个计算资源池向用户按需服务。随着近几年信息技术的飞速发展,企业应用服务器的用户量和业务访问量越来越大,如何在几分钟内对应用系统进行扩容,提升系统的快速响应能力,是提升应用系统性能的关键因素之一。与此同时,越来越多的应用服务器将其业务迁移到云数据中心,以解决用户量不均衡情况下应用系统如何快速响应用户操作的问题。然而传统数据中心应用服务器的部署在用户量不均衡的情况下,并发量突发上升,造成服务器资源严重缺乏,致使服务器会出现瘫痪的情况。Cloud computing is an Internet-based computing method. Through this computing method, shared hardware and software resources and information can be provided to computers and other devices as needed. The core idea of cloud computing is to uniformly manage and schedule a large number of virtual machines connected by networks to form a computing resource pool to provide services to users on demand. With the rapid development of information technology in recent years, the number of users and service access of enterprise application servers is increasing. How to expand the application system in a few minutes and improve the system's rapid response capability is to improve the performance of the application system. One of the key factors. At the same time, more and more application servers migrate their business to the cloud data center to solve the problem of how the application system responds quickly to user operations when the user volume is not balanced. However, in the case of the deployment of the traditional data center application server, the amount of concurrency increases suddenly, resulting in a serious shortage of server resources, which may cause the server to be embarrassed.
发明内容Summary of the invention
本发明的主要目的在于提供一种虚拟机调度方法及装置,旨在解决云计算应用在用户量不均衡的情况下,服务器瘫痪的问题。The main purpose of the present invention is to provide a virtual machine scheduling method and device, which aims to solve the problem that the cloud computing application is in a situation where the amount of users is not balanced.
为实现上述目的,本发明提供的一种虚拟机调度方法,包括:To achieve the above objective, the present invention provides a virtual machine scheduling method, including:
监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;Monitoring operation data of each virtual machine, and determining whether the operation data exceeds a preset parameter interval;
当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。 When the running data exceeds a preset parameter interval, the standby virtual machine resource is scheduled according to the running data.
上述方案中,所述监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间之前,还包括:In the above solution, the monitoring the running data of each virtual machine and determining whether the running data exceeds a preset parameter interval further includes:
获取待安装云计算应用的安装包;Obtain an installation package of the cloud computing application to be installed;
基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;Installing the to-be-installed cloud computing application to a corresponding virtual machine based on the installation package;
采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。The virtual machine that installs the cloud computing application is configured by using the configuration information in the installation package.
上述方案中,所述基于所述安装包将所述待安装云计算应用安装至相应的虚拟机包括:In the above solution, the installing the cloud computing application to be installed to the corresponding virtual machine based on the installation package includes:
获取未安装云计算应用的虚拟机作为可用虚拟机;Obtain a virtual machine without a cloud computing application as an available virtual machine;
基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。The to-be-installed cloud computing application is installed to the available virtual machine based on the installation package.
上述方案中,所述虚拟机调度方法还包括:In the above solution, the virtual machine scheduling method further includes:
监测备用虚拟机资源,判断所述备用虚拟机资源是否充足;Monitoring the virtual machine resources to determine whether the standby virtual machine resources are sufficient;
当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;When the standby virtual machine resource is insufficient, creating a new virtual machine, and setting the new virtual machine as a standby virtual machine;
当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。When the spare virtual machine resources are sufficient, the standby virtual machine resources are continuously monitored.
上述方案中,所述虚拟机调度方法,还包括:In the above solution, the virtual machine scheduling method further includes:
定时对备用虚拟机资源进行调度。Schedule the standby virtual machine resources periodically.
此外,为实现上述目的,本发明还提供一种虚拟机调度装置,所述装置包括:In addition, in order to achieve the above object, the present invention further provides a virtual machine scheduling apparatus, where the apparatus includes:
监测模块,配置为监测虚拟机的运行数据;a monitoring module configured to monitor operational data of the virtual machine;
判断模块,配置为判断所述运行数据是否超出预设的参数区间;a determining module configured to determine whether the running data exceeds a preset parameter interval;
调度模块,配置为当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。The scheduling module is configured to schedule the standby virtual machine resource according to the running data when the running data exceeds a preset parameter interval.
上述方案中,所述的虚拟机调度装置还包括:In the above solution, the virtual machine scheduling apparatus further includes:
获取模块,配置为获取待安装云计算应用的安装包;Obtaining a module, configured to obtain an installation package of the cloud computing application to be installed;
安装模块,配置为基于所述安装包将所述待安装云计算应用安装至相 应的虚拟机;Installing a module, configured to install the cloud computing application to be installed to the phase based on the installation package Virtual machine
配置模块,配置为采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。And a configuration module configured to configure a virtual machine that installs the cloud computing application by using configuration information in the installation package.
上述方案中,所述安装模块包括:In the above solution, the installation module includes:
获取单元,配置为获取未安装云计算应用的虚拟机作为可用虚拟机;The obtaining unit is configured to obtain a virtual machine that does not have a cloud computing application installed as an available virtual machine;
安装单元,配置为基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。And an installation unit configured to install the to-be-installed cloud computing application to the available virtual machine based on the installation package.
上述方案中,所述监测模块,还配置为监测备用虚拟机资源;所述判断模块,还配置为判断所述备用虚拟机资源是否充足;所述虚拟机调度装置还包括创建模块,配置为当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;所述监测模块,还配置为当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。In the above solution, the monitoring module is further configured to monitor the standby virtual machine resource; the determining module is further configured to determine whether the standby virtual machine resource is sufficient; the virtual machine scheduling device further includes a creating module configured to be When the resource of the standby virtual machine is insufficient, a new virtual machine is created, and the new virtual machine is set as a standby virtual machine. The monitoring module is further configured to continue to monitor the standby virtual machine when the resource is sufficient. Alternate virtual machine resource.
上述方案中,所述调度模块,还配置为定时对备用虚拟机资源进行调度。In the above solution, the scheduling module is further configured to periodically schedule the standby virtual machine resources.
所述监测模块、所述判断模块、所述调度模块、所述获取模块、所述安装模块、所述配置模块、所述括创建模块在执行处理时,可以采用中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Singnal Processor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现。The monitoring module, the determining module, the scheduling module, the obtaining module, the installing module, the configuration module, and the creating module may use a central processing unit (CPU, Central Processing) when performing processing. Unit), Digital Signal Processor (DSP, Digital Singnal Processor) or Field-Programmable Gate Array (FPGA).
本发明通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现了动态调度虚拟机资源。 The invention determines whether the running data exceeds a preset parameter interval by monitoring running data of each virtual machine; and when the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data. Through virtualization and application clustering technology, the responsiveness of the cloud computing application system is rapidly improved, and the problem of server ambiguity in the case of unbalanced user volume is solved, and the virtual machine resource is dynamically scheduled.
附图说明DRAWINGS
图1为本发明虚拟机调度方法的第一实施例的流程示意图;1 is a schematic flowchart of a first embodiment of a virtual machine scheduling method according to the present invention;
图2为本发明虚拟机调度方法的第二实施例的流程示意图;2 is a schematic flowchart diagram of a second embodiment of a virtual machine scheduling method according to the present invention;
图3为图2中步骤S02的细化流程示意图;3 is a schematic diagram of a refinement process of step S02 in FIG. 2;
图4为本发明虚拟机调度方法的第三实施例的流程示意图;4 is a schematic flowchart diagram of a third embodiment of a virtual machine scheduling method according to the present invention;
图5为本发明虚拟机调度方法的第四实施例的流程示意图;FIG. 5 is a schematic flowchart diagram of a fourth embodiment of a virtual machine scheduling method according to the present invention; FIG.
图6为本发明虚拟机调度装置的第一实施例的功能模块示意图;6 is a schematic diagram of functional modules of a first embodiment of a virtual machine scheduling apparatus according to the present invention;
图7为本发明虚拟机调度装置的第二实施例的功能模块示意图;7 is a schematic diagram of functional modules of a second embodiment of a virtual machine scheduling apparatus according to the present invention;
图8为图7中安装模块的细化功能模块示意图;8 is a schematic diagram of a refinement function module of the installation module in FIG. 7;
图9为本发明虚拟机调度装置的第三实施例的功能模块示意图。FIG. 9 is a schematic diagram of functional modules of a third embodiment of a virtual machine scheduling apparatus according to the present invention.
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The implementation, functional features, and advantages of the present invention will be further described in conjunction with the embodiments.
具体实施方式detailed description
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
本发明实施例的主要解决方案是:监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。The main solution of the embodiment of the present invention is: monitoring the running data of each virtual machine, determining whether the running data exceeds a preset parameter interval; and when the running data exceeds a preset parameter interval, scheduling according to the running data Alternate virtual machine resource. Through virtualization and application clustering technology, the responsiveness of cloud computing application systems can be quickly improved, and the problem of server defects can be solved under the condition of unbalanced users, and dynamic scheduling of virtual machine resources can be realized.
由于现有数据中心应用服务器的部署在用户量不均衡的情况下,并发量突发上升,造成服务器资源严重缺乏,如果按照传统数据中心的应用部署方式,添加新服务器资源并部署应用,等部署应用完成之后,服务器已经出现瘫痪。The deployment of the existing data center application server is unbalanced, and the concurrent increase in the number of concurrent servers causes a serious shortage of server resources. If the application is deployed in the traditional data center, new server resources are added and applications are deployed. After the application is completed, the server has already appeared.
基于上述问题,本发明提供一种虚拟机调度方法,参照图1,图1为本 发明虚拟机调度方法的第一实施例的流程示意图。在本实施例中,所述虚拟机调度方法包括:Based on the above problem, the present invention provides a virtual machine scheduling method, which is referred to FIG. A schematic flowchart of a first embodiment of a virtual machine scheduling method is invented. In this embodiment, the virtual machine scheduling method includes:
步骤S10,监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;Step S10: Monitor operation data of each virtual machine, and determine whether the operation data exceeds a preset parameter interval;
步骤S20,当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。Step S20: When the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data.
云计算应用的服务器中含有监听器,通过所述监听器定时监测各个虚拟机运行数据,即定时或实时监测所述各个虚拟机运行数据,所述运行数据包括但不限于CPU利用率、内存使用率等。判断所述运行数据是否超过预设的参数区间。如果连续N个采样周期,某个虚拟机运行数据都超过其预设的参数区间,则判断所述虚拟机运行数据超过预设的参数区间。采样周期个数和采样时间间隔可以根据所述虚拟机的配置和需要设置,如根据自身的性能调优结果,设置合适的采样周期个数和采样时间间隔。在本实施例中,优选地,设置采样周期个数为3个,采样时间间隔为5秒。即虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都超过90%时,判断所述虚拟机CPU利用率超过预设的参数区间的上限值,发出告警信号。接收到所述告警信号后,生成云计算应用的性能告警事件,根据所述告警事件的类型和所述云计算应用设置的调度策略,即根据所述事件调度策略对所述云计算应用中的备用虚拟机资源进行调度。如当所述云计算应用的用户量达到一个高峰,即所述云计算应用所在的虚拟机已达到性能高峰时,将从云计算应用系统的资源池中调度可用的备用虚拟机资源,以供所述云计算应用的用户量分到其它虚拟机中,使所述虚拟机运行数据在一个正常的范围内;如果所述云计算应用所在的虚拟机达到了性能低谷,如所述虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都低过10%时,判断所述虚拟机CPU利用率 低于预设的参数区间的下限值,即所述云计算应用所在的虚拟机性能达到低谷,则将所述备用虚拟机资源进行回收。同时,调用所述云计算应用中的负载均衡器的配置接口,通过所述负载均衡器的配置接口,发起负载均衡动态配置请求,更新所述云计算应用的负载均衡配置。即根据所述云计算应用所在的备用虚拟机IP地址、端口以及上下文等信息,动态更改所述云计算应用的负载均衡器配置信息,使所述云计算应用可以使用所述备用虚拟机资源。The server of the cloud computing application includes a listener, and the running data of each virtual machine is periodically monitored by the listener, that is, the running data of each virtual machine is monitored periodically or in real time, and the running data includes but is not limited to CPU utilization and memory usage. Rate and so on. It is determined whether the running data exceeds a preset parameter interval. If a certain virtual machine running data exceeds its preset parameter interval for consecutive N sampling periods, it is determined that the virtual machine running data exceeds a preset parameter interval. The number of sampling periods and the sampling interval can be set according to the configuration and needs of the virtual machine. For example, according to the performance tuning result of the virtual machine, the number of sampling periods and the sampling interval are set. In this embodiment, preferably, the number of sampling periods is set to three, and the sampling time interval is 5 seconds. That is, the virtual machine performs sampling every 5 seconds. When the CPU utilization rate of the virtual machine collected in the three consecutive sampling periods exceeds 90%, it is determined that the virtual machine CPU utilization exceeds the preset parameter interval. Limit value, an alarm signal is issued. After receiving the alarm signal, generating a performance alarm event of the cloud computing application, according to the type of the alarm event and the scheduling policy set by the cloud computing application, that is, according to the event scheduling policy, in the cloud computing application The standby virtual machine resource is scheduled. For example, when the number of users of the cloud computing application reaches a peak, that is, the virtual machine where the cloud computing application is located has reached a performance peak, the available standby virtual machine resources are scheduled from the resource pool of the cloud computing application system for The user quantity of the cloud computing application is divided into other virtual machines, so that the virtual machine running data is within a normal range; if the virtual machine where the cloud computing application is located reaches a performance trough, such as the virtual machine Sampling once every 5 seconds, and determining the CPU utilization of the virtual machine when the CPU utilization of the virtual machine collected in three consecutive sampling periods is less than 10% If the virtual machine performance of the cloud computing application reaches a low level, the standby virtual machine resource is recovered. At the same time, the configuration interface of the load balancer in the cloud computing application is invoked, and the load balancing dynamic configuration request is initiated through the configuration interface of the load balancer, and the load balancing configuration of the cloud computing application is updated. That is, the load balancer configuration information of the cloud computing application is dynamically changed according to the information of the standby virtual machine IP address, the port, and the context in which the cloud computing application is located, so that the cloud computing application can use the standby virtual machine resource.
本实施例通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。In this embodiment, by monitoring the running data of each virtual machine, it is determined whether the running data exceeds a preset parameter interval; when the running data exceeds a preset parameter interval, the standby virtual machine resource is scheduled according to the running data. Through virtualization and application clustering technology, the responsiveness of cloud computing application systems can be quickly improved, and the problem of server defects can be solved under the condition of unbalanced users, and dynamic scheduling of virtual machine resources can be realized.
参照图2,图2为本发明虚拟机调度方法的第二实施例的流程示意图。基于第一实施例提出本发明虚拟机调度方法第二实施例,在本实施例中,所述步骤S10之前,还包括:Referring to FIG. 2, FIG. 2 is a schematic flowchart diagram of a second embodiment of a virtual machine scheduling method according to the present invention. A second embodiment of the virtual machine scheduling method of the present invention is proposed based on the first embodiment. In the embodiment, before the step S10, the method further includes:
步骤S30,获取待安装云计算应用的安装包;Step S30, obtaining an installation package of the cloud computing application to be installed;
步骤S40,基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;Step S40, installing the to-be-installed cloud computing application to the corresponding virtual machine based on the installation package;
步骤S50,采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。Step S50: Configure a virtual machine that installs the cloud computing application by using configuration information in the installation package.
具体地,参照图3,步骤S40包括:Specifically, referring to FIG. 3, step S40 includes:
步骤S41,获取未安装云计算应用的虚拟机作为可用虚拟机;Step S41: Obtain a virtual machine that does not have a cloud computing application installed as an available virtual machine.
步骤S42,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。Step S42, installing the to-be-installed cloud computing application to the available virtual machine based on the installation package.
获取待安装云计算应用的安装包,即上传所述云计算应用的部署包, 并设置动态调度策略。所述动态调度策略包括但不限于定时调度策略和事件调度策略。所述定时调度策略,即以时间为单位进行虚拟机资源调度,如可以设置按月或天进行定时调度,如设置按10天为单位进行虚拟机资源调度,即所述云计算应用每隔10天就自动进行虚拟机资源调度。所述事件调度策略,可以设置CPU的利用率、内存使用率以及端口并发连接数等阈值,通过监测所述云计算应用的虚拟机资源使用情况,根据不同的阈值,动态调用所述云计算应用的备用虚拟机资源,如所述云计算应用当前所在的虚拟机内存使用率已达87%,而所述内存使用率的阈值是85%,在这种情况下,就要调用所述备用虚拟机资源,减轻所述云计算应用所在虚拟机内存负担。Obtaining an installation package of the cloud computing application to be installed, that is, uploading the deployment package of the cloud computing application, And set up a dynamic scheduling policy. The dynamic scheduling policy includes, but is not limited to, a timing scheduling policy and an event scheduling policy. The scheduling policy, that is, scheduling virtual machine resources in units of time, for example, scheduling may be set on a monthly or daily basis, such as setting virtual machine resource scheduling by 10 days, that is, the cloud computing application is every 10 Virtual machine resource scheduling is automatically performed in days. The event scheduling policy may set thresholds such as CPU utilization, memory usage, and number of concurrent connections of the port, and dynamically monitor the virtual machine resource usage of the cloud computing application, and dynamically invoke the cloud computing application according to different thresholds. The standby virtual machine resource, such as the virtual machine memory usage of the cloud computing application currently has reached 87%, and the memory usage threshold is 85%, in which case the standby virtual is called The machine resource reduces the memory load of the virtual machine where the cloud computing application is located.
获取未安装云计算应用的虚拟机作为可用虚拟机,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。即发布所述云计算应用之后,向所述云计算应用系统发起应用部署请求,即安装所述云计算应用的请求,当接收到所述请求之后,将所述部署包上传到所述云计算应用系统中,并远程执行所述部署包的应用部署和配置脚本,完成所述云计算应用的部署,即完成所述云计算应用的安装。Obtaining a virtual machine that does not have a cloud computing application installed as an available virtual machine, and installing the to-be-installed cloud computing application to the available virtual machine based on the installation package. After the cloud computing application is released, an application deployment request is initiated to the cloud computing application system, that is, a request for installing the cloud computing application, and after receiving the request, uploading the deployment package to the cloud computing The application deployment and the configuration script of the deployment package are executed in the application system, and the deployment of the cloud computing application is completed, that is, the installation of the cloud computing application is completed.
当完成对所述云计算应用的安装之后,调用所述负载均衡器的配置接口,根据所述可用的云计算应用的部署的相关信息,动态更改所述可用云计算的负载均衡配置信息。所述相关信息包括但不限于云计算应用的部署的服务器的IP地址、端口以及上下文信息。当动态更改所述可用云计算的负载均衡配置信息之后,发起性能的采集请求,远程登陆到虚拟机系统中,启动所述云计算应用的监控代理的守护进程,定时监测所述虚拟机运行指标。After the installation of the cloud computing application is completed, the configuration interface of the load balancer is invoked, and the load balancing configuration information of the available cloud computing is dynamically changed according to the information about the deployment of the available cloud computing application. The related information includes, but is not limited to, an IP address, a port, and context information of a deployed server of the cloud computing application. After dynamically changing the load balancing configuration information of the available cloud computing, initiating a performance acquisition request, remotely logging into the virtual machine system, starting a monitoring process of the cloud computing application, and periodically monitoring the virtual machine running indicator. .
本实施例通过部署云计算应用至虚拟机中,实现了自动部署和配置云计算应用,提高云计算应用部署的效率。 In this embodiment, the cloud computing application is deployed to the virtual machine, and the cloud computing application is automatically deployed and configured to improve the efficiency of the cloud computing application deployment.
参照图4,图4为本发明虚拟机调度方法的第三实施例的流程示意图。基于第一或第二实施例提出本发明虚拟机调度方法的第三实施例,在本实施例中,所述虚拟机调度方法还包括:Referring to FIG. 4, FIG. 4 is a schematic flowchart diagram of a third embodiment of a virtual machine scheduling method according to the present invention. A third embodiment of the virtual machine scheduling method of the present invention is provided based on the first or the second embodiment. In this embodiment, the virtual machine scheduling method further includes:
步骤S60,监测备用虚拟机资源,判断所述备用虚拟机资源是否充足;Step S60: Monitor the standby virtual machine resource, and determine whether the standby virtual machine resource is sufficient;
步骤S70,当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;Step S70: When the backup virtual machine resource is insufficient, create a new virtual machine, and set the new virtual machine as a standby virtual machine;
步骤S80,当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。Step S80: When the standby virtual machine resource is sufficient, continue to monitor the standby virtual machine resource.
将云计算应用系统的资源池初始化,当在初始化时,启动一个并行的守护进程,进行实时或定时监控所述资源池中的备用虚拟机资源,判断所述备用虚拟机资源是否充足。当所述资源池的备用虚拟机资源不足时,如当资源池中的备用虚拟机资源全部都已经被云计算应用使用,且所述被云计算应用的备用虚拟机资源的内存利用率已达50%,判断所述资源池中云计算应用的备用虚拟机资源不足。这时将调用云计算应用系统中的虚拟机创建接口,自动根据所述云计算应用的服务模板信息动态创建出新的虚拟机,云计算应用服务器的系统基础环境全部通过脚本自动配置完成。调用所述云计算应用系统的应用部署接口,上传所述部署包到所述虚拟机上,并远程执行应用部署脚本和配置,并将所述虚拟机设置为所述云计算应用的备用虚拟机资源。调用所述云计算应用系统性能采集配置接口,将性能采集信息以及监控代理脚本上传到所述备用虚拟机上,并远程启动守护进程,定时或实时监测各个云计算应用在其备用虚拟机中的运行数据。当所述备用虚拟机资源充足时,继续监测所述云计算的备用虚拟机资源。The resource pool of the cloud computing application system is initialized, and when it is initialized, a parallel daemon process is started, and the standby virtual machine resources in the resource pool are monitored in real time or periodically to determine whether the standby virtual machine resource is sufficient. When the standby virtual machine resource of the resource pool is insufficient, for example, when all the spare virtual machine resources in the resource pool have been used by the cloud computing application, and the memory utilization rate of the standby virtual machine resource of the cloud computing application has reached 50%, determining that the standby virtual machine resource of the cloud computing application in the resource pool is insufficient. At this time, the virtual machine creation interface in the cloud computing application system is invoked, and a new virtual machine is dynamically created according to the service template information of the cloud computing application, and the system basic environment of the cloud computing application server is completely configured by script automatically. Invoking an application deployment interface of the cloud computing application system, uploading the deployment package to the virtual machine, and remotely executing an application deployment script and configuration, and setting the virtual machine as an alternate virtual machine of the cloud computing application Resources. Invoking the cloud computing application system performance collection configuration interface, uploading the performance collection information and the monitoring agent script to the standby virtual machine, and remotely starting the daemon process, and periodically or real-time monitoring each cloud computing application in the standby virtual machine. Operating data. When the standby virtual machine resource is sufficient, the standby virtual machine resource of the cloud computing is continuously monitored.
本实施例通过监测备用虚拟机资源,实现动态增加所述备用虚拟机资源。In this embodiment, by dynamically monitoring the resources of the standby virtual machine, the standby virtual machine resource is dynamically added.
参照图5,图5为本发明虚拟机调度方法的第四实施例的流程示意图。 基于第一、第二或第三实施例提出本发明虚拟机调度方法的第四实施例,在本实施例中,所述虚拟机调度方法还包括::Referring to FIG. 5, FIG. 5 is a schematic flowchart diagram of a fourth embodiment of a virtual machine scheduling method according to the present invention. A fourth embodiment of the virtual machine scheduling method of the present invention is proposed based on the first, second or third embodiment. In this embodiment, the virtual machine scheduling method further includes:
步骤S90,定时对备用虚拟机资源进行调度。In step S90, the standby virtual machine resource is scheduled periodically.
当云计算应用系统所采用的资源调度策略为定时调度时,确定所述云计算应用调度备用虚拟机资源的时间,并监测所述云计算应用系统的当前时间,判断所述当前时间是否是所述调度备用虚拟机资源的时间,当所述当前时间是调度所述备用虚拟机资源的时间时,对所述备用虚拟机资源进行调度,当所述当前时间不是调度所述备用虚拟机资源的时间时,继续监测所述云计算应用系统的当前时间。如确定所述云计算应用启动备用虚拟机资源的时间为当前时间的10天之后,回收所述备用虚拟机资源的时间为当前时间的15天后。如果当前时间为2015年4月5号8时,则所述云计算应用启动所述备用虚拟机资源的时间为2015年4月15号8时,回收所述备用虚拟机资源的时间为2015年4月20号8时。监测所述云计算应用的当前时间,如果监测到所述云计算应用的当前时间为2015年4月15号14时时,启动所述备用虚拟机资源,如果监测到所述云计算应用的当前时间为2015年4月20号14时时,回收所述备用虚拟机资源;如监测到所述云计算应用的当前时间为2015年4月11号14时时,则继续监测所述云计算应用系统的当前时间。When the resource scheduling policy adopted by the cloud computing application system is scheduled, determining the time for the cloud computing application to schedule the standby virtual machine resource, and monitoring the current time of the cloud computing application system, and determining whether the current time is The time for scheduling the standby virtual machine resource, when the current time is the time for scheduling the standby virtual machine resource, scheduling the standby virtual machine resource, when the current time is not scheduling the standby virtual machine resource At the time, the current time of the cloud computing application system is continuously monitored. After determining that the cloud computing application starts the standby virtual machine resource for 10 days of the current time, the time for reclaiming the standby virtual machine resource is 15 days after the current time. If the current time is 8:00 on April 5, 2015, the time for the cloud computing application to start the standby virtual machine resource is 8:00 on April 15, 2015, and the time for reclaiming the standby virtual machine resource is 2015. 8 o'clock on April 20th. Monitoring the current time of the cloud computing application, if the current time of monitoring the cloud computing application is 14:00 on April 15, 2015, starting the standby virtual machine resource, if the current time of the cloud computing application is detected The standby virtual machine resource is reclaimed at 1400 hours on April 20, 2015; if the current time of monitoring the cloud computing application is 14:00 on April 11, 2015, the current monitoring of the cloud computing application system is continued. time.
本实施例通过在所述云计算应用使用定时调度策略调度备用虚拟机资源,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题。In this embodiment, the cloud computing application uses the scheduled scheduling policy to schedule the standby virtual machine resources, thereby rapidly improving the response capability of the cloud computing application system, and solving the problem of the server ambiguity in the case where the user volume is unbalanced.
本发明进一步提供一种虚拟机调度装置。The present invention further provides a virtual machine scheduling apparatus.
参照图6,图6为本发明虚拟机调度装置的第一实施例的功能模块示意图。Referring to FIG. 6, FIG. 6 is a schematic diagram of functional modules of a first embodiment of a virtual machine scheduling apparatus according to the present invention.
在本实施例中,所述装置包括:In this embodiment, the device includes:
监测模块10,配置为监测各个虚拟机的运行数据; The monitoring module 10 is configured to monitor operation data of each virtual machine;
判断模块20,配置为判断所述运行数据是否超出预设的参数区间;The determining module 20 is configured to determine whether the running data exceeds a preset parameter interval;
调度模块30,配置为当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。The scheduling module 30 is configured to schedule the standby virtual machine resource according to the running data when the running data exceeds a preset parameter interval.
云计算应用的服务器中含有监听器,通过所述监听器定时监测各个虚拟机运行数据,即定时或实时监测所述各个虚拟机运行数据,所述运行数据包括但不限于CPU利用率、内存使用率等。判断所述运行数据是否超过预设的参数区间。如果连续N个采样周期,某个虚拟机运行数据都超过其预设的参数区间,则判断所述虚拟机运行数据超过预设的参数区间。采样周期个数和采样时间间隔可以根据所述虚拟机的配置和需要设置,如根据自身的性能调优结果,设置合适的采样周期个数和采样时间间隔。在本实施例中,优选地,设置采样周期个数为3个,采样时间间隔为5秒。即虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都超过90%时,判断所述虚拟机CPU利用率超过预设的参数区间的上限值,发出告警信号。接收到所述告警信号后,生成云计算应用的性能告警事件,根据所述告警事件的类型和所述云计算应用设置的调度策略,即根据所述事件调度策略对所述云计算应用中的备用虚拟机资源进行调度。如当所述云计算应用的用户量达到一个高峰,即所述云计算应用所在的虚拟机已达到性能高峰时,将从云计算应用系统的资源池中调度可用的备用虚拟机资源,以供所述云计算应用的用户量分到其它虚拟机中,使所述虚拟机运行数据在一个正常的范围内;如果所述云计算应用所在的虚拟机达到了性能低谷,如所述虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都低过10%时,判断所述虚拟机CPU利用率低于预设的参数区间的下限值,即所述云计算应用所在的虚拟机性能达到低谷,则将所述备用虚拟机资源进行回收。同时,调用所述云计算应用中的负载均衡器的配置接口,通过所述负载均衡器的配置接口,发起负载均 衡动态配置请求,更新所述云计算应用的负载均衡配置。即根据所述云计算应用所在的备用虚拟机IP地址、端口以及上下文等信息,动态更改所述云计算应用的负载均衡器配置信息,使所述云计算应用可以使用所述备用虚拟机资源。The server of the cloud computing application includes a listener, and the running data of each virtual machine is periodically monitored by the listener, that is, the running data of each virtual machine is monitored periodically or in real time, and the running data includes but is not limited to CPU utilization and memory usage. Rate and so on. It is determined whether the running data exceeds a preset parameter interval. If a certain virtual machine running data exceeds its preset parameter interval for consecutive N sampling periods, it is determined that the virtual machine running data exceeds a preset parameter interval. The number of sampling periods and the sampling interval can be set according to the configuration and needs of the virtual machine. For example, according to the performance tuning result of the virtual machine, the number of sampling periods and the sampling interval are set. In this embodiment, preferably, the number of sampling periods is set to three, and the sampling time interval is 5 seconds. That is, the virtual machine performs sampling every 5 seconds. When the CPU utilization rate of the virtual machine collected in the three consecutive sampling periods exceeds 90%, it is determined that the virtual machine CPU utilization exceeds the preset parameter interval. Limit value, an alarm signal is issued. After receiving the alarm signal, generating a performance alarm event of the cloud computing application, according to the type of the alarm event and the scheduling policy set by the cloud computing application, that is, according to the event scheduling policy, in the cloud computing application The standby virtual machine resource is scheduled. For example, when the number of users of the cloud computing application reaches a peak, that is, the virtual machine where the cloud computing application is located has reached a performance peak, the available standby virtual machine resources are scheduled from the resource pool of the cloud computing application system for The user quantity of the cloud computing application is divided into other virtual machines, so that the virtual machine running data is within a normal range; if the virtual machine where the cloud computing application is located reaches a performance trough, such as the virtual machine Sampling is performed every 5 seconds. When the CPU utilization of the virtual machine collected in three consecutive sampling periods is less than 10%, it is determined that the virtual machine CPU utilization is lower than the lower limit of the preset parameter interval. If the virtual machine performance of the cloud computing application reaches a low level, the standby virtual machine resource is recycled. Simultaneously, the configuration interface of the load balancer in the cloud computing application is invoked, and the load is initiated by using the configuration interface of the load balancer. The dynamic configuration request is updated to update the load balancing configuration of the cloud computing application. That is, the load balancer configuration information of the cloud computing application is dynamically changed according to the information of the standby virtual machine IP address, the port, and the context in which the cloud computing application is located, so that the cloud computing application can use the standby virtual machine resource.
本实施例通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。In this embodiment, by monitoring the running data of each virtual machine, it is determined whether the running data exceeds a preset parameter interval; when the running data exceeds a preset parameter interval, the standby virtual machine resource is scheduled according to the running data. Through virtualization and application clustering technology, the responsiveness of cloud computing application systems can be quickly improved, and the problem of server defects can be solved under the condition of unbalanced users, and dynamic scheduling of virtual machine resources can be realized.
参照图7,图7为本发明虚拟机调度装置的第二实施例的功能模块示意图。基于第一实施例提出本发明虚拟机调度装置第二实施例,在本实施例中,所述虚拟机调度装置还包括:Referring to FIG. 7, FIG. 7 is a schematic diagram of functional modules of a second embodiment of a virtual machine scheduling apparatus according to the present invention. The second embodiment of the virtual machine scheduling apparatus of the present invention is proposed based on the first embodiment. In this embodiment, the virtual machine scheduling apparatus further includes:
获取模块40,配置为获取待安装云计算应用的安装包;The obtaining module 40 is configured to obtain an installation package of the cloud computing application to be installed;
安装模块50,配置为基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;The installation module 50 is configured to install the to-be-installed cloud computing application to a corresponding virtual machine based on the installation package;
配置模块60,配置为采用更新后的配置信息配置所述云计算应用的虚拟机。The configuration module 60 is configured to configure the virtual machine of the cloud computing application by using the updated configuration information.
具体地,参照图8,所述安装模块50包括:Specifically, referring to FIG. 8, the installation module 50 includes:
获取单元51,配置为获取未安装云计算应用的虚拟机作为可用虚拟机;The obtaining unit 51 is configured to acquire a virtual machine that does not have a cloud computing application as an available virtual machine;
安装单元52,配置为基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。The installation unit 52 is configured to install the to-be-installed cloud computing application to the available virtual machine based on the installation package.
获取待安装云计算应用的安装包,即上传所述云计算应用的部署包,并设置动态调度策略。所述动态调度策略包括但不限于定时调度策略和事件调度策略。所述定时调度策略,即以时间为单位进行虚拟机资源调度,如可以设置按月或天进行定时调度,如设置按10天为单位进行虚拟机资源 调度,即所述云计算应用每隔10天就自动进行虚拟机资源调度。所述事件调度策略,可以设置CPU的利用率、内存使用率以及端口并发连接数等阈值,通过监测所述云计算应用的虚拟机资源使用情况,根据不同的阈值,动态调用所述云计算应用的备用虚拟机资源,如所述云计算应用当前所在的虚拟机内存使用率已达87%,而所述内存使用率的阈值是85%,在这种情况下,就要调用所述备用虚拟机资源,减轻所述云计算应用所在虚拟机内存负担。Obtain the installation package of the cloud computing application to be installed, that is, upload the deployment package of the cloud computing application, and set a dynamic scheduling policy. The dynamic scheduling policy includes, but is not limited to, a timing scheduling policy and an event scheduling policy. The timing scheduling policy, that is, scheduling virtual machine resources in units of time, for example, scheduling may be set on a monthly or daily basis, such as setting virtual machine resources in units of 10 days. Scheduling, that is, the cloud computing application automatically performs virtual machine resource scheduling every 10 days. The event scheduling policy may set thresholds such as CPU utilization, memory usage, and number of concurrent connections of the port, and dynamically monitor the virtual machine resource usage of the cloud computing application, and dynamically invoke the cloud computing application according to different thresholds. The standby virtual machine resource, such as the virtual machine memory usage of the cloud computing application currently has reached 87%, and the memory usage threshold is 85%, in which case the standby virtual is called The machine resource reduces the memory load of the virtual machine where the cloud computing application is located.
获取未安装云计算应用的虚拟机作为可用虚拟机,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。即发布所述云计算应用之后,向所述云计算应用系统发起应用部署请求,即安装所述云计算应用的请求,当接收到所述请求之后,将所述部署包上传到所述云计算应用系统中,并远程执行所述部署包的应用部署和配置脚本,完成所述云计算应用的部署,即完成所述云计算应用的安装。Obtaining a virtual machine that does not have a cloud computing application installed as an available virtual machine, and installing the to-be-installed cloud computing application to the available virtual machine based on the installation package. After the cloud computing application is released, an application deployment request is initiated to the cloud computing application system, that is, a request for installing the cloud computing application, and after receiving the request, uploading the deployment package to the cloud computing The application deployment and the configuration script of the deployment package are executed in the application system, and the deployment of the cloud computing application is completed, that is, the installation of the cloud computing application is completed.
当完成对所述云计算应用的安装之后,调用所述负载均衡器的配置接口,根据所述可用的云计算应用的部署的相关信息,动态更改所述可用云计算的负载均衡配置信息。所述相关信息包括但不限于云计算应用的部署的服务器的IP地址、端口以及上下文信息。当动态更改所述可用云计算的负载均衡配置信息之后,发起性能的采集请求,远程登陆到虚拟机系统中,启动所述云计算应用的监控代理的守护进程,定时监测所述虚拟机运行指标。After the installation of the cloud computing application is completed, the configuration interface of the load balancer is invoked, and the load balancing configuration information of the available cloud computing is dynamically changed according to the information about the deployment of the available cloud computing application. The related information includes, but is not limited to, an IP address, a port, and context information of a deployed server of the cloud computing application. After dynamically changing the load balancing configuration information of the available cloud computing, initiating a performance acquisition request, remotely logging into the virtual machine system, starting a monitoring process of the cloud computing application, and periodically monitoring the virtual machine running indicator. .
进一步地,所述调度模块30,还配置为定时对备用虚拟机资源进行调度。Further, the scheduling module 30 is further configured to periodically schedule the standby virtual machine resources.
当云计算应用系统所采用的资源调度策略为定时调度时,确定所述云计算应用调度备用虚拟机资源的时间,并监测所述云计算应用系统的当前时间,判断所述当前时间是否是所述调度备用虚拟机资源的时间,当所述 当前时间是调度所述备用虚拟机资源的时间时,对所述备用虚拟机资源进行调度,当所述当前时间不是调度所述备用虚拟机资源的时间时,继续监测所述云计算应用系统的当前时间。如确定所述云计算应用启动备用虚拟机资源的时间为当前时间的10天之后,回收所述备用虚拟机资源的时间为当前时间的15天后。如果当前时间为2015年4月5号8时,则所述云计算应用启动所述备用虚拟机资源的时间为2015年4月15号8时,回收所述备用虚拟机资源的时间为2015年4月20号8时。监测所述云计算应用的当前时间,如果监测到所述云计算应用的当前时间为2015年4月15号14时时,启动所述备用虚拟机资源,如果监测到所述云计算应用的当前时间为2015年4月20号14时时,回收所述备用虚拟机资源;如监测到所述云计算应用的当前时间为2015年4月11号14时时,则继续监测所述云计算应用系统的当前时间。When the resource scheduling policy adopted by the cloud computing application system is scheduled, determining the time for the cloud computing application to schedule the standby virtual machine resource, and monitoring the current time of the cloud computing application system, and determining whether the current time is Time to schedule alternate virtual machine resources when When the current time is the time for scheduling the standby virtual machine resource, the standby virtual machine resource is scheduled, and when the current time is not the time for scheduling the standby virtual machine resource, the cloud computing application system is continuously monitored. current time. After determining that the cloud computing application starts the standby virtual machine resource for 10 days of the current time, the time for reclaiming the standby virtual machine resource is 15 days after the current time. If the current time is 8:00 on April 5, 2015, the time for the cloud computing application to start the standby virtual machine resource is 8:00 on April 15, 2015, and the time for reclaiming the standby virtual machine resource is 2015. 8 o'clock on April 20th. Monitoring the current time of the cloud computing application, if the current time of monitoring the cloud computing application is 14:00 on April 15, 2015, starting the standby virtual machine resource, if the current time of the cloud computing application is detected The standby virtual machine resource is reclaimed at 1400 hours on April 20, 2015; if the current time of monitoring the cloud computing application is 14:00 on April 11, 2015, the current monitoring of the cloud computing application system is continued. time.
本实施例通过部署云计算应用至虚拟机中,实现了自动部署和配置云计算应用,提高云计算应用部署的效率。并通过在所述云计算应用使用定时调度策略调度备用虚拟机资源,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题。In this embodiment, the cloud computing application is deployed to the virtual machine, and the cloud computing application is automatically deployed and configured to improve the efficiency of the cloud computing application deployment. And by using the scheduled scheduling policy to schedule the standby virtual machine resources in the cloud computing application, the responsiveness of the cloud computing application system is rapidly improved, and the problem of the server ambiguity in the case of an unbalanced user amount is solved.
参照图9,图9为本发明虚拟机调度装置的第三实施例的功能模块示意图。基于第一或第二实施例提出本发明虚拟机调度方法的第三实施例,在本实施例中,所述监测模块10,还配置为监测备用虚拟机资源;所述判断模块20,还配置为判断所述备用虚拟机资源是否充足;所述虚拟机调度装置还包括创建模块70,配置为当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;所述监测模块10,还配置为当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。Referring to FIG. 9, FIG. 9 is a schematic diagram of functional modules of a third embodiment of a virtual machine scheduling apparatus according to the present invention. The third embodiment of the virtual machine scheduling method of the present invention is proposed based on the first or second embodiment. In this embodiment, the monitoring module 10 is further configured to monitor the standby virtual machine resource; the determining module 20 is further configured. To determine whether the standby virtual machine resource is sufficient; the virtual machine scheduling apparatus further includes a creating module 70 configured to create a new virtual machine when the standby virtual machine resource is insufficient, and set the new virtual machine to The standby virtual machine is further configured to continue to monitor the standby virtual machine resource when the standby virtual machine resource is sufficient.
将云计算应用系统的资源池初始化,当在初始化时,启动一个并行的守护进程,进行实时或定时监控所述资源池中的备用虚拟机资源,判断所述备用虚拟机资源是否充足。当所述资源池的备用虚拟机资源不足时,如 当资源池中的备用虚拟机资源全部都已经被云计算应用使用,且所述被云计算应用的备用虚拟机资源的内存利用率已达50%,判断所述资源池中云计算应用的备用虚拟机资源不足。这时将调用云计算应用系统中的虚拟机创建接口,自动根据所述云计算应用的服务模板信息动态创建出新的虚拟机,云计算应用服务器的系统基础环境全部通过脚本自动配置完成。调用所述云计算应用系统的应用部署接口,上传所述部署包到所述虚拟机上,并远程执行应用部署脚本和配置,并将所述虚拟机设置为所述云计算应用的备用虚拟机资源。调用所述云计算应用系统性能采集配置接口,将性能采集信息以及监控代理脚本上传到所述备用虚拟机上,并远程启动守护进程,定时或实时监测各个云计算应用在其备用虚拟机中的运行数据。当所述备用虚拟机资源充足时,继续监测所述云计算的备用虚拟机资源。The resource pool of the cloud computing application system is initialized, and when it is initialized, a parallel daemon process is started, and the standby virtual machine resources in the resource pool are monitored in real time or periodically to determine whether the standby virtual machine resource is sufficient. When the standby virtual machine resource of the resource pool is insufficient, such as When the backup virtual machine resources in the resource pool are all used by the cloud computing application, and the memory utilization of the standby virtual machine resource of the cloud computing application has reached 50%, determining the standby of the cloud computing application in the resource pool Insufficient virtual machine resources. At this time, the virtual machine creation interface in the cloud computing application system is invoked, and a new virtual machine is dynamically created according to the service template information of the cloud computing application, and the system basic environment of the cloud computing application server is completely configured by script automatically. Invoking an application deployment interface of the cloud computing application system, uploading the deployment package to the virtual machine, and remotely executing an application deployment script and configuration, and setting the virtual machine as an alternate virtual machine of the cloud computing application Resources. Invoking the cloud computing application system performance collection configuration interface, uploading the performance collection information and the monitoring agent script to the standby virtual machine, and remotely starting the daemon process, and periodically or real-time monitoring each cloud computing application in the standby virtual machine. Operating data. When the standby virtual machine resource is sufficient, the standby virtual machine resource of the cloud computing is continuously monitored.
本实施例通过监测备用虚拟机资源,实现动态增加所述备用虚拟机资源。In this embodiment, by dynamically monitoring the resources of the standby virtual machine, the standby virtual machine resource is dynamically added.
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。The serial numbers of the embodiments of the present invention are merely for the description, and do not represent the advantages and disadvantages of the embodiments. Through the description of the above embodiments, those skilled in the art can clearly understand that the foregoing embodiment method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be through hardware, but in many cases, the former is better. Implementation. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, The optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。 The above are only the preferred embodiments of the present invention, and are not intended to limit the scope of the invention, and the equivalent structure or equivalent process transformations made by the description of the present invention and the drawings are directly or indirectly applied to other related technical fields. The same is included in the scope of patent protection of the present invention.
工业实用性Industrial applicability
本发明通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现了动态调度虚拟机资源。 The invention determines whether the running data exceeds a preset parameter interval by monitoring running data of each virtual machine; and when the running data exceeds a preset parameter interval, scheduling the standby virtual machine resource according to the running data. Through virtualization and application clustering technology, the responsiveness of the cloud computing application system is rapidly improved, and the problem of server ambiguity in the case of unbalanced user volume is solved, and the virtual machine resource is dynamically scheduled.

Claims (10)

  1. 一种虚拟机调度方法,所述虚拟机调度方法包括:A virtual machine scheduling method, where the virtual machine scheduling method includes:
    监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;Monitoring operation data of each virtual machine, and determining whether the operation data exceeds a preset parameter interval;
    当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。When the running data exceeds a preset parameter interval, the standby virtual machine resource is scheduled according to the running data.
  2. 如权利要求1所述的虚拟机调度方法,其中,所述监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间之前,还包括:The virtual machine scheduling method according to claim 1, wherein the monitoring of the running data of each virtual machine and determining whether the running data exceeds a preset parameter interval further includes:
    获取待安装云计算应用的安装包;Obtain an installation package of the cloud computing application to be installed;
    基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;Installing the to-be-installed cloud computing application to a corresponding virtual machine based on the installation package;
    采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。The virtual machine that installs the cloud computing application is configured by using the configuration information in the installation package.
  3. 如权利要求2所述的虚拟机调度方法,其中,所述基于所述安装包将所述待安装云计算应用安装至相应的虚拟机包括:The virtual machine scheduling method of claim 2, wherein the installing the cloud computing application to be installed to the corresponding virtual machine based on the installation package comprises:
    获取未安装云计算应用的虚拟机作为可用虚拟机;Obtain a virtual machine without a cloud computing application as an available virtual machine;
    基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。The to-be-installed cloud computing application is installed to the available virtual machine based on the installation package.
  4. 如权利要求1所述的虚拟机调度方法,其中,所述虚拟机调度方法还包括:The virtual machine scheduling method according to claim 1, wherein the virtual machine scheduling method further comprises:
    监测备用虚拟机资源,判断所述备用虚拟机资源是否充足;Monitoring the virtual machine resources to determine whether the standby virtual machine resources are sufficient;
    当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;When the standby virtual machine resource is insufficient, creating a new virtual machine, and setting the new virtual machine as a standby virtual machine;
    当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。When the spare virtual machine resources are sufficient, the standby virtual machine resources are continuously monitored.
  5. 如权利要求1至4任一项所述的虚拟机调度方法,其中,所述虚拟机调度方法,还包括:The virtual machine scheduling method according to any one of claims 1 to 4, wherein the virtual machine scheduling method further comprises:
    定时对备用虚拟机资源进行调度。Schedule the standby virtual machine resources periodically.
  6. 一种虚拟机调度装置,所述虚拟机调度装置包括: A virtual machine scheduling device, the virtual machine scheduling device includes:
    监测模块,配置为监测各个虚拟机的运行数据;a monitoring module configured to monitor operational data of each virtual machine;
    判断模块,配置为判断所述运行数据是否超出预设的参数区间;a determining module configured to determine whether the running data exceeds a preset parameter interval;
    调度模块,配置为当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。The scheduling module is configured to schedule the standby virtual machine resource according to the running data when the running data exceeds a preset parameter interval.
  7. 如权利要求6所述的虚拟机调度装置,其中,所述虚拟机调度装置还包括:The virtual machine scheduling device of claim 6, wherein the virtual machine scheduling device further comprises:
    获取模块,配置为获取待安装云计算应用的安装包;Obtaining a module, configured to obtain an installation package of the cloud computing application to be installed;
    安装模块,配置为基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;Installing a module, configured to install the to-be-installed cloud computing application to a corresponding virtual machine based on the installation package;
    配置模块,配置为采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。And a configuration module configured to configure a virtual machine that installs the cloud computing application by using configuration information in the installation package.
  8. 如权利要求7所述的虚拟机调度装置,其中,所述安装模块包括:The virtual machine scheduling apparatus of claim 7, wherein the installation module comprises:
    获取单元,配置为获取未安装云计算应用的虚拟机作为可用虚拟机;The obtaining unit is configured to obtain a virtual machine that does not have a cloud computing application installed as an available virtual machine;
    安装单元,配置为基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。And an installation unit configured to install the to-be-installed cloud computing application to the available virtual machine based on the installation package.
  9. 如权利要求6所述的虚拟机调度装置,其中,所述监测模块,还配置为监测备用虚拟机资源;所述判断模块,还配置为判断所述备用虚拟机资源是否充足;所述虚拟机调度装置还包括创建模块,配置为当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;所述监测模块,还配置为当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。The virtual machine scheduling apparatus according to claim 6, wherein the monitoring module is further configured to monitor a standby virtual machine resource; the determining module is further configured to determine whether the standby virtual machine resource is sufficient; the virtual machine The scheduling device further includes a creating module configured to: when the standby virtual machine resource is insufficient, create a new virtual machine, and set the new virtual machine as a standby virtual machine; and the monitoring module is further configured to be the standby When the virtual machine resources are sufficient, the standby virtual machine resources are continuously monitored.
  10. 如权利要求6至9任一项所述的虚拟机调度装置,其中,所述调度模块,还配置为定时对备用虚拟机资源进行调度。 The virtual machine scheduling apparatus according to any one of claims 6 to 9, wherein the scheduling module is further configured to periodically schedule the standby virtual machine resources.
PCT/CN2015/087278 2015-04-21 2015-08-17 Virtual machine scheduling method and device WO2016169166A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510191004.7 2015-04-21
CN201510191004.7A CN106155763A (en) 2015-04-21 2015-04-21 Dispatching method of virtual machine and device

Publications (1)

Publication Number Publication Date
WO2016169166A1 true WO2016169166A1 (en) 2016-10-27

Family

ID=57144376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/087278 WO2016169166A1 (en) 2015-04-21 2015-08-17 Virtual machine scheduling method and device

Country Status (2)

Country Link
CN (1) CN106155763A (en)
WO (1) WO2016169166A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417035B2 (en) 2017-12-20 2019-09-17 At&T Intellectual Property I, L.P. Virtual redundancy for active-standby cloud applications
CN112162819A (en) * 2020-09-18 2021-01-01 北京浪潮数据技术有限公司 Application deployment method across virtual machine and Kubernetes cluster
CN113094353A (en) * 2021-04-08 2021-07-09 中国工商银行股份有限公司 Database capacity expansion method and device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121585A (en) * 2016-11-29 2018-06-05 上海有云信息技术有限公司 Based on the resource allocation device and method under cloud mode
CN109032805A (en) * 2018-08-06 2018-12-18 深圳乐信软件技术有限公司 A kind of scalable appearance method, apparatus of elasticity, server and storage medium
CN109412841A (en) * 2018-09-30 2019-03-01 北京金山云网络技术有限公司 Method of adjustment, device and the cloud platform of resources of virtual machine
CN110286937B (en) * 2019-07-04 2021-06-15 深圳市指尖互动娱乐有限公司 Distributed software operation method and system
CN112698908A (en) * 2019-10-23 2021-04-23 阿里巴巴集团控股有限公司 Cloud computing resource expansion processing method and device, storage medium and processor
CN113032217B (en) * 2021-03-26 2023-03-10 山东英信计算机技术有限公司 Cluster monitoring method and related device
CN113407301A (en) * 2021-05-22 2021-09-17 济南浪潮数据技术有限公司 Virtual machine monitoring method, system, storage medium and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (en) * 2011-03-14 2012-09-19 金剑 Virtual computing resource dynamic management system of cloud computing service platform
CN103257683A (en) * 2013-05-07 2013-08-21 华为技术有限公司 Method and device of cloud calculation service expansion and contraction
US20140040885A1 (en) * 2012-05-08 2014-02-06 Adobe Systems Incorporated Autonomous application-level auto-scaling in a cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (en) * 2011-03-14 2012-09-19 金剑 Virtual computing resource dynamic management system of cloud computing service platform
US20140040885A1 (en) * 2012-05-08 2014-02-06 Adobe Systems Incorporated Autonomous application-level auto-scaling in a cloud
CN103257683A (en) * 2013-05-07 2013-08-21 华为技术有限公司 Method and device of cloud calculation service expansion and contraction

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417035B2 (en) 2017-12-20 2019-09-17 At&T Intellectual Property I, L.P. Virtual redundancy for active-standby cloud applications
US10990435B2 (en) 2017-12-20 2021-04-27 At&T Intellectual Property I, L.P. Virtual redundancy for active-standby cloud applications
CN112162819A (en) * 2020-09-18 2021-01-01 北京浪潮数据技术有限公司 Application deployment method across virtual machine and Kubernetes cluster
CN112162819B (en) * 2020-09-18 2023-12-22 北京浪潮数据技术有限公司 Application deployment method crossing virtual machines and Kubernetes clusters
CN113094353A (en) * 2021-04-08 2021-07-09 中国工商银行股份有限公司 Database capacity expansion method and device

Also Published As

Publication number Publication date
CN106155763A (en) 2016-11-23

Similar Documents

Publication Publication Date Title
WO2016169166A1 (en) Virtual machine scheduling method and device
US11743116B2 (en) Methods and apparatus to scale application deployments in cloud computing environments
CN110730136B (en) Method, device, server and storage medium for realizing flow control
TWI752994B (en) Application expansion method, device and system
US8880679B2 (en) Techniques for web server management
US20180101408A1 (en) Node selection for a new application in a multi-tenant cloud hosting environment
CA2861257C (en) Fault tolerance for complex distributed computing operations
US9684534B2 (en) Monitoring and modifying allocated computing resources
WO2016204804A1 (en) Virtualized network function monitoring
EP3477894B1 (en) Method and device for controlling virtualized broadband remote access server (vbras), and communication system
CN107656705B (en) Computer storage medium and data migration method, device and system
CN105912389A (en) Technique for implementing virtual machine transition system in hybrid cloud environment on basis of data virtualization
CN103561055A (en) Web application automatic elastic extension method under cloud computing environment based on sessions
CN109582649B (en) Metadata storage method, device and equipment and readable storage medium
CN110780918A (en) Middleware container processing method and device, electronic equipment and storage medium
CN104516744A (en) Software updating method and system
US10348814B1 (en) Efficient storage reclamation for system components managing storage
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
US20130247037A1 (en) Control computer and method for integrating available computing resources of physical machines
CN113946491A (en) Microservice data processing method, microservice data processing device, computer equipment and storage medium
JP2014127210A (en) Operation scheduling system for virtual machines and its method
CN109286532B (en) Management method and device for alarm information in cloud computing system
CN109101253B (en) Management method and device for host in cloud computing system
CN110113177B (en) Management method and device of license of NFV system and computer readable storage medium
CN109150941B (en) Data center physical resource floating method

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

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

Country of ref document: EP

Kind code of ref document: A1