CN107018091A - 资源请求的调度方法和装置 - Google Patents
资源请求的调度方法和装置 Download PDFInfo
- Publication number
- CN107018091A CN107018091A CN201710008697.0A CN201710008697A CN107018091A CN 107018091 A CN107018091 A CN 107018091A CN 201710008697 A CN201710008697 A CN 201710008697A CN 107018091 A CN107018091 A CN 107018091A
- Authority
- CN
- China
- Prior art keywords
- resource
- resource request
- rigid
- request
- node
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/525—Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种资源请求的调度方法和装置,包括:接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。实现了对刚性资源请求的调度,按照不同配额组的刚性资源请求队列依次为各个的刚性资源请求预订资源,同时还保证弹性资源请求不受影响。
Description
技术领域
本发明属于云计算技术领域,具体地说,涉及一种资源请求的调度方法和装置。
背景技术
资源调度器在分布式系统中管理整个集群资源,接收客户端发来的不同类型的资源请求,并从管理的各个资源节点为客户端分配资源。
对于资源调度器来说,大部分客户端的请求都是弹性的。因为大部分客户端的作业都是数据查询分析为主,这些作业会根据其要分析的数据量而申请一定数量的最小资源请求单元。但是即使资源调度器没有分配其全部数量的最小资源请求单元,比如申请10个而只分配1个,这些任务也可以启动并且运行,因为客户端可以使用有限的分配下来的最小资源请求单元处理数据,只不过如果分配的少,利用分配下来的最小资源请求单元所启动的进程所处理的总的数据就多,作业整体运行时间会变慢,这是客户端作业可以接受的。所以这种客户端作业的请求类型称为弹性资源请求。在分布式系统中,由于多用户且资源共享的特点,大部分时候资源都是不充足的,也是不可能对所有客户端的请求都全部满足,所以在共享的分布式系统中,弹性资源请求是最基本的调度需求,也是必须要保证的。
但是有些客户端请求是刚性的,这些客户端的任务不是一般的数据分析任务,而是一些科学计算或者是机器学习的训练任务。这些任务的特点是客户端申请的全部最小资源请求单元都要能进行同步和通讯,以达到一些特殊的算法目的。这就意味着客户端如果申请了100个最小资源请求单元,那么资源调度器必须在其规定的时间内把100个请求单元分配给用户,否则客户端的任务就会失败。
目前,另一种资源协调者(Yet Another Resource Negotiator,YARN)的做法是让客户端自己启动一个守护进程,在把资源请求发给资源调度器后,资源调度器并不区分客户端的请求是刚性还是弹性,依然按照弹性资源请求分配,但是客户端的守护进程会被动的等待分配,直到所有最小资源请求单元都分配到再启动客户端任务。这种做法仍然没有达到对刚性资源请求进行调度的目的。
发明内容
有鉴于此,本申请提供了一种资源请求的调度方法和装置,以解决现有技术中没有达到对刚性资源请求进行调度的技术问题。
为了解决上述技术问题,本申请公开了一种资源请求的调度方法,包括:接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。
为了解决上述技术问题,本申请还公开了一种资源请求的调度装置,包括:接收模块,用于接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;队列添加模块,用于当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;资源预订模块,用于按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。
与现有技术相比,本申请可以获得包括以下技术效果:实现了对刚性资源请求的调度,按照不同配额组的刚性资源请求队列依次为各个的刚性资源请求预订资源,同时还保证弹性资源请求不受影响。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种资源请求的调度方法的流程图;
图2是本申请实施例的一种资源请求的调度装置的框图;
图3是本申请实施例的一种资源请求调度场景的示图;
图4是本申请实施例的调度方法中从资源阶段预定资源的示图。
具体实施方式
以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本申请实施例,资源调度器划分出多个配额组用以区分不同的客户端并进行资源隔离,资源调度器接收到资源请求后根据客户端的标识信息将资源请求分配到对应的配额组,如果该资源请求属于刚性资源请求,则将该刚性资源请求添加到所在配额组的刚性资源请求队列,按照队列顺序为刚性资源请求从与所在配额组对应的资源节点预订资源,实现了对客户端发送的刚性资源请求的资源分配进行调度,按照先后顺序尽快为各个刚性资源请求分配所需资源。
图1是本申请实施例提供的一种资源请求的调度方法,该方法适用于资源调度器,资源调度器是分布式文件系统中用于管理集群资源的服务器,接收客户端发来的不同类型的资源请求并从管理的资源节点分配资源给客户端,该方法包括以下步骤S10-S12。
S10,接收客户端的资源请求,根据客户端的标识信息将资源请求分配到对应的配额组。
客户端的标识信息可以是设备标识(例如Machine ID)、应用程序标识(例如AppID)以及登录客户端的用户标识(例如User ID)中的任意一种。
配额组用于区分不同组的客户端,不同的客户端的资源请求会被提交到不同的配额组,并且配额组之间的资源是相互隔离的,不会互相占用,有利于资源分配和管理。可根据不同的设备标识来划分不同的配额组,根据资源请求中的设备标识将来自不同设备的资源请求分配到对应的配额组,例如将来自客户端设备和内部服务器设备的资源请求分配到不同的配额组,内部服务器设备的设备标识所在的配额组可供分配的资源量更多;也可以根据不同的应用程序标识来划分不同的配额组,根据客户端的应用程序标识将来自不同应用程序的资源请求分配到对应的配额组,例如对于需要机器学习和模型训练的应用程序标识所在配额组可供分配的资源量更多;或者还可以根据不同的用户标识来划分不同的配额组,根据登录客户端的用户标识将来自不同用户的资源请求分配到对应的配额组,例如将具有较高会员权限和较低会员权限的用户标识的资源请求分配到不同配额组,具有较高会员权限的用户标识所在的配额组可供分配的资源量更多。
可结合图3进行进一步描述,图3是本申请实施例的一种资源请求调度场景的示图。在图3中,不同客户端300-1、300-2…300-n向资源调度服务器310(即,资源调度器所在的服务器)发出资源请求,然后资源调度服务器310可根据资源请求中所包含的设备标识,将资源请求划分到不同的配额组,不同配合组所分配的资源量可以相同也可以不同。该资源请求所请求的资源包括内存空间、CPU空间和网络带宽等。
S11,当确定资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中。
资源请求可分为刚性资源请求和弹性资源请求。其中,刚性资源请求是一种资源请求类型,描述形式为N个最小资源请求单元,这种资源请求在提交至资源调度器之后,N的值不会改变,并且对于N个最小资源请求单元的请求必须全部满足才算调度成功。弹性资源请求是相对于刚性资源请求的另一种用户资源请求类型,描述形式为M个最小资源请求单元,这种资源请求在提交给调度器后,M可能会不断改变,可能会变大也可能会变小,并且只要有大于等于1且小于等于M个最小资源请求单元被分配就算调度成功。
对于每个资源请求而言,客户端根据一个预设数值来判定该资源请求属于刚性还是弹性,该预设数值代表该进程所请求的资源所占的比例。客户端根据判定结果给该资源请求的属性信息赋予不同的属性值或字段,以区分刚性资源请求和弹性资源请求。例如,属性值为1代表刚性资源请求,属性值为0代表弹性资源请求;属性字段为true代表刚性资源请求,属性字段为false代表弹性资源请求。
每个配额组内可以包括弹性资源请求队列和刚性资源请求队列,资源调度器对一个配额组内的刚性资源请求队列和弹性资源请求队列分别进行调度。
再次参照图3,当客户端300-1的资源请求经资源调度服务器310分配到配合组320-1时,资源调度服务器根据资源请求中包含的关于资源请求的属性(刚性资源请求或弹性资源请求),将所述资源请求添加到适当的资源请求队列中。例如,当资源调度服务器确定资源请求为刚性资源请求时,则将所述资源请求添加到刚性资源请求队列。如图3所示,每个配额组320-1、320-2…320-n均包括刚性资源队列和弹性资源队列。
S12,按照刚性资源请求队列中的顺序,依次为各个刚性资源请求从与配额组对应的资源节点中预订资源。
预订资源是针对一个资源节点进行的,资源调度器可通过预设的调度策略将刚性资源请求分配至配额组内的某个资源节点。预订资源至少是刚性资源请求的最小资源请求单元的整数倍,如以内存空间为例,最小资源请求单元为4Kb,那么预订资源总量为N×4Kb,其中N是大于等于1的整数。一个资源节点上的总预订资源不能超过一个资源节点的总资源量。对于一个资源节点,其空闲资源小于其预订资源时,其它的弹性资源请求是不能使用的,因此要使其空闲资源大于或等于预订资源,保证弹性资源请求的正常分配,以满足分布式系统的最基本要求,即客户端的弹性资源请求都能够得到满足。
在一个特定的时刻,对于一个配额组,资源调度器只会为这个配额组的一个刚性资源请求预订资源。但是由于不同客户端会在不同配额组提交刚性资源请求的任务,一个资源节点在其总资源允许的情况下(剩余资源大于或等于预订资源),可以为来自不同配额组的刚性资源请求预订资源。但是对于同一个配额组,一个时刻只会有一个刚性资源请求可以预订资源,这意味着这个配额组内如果有并发的多个刚性资源请求任务,其它的刚性资源请求就会在队列中排队等待预订资源。
刚性资源请求队列是一个先进先出的队列,在刚性资源请求排队时,资源调度器对于所有正在排队的刚性资源请求所使用的调度策略与普通的弹性资源请求一样,将其分配到所在配额组所对应的资源节点中的一个,以确保资源利用率和可扩展性。对于资源调度器来说,弹性资源请求也是需要分配资源的,但没有预订资源分配得更快。
如图4所示,刚性资源请求1向对应的节点发出资源请求,所述节点根据自身的状态为刚性资源请求1预定资源。通过图4可以看出,针对一个配额组内的刚性资源请求队列,对应的节点仅可为一个刚性资源请求预定资源,但可为来自不同配额度的刚性资源请求预定资源。
本实施例中,实现了对刚性资源请求的调度,按照不同配额组的刚性资源请求队列依次为各个的刚性资源请求预订资源,同时还保证弹性资源请求不受影响。
下面对刚性资源请求预订资源的策略做进一步说明。
资源调度器按照各个配额组刚性资源请求队列中的顺序,为当前首个刚性资源请求从与配额组对应的资源节点预订资源。
周期性的检测(例如,每隔200毫秒检测一次)该刚性资源请求是否预订到所需的全部资源,当该刚性资源请求预订到所需的全部资源时,开始为下一个刚性资源请求预订资源,将下一个刚性资源请求分配到配额组对应的资源节点中预订资源。当该刚性资源请求还没有预订到所需的全部资源时,进一步判断该刚性资源请求的等待时长是否超出了预设时长。
如果一个刚性资源请求开始预订资源,资源调度器就会开始计时。最大等待时长由客户端预先设定,客户端可以设定一个可接受的(满足业务需求的)等待时长,当等待时长大于或等于该预设等待时长时,该刚性资源请求的所需的全部资源还没有预订成功,判定该刚性资源请求失败,并开始为请求队列中的下一个刚性资源请求继续预订资源;如果在预设的最大等待时长之内,该刚性资源请求预订资源成功,资源调度器会对请求队列中的下一个刚性资源请求继续预订资源;如果该刚性资源请求的等待时长仍然小于预设时长,则继续为该刚性资源请求预订资源。
例如,当前的刚性资源请求预订8GB内存空间,预设等待时长为30分钟;资源调度器开始计时后,如果在30分钟之内预订到8GB内存空间,则该刚性资源资源请求预订资源成功;如果该刚性资源请求还没有预订到8GB内存空间,并且等待时长还没有超过30分钟,则继续为该刚性资源请求预订资源;如果该刚性资源请求还没有预订到8GB内存空间,并且等待时长已经超过30分钟,则判定该资源请求失败,开始为刚性资源请求队列中的下一个刚性资源请求预订资源。
对于被判定为失败的刚性资源请求,资源调度器会返回提示消息至客户端,以提示该客户端自动重新发起刚性资源请求,或者提示使用该客户端的用户通过操作重新发送一次刚性资源请求。
一个刚性资源请求被分配到资源节点开始预订资源之后,会被添加到该资源节点的预订资源请求队列。对于该资源节点而言,会接受资源管理器的调度控制,以判定是否为预订资源请求分配所需的资源。资源调度器检测资源节点是否具有预订资源请求队列,当资源节点具有预订资源请求队列时,判断该资源节点的剩余资源是否大于或等于队列中当前首个预订资源请求所预订的资源。由于为了保证该资源节点对弹性资源请求能够正常响应,因此要在剩余资源大于或等于预订资源时才能为该预订资源请求分配所需的资源。当该资源节点的剩余资源大于或等于队列中当前首个预订资源请求所预订的资源时,为该预订资源请求分配相应的资源;当该资源节点的剩余资源小于队列中当前首个预订资源请求所预订的资源时,不会为该预订资源请求分配所需的资源,而继续处理预订资源请求队列中的下一个预订资源请求,判断该资源节点的剩余资源是否大于或等于下一个预订资源请求所需的全部预订资源并进行相同的处理。从而在尽可能的为刚性资源请求分配所需资源的同时,保证弹性资源请求的响应不会受到影响。
例如,资源节点的预订资源请求队列中当前预订资源请求预订8GB内存空间;如果该资源节点的当前剩余内存空间为10GB,则会为当前预订资源请求分配8GB内存空间;如果该资源节点的当前剩余内存空间为5GB,则不会分配给当前预订资源请求,而从预订资源请求队列中继续处理下一个预订资源请求,以判定是否可以分配资源给下一个预订资源请求。
对于每个配额组而言,资源调度器还可以为每个配额组分配对应的可用配额,以限制每个配额组所占用的最大资源量。当配额组内的刚性资源请求预订到资源时,配额组的可用配额会随之相应降低,降低的额度与刚性资源请求预订到的资源额度相同。如果不设置每个配额组的可用配额,有可能导致配额组对应的资源节点被刚性资源请求预订到的资源过多,而影响到对弹性资源请求的响应,因此,对每个配额组的可用配额加以限制,以确保资源节点的资源可用于响应弹性资源请求,提高资源的利用率。
以内存空间为例,一个配额组的可用配额是100GB,如果该配额组的刚性资源请求队列中某个刚性资源请求成功预订8GB内存空间,那么该配额组的可用配额从100GB降低到92GB。当某个刚性资源请求预订8GB内存空间,而该配额组当前的可用配额已降低到2GB时,不会分配8GB内存空间给这个刚性资源,当其他刚性资源请求对应的进程运行完毕,占用的资源被释放之后,可用配额恢复到8GB以上时,为该刚性资源请求分配8GB空间。
资源调度器还可以根据预设策略将资源节点的资源划分为可预订资源和非可预订资源,其中,所述可预订资源用于分配给所述刚性资源请求,所述非可预订资源用于分配给弹性资源请求。资源调度器扫描该资源节点当前运行的进程,根据当前进程的类型,预测当前进程结束并释放所占用资源的时间,再结合刚性资源请求的预设等待时长,预判该刚性资源请求是否能够在预设等待时长之内预订到所需的全部资源,如果预判该刚性资源请求能够预订到所需的全部资源,则将进程结束并释放的资源划分为可预订资源,如果预判该刚性资源不能够预订到所需的全部资源,则将进程结束并释放的资源划分为划分为非可预订资源。
其中,根据当前进程的类型,预测当前进程结束并释放所占用资源的时间,可以通过经验值来预测该进程的结束时间。例如将该进程运行完成全部处理逻辑并结束所花费的平均时长作为经验值,进程1已运行5分钟并占用了5G内存空间,而进程1的历史运行平均时长为15分钟,则预判进程1在10分钟后可结束,其占用的资源能够被释放。此外,还可以根据进程的执行进度来预判其结束时间。例如对于读取进程或者下载进程而言,可根据其读取或下载进度来预判其结束时间。进程2下载进度为20%并耗时5分钟,则预判进程2结束还有20分钟。
例如,资源节点共有10GB内存空间,当前空闲的内存空间为零,当前刚性资源请求需要预订8GB内存空间,根据预判15分钟后可释放5GB内存空间,25分钟后可释放3GB内存空间,该刚性资源请求的等待时长为30分钟,则将被释放的5GB和3GB内存空间为划分为可预订资源。而如果该刚性资源请求的等待时长为20分钟,则无法成功在20分钟内预订8G资源,那么先释放的5GB内存空间划分为非可预订资源。
如果资源调度器通过预设策略认为一些资源属于非可预订资源,如果这些资源被预订将影响到弹性资源请求的响应,那么,资源节点的非可预订资源不会预订给刚性资源请求。而预订给刚性资源请求的资源也是无法被弹性资源请求使用的,这会造成一定时间段内存在预订资源的资源节点的资源使用率下降。系统会预订的资源在资源调度器可控的范围内释放出来,用于响应弹性资源请求。如上例中预判出刚性资源请求无法在20分钟内预订到所需的8GB内存空间,那么先预订到的5GB内存空间则可以被释放出来,用于响应其他弹性资源请求。
以下为本申请的装置实施例,用于执行本申请的方法实施例。
图2是本申请实施例提供的一种资源请求的调度装置,包括:
接收模块20,用于接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;
队列添加模块21,用于当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;
资源预订模块22,用于按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。
在一个实施例中,该资源预订模块22进一步包括:
资源预订子模块,用于按照所述刚性资源请求队列中的顺序,为当前首个刚性资源请求从与所述配额组对应的资源节点预订资源;
第一判断子模块,用于判断所述首个刚性资源请求是否预订到所需的全部资源;
第一处理子模块,用于当所述首个刚性资源请求预订到所需的全部资源时,开始为下一个刚性资源请求预订资源;
第二判断子模块,用于当所述首个刚性资源请求未预订到所需的全部资源时,判断所述首个刚性资源请求的等待时长是否超过预设时长;
第二处理子模块,用于当所述首个刚性资源请求的等待时长未超过预设时长时,继续从与所述配额组对应的资源节点预订资源;
第三处理子模块,用于当所述首个刚性资源请求的等待时长已超过预设时长时,确定所述首个刚性资源请求失败,并开始为下一个刚性资源请求预订资源。
在一个实施例中,该资源请求的调度装置进一步包括:
消息返回模块,用于当所述刚性资源请求失败时,返回提示消息至所述客户端。
在一个实施例中,该资源请求的调度装置进一步包括:
配额调整模块,用于当所述刚性资源请求预订到资源时,降低所述配额组的可用配额,所述降低的可用配额与所述刚性资源请求预订到的资源额度相同。
在一个实施例中,该资源请求的调度装置进一步包括:
资源划分模块,用于根据预设策略将资源节点的资源划分为可预订资源和非可预订资源,其中,所述可预订资源用于分配给所述刚性资源请求,所述非可预订资源用于分配给弹性资源请求。
在一个实施例中,该资源预订模块22进一步包括:
检测子模块,用于检测资源节点是否具有预订资源请求队列;
第三判断子模块,用于当所述资源节点具有预订资源请求队列时,判断资源节点的剩余资源是否大于或等于当前预订资源请求所预订的资源;
第四处理子模块,用于当资源节点的剩余资源大于或等于当前预订资源请求所预订的资源时,为当前预订资源请求分配相应的资源;
第五处理子模块,用于当资源节点的剩余资源小于当前预订资源请求所预订的资源时,停止为当前预订资源请求分配资源,继续处理下一个预订资源请求。
根据本发明的资源请求的调用装置通过利用配额组将资源请求发送到配额组中的刚性资源请求队列,并按照请求队列的顺序在节点上预定资源,实现了对刚性资源请求的调度,同时还保证弹性资源请求不受影响。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (12)
1.一种资源请求的调度方法,其特征在于,包括:
接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;
当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;
按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。
2.根据权利要求1所述的方法,其特征在于,所述按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点预订资源包括:
按照所述刚性资源请求队列中的顺序,为当前首个刚性资源请求从与所述配额组对应的资源节点预订资源;
判断所述首个刚性资源请求是否预订到所需的全部资源;
当所述首个刚性资源请求预订到所需的全部资源时,开始为下一个刚性资源请求预订资源;
当所述首个刚性资源请求未预订到所需的全部资源时,判断所述首个刚性资源请求的等待时长是否超过预设时长;
当所述首个刚性资源请求的等待时长未超过预设时长时,继续从与所述配额组对应的资源节点预订资源;
当所述首个刚性资源请求的等待时长已超过预设时长时,确定所述首个刚性资源请求失败,并开始为下一个刚性资源请求预订资源。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述刚性资源请求失败时,返回提示消息至所述客户端。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述刚性资源请求预订到资源时,降低所述配额组的可用配额,所述降低的可用配额与所述刚性资源请求预订到的资源额度相同。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设策略将资源节点的资源划分为可预订资源和非可预订资源,其中,所述可预订资源用于分配给所述刚性资源请求,所述非可预订资源用于分配给弹性资源请求。
6.根据权利要求1所述的方法,其特征在于,所述从与所述配额组对应的资源节点中预订资源包括:
检测资源节点是否具有预订资源请求队列;
当所述资源节点具有预订资源请求队列时,判断资源节点的剩余资源是否大于或等于当前预订资源请求所预订的资源;
当资源节点的剩余资源大于或等于当前预订资源请求所预订的资源时,为当前预订资源请求分配相应的资源;
当资源节点的剩余资源小于当前预订资源请求所预订的资源时,停止为当前预订资源请求分配资源,继续处理下一个预订资源请求。
7.一种资源请求的调度装置,其特征在于,包括:
接收模块,用于接收客户端的资源请求,根据所述客户端的标识信息将所述资源请求分配到对应的配额组;
队列添加模块,用于当确定所述资源请求属于刚性资源请求时,将所述资源请求添加到所述配额组的刚性资源请求队列中;
资源预订模块,用于按照所述刚性资源请求队列中的顺序,依次为各个刚性资源请求从与所述配额组对应的资源节点中预订资源。
8.根据权利要求7所述的装置,其特征在于,所述资源预订模块包括:
资源预订子模块,用于按照所述刚性资源请求队列中的顺序,为当前首个刚性资源请求从与所述配额组对应的资源节点预订资源;
第一判断子模块,用于判断所述首个刚性资源请求是否预订到所需的全部资源;
第一处理子模块,用于当所述首个刚性资源请求预订到所需的全部资源时,开始为下一个刚性资源请求预订资源;
第二判断子模块,用于当所述首个刚性资源请求未预订到所需的全部资源时,判断所述首个刚性资源请求的等待时长是否超过预设时长;
第二处理子模块,用于当所述首个刚性资源请求的等待时长未超过预设时长时,继续从与所述配额组对应的资源节点预订资源;
第三处理子模块,用于当所述首个刚性资源请求的等待时长已超过预设时长时,确定所述首个刚性资源请求失败,并开始为下一个刚性资源请求预订资源。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
消息返回模块,用于当所述刚性资源请求失败时,返回提示消息至所述客户端。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
配额调整模块,用于当所述刚性资源请求预订到资源时,降低所述配额组的可用配额,所述降低的可用配额与所述刚性资源请求预订到的资源额度相同。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
资源划分模块,用于根据预设策略将资源节点的资源划分为可预订资源和非可预订资源,其中,所述可预订资源用于分配给所述刚性资源请求,所述非可预订资源用于分配给弹性资源请求。
12.根据权利要求7所述的装置,其特征在于,所述资源预订模块包括:
检测子模块,用于检测资源节点是否具有预订资源请求队列;
第三判断子模块,用于当所述资源节点具有预订资源请求队列时,判断资源节点的剩余资源是否大于或等于当前预订资源请求所预订的资源;
第四处理子模块,用于当资源节点的剩余资源大于或等于当前预订资源请求所预订的资源时,为当前预订资源请求分配相应的资源;
第五处理子模块,用于当资源节点的剩余资源小于当前预订资源请求所预订的资源时,停止为当前预订资源请求分配资源,继续处理下一个预订资源请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016101132026 | 2016-02-29 | ||
CN201610113202 | 2016-02-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107018091A true CN107018091A (zh) | 2017-08-04 |
CN107018091B CN107018091B (zh) | 2021-04-27 |
Family
ID=59439782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710008697.0A Active CN107018091B (zh) | 2016-02-29 | 2017-01-05 | 资源请求的调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107018091B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718327A (zh) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | 一种许可证资源调度方法及系统 |
CN109240825A (zh) * | 2018-08-14 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 弹性任务调度方法、装置、设备及计算机可读存储介质 |
CN109298936A (zh) * | 2018-09-11 | 2019-02-01 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109376005A (zh) * | 2018-09-03 | 2019-02-22 | 福建星瑞格软件有限公司 | 大数据框架处理任务的资源管理方法 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
CN110377415A (zh) * | 2018-04-12 | 2019-10-25 | 华为技术有限公司 | 一种请求处理方法和服务器 |
CN111190727A (zh) * | 2019-11-19 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 内存的异步析构方法、装置、计算机设备及存储介质 |
CN111401566A (zh) * | 2020-03-19 | 2020-07-10 | 中国建设银行股份有限公司 | 机器学习训练方法及系统 |
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
WO2020244318A1 (zh) * | 2019-06-06 | 2020-12-10 | 深圳前海微众银行股份有限公司 | 分布式资源分配方法、装置、设备及可读存储介质 |
CN112785323A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 资源分配方法、装置与电子设备 |
CN113553189A (zh) * | 2021-08-16 | 2021-10-26 | 北京字节跳动网络技术有限公司 | Yarn集群资源调度方法、装置、介质和计算机设备 |
CN114390058A (zh) * | 2022-02-24 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606301A (zh) * | 2004-07-09 | 2005-04-13 | 清华大学 | 一种共享资源访问的调度控制方法及装置 |
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN102821029A (zh) * | 2011-06-08 | 2012-12-12 | 上海贝尔股份有限公司 | 一种以太网无源光网络中的多业务带宽分配方法及其装置 |
CN103390041A (zh) * | 2013-07-18 | 2013-11-13 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和系统 |
CN103744714A (zh) * | 2011-12-31 | 2014-04-23 | 华茂云天科技(北京)有限公司 | 基于云计算的虚拟机管理平台 |
CN103944769A (zh) * | 2014-05-05 | 2014-07-23 | 江苏物联网研究发展中心 | 基于rpc协议的集群资源统一管理系统 |
CN104657214A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于多队列和多优先级的大数据任务管理系统和方法 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
-
2017
- 2017-01-05 CN CN201710008697.0A patent/CN107018091B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606301A (zh) * | 2004-07-09 | 2005-04-13 | 清华大学 | 一种共享资源访问的调度控制方法及装置 |
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN102821029A (zh) * | 2011-06-08 | 2012-12-12 | 上海贝尔股份有限公司 | 一种以太网无源光网络中的多业务带宽分配方法及其装置 |
CN103744714A (zh) * | 2011-12-31 | 2014-04-23 | 华茂云天科技(北京)有限公司 | 基于云计算的虚拟机管理平台 |
CN103390041A (zh) * | 2013-07-18 | 2013-11-13 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和系统 |
CN103944769A (zh) * | 2014-05-05 | 2014-07-23 | 江苏物联网研究发展中心 | 基于rpc协议的集群资源统一管理系统 |
CN104657214A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于多队列和多优先级的大数据任务管理系统和方法 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
Non-Patent Citations (1)
Title |
---|
杨玲,漆永新: "实时数据库概述", 《冶金自动化》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718327A (zh) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | 一种许可证资源调度方法及系统 |
CN108718327B (zh) * | 2018-04-03 | 2021-02-26 | 北京景行锐创软件有限公司 | 一种许可证资源调度方法及系统 |
CN110377415A (zh) * | 2018-04-12 | 2019-10-25 | 华为技术有限公司 | 一种请求处理方法和服务器 |
CN109240825B (zh) * | 2018-08-14 | 2022-01-28 | 创新先进技术有限公司 | 弹性任务调度方法、装置、设备及计算机可读存储介质 |
CN109240825A (zh) * | 2018-08-14 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 弹性任务调度方法、装置、设备及计算机可读存储介质 |
CN109376005A (zh) * | 2018-09-03 | 2019-02-22 | 福建星瑞格软件有限公司 | 大数据框架处理任务的资源管理方法 |
CN109376005B (zh) * | 2018-09-03 | 2021-10-29 | 福建星瑞格软件有限公司 | 大数据框架处理任务的资源管理方法 |
CN109298936A (zh) * | 2018-09-11 | 2019-02-01 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109298936B (zh) * | 2018-09-11 | 2021-05-18 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
WO2020244318A1 (zh) * | 2019-06-06 | 2020-12-10 | 深圳前海微众银行股份有限公司 | 分布式资源分配方法、装置、设备及可读存储介质 |
CN112785323A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 资源分配方法、装置与电子设备 |
CN111190727A (zh) * | 2019-11-19 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 内存的异步析构方法、装置、计算机设备及存储介质 |
CN111401566A (zh) * | 2020-03-19 | 2020-07-10 | 中国建设银行股份有限公司 | 机器学习训练方法及系统 |
CN111401566B (zh) * | 2020-03-19 | 2024-05-03 | 中国建设银行股份有限公司 | 机器学习训练方法及系统 |
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN111930434B (zh) * | 2020-05-29 | 2024-04-16 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN113553189A (zh) * | 2021-08-16 | 2021-10-26 | 北京字节跳动网络技术有限公司 | Yarn集群资源调度方法、装置、介质和计算机设备 |
CN114390058A (zh) * | 2022-02-24 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
CN114390058B (zh) * | 2022-02-24 | 2024-03-08 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107018091B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107018091A (zh) | 资源请求的调度方法和装置 | |
CN103593242B (zh) | 基于Yarn框架的资源共享控制系统 | |
CN106209682B (zh) | 业务调度方法、装置和系统 | |
US10430332B2 (en) | System and method for performance tuning of garbage collection algorithms | |
US9104498B2 (en) | Maximizing server utilization within a datacenter | |
US9329901B2 (en) | Resource health based scheduling of workload tasks | |
US8291424B2 (en) | Method and system of managing resources for on-demand computing | |
CN109669776B (zh) | 检测任务的处理方法、装置和系统 | |
US20200379789A1 (en) | Operating System for Distributed Enterprise Artificial Intelligence Programs on Data Centers and the Clouds | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
CN106874115A (zh) | 一种虚拟机资源分配方法及分布式虚拟机资源调度系统 | |
CN109739634A (zh) | 一种原子任务执行方法及装置 | |
EP3370179A1 (en) | Method and system for distributing floating licenses for real-time services | |
CN116401024A (zh) | 基于云计算的集群扩缩容方法、装置、设备及介质 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN106897807A (zh) | 一种业务风险控制方法及设备 | |
CN109324877A (zh) | 数据访问的方法及服务器 | |
US20160189090A1 (en) | Smart Scheduling for Processing Back Orders | |
CN107402812A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
US20220413941A1 (en) | Computing clusters | |
CN115421920A (zh) | 金融产品的任务管理方法及装置、电子设备、存储介质 | |
CN113742059B (zh) | 任务分配方法、装置、计算机设备和存储介质 | |
CN109040491A (zh) | 挂机行为处理方法、装置、计算机设备及存储介质 | |
Kathalkar et al. | A review on different load balancing algorithm in cloud computing |
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 |