CN110795203B - 资源调度方法、装置、系统和计算设备 - Google Patents

资源调度方法、装置、系统和计算设备 Download PDF

Info

Publication number
CN110795203B
CN110795203B CN201810879959.5A CN201810879959A CN110795203B CN 110795203 B CN110795203 B CN 110795203B CN 201810879959 A CN201810879959 A CN 201810879959A CN 110795203 B CN110795203 B CN 110795203B
Authority
CN
China
Prior art keywords
server
virtual machine
storage
servers
state information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810879959.5A
Other languages
English (en)
Other versions
CN110795203A (zh
Inventor
石博
李凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810879959.5A priority Critical patent/CN110795203B/zh
Publication of CN110795203A publication Critical patent/CN110795203A/zh
Application granted granted Critical
Publication of CN110795203B publication Critical patent/CN110795203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本申请公开了一种资源调度方法、装置、系统和计算设备。其中,该方法包括:接收虚拟机创建请求;响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;根据运行状态信息从多个存储服务器中确定目标服务器;在目标服务器上创建虚拟机。本申请解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。

Description

资源调度方法、装置、系统和计算设备
技术领域
本申请涉及计算机网络领域,具体而言,涉及一种资源调度方法、装置、系统和计算设备。
背景技术
在云计算环境中,计算机集群内的网络计算机(Network Computer,简称NC)可为用户所使用的虚拟机(Virtual Machine,简称VM)提供存储服务,其中,在虚拟机上用户可部署多个应用,例如,WEB、游戏、数据库等。对于不同的应用,虚拟机内所有的读写请求均下发至网络计算机中用于提供存储服务的磁盘设备中。然而,同一台网络计算机可能需要服务多个虚拟机,多个虚拟机对网络计算机上的CPU、内存、网络流量、存储空间等公共资源存在争抢。
此外,随着每台网络计算机所服务的虚拟机的数量的增加,以及每个虚拟机内部的读写行为的不一致,可能会导致网络计算机之间的资源不均衡。当计算机集群内新建虚拟机时,需要采用自适应算法从计算机集群中选择合适的网络计算机为其提供服务,因此,需要对计算机集群内每台网络计算机的资源信息进行统计。另外,在运行时,虚拟机的读写行为是动态变化的,虚拟机在单位时间内的读写请求数(IOPS,Input/Output OperationsPer Second)的增长,可能导致网络计算机中的资源耗尽,因此,在对网络计算机进行调度的过程中,需要实时对网络计算机的资源信息进行分析。
现有技术提供了一种分布式系统中的资源调度方法,该方法主要是对分布式系统中的CPU、内存以及网络三种资源进行采集统计,并分析各资源在集群内的比例分布,然后根据资源请求计算并匹配到最佳资源节点进行服务。然而,现有技术仅考虑了上述三种资源,未考虑网络计算机所服务的虚拟机的设备数、网络计算机的负载、网络计算机上的剩余存储空间等资源,也未考虑批量资源请求可能出现一台网络计算机服务多个虚拟机的请求,以及调度资源分配完后虚拟机在运行过程中所出现的热点网络计算机,也没有考虑调度算法的自适应均衡。
针对上述由于集群内计算机资源调度不均衡导致集群的存储服务能力差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种资源调度方法、装置、系统和计算设备,以至少解决由于集群内计算机资源调度不均衡导致集群的存储服务能力差的技术问题。
根据本发明实施例的一个方面,提供了一种资源调度方法,包括:接收虚拟机创建请求;响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;根据运行状态信息从多个存储服务器中确定目标服务器;在目标服务器上创建虚拟机。
根据本发明实施例的另一方面,还提供了一种资源调度方法,包括:向中心服务器上报存储服务器的运行状态信息,以便中心服务器根据运行状态信息来确定存储服务器是否适于创建虚拟机;在中心服务器确定存储服务器适于创建虚拟机的情况下,接收中心服务器发送的虚拟机创建指令;响应于虚拟机创建指令,创建虚拟机。
根据本发明实施例的另一方面,还提供了一种资源调度装置,包括:第一接收模块,用于接收虚拟机创建请求;第一获取模块,用于响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;第一确定模块,用于根据运行状态信息从多个存储服务器中确定目标服务器;第一创建模块,用于在目标服务器上创建虚拟机。
根据本发明实施例的另一方面,还提供了一种资源调度装置,包括:上报模块,用于向中心服务器上报存储服务器的运行状态信息,以便中心服务器根据运行状态信息来确定存储服务器是否适于创建虚拟机;第二获取模块,用于在中心服务器确定存储服务器适于创建虚拟机的情况下,接收中心服务器发送的虚拟机创建指令;第二创建模块,用于响应于虚拟机创建指令,创建虚拟机。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行资源调度方法。
根据本发明实施例的另一方面,还提供了一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行资源调度方法。
根据本发明实施例的另一方面,还提供了一种资源调度系统,包括中心服务器和至少一个存储服务器,其中,中心服务器与存储服务器通信连接,中心服务器用于执行根据资源调度方法为虚拟机创建调度资源;存储服务器,用于向中心服务器上报运行状态信息,并在接收到中心服务器发送的虚拟机创建指令的情况下,创建虚拟机。
在本发明实施例中,采用根据多个存储服务器的运行状态信息来确定创建虚拟机的目标服务器的方式,在接收到虚拟机创建请求之后,服务器集群内的中心服务器通过响应虚拟机创建请求,并获取多个存储服务器的运行状态信息,然后再根据获取到的运行状态信息从多个存储服务器中确定目标服务器,以在目标服务器上创建虚拟机。在上述过程中,服务器集群内的中心服务器通过对多个存储服务器的运行状态信息进行分析,并根据分析结果可从多个存储服务器中确定比较空闲的存储服务器作为目标服务器,在目标服务器上创建虚拟机,完成了对存储服务器的调度。此外,由于在虚拟机运行的过程中,存储服务器的运行状态信息在动态变化,而本申请所提供的上述方案是根据存储服务器的运行状态信息来进行调度的,因此,本申请所提供的上述方案可以达到自适应均衡各个存储服务器的资源的目的,从而实现了提高存储服务器集群的存储服务能力的技术效果,进而解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种分布式存储系统的结构示意图;
图2是根据本发明实施例的一种资源调度方法的流程图;
图3是根据本发明实施例的一种资源调度方法的流程图;
图4是根据本发明实施例的一种可选的资源调度方法的流程图;
图5是根据本发明实施例的一种可选的资源调度方法的流程图;
图6是根据本发明实施例的一种资源调度装置的结构示意图;
图7是根据本发明实施例的一种资源调度装置的结构示意图;以及
图8是根据本发明实施例的一种计算设备的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种资源调度方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,还需要说明的是,本申请所提供的资源调度方法可以广泛应用在资源分配领域,例如,云计算环境中的资源分配。在云计算环境中,用户所使用的虚拟机搭载的磁盘设备是由服务器集群内的存储服务器提供存储服务的,其中,用户可在虚拟机中部署各种应用,例如,WEB、游戏、数据库等应用。然而,对于不同的应用,虚拟机内所有的读写请求均下发至存储服务器中用于提供存储服务的磁盘设备中。由于一台存储服务器可以服务多个虚拟机,因此,存储服务器上的CPU、内存、网络流量、存储空间等公共资源存在争抢现象。由此可见,减小有限资源的竞争可有效提高用户的读写服务质量。
需要说明的是,本发明为了便于叙述,将能够提供虚拟机服务的服务器命名为存储服务器,将用于对存储服务器进行调度的服务器命名为中心服务器(见下文),但是,存储、中心二词不能作为对本发明实施例的限制。本领域技术人员可以理解,本发明的存储服务器泛指任何能够提供虚拟机服务(包括虚拟机的创建、应用、迁移等)的服务器,而不是特指仅能够提供“存储”服务的服务器。另外,本发明的存储服务器不仅限于提供虚拟机服务,中心服务器也不仅限于实现存储服务器的调度,存储服务器、中心服务器还可以提供例如计算、应用、内容分发(CDN,Content Delivery Network)、网络通信等诸多服务,本发明对存储服务器、中心服务器的配置以及对外提供的服务类型均不做限制。
为保证存储服务器的服务质量,减小存储服务器公共资源的争抢以及虚拟机之间读写行为的相互影响,本申请提供了一种资源调度方法,该方法可实现集群内存储服务器上的各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间等资源的采集与分析,并实现了对新建虚拟机的最优存储服务器的选择,且能够适应高并发资源请求的场景,从而避免了大量虚拟机的设备使用一台存储服务器的现象。最后,本申请所提供的资源调度方法还可实现集群内动态调度热点服务器上的虚拟机的设备,达到自适应均衡,并在最大程度上提供可靠的存储服务。
基于上述内容,本申请构建了基于资源调度方法的分布式存储系统,其中,图1示出了该分布式存储系统的结构示意图。由图1可知,该分布式存储系统主要包括两个模块,即资源采集模块10以及调度模块20,其中,资源采集模块包括多个存储服务器,各个存储服务器分别上报各自的运行状态信息,运行状态信息用于表示存储服务器的资源使用情况,例如存储服务器当前使用了多少资源,有多少剩余资源可用,等等;调度模块包括至少一个中心服务器,用于对各个存储服务器进行动态调度和均衡调度,并反馈资源调度信息,同时,还可对热点服务器(即资源使用较多的存储服务器)进行检查。由于存储服务器集群内部署的存储服务器的数量是有限的,因此,随着每台存储服务器所服务的虚拟机的数量的增加,以及每个虚拟机内部的读写行为的不一致,将导致存储服务器之间的资源不均衡,例如,有的存储服务器上服务的虚拟机的设备数量过多,有的存储服务器的负载过大,有的存储服务器的网络流量较大等。在集群内实现所有存储服务器上资源采集和分析时资源调度的基础,在本申请中,资源采集模块中的各个存储服务器(如图1中的存储服务器1、存储服务器n)定时将自身的运行状态信息上报至调度模块中的中心服务器中。
另外,当集群内需要新建虚拟机时,客户端30向中心服务器发送虚拟机创建请求,中心服务器通过分析当前集群内所有存储服务器的运行状态信息,并使用自适应算法对各个存储服务器的运行状态信息进行计算,进而确定既可为虚拟机提供存储服务,又能保证用户读写请求正常执行的存储服务器。
此外,虚拟机在运行时,虚拟机的读写行为是动态变化的,存储服务器上服务的虚拟机在单位时间内的读写请求数的增长会导致存储服务器的负载、网络流量等发生变化,上述变化可能使得存储服务器上的某些资源耗尽,此时,需要中心服务器对热点服务器上的虚拟机设备进行重新调度,根据产生热点的原因计算出最佳的可用的存储服务器为虚拟机提供存储服务。
需要说明的是,在本实施例中的执行主体为分布式存储系统中的中心服务器,其中,分布式存储系统的中心服务器可执行资源调度方法。具体的,图2示出了一种资源调度方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,接收虚拟机创建请求,其中,虚拟机创建请求用于为虚拟机分配存储服务器,以在分配的存储服务器上创建虚拟机。
在步骤S202中,客户端可向分布式存储系统发送虚拟机创建请求,分布式存储系统中的中心服务器可接收该虚拟机创建请求,并将该虚拟机创建请求发送至中心服务器,由中心服务器对该虚拟机创建请求进行处理。
需要说明的是,分布式存储系统中的中心服务器为可对存储服务器进行调度的设备。进一步地,在本申请中需要进行资源调度的存储服务器可定时采集自身的运行状态信息,并将运行状态信息上报至中心服务器,由中心服务器对各个存储服务器的运行状态信息进行分析。
步骤S204,响应于虚拟机创建请求,获取多个存储服务器的运行状态信息,其中,运行状态信息包括以下一项或多项:存储服务器上的:各虚拟机所占用的存储设备的数量(即Device数量)、CPU使用情况、运行以及等待运行的进程的数量(即负载,Load)、单位时间内的读写操作次数(Input/Output Operations Per Second,简称IOPS)、网络流量、剩余存储空间。
在步骤S204中,集群内的存储服务器采集自身的运行状态信息,并在采集完成后,通过固定时间的心跳协议主动将采集到的运行状态信息上报至集群中的中心服务器。其中,存储服务器上的各虚拟机所占用的存储设备的数量指虚拟机在该存储服务器上所打开的存储设备数量,由于虚拟机在集群内任意一台存储服务器上所得到的服务逻辑是相同的,但服务质量可能存在差异,因此,每台存储服务器上的各虚拟机所占用的存储设备的数量在均衡所有虚拟机方面具有重要的意义。CPU使用情况是指存储服务器所提供的存储服务进程所占的CPU比例,其中,在Linux系统中,存储服务器可通过读取“/proc/stat”文件中所记录的当前存储服务器的CPU使用参数以及服务进程的CPU参数,并根据CPU使用参数和服务进程的CPU参数来计算CPU占比。运行以及等待运行的进程的数量是指存储服务器的平均负载,其中,存储服务器可通过读取“/proc/loadavg”文件得到存储服务器的负载,当负载较高时,存储服务器的操作系统繁忙,此时,存储服务器的服务能力较低。另外,存储服务器上运行的任意进程里的异常行为也会导致存储服务器的负载升高。单位时间内的读写操作次数是指存储服务器上服务的所有虚拟机下发的读写请求的总和,读写请求数可为触发均衡调度和迁移提供依据,其中,单位时间内的读写操作次数是存储进程在内存上统计转发给后端设备的读写数据的数量,读写操作次数越大表示存储服务器服务的虚拟机的压力越大。存储服务器的网络流量是指存储服务器的网卡上统计得到的网络请求个数和字节数,即网卡向后端设备转发数据所产生的流量,其中,存储服务器可通过读取“/proc/net/dev”文件得到网络流量。另外,由于网卡的带宽是固定的,集群内各个设备之间的相互访问大多是通过网络请求完成的,当其他进程流量较大,但存储服务器的网络流量较小时,存储服务器的服务能力也可能会受到影响。存储服务器上的剩余存储空间是指存储服务器上磁盘可用空间的字节数。由于磁盘空间的资源是有限的,因此需要严格控制磁盘空间的使用率,如果磁盘空间耗尽,用户的读写请求可能会失败。
需要说明的是,在中心服务器的进程中,中心服务器可将上述一项或多项运行状态信息保存在队列中,以使中心服务器可对固定时间段内的运行状态信息进行维护和处理。其中,在对一项或多项运行状态信息进行处理的过程中,可通过求取每个的多个运行状态信息的平均值,作为该运行状态信息的使用状态的评估值。例如,对多个CPU使用情况求平均值,作为CPU使用状态的评估值。
此外,还需要说明的是,中心服务器进程具有超时检测机制,在中心服务器在预设时长内未收到存储服务器的心跳信息的情况下,中心服务器确定该存储服务器不可提供服务,在进行资源调度时也不会将该存储服务器纳入目标服务器的选择范围。
步骤S206,根据运行状态信息从多个存储服务器中确定目标服务器。
步骤S208,在目标存储服务器上创建虚拟机。
在上述步骤S206至步骤S208中,在得到存储服务器的运行状态信息之后,中心服务器对运行状态信息进行分析,根据分析结果查找到最优的目标服务器来为发出虚拟机创建请求的虚拟机提供服务。
基于上述步骤S202至步骤S208所限定的方案,可以获知,在接收到虚拟机创建请求之后,服务器集群内的中心服务器通过虚拟机创建请求,并获取多个存储服务器的运行状态信息,然后再根据获取到的运行状态信息从多个存储服务器中确定目标服务器,以在目标服务器上创建虚拟机。
容易注意到的是,服务器集群内的中心服务器通过对多个存储服务器的运行状态信息进行分析,并根据分析结果可从多个存储服务器中确定比较空闲的存储服务器作为目标服务器,在目标服务器上创建虚拟机,完成了对存储服务器的调度。此外,由于在虚拟机运行的过程中,存储服务器的运行状态信息在动态变化,而本申请所提供的上述方案是根据存储服务器的运行状态信息来进行调度的,因此,本申请所提供的上述方案可以达到自适应均衡各个存储服务器的资源的目的,从而实现了提高存储服务器集群的存储服务能力的技术效果,进而解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。
在一种可选的方案中,在得到多个存储服务器的运行状态信息之后,中心服务器进一步根据获取的运行状态信息从多个存储服务器中确定目标服务器,具体方法可以包括:
步骤S2060,分别根据运行状态信息中的每一项,将多个存储服务器按照从空闲到忙碌的顺序进行排序,得到排序结果;
步骤S2062,根据排序结果确定多个候选服务器,候选服务器为每一项运行状态信息下最空闲的第一数量个存储服务器;
步骤S2064,从多个候选服务器中筛选出目标服务器。
具体的,中心服务器存储有集群内所有可进行服务的存储服务器的每一项的运行状态信息,并在中心服务器的内存队列中仅保存预设时长内上述每一项运行状态信息的多组数据,其中,预设时长内的多组数据是最近采集的多组数据,例如,当前时间为10:00,预设时长为9:55至10:00的5分钟,则预设时长内的多组数据即为10:00之前5分钟内所采集到的多组数据。另外,在预设时长内,内存队列可存储每一项运行状态信息的多组数据,而在预设时长之外所采集到的数据将被删除,例如,在9:40所采集到的数据将被删除。
进一步地,在得到预设时长内的每一项运行状态信息之后,中心服务器对预设时长内的每一项运行状态信息求取平均值,并将该平均值作为该预设时长内对应每一项运行状态信息的评估参数,例如,求取存储服务器的网络流量在预设时长内的平均网络流量作为存储服务器的网络流量的评估数值。在得到每一项运行状态信息的评估数值之后,中心服务器根据每一项运行状态信息的评估数值的大小对存储服务器进行排序,得到存储服务器在该项运行状态信息上的忙闲程度,其中,对于虚拟机占用的存储设备的数量(Device)、CPU使用情况、运行及等待运行的进程的数量(Load)、单位时间内的读写操作次数(IOPS)、网络流量等信息,评估数值越小,表示存储服务器越空闲;对于剩余存储空间等信息,评估数值越大,表示存储服务器越空闲。
在得到每一项运行状态信息上的排序结果之后,中心服务器可得到每一项运行状态信息下空闲程度在前5的候选服务器,这里的5即为步骤S2062中所述的第一数量。当然,本领域技术人员也可以将第一数量设置为其他数值,本发明对第一数量的取值不做限制。根据一种实施例,运行状态信息包括虚拟机占用的存储设备的数量(Device)、CPU使用情况、运行及等待运行的进程的数量(Load)、单位时间内的读写操作次数(IOPS)、网络流量、剩余存储空间六项信息,则对于每一项信息,均可以得到最空闲的5个候选服务器,即,共获得6*5=30个候选服务器。然后再从得到的候选服务器中筛选出目标服务器,由目标服务器为虚拟机提供存储服务。需要说明的是,由于在本申请中可对每一项运行状态信息进行忙闲排序,而在对每一项运行状态信息进行排序的过程中,可能存在某个存储服务器在多项运行状态信息均为候选务器的情形,因此,候选服务器的数量最多为30个,也可能出现少于30个的情况。另外,在每一项运行状态信息上单独对存储服务器进行排序时,每一项运行状态信息上的数量级是相同的,无需进行归一化处理,从而降低了中心服务器的任务量。
进一步,在确定每一项运行状态信息下最空闲的第一数量个存储服务器之后,中心服务器还需对候选服务器进行过滤,然后从过滤后得到的剩余服务器中确定目标服务器。具体的,中心服务器设置过滤条件,剔除不满足过滤条件的候选服务器,并从剩余服务器中确定目标服务器。其中,过滤条件包括以下一项或多项:存储服务器上的各虚拟机所占用的存储设备的数量大于或等于第一阈值,存储服务器上运行以及等待运行的进程的数量大于或等于第二阈值;单位时间内的读写操作次数大于或等于第三阈值。
可选的,在得到候选服务器之后,中心服务器分别计算多个存储服务器的每一项运行状态信息的平均值,并将每一项运行状态信息上的平均值的2倍作为该项运行状态信息对应的预定阈值,例如,多个存储服务器的各虚拟机所占用的存储设备的数量的平均值为150,则将150*2=300作为存储服务器上的各虚拟机所占用的存储设备的数量所对应的预定阈值。在确定了每一项运行状态信息所对应的预定阈值之后,中心服务器分别计算每一项运行状态信息,并将每一项运行状态信息与对应的预定阈值进行比较,得到每一项运行状态信息上均大于对应预定阈值的候选服务器,并将该候选服务器删除。例如,中心服务器将存储服务器上的各虚拟机所占用的存储设备的数量大于300(相当于第一阈值)、存储服务器上运行以及等待运行的进程的数量大于16(相当于第二阈值)、单位时间内的读写操作次数大于5000(相当于第三阈值)的存储服务器删除,并从剩余的候选服务器中确定目标服务器。
需要说明的是,中心服务器可将本申请所提到的所有六项运行状态信息均超过预定阈值的候选服务器删除,也可仅比对六项运行状态信息中的部分项目与预定阈值的大小,例如,仅比对存储服务器上的各虚拟机所占用的存储设备的数量、存储服务器上运行以及等待运行的进程的数量、单位时间内的读写操作次数分别与预定阈值的大小,并将上述三项运行状态信息均超过预定阈值的候选服务器删除。另外,运行状态信息超过预定阈值的候选服务器的压力较高,可能存在新建虚拟机之后成为热点服务器的情形,因此,删除运行状态信息超过预定阈值的候选服务器可以避免被删除的候选服务器压力过大而无法为其他虚拟机提供服务的问题。
此外,根据一种实施例,对存储服务器的动态调度需要为各项运行状态信息设置对应的权重比例,以避免将压力较高的存储服务器的资源进行分配。另外,在动态调度的过程中,存储服务器的各项运行状态信息的数量级是不相同的,不能进行简单的加权平均,需要对每项运行状态信息内的数据进行归一化处理。具体方法如下:
步骤S4060,确定各项运行状态信息的权重;
步骤S4062,根据权重确定每一个剩余服务器的总分值,根据总分值确定目标服务器。
具体的,中心服务器中存储有每项运行状态信息下不同的数值与对应的权重的预设关系,该预设关系可以以表格、配置文件等形式存储在中心服务器本地的存储单元中。中心服务器通过上述预设关系即可确定每项运行状态信息的权重。同时,中心服务器获取某一维度下的当前数值,以及该项运行状态信息下的最大数值,将当前数值与最大数值的比值作为该项运行状态信息的评估值。然后,中心服务器将每项运行状态信息下的权重与对应的评估值相乘并求和,得到每个剩余服务器的总分值。其公式可以如下:
Figure BDA0001754232510000101
在上式中,S为剩余服务器的总分值,Ti表示第i项运行状态信息的权重值(应当指出,权重值可能是正数、也可能是负数,例如,对于前述六项运行状态信息,虚拟机占用的存储设备的数量(Device)、CPU使用情况、运行及等待运行的进程的数量(Load)、单位时间内的读写操作次数(IOPS)、网络流量五项信息的权重值的符号应当与剩余存储空间的权重值的符号相反),Pi表示该剩余服务器的第i项运行状态信息的评估值,其中,Pi满足下式:
Figure BDA0001754232510000102
其中,a为该剩余服务器的第i项运行状态信息的当前数值,amax为多个剩余服务器的第i项运行状态信息下的最大数值。
需要说明的是,总分值的大小决定了存储服务器整体的忙闲程度,其中,若虚拟机占用的存储设备的数量(Device)、CPU使用情况、运行及等待运行的进程的数量(Load)、单位时间内的读写操作次数(IOPS)、网络流量五项信息的权重值为正数,剩余存储空间的权重值为负数,则总分值越大,存储服务器越繁忙;总分值越小,存储服务器越空闲。
进一步地,为了满足高并发批量资源请求,避免短时间内为大量新建虚拟机分配同一台存储服务器,导致存储服务器瞬间压力过大而影响存储服务器上其他虚拟机使用的问题,在确定了每个剩余服务器的总分值之后,中心服务器还需要根据总分值确定目标服务器,具体步骤如下:
步骤S5060,将总分值小于阈值的剩余服务器作为准目标服务器;
步骤S5062,根据总分值设置每一个准目标服务器的选择概率,根据选择概率来确定目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
可选的,在得到每个剩余服务器的总分值之后,中心服务器根据总分值对剩余服务器进行排序,将总分值最小的一定数量个(例如4个)服务器作为准目标服务器,然后为这4个准目标服务器设置选择概率,总分值越小,选择概率越大,例如,可以将总分值由小到大的4个准目标服务器的选择概率分别设置为0.4、0.3、0.2、0.1。随后,根据选择概率来确定目标服务器,确定目标服务器的过程可以采用产生随机数的方式,例如,获取区间[1,10]内的随机数,如果该随机数在区间[1,4]中,则将总分值最小的准目标服务器分配给虚拟机;如果该随机数在区间[5,7]中,则将总分值次小的准目标服务器分配给虚拟机;如果该随机数在区间[8,9]中,则将总分值第三小的准目标服务器分配给虚拟机;如果该随机数为10,则将总分值最大的准目标服务器分配给虚拟机。
需要说明的是,中心服务器可根据集群内的存储服务器的忙闲程度对存储服务器进行排序,来得到目标服务器,并将目标服务器分配给虚拟机。然而在上述过程中,中心服务器只在新建虚拟机时从中心服务器中得到最优的目标服务器来为新建的虚拟机提供服务,但虚拟机在运行时,其内部的读写行为是动态变化的,当同一个存储服务器上服务的多个虚拟机内的单位时间内的读写操作次数增多时,运行以及等待运行的进程的数量增大,存储服务器进程所占的CPU比例增大,网络流量也随之增加,从而导致虚拟机的剩余可用资源的下降,进而影响存储服务器为其他虚拟机提供服务,因此,需要实时检查热点服务器,并对热点服务器上服务的虚拟机进行迁移,降低资源争抢。
在一种可选的方案中,在根据运行状态信息从多个存储服务器中确定目标服务器之后,中心服务器还更新目标服务器上的各虚拟机所占用的存储设备的数量。
具体的,每个存储服务器通过固定心跳,即每间隔固定时间间隔将自身所服务的虚拟机的数量上报至中心服务器。在下次心跳上报之前,中心服务器可在上报时间间隔内维护新增加的虚拟机的数量。另外,对于每个存储服务器,中心服务器在内存上可统计上报时间间隔内分配到不同的存储服务器上服务的虚拟机的数量。当中心服务器选中某个目标服务器时,中心服务器将目标服务器所服务的虚拟机的数量进行加一计算,即对目标服务器所服务的虚拟机的数量进行更新。
需要说明的是,对存储服务器上服务的虚拟机的设备数进行统计可有效防止对磁盘进行高并发的创建,导致同一存储服务器服务大量虚拟机的现象,并有效避免大规模的新增流量对存储服务器上已有的虚拟机设备的正常使用造成影响。
此外,还需要说明的是,中心服务器还需要判断各存储服务器是否为热点服务器,并在存储服务器为热点服务器的情况下,进行进一步地处理,具体方法如下:
步骤S4002,根据多个存储服务器的运行状态信息,确定多个存储服务器中的热点服务器,其中,热点服务器为每一项运行状态信息下最忙碌的第二数量个存储服务器;
步骤S4004,将至少一个热点服务器上运行的虚拟机迁移至其他存储服务器。
具体的,中心服务器在进程中额外开启一个线程,该线程用于定时检测存储服务器是否为热点服务器。其中,中心服务器的中心线程可通过获取集群内所有存储服务器的运行状态信息,并在本申请所提到的六项运行状态信息上分别对所有的存储服务器进行排序,得到每项运行状态信息下最忙碌的五个存储服务器。中心服务器进一步对筛选得到的存储服务器在存储服务器上的各虚拟机所占用的存储设备的数量、运行以及等待运行的进程的数量以及单位时间内的读写操作次数三项运行状态信息进行判断,确定筛选得到的存储服务器是否为热点服务器。其中,当某一项运行状态信息下的数值超过预设数值(可以为经验值),并且大于所有存储服务器在该项运行状态信息下的平均值的2倍时,则中心服务器确定该存储服务器为热点服务器,例如,中心服务器将存储服务器上的各虚拟机所占用的存储设备的数量大于300、运行以及等待运行的进程的数量大于16、单位时间内的读写操作次数大于5000的存储服务器判定为热点服务器。
进一步地,在确定了热点服务器之后,为降低热点服务器的压力,中心服务器需要将热点服务器上服务的虚拟机的设备迁移至其他存储服务器上,由其他存储服务器为该虚拟机的设备提供服务。其中,具体步骤如下:
步骤S5002,根据热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;
步骤S5004,根据权重确定每一个其他存储服务器的总分值,根据总分值从其他存储服务器中确定目标迁移服务器;
步骤S5006,将热点服务器上运行的虚拟机迁移到目标迁移服务器。
具体的,中心服务器对热点服务器的运行状态信息进行分析,并将热点服务器的压力过大的原因反馈给中心服务器。同时,中心服务器在从其他存储服务器中选择目标迁移服务器时,调整其他存储服务器中的每项运行状态信息的权重,并根据每项运行状态信息的权重从其他存储服务器中选择出目标迁移服务器,使目标迁移服务器为虚拟机提供后续的服务。
需要说明的是,在存储服务迁移的过程中,可能需要重新开启虚拟机对应的存储设备,重新开启虚拟机对应的存储设备可能对用户的读写行为造成影响。为减小上述影响,对于不同项运行状态信息上的热点服务器,需要将热点服务器上的存储服务迁移到目标迁移服务器上的策略也不相同。其中,将至少一个热点服务器上的存储服务迁移到目标迁移服务器上包括以下至少之一:在热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,例如,存储服务器上各虚拟机所占用的存储设备的数量大于300时,将单位时间内的读写操作次数最少的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,例如,存储服务器上运行以及等待运行的进程的数量大于16时,将单位时间内的读写操作次数最多的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,例如,单位时间内的读写操作次数大于5000时,将单位时间内的读写操作次数次多的虚拟机迁移到目标迁移服务器。
另外,为避免同一设备连续迁移多次的情况,中心服务器可对存储服务器上的虚拟机的设备在单位时间内的迁移次数进行限定,从而进一步降低了迁移行为给存储服务器的服务造成负面影响。
最后,本申请所提供的资源调度系统中的中心服务器在存储服务器的基础上相互配合,为集群内大规模的虚拟机提供可靠的存储服务能力。另外,本申请所提供的资源调度方法可最大化集群内所有存储服务器的服务能力,均衡各存储服务器之间的服务能力,避免短时间内大批量新建磁盘分配到同一台存储服务器,导致已有设备的服务质量降低的问题。此外,中心服务器还可实时监测集群内热点服务器和热点设备,及时进行动态迁移以降低热点服务器的压力,保证用户虚拟机的读写请求成功,减小迁移带来的影响,进一步避免频繁调度某些存储服务器,导致读写延迟增大的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的资源调度方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种资源调度方法,其中,图3示出了一种资源调度方法的流程图,如图3所示,该方法包括:
步骤S302,向中心服务器上报存储服务器的运行状态信息,以便中心服务器根据运行状态信息来确定存储服务器是否适于创建虚拟机,其中,运行状态信息用于中心服务器确定创建虚拟机的存储服务器。
需要说明的是,在本实施例中的执行主体可以为图1所示的存储服务器,存储服务器获取自身的运行状态信息,并通过固定时间的心跳协议主动将采集到的运行状态信息上报至集群中的中心服务器。其中,存储服务器的运行状态信息包括以下一项或多项:存储服务器上的:各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。在接收到存储服务器的运行状态信息之后,中心服务器分别根据运行状态信息中的每一项将多个存储服务器按照从空闲到忙碌的顺序进行排序,并根据排序结果确定多个候选服务器。然后再通过过滤条件剔除不满足过滤条件的候选服务器,从剩余服务器中确定目标服务器,其中,目标服务器为适于创建虚拟机的服务器。
步骤S304,在中心服务器确定存储服务器适于创建虚拟机的情况下,接收中心服务器发送的虚拟机创建指令。
在步骤S304中,中心服务器还可接收虚拟机发送的虚拟机创建请求,该虚拟机创建请求用于为虚拟机分配存储服务器,以在分配的存储服务器上创建虚拟机。
在一种可选的方案中,中心服务器在接收到虚拟机发送的虚拟机创建请求之后,对存储服务器的运行状态信息进行维护和处理,以确定存储服务器在每项运行状态信息下的忙闲程度,并根据存储服务器在每项运行状态信息下的忙闲程度确定可创建虚拟机的存储服务器。然后中心服务器向该存储服务器发送虚拟机创建指令,以指示存储服务器创建虚拟机。
需要说明的是,在对多项运行状态信息进行处理的过程中,可通过求取每项运行状态信息的平均值,作为该项运行状态信息的使用状态的评估值。例如,对多个CPU使用情况求平均值,作为CPU使用状态的评估值。
另外,中心服务器进程具有超时检测机制,在中心服务器在预设时长内未收到存储服务器的心跳信息的情况下,中心服务器确定该存储服务器不可服务,在进行资源调度时也不会将该存储服务器作为目标服务器进行资源调度。
步骤S306,响应于虚拟机创建指令,创建虚拟机。
基于上述步骤S302至步骤S306所限定的方案,可以获知,通过存储服务器向中心服务器上报存储服务器的运行状态信息,以便中心服务器根据运行状态信息来确定存储服务器是否适于创建虚拟机。在在中心服务器确定存储服务器适于创建虚拟机的情况下,接收到中心服务器发送的虚拟机创建指令,然后响应于虚拟机创建指令,创建虚拟机,其中,运行状态信息用于中心服务器确定创建虚拟机的存储服务器。
容易注意到的是,服务器集群内的中心服务器通过对多个存储服务器的运行状态信息进行分析,并根据分析结果可从多个存储服务器中确定比较空闲的存储服务器作为目标服务器,在比较空闲的存储服务器上创建虚拟机,完成了对存储服务器的调度。此外,由于在虚拟机运行的过程中,存储服务器的运行状态信息在动态变化,而本申请所提供的上述方案是根据存储服务器的运行状态信息来进行调度的,因此,本申请所提供的上述方案可以达到自适应均衡各个存储服务器的资源的目的,从而实现了提高服务器集群的存储服务能力的技术效果,进而解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。
在一种可选的方案中,如图4所示的资源调度方法的流程图,首先,中心服务器统计每个存储服务器的运行状态信息(如图4中的步骤S40),并分别针对多项运行状态信息,依据集群内的存储服务器的忙闲程度对存储服务器进行排序,并确定预定个数的运行状态信息下排序均在前N的候选服务器,其中,N为自然数。如图4中的步骤S41,中心服务器对步骤S304中的六项运行状态信息进行排序,得到每项运行状态信息下最空闲的五个(N=5)存储服务器作为候选服务器。然后,中心服务器通过从预定个数的运行状态信息下排序均在前N的候选服务器中剔除运行状态信息超过预定阈值的候选服务器,并从剔除运行状态信息超过预定阈值的候选服务器,即执行步骤S42,在各项运行状态信息上对候选服务器进行阈值过滤,得到多个剩余服务器。
进一步地,中心服务器确定多项运行状态信息各项运行状态信息的权重,并依据确定的权重,确定各个剩余服务器的总分值,如步骤S43,确定各运行状态信息的权重,并进行归一化求和,得到各剩余服务器的总分值。然后,中心服务器依据总分值从剩余服务器中确定准目标服务器,如图4中的步骤S44,根据总分值对剩余服务器进行排序,得到总分值最小的4个准目标服务器。在得到总分值最小的4个准目标服务器之后,中心服务器为各准目标服务器设置选择概率,依据选择概率来确定目标服务器,如图4中的步骤S45所示。
需要说明的是,在多项运行状态信息中包括存储服务器上的各虚拟机所占用的存储设备的数量的情况下,在根据获取的运行状态信息为虚拟机分配存储服务器之前,中心服务器还统计在存储服务器上报的运行状态信息的上报时间间隔内,分配到存储服务器上的虚拟机的设备数,并根据统计到的存储服务器上的各虚拟机所占用的存储设备的数量进行更新,然后依据更新后的设备数为虚拟机分配存储服务器。
在一种可选的方案中,如图5所示的资源调度方法的流程图。在根据获取的运行状态信息为虚拟机分配存储服务器之后,中心服务器获取为虚拟机分配存储服务器后集群内所包括的存储服务器在多项运行状态信息,并根据获取的运行状态信息确定集群内是否存在热点服务器,即执行步骤S51,定时检测集群内是否存在热点服务器。在确定为虚拟机分配存储服务器后的集群内存在热点服务器的情况下,中心服务器执行步骤S52,即对其他存储服务器在6项运行状态信息上进行排序,并确定每项运行状态信息下最忙碌的5个存储服务器,然后,再基于存储服务器上的各虚拟机所占用的存储设备的数量、运行以及等待运行的进程的数量以及单位时间内的读写操作次数三项运行状态信息对每项运行状态信息下最忙碌的5个存储服务器进行热点检查(即步骤S53),得到热点服务器成为热点的原因,并将原因反馈至中心服务器(如步骤S54)。最后,中心服务器确定其它存储服务器的多项运行状态信息中各项运行状态信息的权重,根据确定的权重从其它存储服务器中选择出目标迁移服务器,并将热点服务器上的存储服务迁移到目标迁移服务器上(如步骤S55)。
需要说明的是,将至少一个热点服务器上的存储服务迁移到目标迁移服务器上包括以下至少之一:在热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,例如,存储服务器上各虚拟机所占用的存储设备的数量大于300时,将单位时间内的读写操作次数最少的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,例如,存储服务器上运行以及等待运行的进程的数量大于16时,将单位时间内的读写操作次数最多的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,例如,单位时间内的读写操作次数大于5000时,将单位时间内的读写操作次数次多的虚拟机迁移到目标迁移服务器。
实施例3
根据本申请实施例,还提供了一种资源调度系统,该资源调度系统可执行实施例1中的资源调度方法,包括中心服务器和至少一个存储服务器,其中,中心服务器与存储服务器通信连接。中心服务器用于执行实施例1中的资源调度方法;至少一个存储服务器用于执行实施例2中的资源调度方法。
可选的,资源调度系统的结构示意图可以如图1所示,其中,用户终端为客户端30。
需要说明的是,运行状态信息包括以下一项或多项:存储服务器上的:各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
由上可知,在接收到虚拟机创建请求之后,服务器集群内的中心服务器通过虚拟机创建请求,并获取多个存储服务器的运行状态信息,然后再根据获取到的运行状态信息从多个存储服务器中确定目标服务器,以在目标服务器上创建虚拟机。
容易注意到的是,服务器集群内的中心服务器通过对多个存储服务器的运行状态信息进行分析,并根据分析结果可从多个存储服务器中确定比较空闲的存储服务器作为目标服务器,在目标服务器上创建虚拟机,完成了对存储服务器的调度。此外,由于在虚拟机运行的过程中,存储服务器的运行状态信息在动态变化,而本申请所提供的上述方案是根据存储服务器的运行状态信息来进行调度的,因此,本申请所提供的上述方案可以达到自适应均衡各个存储服务器的资源的目的,从而实现了提高服务器集群的存储服务能力的技术效果,进而解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。
实施例4
根据本申请实施例,还提供了一种用于实施上述资源调度方法的资源调度装置,如图6所示,该装置包括:第一接收模块601、第一获取模块603、第一确定模块605以及第一创建模块607。
其中,第一接收模块601,用于接收虚拟机创建请求;第一获取模块603,用于响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;第一确定模块605,用于根据运行状态信息从多个存储服务器中确定目标服务器;第一创建模块607,用于在目标服务器上创建虚拟机。
此处,需要说明的是,上述第一接收模块601、第一获取模块603、第一确定模块605以及第一创建模块607对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,运行状态信息包括以下一项或多项:存储服务器上的:各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
在一种可选的方案中,第一确定模块包括:排序模块、第二确定模块以及筛选模块。其中,排序模块,用于分别根据运行状态信息中的每一项,将多个存储服务器按照从空闲到忙碌的顺序进行排序,得到排序结果;第二确定模块,用于根据排序结果确定多个候选服务器,候选服务器为每一项运行状态信息下最空闲的第一数量个存储服务器;筛选模块,用于从多个候选服务器中筛选出目标服务器。
此处,需要说明的是,上述排序模块、第二确定模块以及筛选模块对应于实施例1中的步骤S2060至步骤S2064,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,筛选模块包括:设置模块。其中,设置模块,用于设置过滤条件,剔除不满足过滤条件的候选服务器,从剩余服务器中确定目标服务器。其中,过滤条件包括以下一项或多项:存储服务器上的各虚拟机所占用的存储设备的数量大于或等于第一阈值,存储服务器上运行以及等待运行的进程的数量大于或等于第二阈值;单位时间内的读写操作次数大于或等于第三阈值。
在一种可选的方案中,设置模块包括:第三确定模块以及第四确定模块。其中,第三确定模块,用于确定各项运行状态信息的权重;第四确定模块,用于根据权重确定每一个剩余服务器的总分值,根据总分值确定目标服务器。
此处,需要说明的是,上述第三确定模块以及第四确定模块对应于实施例1中的步骤S4060至步骤S4062,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,第四确定模块包括:处理模块以及第五确定模块。其中,处理模块,用于将总分值小于阈值的剩余服务器作为准目标服务器;第五确定模块,用于根据总分值设置每一个准目标服务器的选择概率,根据选择概率来确定目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
此处,需要说明的是,上述处理模块以及第五确定模块对应于实施例1中的步骤S5060至步骤S5062,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,资源调度装置还包括:更新模块。其中,更新模块,用于更新目标服务器上的各虚拟机所占用的存储设备的数量。
在一种可选的方案中,资源调度装置还包括:第六确定模块以及第一迁移模块。其中,第六确定模块,用于根据多个存储服务器的运行状态信息,确定多个存储服务器中的热点服务器,其中,热点服务器为每一项运行状态信息下最忙碌的第二数量个存储服务器;第一迁移模块,用于将至少一个热点服务器上运行的虚拟机迁移至其他存储服务器。
此处,需要说明的是,上述第六确定模块以及第一迁移模块对应于实施例1中的步骤S4002至步骤S4004,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,第一迁移模块包括:第七确定模块、第九确定模块以及第二迁移模块。其中,第七确定模块,用于根据热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;第九确定模块,用于根据权重确定每一个其他存储服务器的总分值,根据总分值从其他存储服务器中确定目标迁移服务器;第二迁移模块,用于将热点服务器上运行的虚拟机迁移到目标迁移服务器。
此处,需要说明的是,上述第一迁移模块包括:第七确定模块、第八确定模块、第九确定模块以及第二迁移模块对应于实施例1中的步骤S5002至步骤S5006,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,将至少一个热点服务器上运行的虚拟机迁移到目标迁移服务器包括以下至少之一:在热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,将单位时间内的读写操作次数最多的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,将单位时间内的读写操作次数次多的虚拟机迁移到目标迁移服务器。
实施例5
根据本申请实施例,还提供了一种用于实施上述资源调度方法的资源调度装置,如图7所示,该装置包括:上报模块701、第二获取模块703以及第二创建模块705。
其中,上报模块701,用于向中心服务器上报存储服务器的运行状态信息,以便中心服务器根据运行状态信息来确定存储服务器是否适于创建虚拟机;第二获取模块703,用于在中心服务器确定存储服务器适于创建虚拟机的情况下,接收中心服务器发送的虚拟机创建指令;第二创建模块705,用于响应于虚拟机创建指令,创建虚拟机。
由上可知,通过存储服务器向中心服务器上报存储服务器的运行状态信息,并接收到中心服务器发送的虚拟机创建指令,然后响应于虚拟机创建指令,在存储服务器上创建虚拟机,其中,运行状态信息用于中心服务器确定创建虚拟机的存储服务器。
容易注意到的是,服务器集群内的中心服务器通过对多个存储服务器的运行状态信息进行分析,并根据分析结果可从多个存储服务器中确定比较空闲的存储服务器作为目标服务器,在比较空闲的存储服务器上创建虚拟机,完成了对存储服务器的调度。此外,由于在虚拟机运行的过程中,存储服务器的运行状态信息在动态变化,而本申请所提供的上述方案是根据存储服务器的运行状态信息来进行调度的,因此,本申请所提供的上述方案可以达到自适应均衡各个存储服务器的资源的目的,从而实现了提高服务器集群的存储服务能力的技术效果,进而解决了由于集群内服务器资源调度不均衡导致集群的存储服务能力差的技术问题。
此处,需要说明的是,上述上报模块701、第二获取模块703以及第二创建模块705对应于实施例2中的步骤S302至步骤S306,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。
实施例7
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
图8示出了一种计算设备的硬件结构框图。如图8所示,计算设备A可以包括一个或多个(图中采用802a、802b,……,802n来示出)处理器802(处理器802可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器804、以及用于通信功能的传输装置806。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备A还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
应当注意到的是上述一个或多个处理器802和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备A中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
处理器802可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收虚拟机创建请求;响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;根据运行状态信息从多个存储服务器中确定目标服务器;在目标服务器上创建虚拟机,其中,存储服务器上的各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
存储器804可用于存储应用软件的软件程序以及模块,如本申请实施例中的资源调度方法对应的程序指令/数据存储装置,处理器802通过运行存储在存储器804内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源调度方法。存储器804可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器804可进一步包括相对于处理器802远程设置的存储器,这些远程存储器可以通过网络连接至计算设备A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备A的通信供应商提供的无线网络。在一个实例中,传输装置806包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置806可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备A的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图8所示的计算设备A可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图8仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备A中的部件的类型。
在本实施例中,上述计算设备A可以执行资源调度方法中以下步骤的程序代码:接收虚拟机创建请求;响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;根据运行状态信息从多个存储服务器中确定目标服务器;在目标服务器上创建虚拟机,其中,存储服务器上的各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
可选的,上述处理器还可以执行如下步骤的程序代码:分别根据运行状态信息中的每一项,将多个存储服务器按照从空闲到忙碌的顺序进行排序,得到排序结果;根据排序结果确定多个候选服务器,候选服务器为每一项运行状态信息下最空闲的第一数量个存储服务器;从多个候选服务器中筛选出目标服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:设置过滤条件,剔除不满足过滤条件的候选服务器,从剩余服务器中确定目标服务器,其中,过滤条件包括以下一项或多项:存储服务器上的各虚拟机所占用的存储设备的数量大于或等于第一阈值,存储服务器上运行以及等待运行的进程的数量大于或等于第二阈值;单位时间内的读写操作次数大于或等于第三阈值。
可选的,上述处理器还可以执行如下步骤的程序代码:确定各项运行状态信息的权重;根据权重确定每一个剩余服务器的总分值,根据总分值确定目标服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:将总分值小于阈值的剩余服务器作为准目标服务器;根据总分值设置每一个准目标服务器的选择概率,根据选择概率来确定目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
可选的,上述处理器还可以执行如下步骤的程序代码:更新目标服务器上的各虚拟机所占用的存储设备的数量。
可选的,上述处理器还可以执行如下步骤的程序代码:根据多个服务器的运行状态信息,确定多个存储服务器中的热点服务器,其中,热点服务器为每一项运行状态信息下最忙碌的第二数量个存储服务器;将至少一个热点服务器上运行的虚拟机迁移至其他存储服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:根据热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;根据权重确定每一个其他存储服务器的总分值,根据总分值从其他存储服务器中确定目标迁移服务器;将热点服务器上运行的虚拟机迁移到目标迁移服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:在热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,将单位时间内的读写操作次数最多的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,将单位时间内的读写操作次数次多的虚拟机迁移到目标迁移服务器。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算设备A还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例9
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的资源调度方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收虚拟机创建请求;响应于虚拟机创建请求,获取多个存储服务器的运行状态信息;根据运行状态信息从多个存储服务器中确定目标服务器;在目标服务器上创建虚拟机,其中,存储服务器上的各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:分别根据运行状态信息中的每一项,将多个存储服务器按照从空闲到忙碌的顺序进行排序,得到排序结果;根据排序结果确定多个候选服务器,候选服务器为每一项运行状态信息下最空闲的第一数量个存储服务器;从多个候选服务器中筛选出目标服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:设置过滤条件,剔除不满足过滤条件的候选服务器,从剩余服务器中确定目标服务器,其中,过滤条件包括以下一项或多项:存储服务器上的各虚拟机所占用的存储设备的数量大于或等于第一阈值,存储服务器上运行以及等待运行的进程的数量大于或等于第二阈值;单位时间内的读写操作次数大于或等于第三阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定各项运行状态信息的权重;根据权重确定每一个剩余服务器的总分值,根据总分值确定目标服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将总分值小于阈值的剩余服务器作为准目标服务器;根据总分值设置每一个准目标服务器的选择概率,根据选择概率来确定目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:更新目标服务器上的各虚拟机所占用的存储设备的数量。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据多个存储服务器的运行状态信息,确定多个存储服务器中的热点服务器,其中,热点服务器为每一项运行状态信息下最忙碌的第二数量个存储服务器;将至少一个热点服务器上运行的虚拟机迁移至其他存储服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;根据权重确定每一个其他存储服务器的总分值,根据总分值从其他存储服务器中确定目标迁移服务器;将热点服务器上运行的虚拟机迁移到目标迁移服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,将单位时间内的读写操作次数最多的虚拟机迁移到目标迁移服务器;在热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,将单位时间内的读写操作次数次多的虚拟机迁移到目标迁移服务器。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (17)

1.一种资源调度方法,包括:
接收虚拟机创建请求;
响应于所述虚拟机创建请求,获取多个存储服务器的运行状态信息;
根据所述运行状态信息从所述多个存储服务器中确定目标服务器;
在所述目标服务器上创建虚拟机;
所述方法还包括:根据所述多个存储服务器的运行状态信息,确定所述多个存储服务器中的热点服务器,其中,所述热点服务器为运行状态信息下最忙碌的第二数量个存储服务器;将至少一个所述热点服务器上运行的虚拟机迁移至其他存储服务器;
其中,将至少一个所述热点服务器上运行的虚拟机迁移至其他存储服务器包括:根据所述热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;根据权重确定其他存储服务器的总分值,根据总分值从所述其他存储服务器中确定目标迁移服务器;将所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器;
其中,所述将至少一个所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器包括:在所述热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到所述目标迁移服务器。
2.根据权利要求1所述的方法,其中,所述运行状态信息包括以下一项或多项:
存储服务器上的:各虚拟机所占用的存储设备的数量、CPU使用情况、运行以及等待运行的进程的数量、单位时间内的读写操作次数、网络流量、剩余存储空间。
3.根据权利要求1所述的方法,其中,所述根据所述运行状态信息从所述多个存储服务器中确定目标服务器的步骤包括:
根据所述运行状态信息,将所述多个存储服务器按照从空闲到忙碌的顺序进行排序,得到排序结果;
根据所述排序结果确定多个候选服务器,所述候选服务器为运行状态信息下最空闲的第一数量个存储服务器;
从所述多个候选服务器中筛选出所述目标服务器。
4.根据权利要求3所述的方法,其中,从所述多个候选服务器中筛选出所述目标服务器的步骤包括:设置过滤条件,剔除满足所述过滤条件的候选服务器,从剩余服务器中确定所述目标服务器。
5.根据权利要求4所述的方法,其中,所述过滤条件包括以下一项或多项:存储服务器上的各虚拟机所占用的存储设备的数量大于或等于第一阈值,存储服务器上运行以及等待运行的进程的数量大于或等于第二阈值;单位时间内的读写操作次数大于或等于第三阈值。
6.根据权利要求4所述的方法,其中,所述从剩余服务器中确定所述目标服务器的步骤包括:
确定各项运行状态信息的权重;
根据权重确定剩余服务器的总分值,根据总分值确定所述目标服务器。
7.根据权利要求5所述的方法,其中,所述从剩余服务器中确定所述目标服务器的步骤包括:
确定各项运行状态信息的权重;
根据权重确定剩余服务器的总分值,根据总分值确定所述目标服务器。
8.根据权利要求6所述的方法,其中,所述根据总分值确定所述目标服务器的步骤包括:
将总分值小于阈值的剩余服务器作为准目标服务器;
根据总分值设置准目标服务器的选择概率,根据选择概率来确定所述目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
9.根据权利要求7所述的方法,其中,所述根据总分值确定所述目标服务器的步骤包括:
将总分值小于阈值的剩余服务器作为准目标服务器;
根据总分值设置准目标服务器的选择概率,根据选择概率来确定所述目标服务器,其中,总分值越小的准目标服务器的选择概率越大。
10.根据权利要求1至9中任一项所述的方法,其中,在根据所述运行状态信息从所述多个存储服务器中确定目标服务器之后,还包括:
更新所述目标服务器上的各虚拟机所占用的存储设备的数量。
11.根据权利要求1所述的方法,其中,将至少一个所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器还包括以下至少之一:
在所述热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到所述目标迁移服务器;
在所述热点服务器迁移虚拟机的原因为存储服务器上运行以及等待运行的进程的数量多的情况下,将单位时间内的读写操作次数最多的虚拟机迁移到所述目标迁移服务器;
在所述热点服务器迁移虚拟机的原因为单位时间内的读写操作次数多的情况下,将单位时间内的读写操作次数次多的虚拟机迁移到所述目标迁移服务器。
12.一种资源调度方法,包括:
向中心服务器上报存储服务器的运行状态信息,以便所述中心服务器根据所述运行状态信息来确定所述存储服务器是否适于创建虚拟机;
在所述中心服务器确定所述存储服务器适于创建虚拟机的情况下,接收所述中心服务器发送的虚拟机创建指令;
响应于所述虚拟机创建指令,创建虚拟机;
所述方法还包括:根据所述存储服务器的运行状态信息,确定所述存储服务器中的热点服务器,其中,所述热点服务器为运行状态信息下最忙碌的第二数量个存储服务器;将所述热点服务器上运行的虚拟机迁移至其他存储服务器;
其中,将所述热点服务器上运行的虚拟机迁移至其他存储服务器包括:根据所述热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;根据权重确定其他存储服务器的总分值,根据总分值从所述其他存储服务器中确定目标迁移服务器;将所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器;
其中,所述将所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器包括:在所述热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到所述目标迁移服务器。
13.一种资源调度装置,包括:
第一接收模块,用于接收虚拟机创建请求;
第一获取模块,用于响应于所述虚拟机创建请求,获取多个存储服务器的运行状态信息;
第一确定模块,用于根据所述运行状态信息从所述多个存储服务器中确定目标服务器;
第一创建模块,用于在所述目标服务器上创建虚拟机;
第二确定模块,用于所根据所述多个存储服务器的运行状态信息,确定所述多个存储服务器中的热点服务器,其中,所述热点服务器为运行状态信息下最忙碌的第二数量个存储服务器;
所述第二确定模块包括:第一迁移单元,用于将至少一个所述热点服务器上运行的虚拟机迁移至其他存储服务器;第一确定单元,用于根据所述热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;第二确定单元,用于根据权重确定其他存储服务器的总分值;第三确定单元,用于根据总分值从所述其他存储服务器中确定目标迁移服务器;第二迁移单元,用于将所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器;
所述第二迁移单元还包括:第一迁移子单元,用于在所述热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到所述目标迁移服务器。
14.一种资源调度装置,包括:
上报模块,用于向中心服务器上报存储服务器的运行状态信息,以便所述中心服务器根据所述运行状态信息来确定所述存储服务器是否适于创建虚拟机;
第二获取模块,用于在所述中心服务器确定所述存储服务器适于创建虚拟机的情况下,接收所述中心服务器发送的虚拟机创建指令;
第二创建模块,用于响应于所述虚拟机创建指令,创建虚拟机;
第三确定模块,用于根据所述存储服务器的运行状态信息,确定所述存储服务器中的热点服务器,其中,所述热点服务器为运行状态信息下最忙碌的第二数量个存储服务器;
所述第三确定模块包括:第三迁移单元,用于将所述热点服务器上运行的虚拟机迁移至其他存储服务器;第四确定单元,用于根据所述热点服务器迁移虚拟机的原因,确定各项运行状态信息的权重;第五确定单元,用于根据权重确定其他存储服务器的总分值;第六确定单元,用于根据总分值从所述其他存储服务器中确定目标迁移服务器;第四迁移单元,用于将所述热点服务器上运行的虚拟机迁移到所述目标迁移服务器;
所述第四迁移单元还包括:第二迁移子单元,用于在所述热点服务器迁移虚拟机的原因为存储服务器上各虚拟机所占用的存储设备的数量多的情况下,将单位时间内的读写操作次数最少的虚拟机迁移到所述目标迁移服务器。
15.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至12中任意一项所述的资源调度方法。
16.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1至12中任一项所述的资源调度方法。
17.一种资源调度系统,包括中心服务器和至少一个存储服务器,所述中心服务器与所述存储服务器通信连接,所述中心服务器用于执行根据权利要求1至11中任一项所述的方法,所述存储服务器用于执行根据权利要求12所述的方法。
CN201810879959.5A 2018-08-03 2018-08-03 资源调度方法、装置、系统和计算设备 Active CN110795203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810879959.5A CN110795203B (zh) 2018-08-03 2018-08-03 资源调度方法、装置、系统和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810879959.5A CN110795203B (zh) 2018-08-03 2018-08-03 资源调度方法、装置、系统和计算设备

Publications (2)

Publication Number Publication Date
CN110795203A CN110795203A (zh) 2020-02-14
CN110795203B true CN110795203B (zh) 2023-05-02

Family

ID=69425818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810879959.5A Active CN110795203B (zh) 2018-08-03 2018-08-03 资源调度方法、装置、系统和计算设备

Country Status (1)

Country Link
CN (1) CN110795203B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111562889B (zh) * 2020-05-14 2023-05-02 杭州海康威视系统技术有限公司 数据处理方法、装置、系统及存储介质
CN111651170B (zh) * 2020-05-29 2022-11-08 深圳平安医疗健康科技服务有限公司 一种实例动态调整方法、装置及相关设备
CN111722908B (zh) * 2020-06-12 2023-01-06 苏州浪潮智能科技有限公司 一种虚拟机的创建方法、系统、设备以及介质
CN112612573A (zh) * 2020-12-17 2021-04-06 龙存科技(北京)股份有限公司 一种基于资源监控的内存分配方法及装置
CN113778627B (zh) * 2021-09-10 2024-03-12 龙坤(无锡)智慧科技有限公司 一种创建云资源的调度方法
CN113900731B (zh) * 2021-09-30 2023-08-15 百度在线网络技术(北京)有限公司 请求处理方法、装置、设备和存储介质
CN115225507B (zh) * 2022-07-21 2024-03-08 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
CN115328666B (zh) * 2022-10-14 2023-07-14 浪潮电子信息产业股份有限公司 设备调度方法、系统、电子设备及计算机可读存储介质
CN117041264B (zh) * 2023-10-08 2024-01-12 广东省科技基础条件平台中心 一种基于数据处理的区块链资源管理系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929687A (zh) * 2012-10-12 2013-02-13 山东省计算中心 一种节能的云计算数据中心虚拟机放置方法
CN104272386A (zh) * 2012-04-25 2015-01-07 国际商业机器公司 通过分层存储系统内的数据迁移减少功耗
CN104298339A (zh) * 2014-10-11 2015-01-21 东北大学 一种面向最小能耗的服务器整合方法
CN104796673A (zh) * 2015-05-19 2015-07-22 中国地质大学(武汉) 一种面向能耗优化的云视频监控系统任务接入方法
CN105187531A (zh) * 2015-09-09 2015-12-23 上海赛为信息技术有限公司 应用于云计算虚拟化服务器集群的负载均衡的系统及方法
CN107346264A (zh) * 2016-05-05 2017-11-14 北京金山云网络技术有限公司 一种虚拟机负载均衡调度的方法、装置和服务器设备
CN107479950A (zh) * 2016-06-08 2017-12-15 阿里巴巴集团控股有限公司 一种虚拟机调度方法、设备及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935502B2 (en) * 2012-12-21 2015-01-13 Red Hat, Inc. Synchronous management of disk flush requests

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272386A (zh) * 2012-04-25 2015-01-07 国际商业机器公司 通过分层存储系统内的数据迁移减少功耗
CN102929687A (zh) * 2012-10-12 2013-02-13 山东省计算中心 一种节能的云计算数据中心虚拟机放置方法
CN104298339A (zh) * 2014-10-11 2015-01-21 东北大学 一种面向最小能耗的服务器整合方法
CN104796673A (zh) * 2015-05-19 2015-07-22 中国地质大学(武汉) 一种面向能耗优化的云视频监控系统任务接入方法
CN105187531A (zh) * 2015-09-09 2015-12-23 上海赛为信息技术有限公司 应用于云计算虚拟化服务器集群的负载均衡的系统及方法
CN107346264A (zh) * 2016-05-05 2017-11-14 北京金山云网络技术有限公司 一种虚拟机负载均衡调度的方法、装置和服务器设备
CN107479950A (zh) * 2016-06-08 2017-12-15 阿里巴巴集团控股有限公司 一种虚拟机调度方法、设备及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
庄威 ; 桂小林 ; 林建材 ; 王刚 ; 代敏 ; .云环境下基于多属性层次分析的虚拟机部署与调度策略.西安交通大学学报.2012,47(02),全文. *
栾志坤 ; 牛超 ; .云数据中心中负载均衡的虚拟机调度方法.计算机与现代化.2017,2017(05),全文. *

Also Published As

Publication number Publication date
CN110795203A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110795203B (zh) 资源调度方法、装置、系统和计算设备
CN109246229B (zh) 一种分发资源获取请求的方法和装置
CN112162865B (zh) 服务器的调度方法、装置和服务器
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN108683720B (zh) 一种容器集群服务配置方法及装置
US20180247265A1 (en) Task grouping method and apparatus, electronic device, and computer storage medium
CN107819797B (zh) 访问请求处理方法和装置
CN107592345B (zh) 交易限流装置、方法及交易系统
CN104899130B (zh) 一种应用程序管理方法及系统
CN108499100B (zh) 一种基于边缘计算的云游戏错误恢复方法及系统
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
CN109189578B (zh) 存储服务器分配方法、装置、管理服务器以及存储系统
CN105871983A (zh) 一种选择服务器的方法及装置
CN111045808A (zh) 一种分布式网络任务调度方法及装置
CN106991070B (zh) 实时计算方法及装置
CN110933178B (zh) 调整集群系统内的节点配置的方法及服务器
CN106445411A (zh) 一种数据读取方法、装置及分布式存储系统
CN110445824A (zh) NB-IoT数据上报方法、装置、系统和计算机可读存储介质
CN111538572A (zh) 任务处理方法、装置、调度服务器及介质
CN104702521A (zh) 负载均衡方法和装置
CN111475251A (zh) 一种集群容器调度方法、系统、终端及存储介质
CN114048033A (zh) 跑批任务的负载均衡方法、装置及计算机设备
CN106210120B (zh) 一种服务器的推荐方法及其装置
CN104572276A (zh) 一种基于云计算的并发数据处理方法
CN116166181A (zh) 一种云监控方法和云管理平台

Legal Events

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

Effective date of registration: 20231212

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.