CN109471727B - 一种任务处理方法、装置及系统 - Google Patents

一种任务处理方法、装置及系统 Download PDF

Info

Publication number
CN109471727B
CN109471727B CN201811270904.0A CN201811270904A CN109471727B CN 109471727 B CN109471727 B CN 109471727B CN 201811270904 A CN201811270904 A CN 201811270904A CN 109471727 B CN109471727 B CN 109471727B
Authority
CN
China
Prior art keywords
resource
task
container
computing
target task
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
CN201811270904.0A
Other languages
English (en)
Other versions
CN109471727A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201811270904.0A priority Critical patent/CN109471727B/zh
Publication of CN109471727A publication Critical patent/CN109471727A/zh
Application granted granted Critical
Publication of CN109471727B publication Critical patent/CN109471727B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种任务处理方法、装置及系统,涉及大数据计算技术领域,所述方法应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,所述方法包括:接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;通过所述第一容器资源执行所述目标任务。采用本申请,能够提高总资源使用率。

Description

一种任务处理方法、装置及系统
技术领域
本申请涉及大数据计算技术领域,特别是涉及一种任务处理方法、装置及系统。
背景技术
随着互联网的极速发展,在机房有限的计算资源中实现大数据计算任务、单机计算任务、业务服务等多种任务的有效处理,成为人们关注的重点研究课题。计算资源包括计算机CPU(Central Processing Unit,中央处理器)、内存、网络吞吐量、以及I/O(Input/Output,输入/输出)等。
目前,大数据计算任务、单机计算任务和处理业务服务分别由不同的服务器处理,因此,整个机房中需要部署处理各种任务的机器。其中,处理大数据计算任务的服务器中通常安装有Yarn(Yet another resource negotiator,另一种资源协调者)资源调度系统,Yarn资源调度系统基于预设的分布式计算组件和预设的Yarn容器,对大数据计算任务进行处理。而业务服务可包括nqinx(engine x,发动机x)、tomcat(公猫应用服务器)、以及其他类型的业务服务。
由于机房中需要部署处理各种任务的机器,资源是不能统一共享的,各种任务是由各自的机器执行,资源使用率较低。而且当某一服务器在响应某种任务的任务请求时,只能使用本地的资源,会出现某一服务器中的资源不足,而其他服务器资源空闲的情况,导致总资源的使用率低。
发明内容
本申请实施例的目的在于提供一种任务处理方法、装置及系统,以实现提高总资源使用率。具体技术方案如下:
第一方面,提供了一种任务处理方法,所述方法应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,所述方法包括:
接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
通过所述第一容器资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务和业务服务。
可选的,所述目标任务为大数据计算任务;
所述方法还包括:
根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
通过所述第二容器资源执行所述驱动driver任务。
可选的,所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述根据所述任务请求,从预设的容器资源池,确定为所述目标任务分配的第一容器资源包括:
根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
从所述目标子资源池中,确定第一容器资源。
可选的,所述方法还包括:
如果当前时间处于预设的第一任务类型对应的任务高峰时段,则确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
如果所述资源需求量小于所述容器资源池中当前的未使用的容器资源量,则从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
如果所述资源需求量大于所述容器资源池中当前的未使用的容器资源量,则将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器资源为docker容器资源。
第二方面,提供了一种任务处理方法,所述方法应用于容器,所述容器用于执行至少两类任务,所述至少两类任务中包括大数据计算任务,所述方法包括:
获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
基于所述分配的计算资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
可选的,所述从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源包括:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
可选的,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
可选的,所述方法还包括:
如果基于所述分配的计算资源执行所述目标任务时检测到资源不足,获取与所述目标任务所属的任务类型对应的计算资源量上限;
根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
基于新的计算资源执行所述目标任务。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器为docker容器。
第三方面,提供了一种任务处理装置,所述装置应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,所述装置包括:
接收模块,用于接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
第一确定模块,用于根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
第一执行模块,用于通过所述第一容器资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务和业务服务。
可选的,所述目标任务为大数据计算任务;
所述装置还包括:
第二确定模块,用于根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
第二执行模块,用于通过所述第二容器资源执行所述驱动driver任务。
可选的,所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述第一确定模块包括:
第一确定子模块,用于根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
第二确定子模块,用于通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
第三确定子模块,用于从所述目标子资源池中,确定第一容器资源。
可选的,所述装置还包括:
第三确定模块,用于在当前时间处于预设的第一任务类型对应的任务高峰时段时,确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
第一分配模块,用于当所述资源需求量小于所述容器资源池中当前的未使用的容器资源量时,从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
第二分配模块,用于当所述资源需求量大于所述容器资源池中当前的未使用的容器资源量时,从将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器资源为docker容器资源。
第四方面,提供了一种任务处理装置,所述装置应用于容器,所述容器用于执行至少两类任务,所述至少两类任务中包括大数据计算任务,所述装置包括:
第一获取模块,用于获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
第三分配模块,用于从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
第三执行模块,用于基于所述分配的计算资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
可选的,所述第三分配模块用于:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
可选的,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
可选的,所述装置还包括:
第二获取模块,用于当基于所述分配的计算资源执行所述目标任务时检测到资源不足时,获取与所述目标任务所属的任务类型对应的计算资源量上限;
申请模块,用于根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源的资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
所述第三执行模块,还用于基于新的计算资源执行所述目标任务。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器为docker容器。
第五方面,提供了一种资源调度节点,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面任一所述的方法步骤。
第六方面,提供了一种计算节点,所述计算节点中部署有容器,所述容器配置有处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第二方面任一所述的方法步骤。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面和第二方面任一所述的方法步骤。
第八方面,提供了一种任务处理系统,所述系统包括资源调度节点和容器资源池,所述容器资源池中包括容器;
所述资源调度节点用于对至少两类任务进行资源调度,当接收到所述至少两类任务中的任一类任务的任务请求时,根据所述任务请求,从预设的容器资源池中,确定为所述任务分配的第一容器资源,并通知所述第一容器资源执行所述目标任务;
所述第一容器资源对应的容器获取所述资源调度节点分配的任务,并从所述容器内部的空闲计算资源中,为所述任务分配计算资源,基于所述分配的计算资源执行所述任务;
其中,所述至少两类任务中包括大数据计算任务。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度;
所述容器为docker容器。
本申请实施例提供的一种任务处理方法、装置及系统,资源调度节点可以接收目标任务的任务请求,根据任务请求,从预设的容器资源池中,确定为目标任务分配的第一容器资源;通过第一容器资源执行目标任务。由于本申请中,资源调度节点可以对至少两类任务进行资源调度,至少两类任务中包括大数据计算任务,容器资源池中的容器资源可以用于处理多种任务,因此,采用本申请,实现了计算资源由包括大数据计算任务的多种类型任务统一共享,由资源调度节点进行调度,从而提高总资源的使用率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务处理方法的方法流程图;
图2为本申请实施例提供的一种任务处理方法的方法流程图;
图3为本申请实施例提供的一种任务处理方法的方法流程图;
图4为本申请实施例提供的多种容器资源限制方式的示意图;
图5为本申请实施例提供的一种任务处理方法的框架示意图;
图6为本申请实施例提供的一种任务处理系统的结构示意图;
图7为本申请实施例提供的一种任务处理装置的结构示意图;
图8为本申请实施例提供的一种任务处理装置的结构示意图;
图9为本申请实施例提供的一种资源调度节点的结构示意图;
图10为本申请实施例提供的一种计算节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提升资源的使用率,本申请实施例提供一种任务处理方法,建立资源由多种任务统一共享的资源池,资源池中的计算资源以容器为单位进行部署,并使多种类型的任务统一共享可用计算资源,为该资源池配置资源调度节点,该资源调度节点用于对多种任务进行资源调度,以容器为单位为每种任务分配资源。
具体的,资源调度节点可以是由多个服务器组成的服务器集群中的某一台物理机,也可以是运行在某一物理机上的虚拟机。该多种任务中包括大数据计算任务,举例而言,还可以包括单机计算任务、业务服务、大数据计算任务对应的驱动driver任务等任务中的一种或者几种。
由于,本申请实施例中,资源由多种任务统一共享,资源调度节点可以同时处理多种任务,因此,本申请实施例实现了计算资源由包括大数据计算任务的多种类型任务统一共享,由资源调度节点进行调度,从而提高总资源的使用率。
具体的,为建立资源池,可部署多个计算节点(即计算服务器,可以为物理机或者虚拟机),并在该多个计算节点中部署容器,每个计算节点中部署1个或者多个容器,举例而言,该容器具体可以是docker容器。当计算服务器中的容器为docker容器时,容器资源为docker容器资源。容器被预先配置有多种计算资源,以使容器能够根据配置的计算资源执行任务,也即,容器资源包含执行任务所需的计算资源。需要说明的是,本申请实施例中,资源池中的各容器所配置的计算资源可相同亦可不同,本申请对此不做限定。举例而言,计算资源可以包括:CPU、内存、磁盘I/O和网络吞吐量中的至少一种。容器可以是独立软件包,容器包含软件运行所需的代码、系统工具、以及系统库等。由于容器使得软件能够独立运行,因此,使用容器执行任务,能够避免外在环境(例如开发环境和预演环境)的影响,有助于减少在同一计算服务器上运行多个软件时其他软件的干扰。亦即,以容器为单位为大数据计算等任务分配计算资源,并通过容器执行各种任务,能够使不同任务的执行进行有效的资源隔离。
可选的,资源调度节点可以是安装有资源调度系统的节点,资源调度系统可以是k8s(kubernetes,开源容器集群管理系统),swarm(网络应用程序开发框架)或mesos(开源分布式资源管理框架),相应的,资源调度节点可以基于k8s(kubernetes,开源容器集群管理系统),swarm(网络应用程序开发框架)或mesos(开源分布式资源管理框架)进行容器资源的调度。
在本发明的一个具体实施例中,基于kubernetes及docker容器策略,即资源调度节点为kubernetes节点,基于kubernetes进行资源调度,而容器为docker容器,把业务服务、单机计算任务和大数据计算任务等多种任务整合在一套资源池子里面。
现有技术中,是分开使用各个计算服务器的,即,业务服务器仅用于处理业务服务,单机作业的计算服务器仅用于处理单机计算任务,集群作业的计算服务器仅用于处理大数据计算任务,经统计,所有计算服务器的整体资源使用率只有30%~40%。而本申请提供的任务处理方法中,将用于处理业务服务、单机计算任务和大数据计算任务的计算资源整合到一套容器资源池中,一方面,通过资源调度节点调度多种类型的任务,统一进行容器资源的分配,使得资源调度节点能够同时处理多种类型的任务,并且执行的不同任务间可以共享容器资源,从而提升整体资源使用率。另一方面,由于不同任务类型的任务高峰时段不同,统一各类任务的计算资源后,能够实现计算资源的错峰利用,进一步提升整体资源使用率。采用本申请,可以有效的提高整体资源使用率。此外,资源调度节点基于整个容器资源池的容器资源处理多种任务,不会出现多种任务抢占计算资源的情况,进而能够及时输出任务执行结果。
以下对本申请实施例提供的任务处理方法进行详细说明。
本申请实施例提供了一种任务处理方法,该任务处理方法可以应用于资源调度节点,该资源调度节点用于对包括大数据计算任务的至少两类任务进行资源调度,如图1所示,该方法的具体处理流程如下:
步骤101,接收目标任务的任务请求。
其中,所言目标任务为至少两类任务中的任意一类任务。
本申请实施例中,资源调度节点可以接收前端节点发送的任务请求,并对任务请求进行处理。具体的,前端节点可以是服务器,也可以是管理设备或者用户终端,管理设备可以是技术人员使用的电子设备。
在实施中,任务请求可以携带有目标任务的标识。目标任务可以是业务服务、或单机计算任务、或大数据计算任务;相应的,目标任务的标识是业务服务的标识,或单机计算任务的标识,或大数据计算任务的标识。任务请求可以携带有任务的标识。资源调度节点接收前端节点发送的任务请求后,资源调度节点可以解析该任务请求,得到目标任务的标识,进而可以获知该任务的类型。
可选的,任务请求可以包括工作流调度或业务服务请求。针对大数据计算任务或单机计算任务等任务,前端节点可以预先对这些任务进行工作流调度,明确任务的执行顺序,然后,基于工作流调度结果,向资源调度节点发送工作流调度,即任务请求,以使资源调度节点对任务所需资源进行调度分配以执行任务。当用户需求某一业务服务时,用户会通过用户终端生成该业务服务对应的业务服务请求,然后,用户终端向业务服务器发送该业务服务请求,业务服务器可基于业务服务请求,向资源调度节点发送业务服务对应的任务请求以执行任务。
步骤102,根据任务请求,从预设的容器资源池中,确定为目标任务分配的第一容器资源。
本申请实施例中,预先设置有容器资源池,容器资源池包括可以用于处理多种任务的多个容器资源,该容器资源由多种任务共享。资源调度节点可以在容器资源池中,为多种任务分配用于执行任务的计算资源。
至于资源调度节点基于何种策略为目标任务分配容器资源,本申请对此不做限定,本领域技术人员可以合理选择。在具体实施中,资源调度节点可以根据任务请求携带的目标任务的标识,确定目标任务的任务类型,然后,针对不同的任务类型,资源调度节点可以采取不同的处理方式进行处理,即进行资源调度。举例而言,对于单机计算任务,可以基于计算数据量,可以分配1个容器,而对于大数据计算任务,可以分配多个容器。
步骤103,通过第一容器资源执行目标任务。
资源调度节点将通知第一容器资源执行目标任务,具体的,资源调度节点可以把目标任务发送给第一容器资源所在的计算节点,计算节点将目标任务发送给第一容器资源进行执行。
本申请实施例提供的任务处理方法,资源调度节点可以对至少两类任务进行资源调度,至少两类任务中包括大数据计算任务,容器资源池中的容器资源可以用于处理多种任务,因此,采用本申请,实现了计算资源由包括大数据计算任务的多种类型任务统一共享,由资源调度节点进行调度,从而提高总资源的使用率,可以实现在有限的计算资源的条件下执行大数据计算任务。
在一种可行的实施方式中,如图2所示,对于目标任务是大数据计算任务的情况,资源调度节点的具体处理过程如下:
步骤201,接收大数据计算任务的工作流调度,即接收大数据计算任务的任务请求。
在实施中,资源调度节点可以接收前端节点发送的工作流调度,然后,资源调度节点可以解析该工作流调度,得到任务类型的标识,并将该大数据计算任务的标识作为目标任务的标识。
步骤202,根据任务请求,从预设的容器资源池中,确定用于执行大数据计算任务对应的驱动driver任务的第二容器资源。
步骤203,从预设的容器资源池中,确定为目标任务分配的第一容器资源。
由于大数据计算任务对应有驱动driver任务,因此,在接收到工作流调度后,资源调度节点需要确定执行驱动driver任务的第二容器资源和执行大数据计算任务的第二容器资源。第一和第二容器资源对应于至少一个容器。
在实施中,资源调度节点可以首先确定用于处理大数据计算任务的分布式计算组件,基于分布式计算组件来确定第一容器资源和第二容器资源。具体的,分布式计算组件可包括spark(计算引擎)、hive(数据仓库工具)、storm(暴风雨数据流处理框架)、mapreduce(映射规约编程模型)、以及flink(网页代码标记)中的一种或多种。资源调度节点可以根据接收到的更改指令,更改用于处理该大数据计算任务的分布式计算组件。
本申请实施例中,可以理解的是,当资源调度节点基于k8s,swarm或mesos进行资源调度时,相应的,分布式计算组件为基于k8s,swarm或mesos运行的分布式计算组件,例如分布式计算组件可以是spark on k8s(基于k8s的spark)、storm on k8s(基于k8s的storm)、以及flink on k8s(基于k8s的flink)。
第一容器资源和第二容器资源中配置有执行相应计算的分布式计算组件。步骤204,通过第二容器资源执行driver任务。
步骤205,通过第一容器资源执行大数据计算任务。
具体的,执行driver任务的容器(可称为第二容器)作为分布式计算组件中的任务控制节点,负责基于大数据计算任务,生成多个计算作业,并将多个计算作业分发给第一容器资源对应的容器(可称为第一容器)。第一容器作为分布式计算组件中的执行节点,可以接收第二容器发送的计算作业,利用请求的资源完成计算作业后,得到计算结果,并将计算结果发送至第二容器。
在实施中,资源调度节点可以通过第一容器资源,执行第一容器发送的计算作业,并将计算结果发送至第二容器。然后,资源调度节点通过第二容器,接收第一容器发送的计算结果,得到大数据计算结果,完成大数据计算任务。
本申请实施例中,与现有技术在单机环境中执行driver任务,在集群环境中执行计算作业相比,在分布式计算组件直接基于资源调度节点的调度运行的基础上,确定执行driver任务的第二容器资源以及执行大数据计算任务的第一容器资源,实现了计算资源的统一分配与调度,同时能够节省多种环境下执行大数据计算任务所需的维护成本。
可选的,资源调度节点中可以预先设置有资源池配置策略,资源调度节点可以根据资源池配置策略,将容器资源池按照任务类型分为多个子资源池。例如,当任务类型包括业务服务、单机计算任务、以及大数据计算任务时,可以将容器资源池划分为3个子资源池,其中,第一子资源池包含的容器资源用于执行业务服务,第二子资源池包含的容器资源用于执行单机计算任务,第三子资源池包含的容器资源用于执行大数据计算任务。资源调度节点可以动态调配每个子资源池包含的容器资源,以便于提高资源分配的灵活性,进一步的,提高资源使用率。
各个子资源池的资源可以重叠,即,一个容器可以属于多个子资源池。
针对容器资源池包括多个子资源池的情况,资源调度节点可以根据任务请求,从用于处理目标任务相应任务类型的子资源池中,确定为目标任务分配的第一容器资源,具体处理流程可以包括如下步骤:
步骤一、根据目标任务所属的任务类型的指示信息,确定目标任务所属的任务类型。
其中,任务请求中可以携带有目标任务所属的任务类型的指示信息,例如,任务类型的指示信息可以是任务类型的标识。
在实施中,资源调度节点可以在接收到任务请求后,根据目标任务所属的任务类型的指示信息,确定目标任务所属的任务类型。
步骤二、通过预先存储的任务类型与子资源池的对应关系,确定目标任务所属的任务类型对应的目标子资源池。
在实施中,资源调度节点中可以预先存储有任务类型与子资源池的对应关系。资源调度节点可以根据目标任务所属的任务类型,在预先存储的任务类型与子资源池的对应关系中,确定与目标任务所属的任务类型相同的任务类型,并将该任务类型对应的子资源池,作为目标任务所属的任务类型对应的目标子资源池。
步骤三、从目标子资源池中,确定第一容器资源。
在实施中,资源调度节点可以在目标子资源池中,确定第一容器资源。
可选的,资源调度节点可以根据当前时间,动态调配各子资源池包含的容器资源,具体的处理过程如下:如果当前时间处于预设的第一任务类型对应的任务高峰时段,则确定预设的第一任务类型对应的资源量上限与第一任务类型的任务当前占用的资源量的差值,得到资源需求量。如果资源需求量小于容器资源池中当前的未使用的容器资源量,则从容器资源池中分配资源需求量对应的资源给第一任务类型对应的子资源池。如果资源需求量大于容器资源池中当前的未使用的容器资源量,则将当前容器资源池中未使用的资源分配给第一任务类型对应的子资源池。
其中,第一任务类型可以是业务服务,或单机计算任务,或大数据计算任务中的一种。资源量上限可以是能够满足第一任务类型的任务高峰时段所需的容器资源量,容器资源池中可以预先设置有各第一任务类型相应的资源量上限。本申请实施例中,资源调度节点可以针对不同的第一任务类型设置相应的多个子资源池,某一子资源池包含的资源全部用于处理对应的第一任务类型。
在实施中,资源调度节点中可以预先存储有任务高峰时段,不同任务类型的任务高峰时段不同。例如,业务服务的任务高峰时段为18:00-22:00,单机计算任务的任务高峰时段为9:00-13:00,大数据计算任务的任务高峰时段为23:00-7:00。
资源调度节点可以在运行的过程中获取当前时间,并确定当前时间是否处于第一任务类型的任务高峰时段。如果当前时间处于第一任务类型的任务高峰时段,资源调度节点可以获取第一任务类型的资源量上限和第一任务类型当前占用的容器资源量,然后,资源调度节点可以将资源量上限减去第一任务类型当前占用的容器资源量,得到资源需求量。
资源调度节点可以将资源需求量与容器资源池中当前的未使用的容器资源量进行比较,如果资源需求量小于容器资源池中当前的未使用的容器资源量,则资源调度节点从容器资源池中将资源需求量对应的容器资源,分配给用于处理第一任务类型的子资源池。如果资源需求量大于容器资源池中当前的未使用的容器资源量,则资源调度节点将前容器资源池中未使用的容器资源,分配给第一任务类型的子资源池。
例如,资源调度节点可以在运行的过程中获取到当前时间为18:00,资源调度节点确定当前时间为业务服务的任务高峰时段,容器资源中的内存资源的资源量上限可以是900Gb(Gibibyte,吉字节),第一任务类型当前占用的容器资源量为400Gb,则资源调度节点可以将资源量上限900Gb减去第一任务类型当前占用的容器资源量400Gb,得到资源需求量500Gb。
资源调度节点可以将资源需求量500Gb与容器资源池中当前的未使用的容器资源量进行比较,如果当前的未使用的容器资源量为600Gb,则500Gb小于600Gb,资源调度节点可以从容器资源池中将资源需求量500Gb对应的容器资源,分配给用于处理第一任务类型的子资源池;如果当前的未使用的容器资源量为400Gb,则500Gb大于400Gb,资源调度节点可以将前容器资源池中未使用的容器资源400Gb,都分配给第一任务类型的子资源池。
本申请实施例中,资源调度节点根据第一任务类型的任务高峰时段,确定用于执行第一任务类型的子资源池内的容器资源,能够错峰利用计算资源,提高整体资源使用率。
与前述任务处理方法相对应,本申请实施例还提供了一种任务处理方法,该方法可以应用于容器,容器用于执行至少两类任务,至少两类任务中包括大数据计算任务。该容器被预先配置有计算资源,计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。在一种可行的实现方式中,容器为docker容器。
可选的,除了大数据计算任务之外,容器还可以用于执行单机计算任务、业务服务和大数据计算任务对应的驱动driver任务中的一种或者多种。
如图3所示,为本申请实施例提供的一种应用于容器的任务处理方法的具体处理流程:
步骤301,获取资源调度节点分配的目标任务。
在实施中,容器可以获取资源调度节点分配的目标任务,目标任务可以是大数据计算任务,还可以是业务服务或单机计算任务。
步骤302,从容器内部的空闲计算资源中,为目标任务分配计算资源。
即从容器可以支配的计算资源中,为目标任务分配计算资源。至于容器基于何种策略为目标任务分配容器资源,本申请对此不做限定,本领域技术人员可以合理选择。在实施中,容器可以在获取目标任务后,确定目标任务所属的任务类型,然后,根据目标任务的标识确定目标任务所属的任务类型。在容器内部的空闲计算资源中,根据目标任务所属的任务类型,为目标任务分配计算资源。在一个实施例中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。计算资源量上限为分配给任务的最大资源量。本申请实施例中,目标任务所属的任务类型不同,为目标任务分配计算资源的资源量可以相同或者不同。
步骤303,基于分配的计算资源执行目标任务。
在实施中,容器可以通过分配的计算资源执行目标任务。
可选的,本申请提供了一种根据目标任务所属的任务类型,从容器内部的空闲计算资源中,为目标任务分配计算资源的实施方式,具体处理过程如下:
步骤一、确定执行目标任务所需的计算资源量上限。
在实施中,容器可以根据目标任务所属的任务类型,确定目标任务的计算资源量上限。在一种可行的实施方式中,容器可以针对不同的任务类型,预设不同的计算资源量上限,由此,容器可以将目标任务所属的任务类型对应的计算资源量上限,作为执行目标任务所需的计算资源量上限。例如,业务服务的计算资源量上限为10Mb的内存,那么当目标任务所属的任务类型为业务服务时,可以确定目标任务的计算资源量上限即为10Mb的内存。
在另一种可行的实施方式中,容器中可以预先设置有任务分级策略,还可以预先存储有任务级别与计算资源量上限的对应关系。任务级别可以用于表示该任务的重要程度,任务级别可以由技术人员预先设定,不同的任务类型对应的任务级别可以是不同的。另外,同一任务类型在不同的时间段内对应的任务级别也可以是不同的。
容器在接收到目标任务后,可以根据任务分级策略,确定该目标任务的任务级别。然后,容器可以在预先存储的任务级别与计算资源量上限的对应关系中,确定目标任务的任务级别对应的计算资源量上限,并将该计算资源量上限作为执行目标任务所需的计算资源量上限。
本申请实施例中,容器通过任务分级策略,对处理的目标任务进行分级,并进一步的,根据任务级别确定计算资源量上限,有利于容器对处理的不同任务的计算资源量上限进行预测,从而简化资源分配的处理流程。另一方面,通过任务分级策略,容器可以为任务级别较高的任务优先分配资源,使得较高任务级别的任务能够及时执行,能够按照预期的任务执行时间输出执行结果。
步骤二、基于执行目标任务所需的计算资源量上限,从容器内部的空闲计算资源中,为目标任务分配计算资源。
在实施中,容器可以从容器内部的空闲计算资源中,将计算资源量上限对应的计算资源分配给目标任务。容器也可以首先通过估算等方式确定任务所需的计算资源,在确定的计算资源量小于计算资源量上限时,将确定的计算资源量分配给任务,后续,如果任务所需要的计算资源量增加,容器也可以从容器内部的空闲计算资源中,将计算资源量上限按照小步申请规则,分配计算资源给目标任务。
可选的,容器可以在通过分配的计算资源执行目标任务的过程中,实时检测计算资源的使用情况,当容器检测到基于分配的计算资源无法完成目标任务时,也即检测到资源不足时,容器可以执行以下步骤:
步骤1、如果基于分配的计算资源执行目标任务时检测到资源不足,获取与目标任务所属的任务类型对应的计算资源量上限。
在实施中,当容器基于分配的计算资源执行目标任务检测到资源不足时,容器可以获取与目标任务所属的任务类型对应的计算资源量上限。
步骤2、根据计算资源量上限和预设的小步申请规则,从容器内部的空闲计算资源中,为目标任务申请新的计算资源。
其中,新的计算资源的资源量与分配的计算资源量的和不超过计算资源量上限。
在实施中,容器中可以预先设置有小步申请规则,容器可以在获取计算资源量上限后,按照小步申请规则,确定需要为目标任务分配的计算资源的资源量,并从容器内部的空闲计算资源中,为目标任务申请资源量对应的计算资源作为新的计算资源。
所谓小步申请规则,即逐步增加目标任务的资源量,分次增加处理任务的资源量,不一次性增加至资源量上限。例如,针对内存,资源量上限为10G,现在已用资源为5G,在不超过资源量上限的情况下,可以每次增加1G,即一段时间增加1G,按需增加,缓慢增加。
具体的,容器可以比较目标任务当前占用的资源量与计算资源量上限,如果容器当前占用的资源量小于计算资源量上限,容器则按照小步申请规则,在容器内部的空闲计算资源中,将预设数目个单位资源分配给目标任务,直至容器基于得到的计算资源,能够完成目标任务的执行。如果目标任务当前占用的资源量大于或等于计算资源量上限,容器则直接将预设数目个单位资源作为新的计算资源分配给目标任务。预设数目可以由技术人员设置。
其中,单位资源可以是计算资源划分最小的单位(即也可称为资源块),例如,计算资源是内存时,内存划分最小的资源块可以是1Mb,单位资源则是1Mb。
例如,当容器接收到目标任务时,容器可以获取目标任务当前占用的内存为0,计算资源量上限为10Mb。然后,容器比较目标任务当前占用的内存与计算资源量上限,由于0小于10Mb,容器可以按照小步申请规则,将计算资源量上限的50%作为计算资源分配给目标任务(即计算资源为5Mb的内存)。
如果容器在执行目标任务时检测到资源不足的情况,容器可以比较第一容器当前占用的内存和计算资源量上限,由于5Mb小于10Mb,容器可以按照小步申请规则,将预设数目个单位资源作为新的计算资源分配给目标任务,预设数目个单位资源可以是计算资源量上限的30%,也即容器将3Mb的内存分配给目标任务。
如果容器基于5Mb或者8Mb的计算资源即能完成目标任务的执行,则与直接将计算资源量上限10Mb的资源分配给目标任务相比,容器通过小步申请规则分配资源,能够减少占用资源的浪费。
步骤3、基于新的计算资源执行目标任务。
在实施中,容器可以基于新的计算资源和目标任务当前占用的计算资源,执行目标任务。
本申请实施例中,容器通过小步申请规则和计算资源量上限,对分配给目标任务的计算资源进行了限制,针对资源分类的不同,相应的资源限制方式可以是不同的,具体可以分为以下四种情况,如图4所示,为本申请实施例提供的多种容器资源限制方式的示意图。
情况一、如果资源为CPU,容器则对分配给目标任务的CPU设置计算资源量上限,按照预设的小步申请规则,分配CPU给目标任务。
情况二、如果资源为内存,容器则对分配给目标任务的内存设置计算资源量上限,按照小步申请原则,分配内存给目标任务。
情况三、如果资源为I/O,容器则对分配给目标任务的I/O设置计算资源量上限,并分磁盘按照小步申请规则,分配I/O给目标任务;
具体的,可以为容器分配多个磁盘,容器可以在运行过程中记录各磁盘的I/O分配情况,当某一磁盘存在空闲I/O时,该磁盘为可分配磁盘。当容器为目标任务分配I/O时,容器可以针对某一个可分配磁盘,从该磁盘中分配I/O给目标任务,直至该磁盘的I/O都被分配完,然后,容器可以从另一个可分配磁盘中分配I/O给目标任务。
例如,容器可以使用的I/O对应的多个磁盘为磁盘A、磁盘B、磁盘C、以及磁盘D,在容器启动运行时,各磁盘均为可分配磁盘。在运行过程中,当容器为目标任务分配I/O时,容器可以针对磁盘A,从磁盘A中分配I/O给各目标任务,直至磁盘A的I/O都被分配完。然后,服务器可以从另一个可分配磁盘(即磁盘B或磁盘C或磁盘D)中分配I/O给目标任务。
情况四、如果资源为网络吞吐量,容器则对分配给目标任务的网络吞吐量设置计算资源量上限,并分网卡按照小步申请规则,分配网络吞吐量给目标任务。
当资源为网络吞吐量时,容器针对多个网卡为目标任务分配网络吞吐量的过程,与容器针对多个磁盘为目标任务分配I/O的过程类似。
本申请实施例中,容器按照预设的小步申请规则和计算资源量上限,对分配给目标任务的计算资源进行上限控制,能够避免计算资源的浪费,提高资源利用率。同时,容器对不同的任务进行了相应的资源限制,使得各任务占用的计算资源之间能够互相隔离,不会受到其他任务的影响,因此,当资源调度节点处于同时处理多个任务的高负载状态且多个任务存在抢占资源时,能够避免由于某一个任务的高负载,影响其他任务的处理。
而且,现有技术中,在通过Yarn执行大数据计算任务时,仅仅从CPU和内存层面控制资源的分配,而本申请在容器层面,从CPU、内存、I/O、以及网络吞吐量等多方面,对分配给目标任务的资源进行了限制,对不同任务所需的计算资源进行了彻底的隔离。同时,本申请通过k8s和docker容器,可以进行专业的容器控制,能够提高资源隔离的粒度,资源隔离的效果更好。
由此,当容器处理任务级别较高的任务时,在为该任务优先分配资源的基础上,对分配给目标任务的资源进行资源隔离和资源限制,能够在保证任务及时执行的同时,提高资源使用率。
如图5所示,本申请实施例提供了一种任务处理方法的框架示意图,该任务处理方法中,可以通过资源调度节点和容器,对接收到的任务请求进行处理,任务请求可以是对应于业务服务的业务请求,也可以是对应于单机计算任务或者大数据计算任务工作流调度。在资源调度节点接收到业务请求或者工作流调度时,以容器为单位为各任务分配容器资源,即单机计算任务+容器,driver任务+容器,业务服务+容器,大数据计算任务+容器。在处理业务服务、单机计算任务时,通过第一容器资源进行处理;在处理大数据计算任务时,可以通过第二容器资源处理大数据计算任务的driver任务,以及配置有分布式计算组件的第一容器资源进行处理。
在一种可行的实施方式中,资源调度节点基于k8s进行资源调度,容器为docker容器。
本申请实施例中,基于k8s及docker容器策略,通过设置资源池,将业务服务、单机计算任务和大数据计算任务整合在一套资源池中。工作流调度通过k8s处理单机类任务(即单机计算任务)、大数据driver任务,大数据计算任务,各业务请求通过k8s申请docker容器所需的资源,以处理业务服务。所有任务全部统一通过k8s部署。
因此,可以通过资源调度节点和容器部署多种任务,统一进行资源的分配,使得能够同时处理多种任务,并且执行的不同任务间可以共享资源,从而提升整体资源使用率。本申请提供的任务处理方法能够将资源使用率由30%-40%提升至80%左右。同时,由于不同种类的任务的任务高峰时段不同,统一各类任务的资源后,能够实现资源的错峰利用,进一步提升整体资源使用率。此外,本申请对容器内部的计算资源进行资源隔离和资源限制,在提高资源使用率的同时,能够及时执行多种任务。
另外,现有技术中,需要由不同的技术人员分别维护执行业务服务和单机计算任务时构建的单机环境,以及执行大数据计算任务时构建的集群环境。而本申请中,服务器针对不同种类的任务,通过资源调度系统统一进行资源的分配和任务的处理后,技术人员不需要再单独维护服务器环境和集群环境,能够节约人力成本。
本申请实施例还提供了一种任务处理系统,如图6所示,该系统包括资源调度节点610和容器资源池620,容器资源池620中包括容器630;
资源调度节点610用于对至少两类任务进行资源调度,当接收到至少两类任务中的任一类任务的任务请求时,根据任务请求,从预设的容器资源池620中,确定为任务分配的第一容器资源,并通知第一容器资源执行目标任务;
第一容器资源对应的容器630获取资源调度节点分配的任务,并从容器630内部的空闲计算资源中,为任务分配计算资源,基于分配的计算资源执行任务;
其中,至少两类任务中包括大数据计算任务。
可选的,资源调度节点610基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度;
容器630为docker容器。
本申请实施例提供的一种任务处理系统,资源调度节点可以接收目标任务的任务请求,根据任务请求,从预设的容器资源池中,确定为目标任务分配的第一容器资源;通过第一容器资源执行目标任务。由于本申请中,资源调度节点可以对至少两类任务进行资源调度,至少两类任务中包括大数据计算任务,容器资源池中的容器资源可以用于处理多种任务,因此,采用本申请,实现了计算资源由包括大数据计算任务的多种类型任务统一共享,由资源调度节点进行调度,从而提高总资源的使用率。
本申请实施例还提供了一种任务处理装置,所述装置应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,如图7所示,所述装置包括:
接收模块710,用于接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
第一确定模块720,用于根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
第一执行模块730,用于通过所述第一容器资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务和业务服务。
可选的,所述目标任务为大数据计算任务;
所述装置还包括:
第二确定模块,用于根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
第二执行模块,用于通过所述第二容器资源执行所述驱动driver任务。
可选的,所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述第一确定模块包括:
第一确定子模块,用于根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
第二确定子模块,用于通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
第三确定子模块,用于从所述目标子资源池中,确定第一容器资源。
可选的,所述装置还包括:
第三确定模块,用于在当前时间处于预设的第一任务类型对应的任务高峰时段时,确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
第一分配模块,用于当所述资源需求量小于所述容器资源池中当前的未使用的容器资源量时,从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
第二分配模块,用于当所述资源需求量大于所述容器资源池中当前的未使用的容器资源量时,从将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器资源为docker容器资源。
本申请实施例还提供了一种任务处理装置,所述装置应用于容器,所述容器用于执行至少两类任务,所述至少两类任务中包括大数据计算任务,如图8所示,所述装置包括:
第一获取模块810,用于获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
第三分配模块820,用于从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
第三执行模块830,用于基于所述分配的计算资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
可选的,所述第三分配模块用于:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
可选的,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
可选的,所述装置还包括:
第二获取模块,用于当基于所述分配的计算资源执行所述目标任务时检测到资源不足时,获取与所述目标任务所属的任务类型对应的计算资源量上限;
申请模块,用于根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源的资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
所述第三执行模块,还用于基于新的计算资源执行所述目标任务。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器为docker容器。
本申请实施例提供的一种任务处理装置,资源调度节点可以接收目标任务的任务请求,根据任务请求,从预设的容器资源池中,确定为目标任务分配的第一容器资源;通过第一容器资源执行目标任务。由于本申请中,资源调度节点可以对至少两类任务进行资源调度,至少两类任务中包括大数据计算任务,容器资源池中的容器资源可以用于处理多种任务,因此,采用本申请,实现了计算资源由包括大数据计算任务的多种类型任务统一共享,由资源调度节点进行调度,从而提高总资源的使用率。
本申请实施例还提供了一种资源调度节点,如图9所示,包括处理器901、通信接口902、机器可读存储介质903和通信总线904,其中,处理器901,通信接口902,机器可读存储介质903通过通信总线904完成相互间的通信,
机器可读存储介质903,用于存放计算机程序;
处理器901,用于执行机器可读存储介质903上所存放的程序时,实现如下步骤:
接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
通过所述第一容器资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务和业务服务。
可选的,所述目标任务为大数据计算任务;
所述方法还包括:
根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
通过所述第二容器资源执行所述驱动driver任务。
可选的,所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述根据所述任务请求,从预设的容器资源池,确定为所述目标任务分配的第一容器资源包括:
根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
从所述目标子资源池中,确定第一容器资源。
可选的,所述方法还包括:
如果当前时间处于预设的第一任务类型对应的任务高峰时段,则确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
如果所述资源需求量小于所述容器资源池中当前的未使用的容器资源量,则从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
如果所述资源需求量大于所述容器资源池中当前的未使用的容器资源量,则将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器资源为docker容器资源。
本申请实施例还提供了一种计算节点,所述计算节点中部署有容器,如图10所示,所述容器配置有处理器1001、通信接口1002、机器可读存储介质1003和通信总线1004,其中,处理器1001,通信接口1002,机器可读存储介质1003通过通信总线1004完成相互间的通信,
机器可读存储介质1003,用于存放计算机程序;
处理器1001,用于执行机器可读存储介质1003上所存放的程序时,实现如下步骤:
获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
基于所述分配的计算资源执行所述目标任务。
可选的,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
可选的,所述从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源包括:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
可选的,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
可选的,所述方法还包括:
如果基于所述分配的计算资源执行所述目标任务时检测到资源不足,获取与所述目标任务所属的任务类型对应的计算资源量上限;
根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
基于新的计算资源执行所述目标任务。
可选的,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
可选的,所述容器为docker容器。
机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种任务处理方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一一种任务处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (31)

1.一种任务处理方法,其特征在于,所述方法应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,所述方法包括:
接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
通过所述第一容器资源执行所述目标任务,以使得所述第一容器资源对应的容器执行所述目标任务过程中检测到为所述目标任务分配的计算资源不足时,获取与所述目标任务所属的任务类型对应的计算资源量上限,根据所述计算资源量上限和预设的小步申请规则,从所述第一容器内部的空闲计算资源中,为所述目标任务申请新的计算资源,基于新的计算资源执行所述目标任务;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限。
2.根据权利要求1所述的方法,其特征在于,所述至少两类任务还包括单机计算任务和业务服务。
3.根据权利要求1所述的方法,其特征在于,
所述目标任务为大数据计算任务;
所述方法还包括:
根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
通过所述第二容器资源执行所述驱动driver任务。
4.根据权利要求1所述的方法,其特征在于,
所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述根据所述任务请求,从预设的容器资源池,确定为所述目标任务分配的第一容器资源包括:
根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
从所述目标子资源池中,确定第一容器资源。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果当前时间处于预设的第一任务类型对应的任务高峰时段,则确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
如果所述资源需求量小于所述容器资源池中当前的未使用的容器资源量,则从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
如果所述资源需求量大于所述容器资源池中当前的未使用的容器资源量,则将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
7.根据权利要求6所述的方法,其特征在于,所述容器资源为docker容器资源。
8.一种任务处理方法,其特征在于,所述方法应用于容器,所述容器用于执行至少两类任务,所述至少两类任务中包括大数据计算任务,所述方法包括:
获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
基于所述分配的计算资源执行所述目标任务;
所述方法还包括:
如果基于所述分配的计算资源执行所述目标任务时检测到资源不足,获取与所述目标任务所属的任务类型对应的计算资源量上限;
根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
基于新的计算资源执行所述目标任务。
9.根据权利要求8所述的方法,其特征在于,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
10.根据权利要求8所述的方法,其特征在于,所述从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源包括:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
11.根据权利要求8所述的方法,其特征在于,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
12.根据权利要求8至11任一项所述的方法,其特征在于,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
13.根据权利要求12所述的方法,其特征在于,所述容器为docker容器。
14.一种任务处理装置,其特征在于,所述装置应用于资源调度节点,所述资源调度节点用于对至少两类任务进行资源调度,所述至少两类任务中包括大数据计算任务,所述装置包括:
接收模块,用于接收目标任务的任务请求,所述目标任务为所述至少两类任务中的任一类任务;
第一确定模块,用于根据所述任务请求,从预设的容器资源池中,确定为所述目标任务分配的第一容器资源;
第一执行模块,用于通过所述第一容器资源执行所述目标任务,以使得所述第一容器资源对应的容器执行所述目标任务过程中检测到为所述目标任务分配的计算资源不足时,获取与所述目标任务所属的任务类型对应的计算资源量上限,根据所述计算资源量上限和预设的小步申请规则,从所述第一容器内部的空闲计算资源中,为所述目标任务申请新的计算资源,基于新的计算资源执行所述目标任务;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限。
15.根据权利要求14所述的装置,其特征在于,所述至少两类任务还包括单机计算任务和业务服务。
16.根据权利要求14所述的装置,其特征在于,
所述目标任务为大数据计算任务;
所述装置还包括:
第二确定模块,用于根据所述任务请求,从预设的容器资源池中,确定用于执行所述大数据计算任务对应的驱动driver任务的第二容器资源;
第二执行模块,用于通过所述第二容器资源执行所述驱动driver任务。
17.根据权利要求14所述的装置,其特征在于,
所述容器资源池包括多个子资源池;
所述任务请求中携带有所述目标任务所属的任务类型的指示信息;
所述第一确定模块包括:
第一确定子模块,用于根据所述目标任务所属的任务类型的指示信息,确定所述目标任务所属的任务类型;
第二确定子模块,用于通过预先存储的任务类型与子资源池的对应关系,确定所述目标任务所属的任务类型对应的目标子资源池;
第三确定子模块,用于从所述目标子资源池中,确定第一容器资源。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于在当前时间处于预设的第一任务类型对应的任务高峰时段时,确定预设的第一任务类型对应的资源量上限与所述第一任务类型的任务当前占用的资源量的差值,得到资源需求量;
第一分配模块,用于当所述资源需求量小于所述容器资源池中当前的未使用的容器资源量时,从所述容器资源池中分配所述资源需求量对应的容器资源给所述第一任务类型对应的子资源池;
第二分配模块,用于当所述资源需求量大于所述容器资源池中当前的未使用的容器资源量时,从将当前所述容器资源池中未使用的容器资源分配给所述第一任务类型对应的子资源池。
19.根据权利要求14至18任一项所述的装置,其特征在于,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
20.根据权利要求19所述的装置,其特征在于,所述容器资源为docker容器资源。
21.一种任务处理装置,其特征在于,所述装置应用于容器,所述容器用于执行至少两类任务,所述至少两类任务中包括大数据计算任务,所述装置包括:
第一获取模块,用于获取资源调度节点分配的目标任务,所述目标任务为所述至少两类任务中的任一类任务;
第三分配模块,用于从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
第三执行模块,用于基于所述分配的计算资源执行所述目标任务;
所述装置还包括:
第二获取模块,用于当基于所述分配的计算资源执行所述目标任务时检测到资源不足时,获取与所述目标任务所属的任务类型对应的计算资源量上限;
申请模块,用于根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源的资源量与所述分配的计算资源量的和不超过所述计算资源量上限;
所述第三执行模块,还用于基于新的计算资源执行所述目标任务。
22.根据权利要求21所述的装置,其特征在于,所述至少两类任务还包括单机计算任务、业务服务和大数据计算任务对应的驱动driver任务。
23.根据权利要求21所述的装置,其特征在于,所述第三分配模块用于:
根据所述目标任务所属的任务类型,从所述容器内部的空闲计算资源中,为所述目标任务分配计算资源;
其中,为所述目标任务分配的计算资源量上限与所述目标任务所属的任务类型相对应。
24.根据权利要求21所述的装置,其特征在于,所述计算资源包括CPU、内存、磁盘I/O和网络吞吐量中的至少一种。
25.根据权利要求21至24任一项所述的装置,其特征在于,所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度。
26.根据权利要求25所述的装置,其特征在于,所述容器为docker容器。
27.一种资源调度节点,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-7任一所述的方法步骤。
28.一种计算节点,其特征在于,
所述计算节点中部署有容器,所述容器配置有处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求8-13任一所述的方法步骤。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-13任一所述的方法步骤。
30.一种任务处理系统,其特征在于,所述系统包括资源调度节点和容器资源池,所述容器资源池中包括容器;
所述资源调度节点用于对至少两类任务进行资源调度,当接收到所述至少两类任务中的任一类任务的任务请求时,根据所述任务请求,从预设的容器资源池中,确定为所述任务分配的第一容器资源,并通知所述第一容器资源执行目标任务;
所述第一容器资源对应的容器获取所述资源调度节点分配的任务,并从所述容器内部的空闲计算资源中,为所述任务分配计算资源,基于所述分配的计算资源执行所述任务;其中,所述至少两类任务中包括大数据计算任务;
所述第一容器资源对应的容器,还用于如果基于所述分配的计算资源执行所述目标任务时检测到资源不足,获取与所述目标任务所属的任务类型对应的计算资源量上限;根据所述计算资源量上限和预设的小步申请规则,从所述容器内部的空闲计算资源中,为所述目标任务申请新的计算资源;其中,所述新的计算资源量与所述分配的计算资源量的和不超过所述计算资源量上限;基于新的计算资源执行所述目标任务。
31.根据权利要求30所述的系统,其特征在于,
所述资源调度节点基于开源容器集群管理系统kubernetes,网络应用程序开发框架集群swarm或开源分布式资源管理框架mesos进行容器资源的调度;
所述容器为docker容器。
CN201811270904.0A 2018-10-29 2018-10-29 一种任务处理方法、装置及系统 Active CN109471727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811270904.0A CN109471727B (zh) 2018-10-29 2018-10-29 一种任务处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811270904.0A CN109471727B (zh) 2018-10-29 2018-10-29 一种任务处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109471727A CN109471727A (zh) 2019-03-15
CN109471727B true CN109471727B (zh) 2021-01-22

Family

ID=65666513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811270904.0A Active CN109471727B (zh) 2018-10-29 2018-10-29 一种任务处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109471727B (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114958A (zh) * 2019-06-21 2020-12-22 上海哔哩哔哩科技有限公司 资源隔离方法、分布式平台、计算机设备和存储介质
CN112114959B (zh) * 2019-06-21 2024-05-31 上海哔哩哔哩科技有限公司 资源调度方法、分布式系统、计算机设备和存储介质
CN110321207A (zh) * 2019-06-25 2019-10-11 深圳前海微众银行股份有限公司 任务调度方法、装置、设备及计算机可读存储介质
CN112148468B (zh) * 2019-06-28 2023-10-10 杭州海康威视数字技术股份有限公司 一种资源调度方法、装置、电子设备及存储介质
CN110502321A (zh) * 2019-07-11 2019-11-26 新华三大数据技术有限公司 一种资源调度方法及系统
CN110532100B (zh) * 2019-09-02 2022-04-15 Oppo广东移动通信有限公司 调度资源的方法、装置、终端及存储介质
CN111193607B (zh) * 2019-09-23 2023-04-07 腾讯云计算(北京)有限责任公司 一种传输资源管理的方法、装置及存储介质
CN110795217B (zh) * 2019-09-27 2022-07-15 广东浪潮大数据研究有限公司 一种基于资源管理平台的任务分配方法及系统
CN110764890A (zh) * 2019-10-21 2020-02-07 深圳金蝶账无忧网络科技有限公司 一种计算资源调度方法、系统及相关设备
CN112783637B (zh) * 2019-11-07 2023-09-22 北京京东振世信息技术有限公司 一种资源调控方法和装置
CN113032576B (zh) * 2019-12-25 2022-06-03 杭州海康威视数字技术股份有限公司 知识图谱管理方法、装置、设备及存储介质
CN113051064B (zh) * 2019-12-26 2024-05-24 中移(上海)信息通信科技有限公司 任务调度方法、装置、设备及存储介质
CN111142799A (zh) * 2019-12-26 2020-05-12 深圳市网心科技有限公司 分布式存储方法及装置、网络节点及存储介质
CN113051025B (zh) * 2019-12-27 2024-05-31 阿里巴巴集团控股有限公司 容器集群资源管理方法、装置与设备
CN111158879B (zh) * 2019-12-31 2024-03-22 上海依图网络科技有限公司 一种系统资源的调度方法,装置、机器可读介质和系统
CN111427675B (zh) * 2020-03-20 2023-03-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN113467924A (zh) * 2020-03-31 2021-10-01 北京金山云网络技术有限公司 一种资源分配方法、装置、服务器及计算机可读存储介质
CN111506422B (zh) * 2020-04-08 2023-01-20 聚好看科技股份有限公司 事件分析方法及系统
CN111445101B (zh) * 2020-05-15 2024-08-02 广联达科技股份有限公司 一种云计算资源调度的方法、系统和介质
CN111796933B (zh) * 2020-06-28 2023-11-21 北京小米松果电子有限公司 资源调度方法、装置、存储介质和电子设备
CN111858241B (zh) * 2020-07-10 2022-06-10 浪潮电子信息产业股份有限公司 一种fpga云平台的监控方法、装置、设备及存储介质
CN112130994B (zh) * 2020-09-16 2024-07-23 北京达佳互联信息技术有限公司 资源分配方法、装置、电子设备和存储介质
CN112527451B (zh) * 2020-12-02 2023-08-22 北京百度网讯科技有限公司 容器资源池的管理方法、装置、设备以及存储介质
CN112597502B (zh) * 2020-12-17 2023-02-10 山东乾云启创信息科技股份有限公司 一种基于可信云的大规模计算服务配置方法及系统
CN112527506B (zh) * 2020-12-18 2022-09-23 北京百度网讯科技有限公司 设备资源的处理方法、装置、电子设备及存储介质
CN112559183B (zh) * 2020-12-18 2023-08-04 北京百度网讯科技有限公司 计算资源管理方法、装置、电子设备及存储介质
CN113225269B (zh) * 2021-04-16 2022-11-22 鹏城实验室 基于容器的工作流调度方法、装置、系统及存储介质
CN113179308B (zh) * 2021-04-23 2023-04-07 上海商汤智能科技有限公司 服务请求处理方法、装置、电子设备及存储介质
CN113220479B (zh) * 2021-04-28 2023-11-10 北京淇瑀信息科技有限公司 一种基于隔离网络的工作流调度方法、装置及电子设备
CN113296913A (zh) * 2021-05-25 2021-08-24 未鲲(上海)科技服务有限公司 基于单集群的数据处理方法、装置、设备及存储介质
CN113190339B (zh) * 2021-05-26 2024-04-09 中国工商银行股份有限公司 任务处理方法和装置
CN113269547B (zh) * 2021-05-31 2024-05-31 中国农业银行股份有限公司 数据处理方法、装置、电子设备和存储介质
CN113282419B (zh) * 2021-06-07 2022-07-08 国家超级计算天津中心 资源调度方法、电子设备和计算机可读存储介质
CN113568737B (zh) * 2021-06-30 2024-03-26 北京达佳互联信息技术有限公司 硬件资源分配方法及装置
CN114003346A (zh) * 2021-11-12 2022-02-01 深圳前海微众银行股份有限公司 任务处理方法、设备、存储介质及程序产品
CN113886094B (zh) * 2021-12-07 2022-04-26 浙江大云物联科技有限公司 一种基于边缘计算的资源调度方法及装置
CN114168292A (zh) * 2021-12-09 2022-03-11 中国建设银行股份有限公司 一种资源调度方法、装置、设备和介质
CN114840343A (zh) * 2022-05-16 2022-08-02 江苏安超云软件有限公司 基于分布式系统的任务调度方法及系统
CN115328661B (zh) * 2022-09-09 2023-07-18 中诚华隆计算机技术有限公司 一种基于语音和图像特征的算力均衡执行方法及芯片
CN116302452B (zh) * 2023-05-18 2023-08-22 苏州浪潮智能科技有限公司 作业调度方法、系统、装置、通信设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN105610972A (zh) * 2016-02-01 2016-05-25 中博信息技术研究院有限公司 集群式的任务调派系统
CN107450977A (zh) * 2015-12-30 2017-12-08 北京典赞科技有限公司 基于yarn的面向gpgpu集群的资源管理调度方法
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10833940B2 (en) * 2015-03-09 2020-11-10 Vapor IO Inc. Autonomous distributed workload and infrastructure scheduling
CN106708622B (zh) * 2016-07-18 2020-06-02 腾讯科技(深圳)有限公司 集群资源处理方法和系统、资源处理集群
CN107885595B (zh) * 2016-09-30 2021-12-14 华为技术有限公司 一种资源分配方法、相关设备及系统
CN106776003A (zh) * 2016-11-18 2017-05-31 郑州云海信息技术有限公司 一种系统资源分配方法及装置
CN107066319B (zh) * 2017-01-17 2020-11-10 北京中电普华信息技术有限公司 一种面向异构资源的多维调度系统
CN108519917B (zh) * 2018-02-24 2023-04-07 国家计算机网络与信息安全管理中心 一种资源池分配方法和装置
AU2018100381A4 (en) * 2018-03-27 2018-05-10 Chongqing University Of Posts And Telecommunications A physical resource scheduling method in cloud cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN107450977A (zh) * 2015-12-30 2017-12-08 北京典赞科技有限公司 基于yarn的面向gpgpu集群的资源管理调度方法
CN105610972A (zh) * 2016-02-01 2016-05-25 中博信息技术研究院有限公司 集群式的任务调派系统
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向IaaS云平台的资源在线调度技术研究";程硕;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180815(第08期);I139-56 *

Also Published As

Publication number Publication date
CN109471727A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109471727B (zh) 一种任务处理方法、装置及系统
CN113243005B (zh) 按需网络代码执行系统中的基于性能的硬件仿真
US11526434B1 (en) Network-level garbage collection in an on-demand code execution system
US10572306B2 (en) Utilization-aware resource scheduling in a distributed computing cluster
EP3400535B1 (en) System and method for distributed resource management
US10191771B2 (en) System and method for resource management
CN109684074B (zh) 物理机资源分配方法及终端设备
US11693698B2 (en) System and method for infrastructure scaling
US8468530B2 (en) Determining and describing available resources and capabilities to match jobs to endpoints
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
JP2019505861A (ja) 計算ワークフローにおいてサービス品質を確保するためのシステム及び方法
US11467874B2 (en) System and method for resource management
JP2015011716A (ja) グリッドコンピューティングシステムの遊休リソースによるタスク実行
US10102042B2 (en) Prioritizing and distributing workloads between storage resource classes
CN111258745B (zh) 一种任务处理方法及设备
US9423957B2 (en) Adaptive system provisioning
US10048987B1 (en) Methods and apparatus for a resource sharing platform having resource quality estimation
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
US10824339B1 (en) Snapshot-based garbage collection in an on-demand code execution system
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
CN107665143B (zh) 资源管理方法、装置及系统
Imai et al. Accurate resource prediction for hybrid IaaS clouds using workload-tailored elastic compute units
CN112463375A (zh) 一种数据处理的方法和装置
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
WO2016118164A1 (en) Scheduler-assigned processor resource groups

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