一种计算任务调度方法和装置的制造方法

文档序号:10724683阅读:346来源:国知局
一种计算任务调度方法和装置的制造方法
【专利摘要】本发明公开了一种计算任务调度方法和装置,所述方法包括:将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块,以便工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。应用本发明所述方案,能够降低对资源和成本的消耗等。
【专利说明】
一种计算任务调度方法和装置【
技术领域

[0001]本发明涉及计算机应用技术,特别涉及一种计算任务调度方法和装置。【【背景技术】】
[0002]云存储系统上存储了大量的用户视频、图片等文件,随着产品的不断发展演进,需要提供大量的计算能力来对用户的文件进行处理,如视频转码、文件解压、图片信息提取等。
[0003]现有技术中,通常采用搭建物理计算集群的方式来提供上述计算能力,以视频转码为例,需要开发一套视频转码专用的框架,按照预期的视频转码规模,建设数量在几百到几千的物理设备集群用于运算,而这需要耗费巨大的资源和成本。【
【发明内容】

[0004]本发明提供了一种计算任务调度方法和装置,能够降低对资源和成本的消耗。
[0005]具体技术方案如下:
[0006]—种计算任务调度方法,包括:[〇〇〇7]将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块,以便所述工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。
[0008]根据本发明一优选实施例,所述业务包括:离线业务和在线业务;
[0009]所述计算任务包括:离线任务和在线任务。
[0010]根据本发明一优选实施例,当计算任务为离线任务时,将计算任务调度给所述工作丰吴块包括:
[0011]接收所述工作模块在每次拉取离线任务之前发送来的调度请求,确定本次所需拉取的离线业务,将确定出的离线业务标识携带在调度指令中返回给所述工作模块,以便所述工作模块拉取所述离线业务标识对应的离线任务。
[0012]根据本发明一优选实施例,所述确定本次所需拉取的离线业务包括:
[0013]设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值等于离线业务数,每个时间段分别对应一个离线业务;
[0014]当接收到来自所述工作模块的调度请求时,确定当前所处的时间段,并将所处的时间段对应的离线业务确定为本次所需拉取的离线业务。
[0015]根据本发明一优选实施例,该方法进一步包括:
[0016]对于需要独立计算的离线业务,从各工作模块中选出部分工作模块,当接收到所选出的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离线任务。
[0017]根据本发明一优选实施例,该方法进一步包括:
[0018]当所在存储设备的资源使用状态超过离线警戒阈值时,所述工作模块不再获取任何新的离线任务,直到所在存储设备的资源使用状态低于所述离线警戒阈值。
[0019]根据本发明一优选实施例,当计算任务为在线任务时,将计算任务调度给所述工作模块包括:
[0020]当接收到前端模块发送来的在线任务调度请求时,选出一个工作模块,将所选出的工作模块标识携带在调度指令中发送给所述前端模块,以便所述前端模块将所述在线任务发送给所选出的工作模块。[0021 ]根据本发明一优选实施例,所述选出一个工作模块包括:[〇〇22]从所维护的资源池中选出一个工作模块;
[0023]所述资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成。
[0024]根据本发明一优选实施例,该方法进一步包括:
[0025]将各业务的资源配额分别通知给各工作模块,以便所述工作模块在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则强制终止该计算任务。 [〇〇26] 一种计算任务调度装置,包括:
[0027]第一调度单元,用于将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块,以便所述工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。
[0028]根据本发明一优选实施例,所述业务包括:离线业务和在线业务;
[0029]所述计算任务包括:离线任务和在线任务。
[0030]根据本发明一优选实施例,当计算任务为离线任务时,所述第一调度单元接收所述工作模块在每次拉取离线任务之前发送来的调度请求,确定本次所需拉取的离线业务, 将确定出的离线业务标识携带在调度指令中返回给所述工作模块,以便所述工作模块拉取所述离线业务标识对应的离线任务。
[0031]根据本发明一优选实施例,所述第一调度单元设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值等于离线业务数,每个时间段分别对应一个离线业务,当接收到来自所述工作模块的调度请求时,确定当前所处的时间段,并将所处的时间段对应的离线业务确定为本次所需拉取的离线业务。[〇〇32]根据本发明一优选实施例,所述第一调度单元进一步用于,
[0033]对于需要独立计算的离线业务,从各工作模块中选出部分工作模块,当接收到所选出的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离线任务。[〇〇34]根据本发明一优选实施例,当计算任务为在线任务时,所述第一调度单元在接收到前端模块发送来的在线任务调度请求后,选出一个工作模块,将所选出的工作模块标识携带在调度指令中发送给所述前端模块,以便所述前端模块将所述在线任务发送给所选出的工作模块。
[0035]根据本发明一优选实施例,所述第一调度单元从所维护的资源池中选出一个工作丰旲块;
[0036]所述资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成。
[0037]根据本发明一优选实施例,所述装置中进一步包括:
[0038]第二调度单元,用于将各业务的资源配额分别通知给各工作模块,以便所述工作模块在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则强制终止该计算任务。[〇〇39]通过以上介绍可以看出,采用本发明所述方案,在存储设备上部署工作模块,将各业务的计算任务分别调度给各工作模块,各工作模块可通过复用所在存储设备上闲置的计算资源,完成对计算任务的处理,从而以近乎零成本的方式获取到了大量的计算能力,相比于现有技术,无需再专门搭建物理计算集群,进而极大地降低了对资源和成本的消耗,并提高了存储设备的资源利用率,而且,采用本发明所述方案,可实现离线与在线的多任务混部调度,对各种计算任务的开发、部署、运维都提供了极大的便利。【【附图说明】】
[0040]图1为本发明计算任务调度方法实施例的流程图。
[0041]图2为本发明离线任务调度方式示意图。
[0042]图3为本发明在线任务调度方式示意图。
[0043]图4为本发明计算任务调度装置实施例的组成结构示意图。【【具体实施方式】】
[0044]云存储系统为了存储用户文件,拥有数量庞大的存储设备集群,由于主要用于存储文件,因此这些存储设备的共同特点是磁盘占用比较高,但计算资源如中央处理单元 (CPU,Central Processing Unit)等存在大量空闲,从而造成了计算资源的巨大浪费。
[0045]针对上述问题,提出一种通用计算系统,S卩mammoth系统,其中可包括:工作模块 (mammoth worker)、调度模块(mammoth observer)和前端模块(mommoth front)等,通过各模块之间的相互配合,完成任务接入、任务调度和任务计算等各种处理。
[0046]其中,前端模块主要负责任务接入,调度模块主要负责任务调度,工作模块主要负责任务处理(任务计算)。[〇〇47]工作模块和调度模块均可部署在云存储系统中的存储设备上,且个数均为多个, 对于每个存储设备来说,可在上面部署工作模块或调度模块中的一个,调度模块的个数通常远少于工作模块的个数,每个调度模块可分别对应多个工作模块,即用于为对应的多个工作模块提供调度服务。[〇〇48]工作模块可利用存储设备上闲置的计算资源来对计算任务进行处理,从而无需再专门搭建物理计算集群,进而极大地降低了对资源和成本的消耗,并提高了存储设备的资源利用率。
[0049]为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0050] 实施例一
[0051]图1为本发明计算任务调度方法实施例的流程图,如图1所示,包括以下实现方式: [〇〇52]在11中,调度模块将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块;
[0053]在12中,工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。
[0054]上述业务可包括:离线业务和在线业务,相应地,计算任务可包括:离线任务和在线任务。
[0055]根据计算任务类型的不同,调度模块可采用不同的调度策略,以下分别进行介绍。 [〇〇56] 一)离线任务
[0057]图2为本发明离线任务调度方式示意图,如图2所示,调度模块接收工作模块在每次拉取离线任务之前发送来的调度请求,确定本次所需拉取的离线业务,将确定出的离线业务标识携带在调度指令中返回给工作模块,以便工作模块拉取离线业务标识对应的离线任务。[〇〇58]工作模块在每次拉取离线任务之前,均会向调度模块发送调度请求,即会询问调度模块本次需要拉取哪个离线业务的任务,调度模块接收到来自工作模块的询问请求后, 首先确定出本次所需拉取的离线业务,之后向工作模块返回调度指令,其中携带有确定出的离线业务标识,通过这种方式来通知工作模块去拉取哪个离线业务的任务。
[0059]工作模块接收到来自调度模块的调度指令后,可从消息中间件中拉取调度指令中携带的离线业务标识对应的离线任务,消息中间件中的离线任务可为前端模块接收到后发送到消息中间件中的。
[0060]前端模块负责任务接入,通过与用户进行交互,获取用户发布的各类型任务。前端模块可将接收到的离线任务发送到消息中间件中。[0061 ]调度模块接收到工作模块在每次拉取离线任务之前发送来的调度请求后,如何确定本次所需拉取的离线业务可根据实际需要而定,比如:设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值等于离线业务数,每个时间段分别对应一个离线业务,当接收到来自工作模块的调度请求时,确定当前所处的时间段,并将该时间段对应的离线业务确定为本次所需拉取的离线业务。
[0062]对于待处理的各离线业务,可根据计算量大小等确定各离线业务的资源分配比例,资源分配比例越大,对应的时间段的时长越长,比如,假设共有两个离线业务,分别为离线业务A和离线业务B,离线业务A和离线业务B的资源分配比例为3: 7,那么离线业务A对应的时间段的时长与离线业务B对应的时间段的时长之比也是3:7,对于每个工作模块来说, 在每个调度周期,在离线业务A对应的时间段内,该工作模块只会拉取离线业务A的离线任务,在离线业务B对应的时间段内,该工作模块只会拉取离线业务B的离线任务。
[0063]各离线业务的资源分配比例可由用户确定好之后保存到调度模块中,并可根据离线业务数变化和离线业务的计算量变化等对所述资源分配比例进行动态调整。
[0064]通过上述方式,实现了多业务混部的计算调度,并实现了各业务间的资源使用分配。
[0065]特殊地,某些离线业务由于资源消耗过高,达不到与其它业务混部计算的条件,对于这种需要独立计算的离线业务,本实施例中提出了一种动态隔离机制。
[0066]所述动态隔离机制包括:对于需要独立计算的离线业务,从各工作模块中选出部分工作模块,当接收到所选出的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离线任务。
[0067]也就是说,对于所选出的工作模块,其每次发送调度请求时,调度模块均只会通知其去拉取需要独立计算的离线业务的离线任务。
[0068]调度模块如何选出部分工作模块可根据实际需要而定,比如可随机选出部分工作模块,所选出的工作模块的具体数量也可根据实际需要而定。
[0069]另外,每个工作模块均可实时监控所在存储设备的资源使用状态,当资源使用状态超过离线警戒阈值时,可不再获取任何新的离线任务,直到资源使用状态低于离线警戒阈值。
[0070]所述资源使用状态可包括:CPU使用率、网络1、磁盘1、进程数量等,对于CPU使用率等每个状态参数,可分别设置一个警戒阈值,一旦有一个状态参数超过对应的警戒阈值, 则可认为资源使用状态超过离线警戒阈值。
[0071]所述资源使用状态具体包括哪些内容以及各警戒阈值的具体取值可根据实际需要而走。[〇〇72]2)在线任务
[0073]图3为本发明在线任务调度方式示意图,如图3所示,调度模块接收前端模块发送来的在线任务调度请求,选出一个工作模块,将所选出的工作模块标识携带在调度指令中发送给前端模块,以便前端模块将在线任务发送给所选出的工作模块。
[0074]前端模块每接收到一个在线任务后,可向调度模块发送调度请求,询问调度模块负责处理该在线任务的是哪个工作模块,调度模块接收到来自前端模块的调度请求后,可从众多的工作模块中选出一个来处理该在线任务,并将选出的工作模块标识携带在调度指令中返回给前端模块,进而由前端模块将该在线任务发送给所选出的工作模块。
[0075]调度模块可维护一个资源池,该资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成,在接收到来自前端模块的调度请求后,调度模块可从位于资源池中的各工作模块中选出一个工作模块来处理该在线任务,比如可随机选出一个工作模块。
[0076]各工作模块可不断地向调度模块上报所在存储设备的资源使用状态,若某一工作模块的资源使用状态不佳,即超过在线警戒阈值,可将该工作模块从资源池中去除,所有在线任务将不会再调度给该工作模块。[〇〇77]通过上述方式,可提供尽可能空闲的工作模块给在线业务使用,以保证在线业务的实时性等,并可对存储设备的存储服务进行有效保护,即防止计算服务对存储设备上原有的存储服务造成影响。
[0078]所述在线警戒阈值的具体取值也可根据实际需要而定,但在线警戒阈值的取值通常小于前述离线警戒阈值,这样,对于工作模块来说,将先停止接收新的在线任务,再停止拉取新的离线任务。
[0079]另外,无论是离线业务还是在线业务,调度模块可预先将各业务的资源配额分别通知给各工作模块,以便各工作模块在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则可强制终止该计算任务。
[0080]每个业务的资源配额均是预先协商确定好的,一旦在实际的计算过程中发现某一计算任务的资源占用情况超过预先协商确定好的资源配额,那么为了防止对其它业务的正常处理造成影响,可强制终止该计算任务,以消除异常进程。
[0081]无论是离线任务还是在线任务,工作模块均可通过复用所在存储设备上的计算资源,完成对任务的处理,如何进行处理为现有技术。
[0082]实施例二
[0083]图4为本发明计算任务调度装置实施例的组成结构示意图,该计算任务调度装置即对应于前述mammoth系统中的调度模块,如图4所示,包括:第一调度单元41,还可进一步包括:第二调度单元42。[〇〇84]第一调度单元41,用于将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块,以便工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。[〇〇85] 上述业务可包括:离线业务和在线业务,相应地,计算任务可包括:离线任务和在线任务。[〇〇86]根据计算任务类型的不同,第一调度单元41可采用不同的调度策略。
[0087]当计算任务为离线任务时,第一调度单元41接收工作模块在每次拉取离线任务之前发送来的调度请求,确定本次所需拉取的离线业务,将确定出的离线业务标识携带在调度指令中返回给工作模块,以便工作模块拉取离线业务标识对应的离线任务。[〇〇88]工作模块在每次拉取离线任务之前,均会向第一调度单元41发送调度请求,即会询问第一调度单元41本次需要拉取哪个离线业务的任务,第一调度单元41接收到来自工作模块的询问请求后,首先确定出本次所需拉取的离线业务,之后向工作模块返回调度指令, 其中携带有确定出的离线业务标识,通过这种方式来通知工作模块去拉取哪个离线业务的任务。
[0089]工作模块接收到来自第一调度单元41的调度指令后,可从消息中间件中拉取调度指令中携带的离线业务标识对应的离线任务,消息中间件中的离线任务可为前端模块接收到后发送到消息中间件中的。
[0090]前端模块负责任务接入,通过与用户进行交互,获取用户发布的各类型任务。前端模块可将接收到的离线任务发送到消息中间件中。
[0091]第一调度单元41接收到工作模块在每次拉取离线任务之前发送来的调度请求后, 如何确定本次所需拉取的离线业务可根据实际需要而定,比如:设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值等于离线业务数,每个时间段分别对应一个离线业务,当接收到来自工作模块的调度请求时,确定当前所处的时间段,并将该时间段对应的离线业务确定为本次所需拉取的离线业务。
[0092]对于待处理的各离线业务,可根据计算量大小等确定各离线业务的资源分配比例,资源分配比例越大,对应的时间段的时长越长。各离线业务的资源分配比例可由用户确定好之后保存到第一调度单元41中,并可根据离线业务数变化和离线业务的计算量变化等对所述资源分配比例进行动态调整。
[0093]通过上述方式,实现了多业务混部的计算调度,并实现了各业务间的资源使用分配。
[0094]特殊地,某些离线业务由于资源消耗过高,达不到与其它业务混部计算的条件,对于这种需要独立计算的离线业务,本实施例中提出了一种动态隔离机制。
[0095]对于需要独立计算的离线业务,第一调度单元41从各工作模块中选出部分工作模块,当接收到所选出的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离线任务。
[0096]也就是说,对于所选出的工作模块,其每次发送调度请求时,第一调度单元41均只会通知其去拉取需要独立计算的离线业务的离线任务。[〇〇97]第一调度单元41如何选出部分工作模块可根据实际需要而定,比如可随机选出部分工作模块,所选出的工作模块的具体数量也可根据实际需要而定。
[0098]当计算任务为在线任务时,第一调度单元41在接收到前端模块发送来的在线任务调度请求后,选出一个工作模块,将所选出的工作模块标识携带在调度指令中发送给前端模块,以便前端模块将在线任务发送给所选出的工作模块。[〇〇99]前端模块每接收到一个在线任务后,可向第一调度单元41发送调度请求,询问第一调度单元41负责处理该在线任务的是哪个工作模块,第一调度单元41接收到来自前端模块的调度请求后,可从众多的工作模块中选出一个来处理该在线任务,并将选出的工作模块标识携带在调度指令中返回给前端模块,进而由前端模块将该在线任务发送给所选出的工作模块。
[0100]第一调度单元41可维护一个资源池,该资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成,在接收到来自前端模块的调度请求后,第一调度单元 41可从位于资源池中的各工作模块中选出一个工作模块来处理该在线任务,比如可随机选出一个工作模块。
[0101]通过上述方式,可提供尽可能空闲的工作模块给在线业务使用,以保证在线业务的实时性等,并可对存储设备的存储服务进行有效保护,即防止计算服务对存储设备上原有的存储服务造成影响。
[0102]另外,无论是离线业务还是在线业务,第二调度单元42可预先将各业务的资源配额分别通知给各工作模块,以便各工作模块在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则可强制终止该计算任务。
[0103]每个业务的资源配额均是预先协商确定好的,一旦在实际的计算过程中发现某一计算任务的资源占用情况超过预先协商确定好的资源配额,那么为了防止对其它业务的正常处理造成影响,可强制终止该计算任务,以消除异常进程。[〇1〇4]总之,采用本发明所述方案,在存储设备上部署工作模块,将各业务的计算任务分别调度给各工作模块,各工作模块可通过复用所在存储设备上闲置的计算资源,完成对计算任务的处理,从而以近乎零成本的方式获取到了大量的计算能力,相比于现有技术,无需再专门搭建物理计算集群,进而极大地降低了对资源和成本的消耗,并提高了存储设备的资源利用率,而且,采用本发明所述方案,可实现离线与在线的多任务混部调度,对各种计算任务的开发、部署、运维都提供了极大的便利。
[0105]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0106]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0107]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0108]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M, Read-Only Memory,)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种计算任务调度方法,其特征在于,包括:将各业务的计算任务分别调度给部署在云存储系统中的各存储设备上的工作模块,以 便所述工作模块通过复用所在存储设备上的计算资源,完成对计算任务的处理。2.根据权利要求1所述的方法,其特征在于,所述业务包括:离线业务和在线业务;所述计算任务包括:尚线任务和在线任务。3.根据权利要求2所述的方法,其特征在于,当计算任务为离线任务时,将计算任务调度给所述工作模块包括:接收所述工作模块在每次拉取离线任务之前发送来的调度请求,确定本次所需拉取的 离线业务,将确定出的离线业务标识携带在调度指令中返回给所述工作模块,以便所述工 作模块拉取所述离线业务标识对应的离线任务。4.根据权利要求3所述的方法,其特征在于,所述确定本次所需拉取的离线业务包括:设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值等于离线业务数,每 个时间段分别对应一个离线业务;当接收到来自所述工作模块的调度请求时,确定当前所处的时间段,并将所处的时间 段对应的离线业务确定为本次所需拉取的离线业务。5.根据权利要求3所述的方法,其特征在于,该方法进一步包括:对于需要独立计算的离线业务,从各工作模块中选出部分工作模块,当接收到所选出 的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回 给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离 线任务。6.根据权利要求2所述的方法,其特征在于,该方法进一步包括:当所在存储设备的资源使用状态超过离线警戒阈值时,所述工作模块不再获取任何新 的离线任务,直到所在存储设备的资源使用状态低于所述离线警戒阈值。7.根据权利要求2所述的方法,其特征在于,当计算任务为在线任务时,将计算任务调度给所述工作模块包括:当接收到前端模块发送来的在线任务调度请求时,选出一个工作模块,将所选出的工 作模块标识携带在调度指令中发送给所述前端模块,以便所述前端模块将所述在线任务发 送给所选出的工作模块。8.根据权利要求7所述的方法,其特征在于,所述选出一个工作模块包括:从所维护的资源池中选出一个工作模块;所述资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成。9.根据权利要求1?8中任一项所述的方法,其特征在于,该方法进一步包括:将各业务的资源配额分别通知给各工作模块,以便所述工作模块在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则强制终止该计算任务。10.—种计算任务调度装置,其特征在于,包括:第一调度单元,用于将各业务的计算任务分别调度给部署在云存储系统中的各存储设 备上的工作模块,以便所述工作模块通过复用所在存储设备上的计算资源,完成对计算任 务的处理。11.根据权利要求10所述的装置,其特征在于,所述业务包括:离线业务和在线业务;所述计算任务包括:尚线任务和在线任务。12.根据权利要求11所述的装置,其特征在于,当计算任务为离线任务时,所述第一调度单元接收所述工作模块在每次拉取离线任务 之前发送来的调度请求,确定本次所需拉取的离线业务,将确定出的离线业务标识携带在 调度指令中返回给所述工作模块,以便所述工作模块拉取所述离线业务标识对应的离线任务。13.根据权利要求12所述的装置,其特征在于,所述第一调度单元设置调度周期,将每个调度周期划分为N个连续的时间段,N的取值 等于离线业务数,每个时间段分别对应一个离线业务,当接收到来自所述工作模块的调度 请求时,确定当前所处的时间段,并将所处的时间段对应的离线业务确定为本次所需拉取 的离线业务。14.根据权利要求12所述的装置,其特征在于,所述第一调度单元进一步用于,对于需要独立计算的离线业务,从各工作模块中选出部分工作模块,当接收到所选出 的工作模块发送来的调度请求时,将需要独立计算的离线业务标识携带在调度指令中返回 给所选出的工作模块,以便所选出的工作模块拉取需要独立计算的离线业务标识对应的离 线任务。15.根据权利要求11所述的装置,其特征在于,当计算任务为在线任务时,所述第一调度单元在接收到前端模块发送来的在线任务调 度请求后,选出一个工作模块,将所选出的工作模块标识携带在调度指令中发送给所述前 端模块,以便所述前端模块将所述在线任务发送给所选出的工作模块。16.根据权利要求15所述的装置,其特征在于,所述第一调度单元从所维护的资源池中选出一个工作模块;所述资源池由所在存储设备的资源使用状态未超过在线警戒阈值的工作模块组成。17.根据权利要求10?16中任一项所述的装置,其特征在于,所述装置中进一步包括:第二调度单元,用于将各业务的资源配额分别通知给各工作模块,以便所述工作模块 在处理每个计算任务时,若确定该计算任务的资源占用情况超过对应的资源配额,则强制 终止该计算任务。
【文档编号】G06F9/48GK106095550SQ201610398415
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】陈曦, 高巍, 范利平, 牛磊, 林晓刚
【申请人】百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1