弹性任务调度方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:20160164 阅读:19 留言:0更新日期:2019-01-19 00:12
本公开实施例提供弹性任务调度方法、装置、设备及计算机可读存储介质。弹性任务调度方法包括响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取任务所需的资源数值,并发出资源申请请求;响应于资源申请请求,在资源池中检索是否存在空闲资源;当检索出资源池中存在空闲资源时,根据资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,代理实例与资源实例一对一映射,可以对任务的资源需求进行动态计算、也可静态配置,从而根据需求对资源实例中的空闲资源进行选择。即,可以利用空闲资源,大小任务交叉执行。

【技术实现步骤摘要】
弹性任务调度方法、装置、设备及计算机可读存储介质
本公开实施例涉及互联网
,尤其涉及弹性任务调度方法、装置、设备及计算机可读存储介质。
技术介绍
在互联网领域,用户会向诸如大数据分布式内存计算平台之类的平台提供大量计算任务,但这些任务的资源需求相差巨大。大任务计算耗时可以达到小时、天级别,小任务可能只需要几分钟。如果大任务在执行过程中独占资源,那么小任务就必须要等待。因此,小任务的响应时间难以得到保证,另一方面资源的利用效率也不高。
技术实现思路
有鉴于此,本公开第一方面提供了一种弹性任务调度方法,包括:响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取所述任务所需的资源数值,并发出资源申请请求;响应于所述资源申请请求,在资源池中检索是否存在空闲资源;当检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射。本公开第二方面提供了一种弹性任务调度装置,包括:任务调度模块,被配置为响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取所述任务所需的资源数值,并发出资源申请请求;资源检索模块,被配置为响应于所述资源申请请求,在资源池中检索是否存在空闲资源;弹性资源管理模块,被配置为当所述资源检索模块检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射。本公开第三方面提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面所述的方法。本公开第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面所述的方法。在本公开实施方式中,通过响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取所述任务所需的资源数值,并发出资源申请请求;响应于所述资源申请请求,在资源池中检索是否存在空闲资源;当检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射,可以对任务的资源需求进行动态计算、也可静态配置,从而根据需求对资源实例中的空闲资源进行选择。即,可以利用大任务的空闲资源,大小任务可以交叉执行。一方面可以提升小任务的响应时间,另一方面可以提升资源的利用效率。本公开的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对示例性实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些示例性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出根据本公开一实施方式的弹性任务调度方法的流程图;图2示出根据本公开另一实施方式的弹性任务调度方法的流程图;图3示出根据本公开另一实施方式的弹性任务调度方法的流程图;图4示出根据本公开一实施方式的弹性任务调度装置的结构框图;图5示出根据本公开另一实施方式的弹性任务调度装置的结构框图;图6示出根据本公开另一实施方式的弹性任务调度装置的结构框图;图7示出根据本公开一实施方式的弹性任务调度方法的应用场景的示意图;图8示出根据本公开一实施方式的设备的结构框图;图9是适于用来实现根据本公开一实施方式的弹性任务调度方法的计算机系统的结构示意图。具体实施方式为了使本
的人员更好地理解本公开方案,下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述。在本公开的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。.图1示出根据本公开一实施方式的弹性任务调度方法的流程图。该方法可以包括步骤S101、S102和S103。在步骤S101中,响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取任务所需的资源数值,并发出资源申请请求。在步骤S102中,响应于资源申请请求,在资源池中检索是否存在空闲资源。在步骤S103中,当检索出资源池中存在空闲资源时,根据资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,代理实例与资源实例一对一映射。在本公开的一个实施例中,资源可以是Spark资源。在本申请的实施例中,spark指的是一种大数据分布式内存计算平台。资源申请请求可以指的是向spark平台申请资源的请求。根据本公开的方案,为了获得更好的用户体验,可以让小任务与大任务共享spark资源实例(如:sparkcontext)。由于spark平台的作业调度器本身是线程安全的,允许多线程任务提交。因此,可以在大任务空闲时,交叉执行小任务。一方面可以提升小任务的响应时间,另一方面可以提升资源的利用效率。在本公开的一个实施例中,任务控制请求可以是由用户提交的,也可以是由系统定时器提交的。在本公开的一个实施例中,当希望利用诸如Spark资源之类的平台资源处理某个业务时,可能会有一批任务需要执行,因此,可能会由用户或系统定时器提交一批任务控制请求。在本公开的一个实施例中,可以根据任务控制请求,将任务控制请求所对应的目标任务放入队列,队列中可以排列有多个任务。其中,所述队列可以是本地队列。在本公开的一个实施例中,资源数值指的是执行任务时所需的资源的量。在本公开的一个实施例中,对提交的作业资源需求和诸如spark资源的资源实例进行数值虚拟化后,可以确定资源数值。因此,可以读取任务所需的资源数值,并发出资源申请请求。在本公开的一个实施例中,资源池指的是映射到本地主机上的平台的资源池,例如,spark平台的资源池。在本公开的一个实施例中,针对任务所需的资源数值分配空闲资源是弹性的资源分配方式。弹性的资源分配方式指的是任务的资源需求可以动态计算、也可静态配置,根据需本文档来自技高网
...

【技术保护点】
1.一种弹性任务调度方法,其特征在于,包括:响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取所述任务所需的资源数值,并发出资源申请请求;响应于所述资源申请请求,在资源池中检索是否存在空闲资源;当检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射。

【技术特征摘要】
1.一种弹性任务调度方法,其特征在于,包括:响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务;取出队列中的任务,读取所述任务所需的资源数值,并发出资源申请请求;响应于所述资源申请请求,在资源池中检索是否存在空闲资源;当检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射。2.根据权利要求1所述的方法,其特征在于,还包括:当检索出资源池中不存在空闲资源时,获取一个代理实例,并对所述代理实例所关联的资源虚拟数值化,针对所述任务所需的资源数值分配空闲资源,其中,空闲资源属于所述代理实例所关联的资源,所述代理实例与资源实例一对一映射。3.根据权利要求1所述的方法,其特征在于,所述当检索出资源池中存在空闲资源时,根据所述资源申请请求中记载的任务所需的资源数值分配空闲资源,其中,根据所述任务所需的资源数值对资源进行分片,建立资源分片与代理实例的关联关系,所述代理实例与资源实例一对一映射,包括:在资源池中检索空闲度最低且满足资源申请请求中记载的任务所需的资源数值的代理实例。4.根据权利要求1或2所述的方法,其特征在于,还包括:在针对所述任务所需的资源数值分配空闲资源后,响应于作业的提交向服务集群申请实际资源。5.根据权利要求4所述的方法,其特征在于,所述在针对所述任务所需的资源数值分配空闲资源后,响应于作业的提交向服务集群申请实际资源,包括:根据租户配置,对实际资源进行分组隔离,其中,可以将不同类型的任务提交到对应的资源实例,以根据业务属性进行资源隔离。6.根据权利要求4所述的方法,其特征在于,还包括:在释放资源时,根据所要释放的资源的标识找到与所要释放的资源关联的代理实例,以将所要释放的资源恢复为空闲资源。7.根据权利要求1所述的方法,其特征在于,在响应于接收到的任务控制请求,将目标任务放入队列并检查队列中的任务之前,还包括:对任务控制请求进行随机分发,以避免任务被集中于特定设备。8.根据权利要求1所述的方法,其特征在于,所述资源是Spark资源。9.一种弹性任务调度装置,其特征在于,包括:任务调度模块,被配置为响应于接收到的任务控制请求,将目标任务放入队列并...

【专利技术属性】
技术研发人员:郭真林
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1