CN106557366B - 任务分发方法、装置及系统 - Google Patents
任务分发方法、装置及系统 Download PDFInfo
- Publication number
- CN106557366B CN106557366B CN201510628406.9A CN201510628406A CN106557366B CN 106557366 B CN106557366 B CN 106557366B CN 201510628406 A CN201510628406 A CN 201510628406A CN 106557366 B CN106557366 B CN 106557366B
- Authority
- CN
- China
- Prior art keywords
- target
- resource quantity
- node
- service line
- execution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000002955 isolation Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 14
- 238000013459 approach Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本申请提供任务分发方法、装置及系统,其中方法包括:接收一个目标业务线发送的目标数据信息;获取与目标业务线标识对应的目标资源组中的目标第一可用资源数量;若目标第一可用资源数量不小于目标所需资源数量,则向与总控节点相连的执行节点分发目标任务。本申请利用资源组来对各个业务线的任务进行隔离,并为每个资源组设定一个额定资源数量来限制业务线最多能够占用的资源数量,从而避免一个业务线的任务过多时,总控节点大部分资源用来处理该业务线的任务,而忽略其它业务线的任务;从而可以实现各个业务线的任务进行任务隔离,达到各个业务线的任务互不影响的目的。
Description
技术领域
本申请涉及自动化技术领域,尤其涉及任务分发方法、装置及系统。
背景技术
任务执行系统为处理任务的系统,任务执行系统可以执行各个业务线发送的任务,其中,业务线为向任务执行系统发送任务的多台机器的统称。随着各个业务线的任务数量不断增长,任务执行系统需要处理的任务数量越来越多,因此任务执行系统需要很多执行机器来共同完成任务;为了协调各个执行机器,可以利用一台总控机器负责调度这些执行机器。
参见图1,为任务执行系统的结构图,其中,总控机器采用总控节点来表示,执行机器采用执行节点来表示;具体包括总控节点11、与总控节点11相连的多个执行节点12,与总控节点11相连的多个业务线13;多个执行节点12采用执行节点1、执行节点2……执行节点N表示,多个业务线13采用业务线1、业务线2……业务线M表示,其中N和M均为非零自然数。
任务执行系统的业务流程为:总控节点接收来自于各个业务线的任务,并将所有任务按先后顺序放置于自身的执行队列中。然后总控节点按执行队列中各个任务的先后顺序,将接收到的任务随机下发到与之相连的执行节点中,以便执行节点执行任务。
但是,目前总控节点上未对各个业务线的任务进行隔离,即任一业务线的任务均可以利用所有执行节点来执行其任务,这导致在单个业务线的任务过多时,该业务线的任务会占据执行队列,使得总控节点仅能够处理该业务线的任务,而无法处理其它业务线的任务,进而影响到其它业务线任务的执行。
因此,现在需要一种任务分发方法,可以对不同业务线任务进行隔离操作,以便可以使得各个业务线的任务互不影响。
发明内容
本申请提供了一种任务分发方法、装置及系统,使用本方法可以不同业务线任务进行隔离操作,以便可以使得各个业务线的任务互不影响。
为了实现上述目的,本申请提供以下技术手段:
一种任务分发方法,包括:
接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;
获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应一个各个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
优选的,还包括:
若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
优选的,所述向与所述总控节点相连的执行节点分发所述目标任务,包括:
确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群与使用对应类型的执行节点集合的一个或多个业务线的业务线标识对应;
将所述目标集群中的一个执行节点标识,确定为目标执行节点标识;
向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
优选的,每个执行节点标识对应一个第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和;则所述将所述目标集群中的一个执行节点标识,确定为目标执行节点标识,包括:
在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;
若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
优选的,还包括:
若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
优选的,目标集群的总可用资源数量不小于所述目标所需资源数量的确定过程,包括:
在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;或者,
在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
优选的,还包括:
若在确定所述目标集群的总可用资源数量小于所述目标所需资源数量的情况下,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
优选的,在向与所述总控节点相连的执行节点分发所述目标任务之后,还包括:
将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
在所述目标执行节点将所述目标任务执行完成之后,将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
优选的,所述向与所述总控节点相连的执行节点分发所述目标任务,包括:
判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;其中,每个执行节点标识对应一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值;
若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识;
向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
优选的,在向与所述总控节点相连的执行节点分发所述目标任务之后,还包括:
将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
在所述目标执行节点将所述目标任务执行完成之后,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
一种任务分发装置,包括:
接收单元,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;
获取单元,用于获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
分发单元,用于若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
优选的,还包括:
第一存储单元,用于若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
优选的,所述分发单元,包括:
确定集群单元,用于确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群与使用对应类型的执行节点集合的一个或多个业务线的业务线标识对应;
第一确定节点单元,用于将所述目标集群中的一个执行节点标识,确定为目标执行节点标识;
分发任务单元,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
优选的,每个执行节点标识对应一个第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和;则所述第一确定节点单元,包括:
第一确定数量单元,用于确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;
第一判断单元,用于在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;
第二确定节点单元,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
优选的,还包括:
第二存储单元,用于若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
优选的,所述第一确定数量单元,包括:
第二确定数量单元,用于在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;或者,
第三确定数量单元,用于在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
优选的,还包括:
第三存储单元,用于若在确定所述目标集群的总可用资源数量小于所述目标所需资源数量的情况下,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
优选的,还包括:
第一减少单元,用于将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第一增加单元,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
优选的,所述分发单元,包括:
第二判断单元,用于判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;其中,每个执行节点标识对应的一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值;
第三确定节点单元,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识;
第二分发任务单元,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
优选的,还包括:
第二减小单元,用于将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第二增加单元,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
一种任务分发系统,包括:
总控节点、与所述总控节点相连的服务器、与所述总控节点相连的多个执行节点以及与所述总控节点相连的多个业务线;多个业务线中的一个业务线为目标业务线;
其中,目标业务线,用于向所述总控节点发送目标数据信息;
所述服务器,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
所述总控节点,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;在与总控节点相连的服务器中,获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
一种任务分发系统,包括:
总控节点、与所述总控节点相连的多个执行节点以及与所述总控节点相连的多个业务线;多个业务线中的一个业务线为目标业务线;
其中,目标业务线,用于向所述总控节点发送目标数据信息;
所述总控节点,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;并且,还用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;在与总控节点相连的服务器中,获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
本申请为每个业务线设置一个资源组,并为每个资源组设定一个第一额定资源数量,该第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;即本申请利用资源组来对各个业务线的任务进行隔离,利用第一额定资源数量来限制一个业务线最多能够占用的资源数量。总控节点仅在一个业务线对应资源组的第一可用资源数量不小于所需资源数量时,才执行业务线发送的任务。在一个业务线对应资源组的第一可用资源数量小于所需资源数量,说明该业务线所占用的资源数量已经或者临近达到额定资源数量,此时不再为该业务线分配额外的资源,从而避免该业务线占用过多的资源。
即本申请利用资源组来对各个业务线的任务进行隔离,并为每个资源组设定一个额定资源数量来限制业务线最多能够占用的资源数量,从而避免在一个业务线的任务过多时,总控节点的大部分资源用来处理该业务线的任务,而忽略其它业务线的任务;从而可以实现各个业务线的任务进行任务隔离,达到各个业务线的任务互不影响的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术公开的任务执行系统的结构示意图;
图2a-2b为本申请实施例公开的任务分发系统的结构示意图;
图3为本申请实施例公开的任务分发方法的流程图;
图4为本申请实施例公开的又一任务分发方法的流程图;
图5为本申请实施例公开的又一任务分发方法的流程图;
图6为本申请实施例公开的又一任务分发方法的流程图;
图7为本申请实施例公开的任务分发装置的结构示意图;
图8为本申请实施例公开的任务分发装置中分发单元的一种结构示意图;
图9为本申请实施例公开的任务分发装置中第一确定节点单元的结构示意图;
图10为本申请实施例公开的又一任务分发装置的结构示意图;
图11为本申请实施例公开的任务分发装置中分发单元的另一种结构示意图;
图12为本申请实施例公开的又一任务分发装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请实施例之前首先介绍任务分发系统,以方便本领域技术人员更容易理解本申请实施例的应用场景。
如图2a所示,为任务分发系统的一种实现方式,所示系统包括:总控节点100、与所述总控节点100相连的服务器200、与所述总控节点100相连的多个执行节点300以及与所述总控节点100相连的多个业务线400。
如图2b所示,为任务分发系统的另一种实现方式,所述系统包括:所示系统包括:总控节点100、与所述总控节点100相连的多个执行节点300以及与所述总控节点100相连的多个业务线400。
在图2a和图2b所示,多个执行节点300采用执行节点1、执行节点2……执行节点N表示,N为非零自然数;多个业务线400采用业务线1、业务线2……业务线M表示,M为非零自然数。
其中,总控节点100用于表示接收业务线发送的任务并调度执行机器的总控机器,执行节点300用于表示执行任务的执行机器,业务线即用于产生任务的一系列机器的统称。
每个执行节点300均有执行一定的执行能力,执行节点300的执行能力可以采用执行节点所具有资源数量来表示,即执行节点具有的资源数量较高,则执行节点的执行能力较高,执行节点具有的资源数量较低,则执行节点的执行能力较低。由于每个执行节点均可以执行总控节点分发的任务,所以每个执行节点的资源数量均可以作为总控节点的资源数量,所有执行节点的资源数量之和,即为总控节点的资源数量总和。
为了对各个业务线的任务进行任务隔离、达到各个业务线的任务互不影响的目的,本申请技术人员设想:可以为每个业务线设定一个用于表示该业务线所能使用资源数量的资源组,并可以依据总控节点的资源数量总和,为每个业务线对应的资源组分配一个可以使用的资源数量的最大值,即第一额定资源数量。
在上述资源组和第一额定资源数量的基础上,当判定出一个业务线所占用的资源数量小于第一额定资源数量时,则表示该业务线还可以占用资源,因此执行该业务线发送的任务。当一个业务线所占用的资源数量不小于第一额定资源数量时,表示该业务线已经达到其所能占用的资源数量的上限值,此时不能再执行该业务线发送的任务。
也就是说:本申请利用资源组来对各个业务线的任务进行隔离,并为每个资源组设定一个额定资源数量来限制业务线最多能够占用资源数量,从而避免在一个业务线的任务过多时,总控节点的大部分资源用来处理该业务线的任务,而忽略其它业务线的任务;从而可以实现各个业务线的任务进行任务隔离,达到各个业务线的任务互不影响的目的。
为了按上述思路实现本申请的目的,首先需要执行一些预先处理过程:
(1)量化各个执行节点的资源数量。
可以理解的是,一个执行节点的配置越高,其执行能力越高,对应的资源数量也越高;一个执行节点的配置越低,其执行能力越低,对应的资源数量也越低。因此,可以根据每个执行节点的配置高低,来量化各个执行节点的资源数量。
例如,以三个执行节点为例,第一个执行节点的配置为:CPU48核、内存96G,第二个执行节点的配置为CPU24核、内存48G,第三个执行节点的配置为CPU48核、内存96G。假设将第一执行节点的配置作为标准配置,设定其槽位为100,即其资源数量为100;那么,根据第一个执行节点的配置,衡量第二个执行节点的配置以及第三个执行节点的配置,则可以得到第二个执行节点的槽位为50,即其资源数量为50;第三个执行节点的槽位为100,即其资源数量为100。资源数量可以表示执行节点可以同时处理的任务数量,例如,当资源数量为100时,可以表示该执行节点可以同时执行100个任务。
(2)确定每个业务线对应的资源组第一额定资源数量。
每个业务线的第一额定资源数量,用于表示每个业务线所能够占用的最大资源数量。可以理解的是,每个业务线的第一额定资源数量均不会超过总控节点的资源数量总和。因此,在确定每个业务线的第一额定资源数量之前,首先需要确定总控节点的资源数量总和。
由于与总控节点相连的所有执行节点均具有处理任务的资源数量,所以总控节点的资源数量总和可以为:与总控节点相连的所有执行节点的资源数量之和。例如,延续上述举例,则总控节点的资源数量总和为100+50+100=250个槽位,即总控节点的资源数量为250,即可以允许250个任务同时执行。
在确定总控节点的资源数量总和之后,可以为每个业务线对应的资源组设定一个第一额定资源数量。可以理解的是,可以为每个业务线相同的第一额定资源数量,也可以设定不同的第一额定资源数量。即,可以依据每个业务线的任务数量的多少以及任务的重要程度,来为每个业务线设定不同的第一额定资源数量。
例如,延续上述举例,总控节点的资源数量总和为250。假设与总控节点相连的有三个业务线,第一个业务线较为重要其任务数量也较多,那么则可以为第一个业务线分配100个槽位,即第一额定资源数量为100;第二个业务线和第三个业务线同等重要且两者的业务数量相差不大,因此可以为第二个业务线分配70个槽位,即第一额定资源数量为70;为第三个业务线分配80个槽位,即第一额定资源数量为80。三个业务线的第一额定资源数量之和即为总控节点的资源数量总和。
当然,还可以采用其它分配方式。比如,可以为第一个业务线分配100个槽位,即第一额定资源数量为100;可以为第二个业务线分配80个槽位,即第一额定资源数量为80;为第三个业务线分配80个槽位,即第一额定资源数量为80。三个业务线的第一额定资源数量之和大于总控节点的资源数量总和,即采用超卖策略。该情况将在下述实施例中进行详细说明。
为了实现本申请中任务分发方法,需要存储各个业务线的资源数量。由于本申请提供了两种任务分发系统,所以针对不同的系统,各个业务线的资源数量的存储位置也有所不同:
在图2a所示的系统中,可以在服务器上注册各个业务线的资源数量。即,服务器200,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
在图2b所示的系统中,可以在总控节点上存储各个业务线的资源数量。即,总控节点100,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
在图2a所示的系统中,总控节点仅需要执行本申请后续所提供的软件程序即可。在图2b所示的系统中,总控节点既要执行后续的软件程序,还需要存储各个业务线的资源数量。这对总控节点的要求较高,因此较优的方式为图2a所示的系统。在上述图2a或图2b所示的一种任务分发系统基础上,本申请提供了一种任务分发方法,本方法应用于总控节点。总控节点可以接收各个业务线发送的数据信息,并对数据信息进行处理,以实现任务分发的过程。由于总控节点对每个业务线发送的数据信息的处理过程均是一致的,因此本申请仅以各个业务线中的一个目标业务线为例,进行详细说明,其它业务线的处理过程不再赘述。可以理解的是,其它业务线的处理过程与本申请提供的目标业务线的处理过程一致。
如图3所示,本申请提供一种任务分发方法的实施例一,在本实施例一具体执行之前,需要在总控节点或者服务器上注册各个业务线的资源数量。
在总控节点或者服务器上注册各个业务线的业务线标识对应的资源组,每个资源组维护一个第一可用资源数量;第一可用资源数量用于表示该业务线目前可使用的资源数量。并且,在总控节点或者服务器上还注册有每个资源组的第一额定资源数量,第一额定资源数量用于表示每个业务线的第一可用资源数量的最大值。
例如,延续上述举例,总控节点包括三个业务线分别为第一业务线、第二业务线和第三业务线;第一业务线对应业务线标识1、资源组1以及第一可用资源数量1,其第一额定资源数量为100;第二业务线对应业务线标识2、资源组2以及第一可用资源数量2,其第一额定资源数量为70;第三业务线对应业务线标识3、资源组3以及第一可用资源数量3,其第一额定资源数量为80。参见表1,为注册后总控节点或者服务器的内容示意图。
表1
在一个业务线上不具有执行节点正在执行的任务时,即该业务线不占用资源时,与该业务线对应第一可用资源数量即为该业务线可以使用资源数量的最大值,即第一额定资源数量。当该业务线上具有执行节点正在执行任务时,说明该业务线占用资源;那么,第一可用资源数量则为第一额定资源数量减去已占用的资源数量。因为已占用的资源数量目前正在使用,所以剩余可使用的资源数量为第一额定资源数量减去已占用资源数量后剩余的资源数量。
例如,以第一业务线为例,当第一业务线上不具有执行节点正在执行的任务时,其第一可用资源数量为第一额定资源数量100。当第一业务线上具有执行节点正在执行的任务时,说明该任务已占用一部分资源数量,假设为20个资源数量;那么,目前第一业务线的第一可用资源数量为80。
在表1所示的总控节点或者服务器基础上,本实施例一具体包括以下步骤:
步骤S301:接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量。
总控节点可以接收目标业务线发送的目标数据信息,目标数据信息包含目标任务,目标任务即为待分发至执行节点的任务;目标所需资源数量为执行节点处理目标任务所需使用的资源数量;目标业务线标识为发送目标任务的目标业务线的标识。
步骤S302:获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应的一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
从表1中可以看出,总控节点或者服务器中存储有各个业务线目前可以使用的第一可用资源数量,每个业务线的第一可用资源数量与该业务线标识一一对应。利用步骤S301中获得的目标业务线标识,在总控节点或者服务器上进行搜索,并获得与目标业务线标识对应的目标第一可用资源数量。该目标第一可用资源数量用于表示目标业务线目前可以使用的资源数量。
步骤S303:判断所述目标第一可用资源数量是否小于所述目标所需资源数量,若否,则进入步骤S304;否则进入步骤S305。
在步骤S301中可以得知处理目标任务所需要使用的目标所需资源数量,在步骤S302中可以得知目标业务线所剩余可使用的目标第一可用资源数量;可以理解的是,只有在目标第一可用资源数量不小于目标所需资源数量,目标业务线才能够有足够资源去处理目标任务。因此,本步骤判断目标第一可用资源数量是否小于目标所需资源数量,若小于,则进入步骤S305,若不小于则进入步骤S304。
步骤S304:若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
若目标第一可用资源数量不小于所述目标所需资源数量,则说明目标业务线具有足够的资源数量来处理目标任务,因此可以为目标业务线分配资源,以便执行目标业务线的目标任务。然后,总控节点可以将目标任务分发至与之相连的执行节点,以便执行节点执行目标任务。
步骤S305:将所述目标任务存储至执行队列中,进入步骤S303。
若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
若目标第一可用资源数量小于所述目标所需资源数量,则说明目标业务线不具有足够的资源数量来处理目标任务,若继续为目标业务线分配资源,则会影响其它业务线的执行。因此,将目标任务存储至总控节点的执行队列中,等待目标业务线具有足够的资源数量。即目标任务需要等待目标第一可用资源数量不小于所述目标所需资源数量,然后才可以向执行节点分发目标任务。
在分发目标任务至执行节点之后,则总控节点会更新总控节点或者服务器上的资源数量。
具体的为:在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量减去所述目标所需资源数量。在所述目标任务执行完成之后,在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量增加所述目标所需资源数量。
在分发目标任务之后则为目标业务线为分配资源,所以,需要将目标第一可用资源数量减少相应的资源数量;在目标执行节点的目标任务执行完成之后,则会释放目标所需资源数量的资源,因此可以目标第一可用资源数量增加相应的资源数量。
由于在实际应用中,会同时有多个更新资源数量的指令,那么,为了保证更新资源的过程中不出现差错,需要利用分布式锁。例如,一个指令更新A的资源数量的过程中,需要将A锁住,使得其它指令不能够同时更新A的资源数量,以免多个指令汇合在一起,出现A的资源数量错乱的情况。
因此,需要总控节点或者服务器具有分布式锁功能,因此需要总控节点或者服务器上还设有分布式锁的软件程序,以实现多个执行节点同时更新同一的情况。
而现有技术中的分布式应用程序协调服务ZooKeeper便可以提供分布式锁服务,ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,因此利用ZooKeeper可以轻松完成多个指令更新同一参数的资源数量的过程,本申请中的服务器可以采用ZooKeeper来实现。
由本申请提供的实施例一,可以看出本申请具有以下有益效果:
本申请为每个业务线设置一个资源组,并为每个资源组设定一个第一额定资源数量,该第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;即本申请利用资源组来对各个业务线的任务进行隔离,利用第一额定资源数量来限制一个业务线最多能够占用资源数量。总控节点仅在一个业务线对应资源组的第一可用资源数量不小于所需资源数量时,才执行业务线发送的任务。在一个业务线对应资源组的第一可用资源数量小于所需资源数量,说明该业务线所占用的资源数量已经或者临近达到额定资源数量,此时不再为该业务线分配额外的资源,从而避免该业务线占用过多的资源。
即本申请利用资源组来对各个业务线的任务进行隔离,并为每个资源组设定一个额定资源数量来限制业务线最多能够占用资源数量,从而避免在一个业务线的任务过多时,总控节点的大部分资源用来处理该业务线的任务,而忽略其它业务线的任务;从而可以实现各个业务线的任务进行任务隔离,达到各个业务线的任务互不影响的目的。
在上述步骤S304向与所述总控节点相连的执行节点分发所述目标任务中,由于不清楚各个执行节点的资源数量情况,所以可能会产生将目标任务分发至已经不具有资源数量的执行节点,而其它执行节点具有资源数量,这会导致目标任务无法较快的执行,因此这会降低目标任务的处理效率。
为此,本申请提供一种任务分发方法的实施例二,在本实施例二具体执行之前,需要在总控节点或者服务器上注册各个业务线的资源数量以及各个执行节点的资源数量。
本申请在表1所示的总控节点或者服务器内容的基础上,增加了与每个执行节点标识对应的第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值。
每个执行节点均有一个执行节点标识,该执行节点标识对应一个第二可用资源数量。该第二可用资源数量用于表示该执行节点目前可以使用的资源数量,并且,该第二可用资源数量的最大值为第二额定资源数量。该一个执行节点未处理任务时,该执行节点的第二可用资源数量即为第二额定资源数量,在执行节点处理任务之后,该执行节点的第二可用资源数量即为第二额定资源数量减去已使用的资源数量。
例如,以总控节点相连的三个执行节点为例,第一执行节点的槽位数量为100,其标识为执行节点标识1。那么,在总控节点或者服务器上存储有与执行节点标识1对应的第二可用资源数量1,并且,该执行节点标识1的第二额定资源数量为100。在执行节点1未处理任务时,第二可用资源数量为100;假设执行节点1处理任务,占用的资源数量为30,则执行节点剩余的第二可用资源数量为70。同理,第二执行节点对应的标识为执行节点标识2、第二可用资源数量2和第二额定资源数量为50;第三执行节点对应的标识为执行节点标识3、第二可用资源数量3和第二额定资源数量为100。
参见表2,为注册后总控节点或者服务器的内容示意图。
在表1所示的总控节点或者服务器基础上,如图4所示,本实施例二具体包括以下步骤:
步骤S401:接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量。
步骤S402:获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应的一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
步骤S403:判断所述目标第一可用资源数量是否小于所述目标所需资源数量,若否,则进入步骤S404;否则执行步骤S407之后,再进入步骤S403。
若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
步骤S401、S402和S403与实施例一种S301、S302和S303一致,在此不再赘述。
步骤S404:判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;每个执行节点标识对应一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值。如存在,则进入步骤S402,否则进入步骤S407再进入步骤S404。
若目标第一可用资源数量不小于所述目标所需资源数量,则说明目标业务线具有足够的资源数量来处理目标任务,因此可以为目标业务线分配资源,以便执行目标业务线的目标任务。然后,总控节点可以将目标任务分发至与之相连的执行节点,以便执行节点执行目标任务。
由于与总控节点相连的各个执行节点的第二可用资源数量不同,有的执行节点可能已无第二可用资源数量,有的执行节点可能具有足够的第二可用资源数量。可以理解的是,只有第二可用资源数量不小于目标所需资源数量的执行节点,才能够及时处理目标任务。
因此,本申请在总控节点或者服务器中判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;如果存在,则进入步骤S405;否则执行步骤S407后再进入步骤S404。
即若不存在所述一个或多个执行节点标识,将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识的第二可用资源数量不小于所述目标所需资源数量。
步骤S405:若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
若存在所述一个或多个执行节点标识的第二可用资源数量不小于所述目标所需资源数量,则说明该一个或多个执行节点标识均具备足够的资源数量处理目标任务;因此在该一个或多个执行节点标识中随机选择一个执行节点标识确定为目标执行节点标识。
步骤S406:向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。在确定目标第一可用资源数量不小于所述目标所需资源数量的情况下,即目标业务线具有足够的资源数量的情况下,总控节点可以将目标任务分发至与之相连的执行节点,以便执行节点执行目标任务。
步骤S407:将所述目标任务存储至执行队列中。
在将目标任务分配至目标执行节点之后,则总控节点会更新总控节点或者服务器上的资源数量。具体的为:在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量。
由于为目标业务线为分配资源,所以,需要将目标第一可用资源数量减少相应的资源数量;由于为目标执行节点执行目标任务,所以,目标执行节点的目标第一可用资源数量减去相应的资源数量。
可以理解的是,在所述目标执行节点将所述目标任务执行完成之后,在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
在目标执行节点的目标任务执行完成之后,则可以释放目标所需资源数量的资源,因此可以为将目标第一可用资源数量增加相应的资源数量,为目标执行节点的目标第一可用资源数量增加相应的资源数量。
在图4所示的实施例中,由于没有盲目将目标任务分发至执行节点中,而是选择具有足够资源数量的目标执行节点处理目标任务,由于目标任务可以被目标执行节点立即处理,而无需等待执行节点有足够资源数量,因此可以提高目标任务的处理效率。
图3以及图4所示的实例均站在执行节点为一个类型机器的基础上执行的,即在总控节点相连的任一执行节点均可以执行业务线发送的任务。但是,在一些情况下,业务线分为不同类型,与总控节点相连的所有执行节点也分为不同类型,一个类型业务线的任务必须由相同类型的执行节点进行处理。但是,利用上述图3及图4所示的实施例无法实现按业务线类型和执行节点类型分发任务的目的。
为了实现按业务线类型和执行节点类型分发任务的目的,在表1所示的总控节点或者服务器的基础上,增加与每个类型的执行节点集合一一对应的集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群对应使用对应类型的执行节点集合的一个或多个业务线的业务线标识。即一个集群中的执行节点的类型,与业务线的类型是一致的。
为此,本申请提供一种任务分发方法的实施例三,在本实施例三具体执行之前,需要在总控节点或者服务器上注册各个业务线的资源数量、业务线对应的集群、集群包含的执行节点。
例如,以与总控节点相连的有三个执行节点为例,三个执行节点具有两个类型:A类型和B类型。A类型对应执行节点集合A,执行节点集合A包括第一执行节点(执行节点标识1),并且,必须使用执行节点集合A的为第一业务线(业务线标识1);B类型对应执行节点集合B,执行节点集合B包括第二执行节点(执行节点标识2)和第三执行节点(执行节点标识3);并且,必须使用执行节点集合B的为第二业务线(业务线标识2)和第三业务线(业务线标识3)。参见表3,为注册后总控节点或者服务器的内容示意图。
表3
从表3中可以看出,集群A的总资源数量即为执行节点标识1的第二额定资源数量100,集群B的总资源数量为150,即为执行节点标识2的第二额定资源数量50与执行节点标识3的第二额定资源数量100的和值。集群A对应业务线标识1的资源组1,其资源组1的第一额定资源数量为100,集群B对应业务线标识2的资源组2,其资源组2的第一额定资源数量为70,集群B还对应业务线标识3的资源组3,其资源组3的第一额定资源数量为80,资源组2的第一额定资源数量与资源组3的第一额定资源数量的和值,等于集群B的总资源数量。
上述为资源组的第一额定资源数量的一种分配情况,下面介绍资源组第一额定资源数量另一分配情况。参见表4,为注册后总控节点或者服务器的内容示意图。
表4与表3的区别仅在于,资源组2的第一额定资源数量由70改为80,这导致集群B的总资源数量150存在超卖现象,即资源组2和资源组3的第一额定资源总和大于集群B的总资源数量。表3和表4仅以具体实例表示与总控节点相连的所有执行节点的情况。
在表3或表4所示的总控节点或者服务器基础上,如图5所示,本实施例三具体包括以下步骤:
步骤S501:接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量。
步骤S502:获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应的一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
步骤S503:判断所述目标第一可用资源数量是否小于所述目标所需资源数量,若否,则进入步骤S504;否则执行步骤S507之后,再进入步骤S503。
步骤S504:确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群对应使用对应类型的执行节点集合的一个或多个业务线的业务线标识。
在获得目标业务线标识之后,在总控节点或者服务器中查找与目标业务线标识对应的目标集群,目标集群包括的执行节点标识与目标业务线是一个类型的。因此,在目标集群中的执行节点均可以满足处理目标任务的条件。
步骤S505:将所述目标集群中的一个执行节点标识,确定为目标执行节点标识。
在目标集群中随机选择一个执行节点标识,确定为目标执行节点标识。该目标执行节点标识对应的执行节点必然与目标业务线的类型是一致的,因此可以将目标执行节点标识对应的目标执行节点作为处理目标任务的执行节点。
步骤S506:向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
步骤S507:将所述目标任务存储至执行队列中。
若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
在分发目标任务至执行节点之后,则总控节点会更新总控节点或者服务器上的资源数量。
具体的为:在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量减去所述目标所需资源数量。在所述目标任务执行完成之后,在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量增加所述目标所需资源数量。
在分发目标任务之后则为目标业务线为分配资源,所以,需要将目标第一可用资源数量减少相应的资源数量;在目标执行节点的目标任务执行完成之后,则会释放目标所需资源数量的资源,因此可以目标第一可用资源数量增加相应的资源数量。在图5所示的实施例中,在总控节点或者服务器上为每个类型的业务线以及各个类型的执行节点设置一个集群,从而对每个类型的业务线以及各个类型的执行节点进行物理隔离,使得同一类型的业务线仅能够在同一类型的执行节点中进行任务分发,从而实现按类型分发任务的目的。
在图5所示的实施例中,在步骤S505将所述目标集群中的一个执行节点标识,确定为目标执行节点标识中,同样会面临由于不清楚各个执行节点的资源数量情况,所以可能会产生将目标任务分发至已经不具有资源数量的执行节点的问题;这会导致目标任务无法较快的执行,因此这会降低目标任务的处理效率。
为此,在图表3或表4所示的总控节点或者服务器,增加与每个执行节点标识对应的第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和。参见表5和表6为,为为注册后总控节点或者服务器的内容示意图。
表5
表6
在表5或表6所示的总控节点或者服务器基础上,如图6所示,图5所示实施例中步骤S505具体包括:
步骤S601:判断所述目标集群的总可用资源数量不小于所述目标所需资源数量,若是,则进入步骤S602,否则进入步骤S604,再返回步骤S601。
其中,确定所述目标集群的总可用资源数量不小于所述目标所需资源数量,可以分为两种情况:
第一种情况:在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
即在表5对应的情况下,以集群B为例,资源组2的第一额定资源数量和资源组3的第一额定资源数量总和(70+80=150)等于集群B的总资源数量(50+100=150),即不存在超卖现象。因此,在步骤S503中判定与所述目标业务线标识对应的目标第一可用资源数量不小于所述目标所需资源数量时,即目标资源组具有足够资源数量的情况下,可以直接确定与目标业务线对应的集群中也同样存在足够的资源数量。
第二种情况:在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
即在表6对应的情况下存在超卖现象,在步骤S503中确定目标资源组具有足够资源数量的情况下,集群中不一定存在足够的资源数量。因此,需要判断一下集群中是否存在具有足够资源数量,即判断目标集群的总资源数量是否不小于目标所需资源数量。
若目标集群的总资源数量是否大于目标所需资源数量,则确定目标集群不具有足够的资源数量,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
步骤S602:在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识。若是则进入步骤S603,否则进入步骤S604之后,则返回步骤S602。
若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
步骤S603:若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
步骤S604:将所述目标任务存储至执行队列中。
在将目标任务分发至目标执行节点之后,还包括更新总控节点或者服务器中资源数量的步骤。
具体的为:在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量。
由于为目标业务线为分配资源,所以,需要将目标第一可用资源数量减少相应的资源数量;由于为目标执行节点执行目标任务,所以,目标执行节点的目标第一可用资源数量减去相应的资源数量。
可以理解的是,在所述目标执行节点将所述目标任务执行完成之后,在总控节点或者服务器上,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
在目标执行节点的目标任务执行完成之后,则可以释放目标所需资源数量的资源,因此可以为将目标第一可用资源数量增加相应的资源数量,为目标执行节点的目标第一可用资源数量增加相应的资源数量。
在图6所示的实施例中,既可以实现业务线的任务隔离的目的,实现按业务线类型分发任务的目的,实现按执行节点的剩余资源数量情况分发任务的目的,因此在图6所示的实施例中可以实现目前对任务分发的大部分需求,从而可以提高任务的分发效率。
如图7所示,本申请提供了一种任务分发装置,包括:
接收单元71,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量。
获取单元72,用于获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应的一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
判断单元73,用于判断所述目标第一可用资源数量是否小于所述目标所需资源数量。
分发单元74,用于若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
此外,所述任务分发装置还包括:
所述第一存储单元75,用于若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
如图8所示,所述分发单元73,包括:
确定集群单元81,用于确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群与使用对应类型的执行节点集合的一个或多个业务线的业务线标识对应。
第一确定节点单元82,用于将所述目标集群中的一个执行节点标识,确定为目标执行节点标识。
分发任务单元83,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
所述总控节点或服务器还存储有:与每个执行节点标识对应的第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和;如图9所示,所述第一确定节点单元82,包括:
第一确定数量单元91,用于确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
第一判断单元92,用于在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识。
第二确定节点单元93,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
第二存储单元94,用于若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
其中,所述第一确定数量单元91,包括:
第二确定数量单元911,用于在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;或者,
第三确定数量单元912,用于在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
第三存储单元,用于若在确定所述目标集群的总可用资源数量小于所述目标所需资源数量的情况下,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
如10所示,所述任务分发装置还包括:
第一减少单元101,用于将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第一增加单元102,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
如图11所示,所述分发单元73,包括:
第二判断单元111,用于判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;每个执行节点标识对应一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值;
第三确定节点单元112,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识;
第二分发任务单元113,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
此外,如图12所示,所述任务分发装置,还包括:
第二减小单元121,用于将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第二增加单元122,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
参见图2a,本申请提供了一种任务分发系统,所述系统包括:
总控节点100、与所述总控节点100相连的服务器200、与所述总控节点100相连的多个执行节点300以及与所述总控节点100相连的多个业务线400。其中,多个执行节点300采用执行节点1、执行节点2……执行节点N表示,N为非零自然数;多个业务线400采用业务线1、业务线2……业务线M表示,M为非零自然数。多个业务线中任一业务线为目标业务线。
其中,目标业务线400,用于向所述总控节点发送目标数据信息;
所述服务器200,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值。
所述总控节点100,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应的一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
参见图2b所示,本申请还提供了一种任务分发系统,所述系统包括:
总控节点100、与所述总控节点100相连的多个执行节点300以及与所述总控节点100相连的多个业务线400。其中,多个执行节点300采用执行节点1、执行节点2……执行节点N表示,N为非零自然数;多个业务线400采用业务线1、业务线2……业务线M表示,M为非零自然数。多个业务线中任一业务线为目标业务线。
其中,目标业务线400,用于向所述总控节点发送目标数据信息;
所述总控节点100,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;并且,还用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;在与总控节点相连的服务器中,获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (22)
1.一种任务分发方法,其特征在于,包括:
接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;
获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与总控节点相连的执行节点分发所述目标任务;
其中,在同时有多个更新资源数量的指令时,利用分布式锁逐个更新资源数量。
2.如权利要求1所述的方法,其特征在于,还包括:
若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
3.如权利要求1所述的方法,其特征在于,所述向与所述总控节点相连的执行节点分发所述目标任务,包括:
确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群与使用对应类型的执行节点集合的一个或多个业务线的业务线标识对应;
将所述目标集群中的一个执行节点标识,确定为目标执行节点标识;
向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
4.如权利要求3所述的方法,其特征在于,每个执行节点标识对应一个第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和;则所述将所述目标集群中的一个执行节点标识,确定为目标执行节点标识,包括:
在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;
若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
5.如权利要求4所述的方法,其特征在于,还包括:
若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
6.如权利要求4所述的方法,其特征在于,目标集群的总可用资源数量不小于所述目标所需资源数量的确定过程,包括:
在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;或者,
在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
7.如权利要求4所述的方法,其特征在于,还包括:
若在确定所述目标集群的总可用资源数量小于所述目标所需资源数量的情况下,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
8.如权利要求4-7任一项项所述的方法,其特征在于,在向与所述总控节点相连的执行节点分发所述目标任务之后,还包括:
将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
在所述目标执行节点将所述目标任务执行完成之后,将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
9.如权利要求1所述的方法,其特征在于,所述向与所述总控节点相连的执行节点分发所述目标任务,包括:
判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;其中,每个执行节点标识对应一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值;
若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为目标执行节点标识;
向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
10.如权利要求9所述的方法,其特征在于,在向与所述总控节点相连的执行节点分发所述目标任务之后,还包括:
将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
在所述目标执行节点将所述目标任务执行完成之后,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
11.一种任务分发装置,其特征在于,包括:
接收单元,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;
获取单元,用于获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;其中,每个业务线对应一个业务线标识,每个业务线标识对应一个资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
分发单元,用于若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与总控节点相连的执行节点分发所述目标任务;
其中,在同时有多个更新资源数量的指令时,利用分布式锁逐个更新资源数量。
12.如权利要求11所述的装置,其特征在于,还包括:
第一存储单元,用于若所述目标第一可用资源数量小于所述目标所需资源数量,则将所述目标任务存储至执行队列中,直到所述目标第一可用资源数量不小于所述目标所需资源数量。
13.如权利要求11所述的装置,其特征在于,所述分发单元,包括:
确定集群单元,用于确定与所述目标业务线标识对应的目标集群;其中,在与所述总控节点相连的所有执行节点为多个类型的执行节点集合的情况下,每个类型的执行节点集合对应一个集群,每个集群包括与自身对应的执行节点集合中各个执行节点的执行节点标识;每个集群与使用对应类型的执行节点集合的一个或多个业务线的业务线标识对应;
第一确定节点单元,用于将所述目标集群中的一个执行节点标识,确定为目标执行节点标识;
分发任务单元,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
14.如权利要求13所述的装置,其特征在于,每个执行节点标识对应一个第二可用资源数量,每个集群的总可用资源数量为其包含的各个执行节点标识的第二可用资源数量的总和;则所述第一确定节点单元,包括:
第一确定数量单元,用于确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;
第一判断单元,用于在确定所述目标集群的总可用资源数量不小于所述目标所需资源数量的情况下,判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;
第二确定节点单元,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为所述目标执行节点标识。
15.如权利要求14所述的装置,其特征在于,还包括:
第二存储单元,用于若不存在所述一个或多个执行节点标识,则将所述目标任务存储至执行队列中,直到存在所述一个或多个执行节点标识。
16.如权利要求14所述的装置,其特征在于,所述第一确定数量单元,包括:
第二确定数量单元,用于在所述目标集群的总可用资源数量大于或等于所述目标集群对应的各个资源组的第一额定资源数量之和的情况下,则可确定所述目标集群的总可用资源数量不小于所述目标所需资源数量;或者,
第三确定数量单元,用于在所述目标集群的总可用资源数量小于所述目标集群中各个业务线的第一额定资源数量之和的情况下,判断所述目标集群的总可用资源数量是否不小于所述目标所需资源数量,若是,则确定所述总可用资源数量不小于所述目标所需资源数量。
17.如权利要求14所述的装置,其特征在于,还包括:
第三存储单元,用于若在确定所述目标集群的总可用资源数量小于所述目标所需资源数量的情况下,则将所述目标任务存储至执行队列中,直到确定所述目标集群的总可用资源数量不小于所述目标所需资源数量。
18.如权利要求14-17任一项项所述的装置,其特征在于,还包括:
第一减少单元,用于将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第一增加单元,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标集群的总可用资源数量、所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
19.如权利要求11所述的装置,其特征在于,所述分发单元,包括:
第二判断单元,用于判断是否存在第二可用资源数量不小于所述目标所需资源数量的一个或多个执行节点标识;其中,每个执行节点标识对应的一个第二可用资源数量,并且每个执行节点的第二可用资源数量均有第二额定资源数量,每个第二额定资源数量用于表示执行节点所能同时使用资源数量的上限值;
第三确定节点单元,用于若存在所述一个或多个执行节点标识,则将所述一个或多个执行节点标识中的一个执行节点标识,确定为目标执行节点标识;
第二分发任务单元,用于向与所述目标执行节点标识对应的目标执行节点,分发所述目标任务。
20.如权利要求19所述的装置,其特征在于,还包括:
第二减小单元,用于将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均减去所述目标所需资源数量;
第二增加单元,用于在所述目标执行节点将所述目标任务执行完成之后,将所述目标资源组的目标第一可用资源数量,以及所述目标执行节点的第二可用资源数量均增加所述目标所需资源数量。
21.一种任务分发系统,其特征在于,包括:
总控节点、与所述总控节点相连的服务器、与所述总控节点相连的多个执行节点以及与所述总控节点相连的多个业务线;多个业务线中的一个业务线为目标业务线;
其中,目标业务线,用于向所述总控节点发送目标数据信息;
所述服务器,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;
所述总控节点,用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;在与总控节点相连的服务器中,获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务;
其中,在同时有多个更新资源数量的指令时,利用分布式锁逐个更新资源数量。
22.一种任务分发系统,其特征在于,包括:
总控节点、与所述总控节点相连的多个执行节点以及与所述总控节点相连的多个业务线;多个业务线中的一个业务线为目标业务线;
其中,目标业务线,用于向所述总控节点发送目标数据信息;
所述总控节点,用于存储与各个业务线对应的各个业务线标识,以及与每个业务线标识对应的资源组,每个资源组包括一个业务线目前可使用的第一可用资源数量,并且,每个资源组的第一可用资源数量均有一个第一额定资源数量,每个第一额定资源数量用于表示业务线所能同时使用资源数量的上限值;并且,还用于接收一个目标业务线发送的目标数据信息;其中,所述目标数据信息包括目标任务、目标所需资源数量以及目标业务线标识,所述目标所需资源数量为处理所述目标任务所需使用的资源数量;获取与所述目标业务线标识对应的目标资源组中的目标第一可用资源数量;若所述目标第一可用资源数量不小于所述目标所需资源数量,则向与所述总控节点相连的执行节点分发所述目标任务;
其中,在同时有多个更新资源数量的指令时,利用分布式锁逐个更新资源数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510628406.9A CN106557366B (zh) | 2015-09-28 | 2015-09-28 | 任务分发方法、装置及系统 |
PCT/CN2016/099289 WO2017054650A1 (zh) | 2015-09-28 | 2016-09-19 | 任务分发方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510628406.9A CN106557366B (zh) | 2015-09-28 | 2015-09-28 | 任务分发方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106557366A CN106557366A (zh) | 2017-04-05 |
CN106557366B true CN106557366B (zh) | 2020-09-08 |
Family
ID=58416624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510628406.9A Active CN106557366B (zh) | 2015-09-28 | 2015-09-28 | 任务分发方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106557366B (zh) |
WO (1) | WO2017054650A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193650B (zh) * | 2017-04-17 | 2021-01-19 | 北京奇虎科技有限公司 | 一种在分布式集群中调度显卡资源的方法和装置 |
CN108965362B (zh) * | 2017-05-19 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、服务器及存储介质 |
CN108287694B (zh) * | 2017-08-08 | 2021-01-19 | 深圳壹账通智能科技有限公司 | 应用程序构建方法、系统、计算机设备和存储介质 |
CN108363615B (zh) | 2017-09-18 | 2019-05-14 | 清华大学 | 用于可重构处理系统的任务分配方法和系统 |
CN110968410B (zh) * | 2019-11-29 | 2023-08-08 | 深圳前海环融联易信息科技服务有限公司 | 任务失败重试方法、装置、计算机设备及存储介质 |
CN111432497B (zh) * | 2020-03-30 | 2022-11-01 | 京信网络系统股份有限公司 | 资源分配方法、装置、计算机设备和存储介质 |
CN113806097B (zh) * | 2021-09-29 | 2024-08-09 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
CN102387173A (zh) * | 2010-09-01 | 2012-03-21 | 中国移动通信集团公司 | 一种MapReduce系统及其调度任务的方法和装置 |
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
CN103810045A (zh) * | 2012-11-09 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 资源分配方法、资源管理器、资源服务器及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567086B (zh) * | 2010-12-30 | 2014-05-07 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
US9529626B2 (en) * | 2012-09-12 | 2016-12-27 | Salesforce.Com, Inc. | Facilitating equitable distribution of thread resources for job types associated with tenants in a multi-tenant on-demand services environment |
US9274826B2 (en) * | 2012-12-28 | 2016-03-01 | Futurewei Technologies, Inc. | Methods for task scheduling through locking and unlocking an ingress queue and a task queue |
CN103699443B (zh) * | 2013-12-16 | 2017-06-23 | 北京神州绿盟信息安全科技股份有限公司 | 任务分发方法及扫描器 |
-
2015
- 2015-09-28 CN CN201510628406.9A patent/CN106557366B/zh active Active
-
2016
- 2016-09-19 WO PCT/CN2016/099289 patent/WO2017054650A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
CN102387173A (zh) * | 2010-09-01 | 2012-03-21 | 中国移动通信集团公司 | 一种MapReduce系统及其调度任务的方法和装置 |
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
CN103810045A (zh) * | 2012-11-09 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 资源分配方法、资源管理器、资源服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017054650A1 (zh) | 2017-04-06 |
CN106557366A (zh) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557366B (zh) | 任务分发方法、装置及系统 | |
CN113204428B (zh) | 资源调度方法、装置、电子设备以及计算机可读存储介质 | |
CN110098946B (zh) | 虚拟化网元设备的部署方法以及装置 | |
CN111694649A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN106712981B (zh) | 一种节点变更通知方法及装置 | |
CN106844397B (zh) | 基于分库分表的任务传输方法、装置及系统 | |
CN111966500A (zh) | 资源调度方法、装置、电子设备及存储介质 | |
US10846069B2 (en) | Method of distributed graph loading for minimal communication and good balance via lazy materialization and directory indirection using indexed tabular representation | |
CN108616424B (zh) | 一种资源调度方法、计算机设备和系统 | |
CN102025550A (zh) | 一种分布式集群中数据管理的系统和方法 | |
EP4002115A1 (en) | Resource allocation method and resource offloading method | |
CN111324435A (zh) | 分布式任务调度及注册方法、设备和分布式任务调度系统 | |
US10761869B2 (en) | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type | |
CN105874426B (zh) | 一种系统调用命令的批处理方法及装置 | |
CN110868435B (zh) | 一种裸金属服务器调度方法、装置及存储介质 | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
US20150301845A1 (en) | Method And System For Closing Application | |
CN105893497A (zh) | 一种任务处理方法和装置 | |
CN106131244A (zh) | 一种报文传送方法及装置 | |
CN109299148A (zh) | 数据查询方法及服务器 | |
CN108400999B (zh) | 一种数据库集群镜像节点的负载均衡方法及装置 | |
US20140047454A1 (en) | Load balancing in an sap system | |
CN109426561A (zh) | 一种任务处理方法、装置及设备 | |
CN109002332B (zh) | 一种进程启动、配置方法及装置、系统 | |
CN112596884B (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 |