CN104580396A - 一种任务调度方法、节点及系统 - Google Patents
一种任务调度方法、节点及系统 Download PDFInfo
- Publication number
- CN104580396A CN104580396A CN201410805088.4A CN201410805088A CN104580396A CN 104580396 A CN104580396 A CN 104580396A CN 201410805088 A CN201410805088 A CN 201410805088A CN 104580396 A CN104580396 A CN 104580396A
- Authority
- CN
- China
- Prior art keywords
- subtask
- task
- token
- node
- buffering area
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种任务调度方法、节点及系统,涉及通信领域,能够获得较高的总体系统资源利用率。具体方案为:任务执行节点接收第一服务器节点发送的至少一个子任务,并将至少一个子任务存储在子任务缓冲区中;其中,至少一个子任务是由第一服务器节点对待执行任务进行分解得到的;任务执行节点获取与待执行任务对应的令牌桶内的令牌数;任务执行节点根据令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理。本发明用于任务调度的过程中。
Description
技术领域
本发明涉及通信领域,尤其涉及一种任务调度方法、节点及系统。
背景技术
随着数字化时代的到来,每天产生的数据量呈现加速度增长势态,为了能够实现对大量数据的快速处理,分布式计算应运而生。众所周知,在包含有多个计算节点的分布式计算系统中,由于任务(待处理数据)与资源(主要体现为计算节点的处理能力)存在双重不确定性,因此,为了能够获得更大的任务处理吞吐量和更低的任务处理时延,为任务分配合理的资源,即任务调度显得尤为重要。
现有技术中可以通过一种分布式计算环境下的资源管理框架,即YARN(第二代的MapReduce框架,其中,MapReduce是一种大规模分布式集群上的任务调度框架)来实现任务调度的。其中,YARN的核心组件资源管理器首先将集群内所有节点的内存、磁盘、输入输出(Input Output,IO)及网络带宽看作一个资源的组合,并预先估计任务模型,根据估计出的任务模型将这些资源静态分配给各任务,然后,当资源管理器接收到客户端(Client)提交的某任务之后,可以将该任务分配给对应的资源,以便对该任务进行处理。并且,在对该任务进行处理的过程中,需实时监控该任务的实际资源占用情况,若该任务对资源的占用超过预先分配的资源,则直接终止对该任务的处理。例如,预先为某任务分配了100M内存,在对该任务进行处理的过程中,需对该任务的实际内存占用情况进行实时的监控,若该任务实际占用的内存超过100M,则终止对该任务的处理。
现有技术中至少存在如下问题:在通过将集群资源静态分配给各任务来实现任务调度时,在任务类型多样,且彼此粒度差异较大的情况下,由于根据估计的任务模型进行资源分配时,很难实现预先分配的资源和任务所需资源的匹配,即使根据任务的实际资源占用情况确定是否继续对该任务进行处理,也会出现资源不足或资源浪费的情况,从而会很难获得较高的总体系统资源利用率。
发明内容
本发明提供一种任务调度方法、节点及系统,能够获得较高的总体系统资源利用率。
为达到上述目的,本发明采用如下技术方案:
本发明的第一方面,提供一种任务调度方法,包括:
任务执行节点接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;
所述任务执行节点获取与所述待执行任务对应的令牌桶内的令牌数;
所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理。
结合第一方面,在第一种可能的实现方式中,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:
所述任务执行节点从所述令牌桶中减去与处理的所述子任务相等数量的令牌。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:
所述任务执行节点向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,在所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,还包括:
所述任务执行节点获取所述待执行任务的令牌流入速率变化量;
所述任务执行节点根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述任务执行节点获取所述待执行任务的令牌流入速率变化量,包括:
所述任务执行节点获取所述待执行任务当前时刻对系统资源的实际占用量;
所述任务执行节点根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
本发明的第二方面,提供一种任务调度方法,包括:
第一服务器节点接收第二服务器节点下发的待执行任务;
所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点。
结合第二方面,在第一种可能的实现方式中,
所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息,包括:
所述第一服务器节点获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,包括:
所述第一服务器节点对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
所述第一服务器节点对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点,包括:
针对所述至少一个任务执行节点中的每个任务执行节点,所述第一服务器节点根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。
本发明的第三方面,提供一种任务调度方法,包括:
第二服务器节点接收客户端发送的待执行任务;
所述第二服务器节点确定所有正在执行的待执行任务的数量小于数量阈值;
所述第二服务器节点向第一服务器节点下发所述待执行任务。
结合第三方面,在第一种可能的实现方式中,在所述第二服务器节点向第一服务器节点下发所述待执行任务之前,还包括:
所述第二服务器节点确定所述待执行任务满足预定条件。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
本发明的第四方面,提供一种任务执行节点,包括:任务接收器、子任务调节阀、执行引擎;
所述任务接收器,用于接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;
所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎;
所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
结合第四方面,在第一种可能的实现方式中,
所述子任务调节阀,还用于在所述根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎之后,从所述令牌桶中减去与下发的所述子任务相等数量的令牌。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:负反馈控制器;
所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
结合第四方面或第四方面的第一种可能的实现方式,在第三种可能的实现方式中,
所述执行引擎,还用于在对所述子任务调节阀下发的所述子任务进行处理之后,向所述子任务调节阀发送用于通知对所述子任务的处理已完成的通知消息;
所述子任务调节阀,还用于接收所述通知消息,并根据所述通知消息向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
结合第四方面的第二种可能的实现方式,在第四种可能的实现方式中,
所述负反馈控制器,还在所述根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,获取所述待执行任务的令牌流入速率变化量,并根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,所述负反馈控制器,具体用于:
获取所述待执行任务当前时刻对系统资源的实际占用量;
根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
结合第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
本发明的第五方面,提供一种第一服务器节点,包括:任务分解器和任务分配器;
所述任务分解器,用于接收第二服务器节点下发的待执行任务,根据所述任务分配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至任务执行节点。
结合第五方面,在第一种可能的实现方式中,
所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述任务分配器,具体用于:
获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;
对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
将所述待执行任务对应的所有子任务缓冲区的还需的子任务数量上报至所述任务分解器;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务;
所述任务分解器,具体用于:
根据所述任务分配器上报的所述待执行任务对应的所有子任务缓冲区的还需的子任务数量,对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务。
本发明的第六方面,提供一种第二服务器节点,包括:任务准入控制器;
所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向第一服务器节点下发所述待执行任务。
结合第六方面,在第一种可能的实现方式中,
所述任务准入控制器,还用于在所述向第一服务器节点下发所述待执行任务之前,确定所述待执行任务满足预定条件。
结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
本发明的第七方面,提供一种任务调度系统,包括:任务准入控制器、任务分解器、任务分配器、任务接收器、子任务调节阀和执行引擎;
所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向所述任务分解器下发所述待执行任务;
所述任务分解器,用于接收所述任务准入控制器下发的所述待执行任务,并根据所述任务分配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至所述任务接收器;
所述任务接收器,用于接收所述任务分配器发送的所述至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;
所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎;
所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
结合第七方面,在第一种可能的实现方式中,
所述任务准入控制器设置在第二服务器节点上;
所述任务分解器和所述任务分配器设置在第一服务器节点上;
所述任务接收器、所述子任务调节阀和所述执行引擎设置在任务执行节点上;
其中,所述任务调度系统包括:多个所述第二服务器节点、多个所述第一服务器节点、多个所述任务执行节点,其中所述多个第二服务器节点在任意时刻有一个处于活动状态,所述多个第一服务器节点在任意时刻有一个处于活动状态,所述多个任务执行节点用于并行处理所述第一服务器节点的所述任务分配器下发的由所述待执行任务分解得到的子任务。
结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述子任务调节阀,还用于从所述令牌桶中减去与下发到所述执行引擎的所述子任务相等数量的令牌。
结合第七方面的第二种可能的实现方式,在第三种可能的实现方式中,所述任务调度系统还包括:设置在所述任务执行节点上的负反馈控制器;
所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
本发明提供的任务调度方法、节点及系统,任务执行节点在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种任务调度方法流程图;
图2为本发明另一实施例提供的一种任务调度方法流程图;
图3为本发明另一实施例提供的一种任务调度方法流程图;
图4为本发明另一实施例提供的一种分布式系统的组成示意图;
图5为本发明另一实施例提供的一种任务调度方法流程图;
图6为本发明另一实施例提供的一种第一服务器节点和任务执行节点的任务调度处理架构图;
图7为本发明另一实施例提供的一种任务执行节点的任务调度处理架构图;
图8为本发明另一实施例提供的一种任务执行节点的组成示意图;
图9为本发明另一实施例提供的另一种任务执行节点的组成示意图;
图10为本发明另一实施例提供的一种第一服务器节点的组成示意图;
图11为本发明另一实施例提供的一种第二服务器节点的组成示意图;
图12为本发明另一实施例提供的一种节点的组成示意图;
图13为本发明另一实施例提供的一种任务调度系统的组成示意图;
图14为本发明另一实施例提供的另一种任务调度系统的组成示意图;
图15为本发明另一实施例提供的又一种任务调度系统的组成示意图;
图16为本发明另一实施例提供的再一种任务调度系统的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明一实施例提供一种任务调度方法,如图1所示,该方法可以包括:
101、任务执行节点接收第一服务器节点发送的至少一个子任务,并将至少一个子任务存储在子任务缓冲区中。
其中,至少一个子任务是由第一服务器节点对待执行任务进行分解得到的。在第一服务器节点接收到第二服务器节点下发的待执行任务之后,第一服务器节点可以对待执行任务进行分解得到至少一个子任务,并将分解得到的至少一个子任务发送至任务执行节点,此时,任务执行节点便可以接收第一服务器节点发送的至少一个子任务,并将接收到的至少一个子任务存储在子任务缓冲区中。
102、任务执行节点获取与待执行任务对应的令牌桶内的令牌数。
其中,为了能够实现对自身资源占用的精确控制,任务执行节点可以为每个待执行任务维护一个令牌桶,这样,在任务执行节点接收到至少一个子任务并存储在子任务缓冲区中之后,可以获取自身维护的与待执行任务对应的令牌桶内的令牌数。
103、任务执行节点根据令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理。
其中,在任务执行节点获取到与该待执行任务对应的令牌桶内的令牌数之后,可以根据获取到的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理。
本发明实施例提供的任务调度方法,任务执行节点在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。
本发明另一实施例提供一种任务调度方法,如图2所示,该方法可以包括:
201、第一服务器节点接收第二服务器节点下发的待执行任务。
其中,第二服务器节点在接收到客户端发送到的待执行任务之后,可以将该待执行任务下发至第一服务器节点,此时第一服务器节点便可以接收第二服务器节点发送的待执行任务。
202、第一服务器节点获取待执行任务对应的子任务缓冲区的存储信息。
其中,第一服务器节点在接收到待执行任务之后,可以将获取任务执行节点为该待执行任务设置的子任务缓冲区的存储信息,如,子任务缓冲区中还需的子任务数量,或者,子任务缓冲区中未执行的子任务数量。
203、第一服务器节点根据子任务缓冲区的存储信息,将待执行任务进行分解得到至少一个子任务。
其中,在第一服务器节点获取到的子任务缓冲区的存储信息之后,为了提升任务执行的并发度,第一服务器节点可以根据获取到的子任务缓冲区的存储信息,将接收到的待执行任务进行分解得到至少一个子任务,该至少一个子任务可以在多个任务执行节点上并行执行。
204、第一服务器节点根据子任务缓冲区的存储信息,将至少一个子任务发送至任务执行节点。
本发明实施例提供的任务调度方法,第一服务器节点在接收到第二服务器节点下发的待执行任务,并获取到待执行任务对应的子任务缓冲区的存储信息之后,可以根据子任务缓冲区的存储信息将待执行任务进行分解得到至少一个子任务,并根据子任务缓冲区的存储信息将分解到的至少一个子任务发送至任务执行节点,通过将接收到的待执行任务进行分解后下发到任务执行节点,提升了任务执行的并发度,且通过根据任务执行节点上的子任务缓冲区的空置情况进行任务的分解和子任务的下发,既能够确保任务执行节点上负载的均衡,还能够充分利用分布式系统中各节点的计算能力,最大限度的提高任务执行的吞吐量。
本发明另一实施例提供一种任务调度方法,如图3所示,该方法可以包括:
301、第二服务器节点接收客户端发送的待执行任务。
302、第二服务器节点确定所有正在执行的待执行任务的数量小于数量阈值。
303、第二服务器节点向第一服务器节点下发待执行任务。
其中,第二服务器节点对外提供任务提交接口,这样在客户端有待执行任务需要处理时,可以向第二服务器节点发送待执行任务,以实现任务的调度,此时第二服务器节点便可以接收客户端发送的待执行任务,并在确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时,将接收到的待执行任务下发至第一服务器节点,以便第一服务器节点对接收到的待执行任务进行分解后发送至任务执行节点,从而任务执行节点对该分解后的待执行任务进行处理。
本发明实施例提供的任务调度方法,第二服务器节点在接收到客户端发送的待执行任务之后,当确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时,将该待执行任务发送至第一服务器节点,以便第一服务器节点将待执行任务分解后下发至任务执行节点进行处理,通过将任务的调度和任务的分解分别部署到分布式系统中的多个服务器节点上并行处理,且仅在确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时进行任务的下发,以提高分布式系统的处理性能。
本发明另一实施例提供一种任务调度方法,该任务调度方法可以应用于分布式系统,如图4所示,该分布式系统中包括的所有节点可以分为三种逻辑角色:第二服务器节点,第一服务器节点和任务执行节点。其中,第二服务器节点至少包括以下逻辑组件:任务准入控制器;第一服务器节点至少包括以下逻辑组件:任务分解器、任务分配器;任务执行节点至少包括以下逻辑组件:任务接收器、子任务调节阀、负反馈控制器、执行引擎。本发明实施例在此以图4所示的分布式系统为基础,对本发明的实施过程进行具体介绍,如图5所示,该方法可以包括:
401、第二服务器节点的任务准入控制器接收客户端发送的待执行任务。
其中,第二服务器节点的任务准入控制器对外提供任务提交接口,当客户端有若干个待执行任务需要处理时,可以将这若干个待执行任务通过第二服务器节点的任务准入控制器提交到分布式系统中进行处理。
在本发明实施例中,当第二服务器节点的任务准入控制器接收到客户端发送的若干个待执行任务之后,可以直接把若干个将待执行任务下发到第一服务器节点,进一步优选的,为了能够提高分布式系统的处理性能,第二服务器节点的任务准入控制器可以按照准入策略从这若干个待执行任务中选定部分待执行任务下发到第一服务器节点,具体的可以执行以下步骤402和/或步骤403:
402、第二服务器节点的任务准入控制器确定所有正在执行的待执行任务的数量小于数量阈值。
其中,可以预先设置分布式系统最大可以同时处理的待执行任务上限阈值,即数量阈值,并配置在第二服务器节点的任务准入控制器中,这样,在第二服务器节点的任务准入控制器接收到客户端发送的若干个待执行任务之后,可以确定分布式系统中的所有正在执行的待执行任务的数量是否小于配置的数量阈值,当确定出所有正在执行的待执行任务的数量小于数量阈值时,执行步骤404,或者,执行步骤403;当确定出所有正在执行的待执行任务的数量不小于数量阈值时,第二服务器节点的任务准入控制器可以先停止将接收到的客户端发送的待执行任务下发到第一服务器节点,直到确定出分布式系统中的所有正在执行的待执行任务的数量小于数量阈值。
403、第二服务器节点的任务准入控制器确定待执行任务满足预定条件。
其中,待执行任务满足预定条件包括以下任意一种或多种的组合:待执行任务的优先级满足优先级调度条件或优先级抢占条件、待执行任务的执行时间在预定的执行时间范围内、待执行任务的执行频率等于预定的执行频率阈值。具体的,在第二服务器节点的任务准入控制器接收到客户端发送的待执行任务,或者在第二服务器节点的任务准入控制器确定所有正在执行的待执行任务的数量小于数量阈值之后,第二服务器节点可以先确定待执行任务是否满足预定条件,并在确定待执行任务满足预定条件时,执行步骤404。
示例性的,可以预先设置分布式系统处理某任务的执行时间范围,例如,设置每周六的0点到6点作为该任务的执行时间,这样,当第二服务器节点的任务准入控制器确定接收到的客户端发送的待执行任务的执行时间在周六的0点到6点间时,才能够确定该待执行任务满足预定条件。或者,可以预先设置分布式系统处理某任务的执行频率,例如,设置每小时执行一次为该任务的执行频率,这样,当第二服务器节点的任务准入控制器确定接收到的客户端发送的待执行任务的执行频率为每小时执行一次时,才能够确定该待执行任务满足预定条件。当然,还可以在确定待执行任务同时满足:优先级满足优先级调度条件或优先级抢占条件、执行时间在预定的执行时间范围内、执行频率等于预定的执行频率阈值中的至少两个或两个以上时,才能够确定该待执行任务满足预定条件。
需要说明的是,在本发明实施例中,优先级调度条件、优先级抢占条件、执行时间范围内、执行频率阈值可以根据实际应用场景的需求进行设置,本发明实施例在此不做具体限定。
404、第二服务器节点的任务准入控制器向第一服务器节点的任务分解器下发待执行任务。
示例性的,第二服务器节点的任务准入控制器在接收到客户端发送的若干个待执行任务之后,首先确定出所有正在执行的待执行任务的数量小于数量阈值,此时,第二服务器节点的任务准入控制器可以将优先级满足优先级调度条件或优先级抢占条件的待执行任务下发到第一服务器节点的任务分解器,或者,将执行时间在预定的执行时间范围内的待执行任务下发到第一服务器节点的任务分解器,或者,将执行频率等于预定的执行频率阈值的待执行任务下发到第一服务器节点的任务分解器。
当然,在第二服务器节点的任务准入控制器在接收到客户端发送的若干个待执行任务之后,若确定出所有执行正在执行的待执行任务的数量大于数量阈值,但是某个待执行任务的优先级满足优先级抢占条件,即该待执行任务的优先级高于系统中正在执行的某个待执行任务的优先级,此时可以先将系统中正在执行的优先级低的待执行任务暂停,而是将该待执行任务下发到第一服务器节点的任务分解器,以便优先处理该优先级高的待执行任务。
或者,第二服务器节点的任务准入控制器在接收到客户端发送的若干个待执行任务之后,直接将将优先级满足优先级调度条件或优先级抢占条件的待执行任务下发到第一服务器节点的任务分解器,或者,将执行时间在预定的执行时间范围内的待执行任务下发到第一服务器节点的任务分解器,或者,将执行频率等于预定的执行频率阈值的待执行任务下发到第一服务器节点的任务分解器。
当然,第二服务器节点的任务准入控制器,也可以在确定出所有正在执行的待执行任务的数量小于数量阈值之后,按照所有待执行任务的优先级的高低,将优先级较高的待执行任务先下发到第一服务器节点的任务分解器,将优先级较低的待执行任务后下发到第一服务器节点的任务分解器。
第二服务器的任务准入控制器还可以维护各待执行任务的状态,如,记录待执行任务处于排队状态、执行状态、暂停状态等。
需要说明的是,在本发明实施例中,任务准入控制器可以配置在分布式系统中的一个服务器节点上,当然,为了提高可靠性,任务准入控制器也可以按照双机热备规则配置在分布式系统中,还可以按照一主多备规则配置在分布式系统中。当任务准入控制器按照双机热备规则配置在分布式系统中,或按照一主多备规则配置在分布式系统中时,分布式系统中在任意时刻有且只有一个任务准入控制器处于活动状态。
在分布式系统中,与第一服务器连接的任务执行节点的数量可以为多个(其中,多个任务执行节点中包含至少一个设置有与待执行任务对应的子任务缓冲区的任务执行节点),在这种场景下,第二服务器节点的任务准入控制器将待执行任务发送至第一服务器节点的任务分配器之后,第一服务器节点和至少一个任务执行节点的任务调度的具体处理可以参照图6所示的架构图,具体的执行过程包括以下步骤405-步骤415。
405、第一服务器节点的任务分配器获取至少一个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息。
其中,所述的至少一个任务执行节点设置有与待执行任务对应的子任务缓冲区;在第二服务器节点的任务准入控制器将待执行任务下发到第一服务器节点之后,第一服务器节点的任务分解器接收第二服务器节点的任务准入控制器下发的待执行任务。此时,由于任务执行节点预先会按照任务类型为待执行任务设置子任务缓冲区,因此第一服务器节点的任务分配器可以先获取待执行任务的任务类型,然后根据获取到的任务类型获取任务执行节点为该待执行任务设置的子任务缓冲区的存储信息,具体的是:第一服务器节点的任务分配器根据该待执行任务的任务类型,获取至少一个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息。该存储信息可以为子任务缓冲区中还需的子任务数量;或者,子任务缓冲区中的未执行的子任务数量,其中,在分布式系统初次使用时,当存储信息为子任务缓冲区中还需的子任务数量时,第一服务器节点的任务分配器获取到的子任务缓冲区的存储信息为子任务缓冲区能够容纳的子任务的总数量;或者,当存储信息为子任务缓冲区中的未执行的子任务数量时,第一服务器节点的任务分配器获取到的子任务缓冲区的存储信息为0。
406、第一服务器节点的任务分配器对至少一个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息进行汇总,得到待执行任务对应的所有子任务缓冲区的还需的子任务数量,并将待执行任务对应的所有子任务缓冲区的还需的子任务数量上报至第一服务器节点的任务分解器。
其中,在第一服务器节点的任务分配器获取到至少一个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息之后,可以将获取到的所有待执行任务对应的子任务缓冲区的存储信息进行汇总,获得待执行任务对应的所有子任务缓冲区中还需的子任务数量。
407、第一服务器节点的任务分解器接收任务分配器上报的待执行任务对应的所有子任务缓冲区的还需的子任务数量,并对待执行任务进行分解,得到与待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务。
其中,在第一服务器节点的任务分配器获取到待执行任务对应的所有子任务缓冲区中还需的子任务数量之后,将获取到的待执行任务对应的所有子任务缓冲区中还需的子任务数量上报至第一服务器节点的任务分解器,此时第一服务器节点的任务分解器可以根据待执行任务对应的所有子任务缓冲区中还需的子任务数量,按照预先配置的分解规则,对待执行任务进行分解,得到至少一个子任务,并将分解得到的至少一个子任务缓存在子任务总缓冲区中,该至少一个子任务的数量与待执行任务对应的所有子任务缓冲区的还需的子任务的数量相等。例如,待执行任务为统计某个计算机内所有目录下的文件的长度,预先配置的分解规则为输入为:目录,输出为:子目录,这样第一服务器节点的任务分解器可以根据待执行任务对应的所有子任务缓冲区中还需的子任务数量,将输入的待执行任务:统计所有目录下的文件的长度,分解为子任务:统计子目录下的文件的长度,其中,分解得到的所有子任务的数量与待执行任务对应的所有子任务缓冲区中还需的子任务数量相等。
需要说明的是,预先配置的分解规则遵循:分解得到的子任务之间相互独立,可以在分布式系统的不同任务执行节点上并行执行,且当所有子任务执行完成后,待执行任务执行完成的原则,具体的分解过则可以根据实际应用场景的需求进行设置,本发明实施例在此不做具体限制。
示例性的,当存储信息为子任务缓冲区中还需的子任务数量时,第一服务器节点的任务分解器可以按照待执行任务对应的所有子任务缓冲区中还需的子任务数量,对待执行任务进行分解,得到与待执行任务对应的所有子任务缓冲区中还需的子任务数量相同的子任务,分解得到的所有子任务可以在分布式系统中并行处理。当存储信息为子任务缓冲区中的未执行的子任务数量时,第一服务器节点的任务分解器可以先根据待执行任务对应的所有子任务缓冲区能够容纳的子任务的总数量和待执行任务对应的所有子任务缓冲区中的未执行的子任务数量,计算出待执行任务对应的所有子任务缓冲区中还需的子任务数量,然后按照待执行任务对应的所有子任务缓冲区中还需的子任务数量,对待执行任务进行分解。
需要说明的是,在本发明实施例中,第一服务器节点的任务分解器在对待执行任务进行分解时采用的分解规则可以与该待执行任务的任务类型相关,也就是说,可以预先为不同任务类型设置不同的分解规则,并配置在第一服务器节点上,例如,预先定义固定格式的子任务分解接口,且不同任务类型的待执行任务对应不同的子任务分解接口,并将这些子任务分解接口注册到第一服务节点的任务分解器上,第一服务节点的任务分解器在需要对待执行任务进行分解时,根据待执行任务的任务类型,调用预先注册的对应的子任务分解接口实现分解。具体的分解规则可以根据实际应用场景的不同进行设置,本发明实施例在此不做限定。
408、针对至少一个任务执行节点中的每个任务执行节点,第一服务器节点的任务分配器根据该任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息,向该任务执行节点的任务接收器下发与子任务缓冲区中还需的子任务相等数量的子任务。
其中,在第一服务器节点的任务分配器获取到至少一个任务执行节点中的某个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息之后,第一服务器节点的任务分配器可以根据该任务执行节点中设置的子任务缓冲区的存储信息,向该任务执行节点的任务接收器下发与子任务缓冲区中还需的子任务相等数量的子任务。
示例性的,当存储信息为子任务缓冲区中还需的子任务数量时,第一服务器节点的任务分配器可以从子任务总缓冲区中提取与该任务执行节点中设置的子任务缓冲区中还需的子任务数量相同的子任务下发到任务执行节点的任务接收器。当存储信息为子任务缓冲区中的未执行的子任务数量时,第一服务器节点的任务分配器可以先根据该任务执行节点中设置的子任务缓冲区能够容纳的子任务的总数量和该任务执行节点中设置的子任务缓冲区中的未执行的子任务数量,计算出该任务执行节点中设置的子任务缓冲区中还需的子任务数量,然后从子任务总缓冲区中提取与该任务执行节点中设置的子任务缓冲区中还需的子任务数量相同的子任务下发到该任务执行节点的任务接收器。
需要说明的是,在本发明实施例中,任务分配器和任务分解器可以成对配置在分布式系统中的一个服务器节点上,当然,为了提高可靠性,任务分配器和任务分解器也可以按照双机热备规则成对配置在分布式系统中,还可以按照一主多备规则成对配置在分布式系统中。当任务分配器和任务分解器按照双机热备规则成对配置在分布式系统中,或按照一主多备规则成对配置在分布式系统中时,分布式系统中在任意时刻有且只有一对任务分配器和任务分解器处于活动状态。
针对至少一个任务执行节点中的每个任务执行节点,第一服务器节点的任务分配器向该任务执行节点的任务接收器下发与子任务缓冲区中还需的子任务相等数量的子任务、即至少一个子任务之后,该任务执行节点的任务调度的具体处理可以参照图7所示的架构图,具体的执行过程包括以下步骤409-步骤415。
需要说明的是,图7所示的架构图中子任务调节阀和负反馈控制器的控制机制,并不局限于在分布式系统中使用,也可以在单机系统独立使用,以便在进行任务调度时对本地计算资源占用进行精确控制。当然,除应用于计算资源占用的控制外,还可以应用到过载保护、网络拥塞等的控制。具体的,令牌桶内的令牌数用于控制发包速率,令牌的流入速率可以根据网络时延和网络时延偏差进行控制。
409、任务执行节点的任务接收器接收第一服务器节点的任务分配器发送的至少一个子任务,并将至少一个子任务存储在子任务缓冲区中。
其中,任务执行节点可以为每个待执行任务维护一个令牌桶,令牌桶内的令牌数表示当前时刻可以下发到任务执行节点的执行引擎的最大子任务数量。且,任务执行节点可以为同一类型的待执行任务设置一个子任务缓冲区,该子任务缓冲区中仅存储由该类型的待执行任务分解得到的子任务,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化;或者,任务执行节点也可以仅设置一个子任务缓冲区,用来存储所有由待执行任务分解得到的子任务,并根据下发到任务执行节点的所有待执行任务的优先级为不同优先级的待执行任务分配各自的缓冲区配额,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化。
其中,在任务执行节点的任务接收器接收到第一服务器节点的任务分配器发送的至少一个子任务,并将至少一个子任务存储在子任务缓冲区中之后,可以执行步骤413步骤415。由于任务执行节点的子任务调节阀还需采用流入模式,周期性的向与待执行任务对应的令牌桶内加入令牌,因此,在执行步骤413-步骤415之前,或者,在执行步骤413-步骤415之后,本发明实施例提供的任务调度方法,还可以包括以下步骤410-步骤412。
410、任务执行节点的负反馈控制器获取待执行任务的令牌流入速率变化量。
其中,任务执行节点的负反馈控制器获取待执行任务的令牌流入速率变化量具体的可以是:任务执行节点的负反馈控制器获取待执行任务当前时刻对系统资源的实际占用量,并根据待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定令牌流入速率变化量。系统资源可以包括以下任意一种或多种的组合:中央处理器(Central Processing Unit,CPU)资源、内存资源、磁盘资源、IO资源、网络带宽资源。
示例性的,任务执行节点的负反馈控制器可以采用PID控制器来确定令牌流入速率变化量,其中,具体的可以参考如下计算公式:
其中,△u(k)表示k时刻令牌流入速率的变化量;KP、T、Ti、Td均为调节参数,可以根据实际应用场景的需求进行标定;e(k)控制量偏差,表示k时刻系统资源占用的实际值和预定的系统资源占用的限制值的差值,例如:预设的待执行任务的CPU资源占用的限制值为80%,而在在某时刻,CPU资源占用的实际值为90%,则e(k)为-10%,该值为负会直接导致下一个调整周期,令牌流入速率的变化量为负值,即令牌的流入速率会叠加一个负的调节量;反之,若CPU资源占用的实际值为70%,则e(k)为10%,该值为正会直接导致下一个调整周期,令牌流入速率的变化量为正值,即令牌的流入速率会叠加一个正的调节量,这样可以将系统资源准确控制在指定的阈值范围内,避免了任务对系统资源的过度占用。
411、任务执行节点的负反馈控制器根据待执行任务的当前时刻的前一时刻的令牌流入速率和令牌流入速率变化量获取当前时刻的令牌流入速率。
412、任务执行节点的负反馈控制器根据待执行任务的当前时刻的令牌流入速率,向令牌桶内加入令牌。
413、任务执行节点的子任务调节阀获取与待执行任务对应的令牌桶内的令牌数。
414、任务执行节点的子任务调节阀根据令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理。
其中,在任务执行节点的子任务调节阀获取到与待执行任务对应的令牌桶内的令牌数之后,任务执行节点的子任务调节阀可以根据获取到的令牌桶内的令牌数,从子任务缓冲区中将存储的与令牌桶内的令牌数相等数量的子任务下发至任务执行节点的执行引擎,以便任务执行节点的执行引擎对子任务进行处理。
415、任务执行节点的子任务调节阀从令牌桶中减去与处理的子任务相等数量的令牌。
其中,在任务执行节点的子任务调节阀将存储的子任务下发至任务执行节点的执行引擎之后,任务执行节点的子任务调节阀可以从令牌桶中减去与处理的子任务相等数量的令牌,也就是说,任务执行节点的子任务调节阀每向执行引擎下发一个子任务,需将对应的令牌桶内的令牌减一。
需要说明的是,在本发明实施例的另一种可能的实现方式中,任务执行节点包括的逻辑组件为任务接收器、子任务调节阀和执行引擎。此时,与任务执行节点包括的逻辑组件为任务接收器、子任务调节阀、负反馈控制器和执行引擎相比,可以采用回收模式向与待执行任务对应的令牌桶内加入令牌,也就是说,在执行步骤413-步骤415之前,或者,在执行步骤413-步骤415之后,当任务执行节点的执行引擎处理完成一个任务时,通知任务执行节点的子任务调节阀,这样,任务执行节点的子任务调节阀在接收到执行引擎的通知之后,向令牌桶内加入与处理完成的子任务相等数量的令牌,完成令牌的回收。当然,在分布式系统开始启动时,需要初始化令牌桶,向令牌桶中填满令牌。
需要说明的是,本发明实施例中包括的所有逻辑组件:任务准入控制器、任务分解器、任务分配器、任务接收器、子任务调节阀、负反馈控制器、执行引擎可以在分布式系统中的所有节点上都进行部署,仅是在对任务进行处理的过程中,逻辑角色为第二服务器节点的节点仅是任务准入控制器处于活动状态,逻辑角色为第一服务器节点的节点仅是任务分解器和任务分配器器处于活动状态,逻辑角色为任务执行节点的节点仅是任务接收器、子任务调节阀、负反馈控制器和执行引擎处于活动状态,这样,可以使得分布式系统获得良好的可靠性和拓展性。且本发明实施例中所述的第二服务器节点、第一服务器节点和任务执行节点,仅是根据该节点执行的动作来命名的,第二服务器节点、第一服务器节点和任务执行节点三者在物理上是对等的。
本发明实施例提供的任务调度方法,任务执行节点在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。且通过根据当前时刻待执行任务对系统资源的实际占用量,动态调整令牌流入速率,这样可以将系统资源准确控制在指定的阈值范围内,避免了任务对系统资源的过度占用。
并且,通过调整向令牌桶中增加令牌速率,使得分布式系统具备量化管理能力;通过将接收到的待执行任务进行分解后下发到任务执行节点,提升了任务执行的并发度;通过根据任务执行节点上的子任务缓冲区的空置情况进行任务的分解和子任务的下发,既能够确保任务执行节点上负载的均衡,还能够充分利用分布式系统中各节点的计算能力,最大限度的提高任务执行的吞吐量;通过采用任务-子任务两级调度,提高了分布式系统处理任务的效率;通过将任务的调度、任务的分解和子任务调度分别部署到分布式系统中的多个节点上并行处理,以提高分布式系统的处理性能。
本发明另一实施例提供一种任务执行节点,如图8所示,该任务执行节点可以包括:任务接收器51、子任务调节阀52、执行引擎53。
所述任务接收器51,用于接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的。
所述子任务调节阀52,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎53。
其中,任务执行节点可以为每个待执行任务维护一个令牌桶,令牌桶内的令牌数表示当前时刻可以下发到任务执行节点的执行引擎的最大子任务数量。且,任务执行节点可以为同一类型的待执行任务设置一个子任务缓冲区,该子任务缓冲区中仅存储由该类型的待执行任务分解得到的子任务,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化;或者,任务执行节点也可以仅设置一个子任务缓冲区,用来存储所有由待执行任务分解得到的子任务,并根据下发到任务执行节点的所有待执行任务的优先级为不同优先级的待执行任务分配各自的缓冲区配额,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化。
所述执行引擎53,用于对所述子任务调节阀52下发的所述子任务进行处理。
在本发明实施例中,进一步的,所述子任务调节阀52,还用于在所述根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎53之后,从所述令牌桶中减去与下发的所述子任务相等数量的令牌。
在本发明实施例中,进一步的,所述执行引擎53,还用于在对所述子任务调节阀52下发的所述子任务进行处理之后,向所述子任务调节阀52发送用于通知对所述子任务的处理已完成的通知消息。
所述子任务调节阀52,还用于接收所述通知消息,并根据所述通知消息向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
在本发明实施例中,进一步的,如图9所示,该任务执行节点还可以包括:负反馈控制器54。
所述负反馈控制器54,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
在本发明实施例中,进一步的,所述负反馈控制器54,还用于在所述根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,获取所述待执行任务的令牌流入速率变化量,并根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
在本发明实施例中,进一步的,所述负反馈控制器54,具体用于获取所述待执行任务当前时刻对系统资源的实际占用量;根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
在本发明实施例中,进一步的,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
需要说明的是,本发明实施例提供的任务执行节点中各功能模块的具体工作过程可以参考如图1和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的任务执行节点,在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。且通过根据当前时刻待执行任务对系统资源的实际占用量,动态调整令牌流入速率,这样可以将系统资源准确控制在指定的阈值范围内,避免了任务对系统资源的过度占用。
本发明另一实施例提供一种第一服务器节点,如图10所示,该第一服务器节点可以包括:任务分解器61和任务分配器62。
所述任务分解器61,用于接收第二服务器节点下发的待执行任务,并根据所述任务分配器62上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中。
所述任务分配器62,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器61,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至任务执行节点。
在本发明实施例中,进一步的,所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
在本发明实施例中,进一步的,所述任务分配器62,具体用于:
获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;
对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
将所述待执行任务对应的所有子任务缓冲区的还需的子任务数量上报至所述任务分解器61;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。
所述任务分解器61,具体用于:
根据所述任务分配器62上报的所述待执行任务对应的所有子任务缓冲区的还需的子任务数量,对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务。
需要说明的是,在本发明实施例中,任务分解器61和任务分配器62可以成对配置在分布式系统中的一个服务器节点上,当然,为了提高可靠性,任务分解器61和任务分配器62也可以按照双机热备规则成对配置在分布式系统中,还可以按照一主多备规则成对配置在分布式系统中。当任务分解器61和任务分配器62按照双机热备规则成对配置在分布式系统中,或按照一主多备规则成对配置在分布式系统中时,分布式系统中在任意时刻有且只有一对任务分解器61和任务分配器62处于活动状态。
需要说明的是,本发明实施例提供的第一服务器节点中各功能模块的具体工作过程可以参考如图2和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的第一服务器节点,在接收到第二服务器节点下发的待执行任务,并获取到待执行任务对应的子任务缓冲区的存储信息之后,可以根据子任务缓冲区的存储信息将待执行任务进行分解得到至少一个子任务,并根据子任务缓冲区的存储信息将分解到的至少一个子任务发送至任务执行节点,通过将接收到的待执行任务进行分解后下发到任务执行节点,提升了任务执行的并发度,且通过根据任务执行节点上的子任务缓冲区的空置情况进行任务的分解和子任务的下发,既能够确保任务执行节点上负载的均衡,还能够充分利用分布式系统中各节点的计算能力,最大限度的提高任务执行的吞吐量。
本发明另一实施例提供一种第二服务器节点,如图11所示,该第二服务器节点可以包括:任务准入控制器71。
所述任务准入控制器71,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向第一服务器节点下发所述待执行任务。
在本发明实施例中,进一步的,所述任务准入控制器71,还用于在向第一服务器节点下发所述待执行任务之前,确定所述待执行任务满足预定条件。
在本发明实施例中,当任务准入控制器71接收到客户端发送的若干个待执行任务之后,可以直接把若干个将待执行任务下发到第一服务器节点,进一步优选的,为了能够提高分布式系统的处理性能,任务准入控制器71可以按照准入策略从这若干个待执行任务中选定部分待执行任务下发到第一服务器节点。即任务准入控制器71在确定所有正在执行的待执行任务的数量小于数量阈值时,向第一服务器节点下发所述待执行任务,或者,任务准入控制器71在确定所有正在执行的待执行任务的数量小于数量阈值,且确定待执行任务满足预定条件时,向第一服务器节点下发所述待执行任务,或者,任务准入控制器71在确定待执行任务满足预定条件时,向第一服务器节点下发所述待执行任务。
当然,在任务准入控制器71在接收到客户端发送的若干个待执行任务之后,若确定出所有执行正在执行的待执行任务的数量大于数量阈值,但是某个待执行任务的优先级满足优先级抢占条件,即该待执行任务的优先级高于系统中正在执行的某个待执行任务的优先级,此时可以先将系统中正在执行的优先级低的待执行任务暂停,而是将该待执行任务下发到第一服务器节点的任务分解器,以便优先处理该优先级高的待执行任务。任务准入控制器71,也可以在确定出所有正在执行的待执行任务的数量小于数量阈值之后,按照所有待执行任务的优先级的高低,将优先级较高的待执行任务先下发到第一服务器节点的任务分解器,将优先级较低的待执行任务后下发到第一服务器节点的任务分解器。
在本发明实施例中,进一步的,所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
需要说明的是,在本发明实施例中,任务准入控制器71可以配置在分布式系统中的一个服务器节点上,当然,为了提高可靠性,任务准入控制器71也可以按照双机热备规则配置在分布式系统中,还可以按照一主多备规则配置在分布式系统中。当任务准入控制器71按照双机热备规则配置在分布式系统中,或按照一主多备规则配置在分布式系统中时,分布式系统中在任意时刻有且只有一个任务准入控制器71处于活动状态。
需要说明的是,本发明实施例提供的第二服务器节点中各功能模块的具体工作过程可以参考如图3和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的第二服务器节点,在接收到客户端发送的待执行任务之后,当确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时,将该待执行任务发送至第一服务器节点,以便第一服务器节点将待执行任务分解后下发至任务执行节点进行处理,通过将任务的调度和任务的分解分别部署到分布式系统中的多个服务器节点上并行处理,且仅在确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时进行任务的下发,以提高分布式系统的处理性能。
本发明另一实施例提供一种节点,如图12所示,包括:至少一个处理器81、存储器82、通信接口83和总线84,该至少一个处理器81、存储器82和通信接口83通过总线84连接并完成相互间的通信,其中:
所述总线84可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线84可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器82用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器82可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述处理器81可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口83,主要用于实现本实施例的设备之间的通信。
所述处理器81,用于执行所述存储器82中存储的可执行程序代码,具体的用于执行以下操作:
在第一种应用场景下,该节点用于实现分布式系统中任务执行节点的逻辑功能。所述处理器81,用于接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;获取与所述待执行任务对应的令牌桶内的令牌数;根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理。
其中,任务执行节点可以为每个待执行任务维护一个令牌桶,令牌桶内的令牌数表示当前时刻可以下发到任务执行节点的执行引擎的最大子任务数量。且,任务执行节点可以为同一类型的待执行任务设置一个子任务缓冲区,该子任务缓冲区中仅存储由该类型的待执行任务分解得到的子任务,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化;或者,任务执行节点也可以仅设置一个子任务缓冲区,用来存储所有由待执行任务分解得到的子任务,并根据下发到任务执行节点的所有待执行任务的优先级为不同优先级的待执行任务分配各自的缓冲区配额,该子任务缓冲区的长度可以是固定的,也可以根据该任务执行节点的忙闲程度动态变化。
在本发明实施例中,进一步的,所述处理器81,还用于在所述根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,从所述令牌桶中减去与处理的所述子任务相等数量的令牌。
在本发明实施例中,进一步的,所述处理器81,还用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
在本发明实施例中,进一步的,所述处理器81,还用于在所述根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
在本发明实施例中,进一步的,所述处理器81,还用于在所述根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,获取所述待执行任务的令牌流入速率变化量;根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
在本发明实施例中,进一步的,所述处理器81,具体用于获取所述待执行任务当前时刻对系统资源的实际占用量;根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
在本发明实施例中,进一步的,所述系统资源包括以下任意一种或多种的组合:CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
需要说明的是,在本实施例中,当所述的节点用于实现分布式系统中任务执行节点的逻辑功能时,节点中各功能模块的具体工作过程可以参考如图1和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的任务执行节点,在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点通过根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。且通过根据当前时刻待执行任务对系统资源的实际占用量,动态调整令牌流入速率,这样可以将系统资源准确控制在指定的阈值范围内,避免了任务对系统资源的过度占用。
在第二种应用场景下,该节点用于实现分布式系统中第一服务器节点的逻辑功能。所述处理器81,用于接收第二服务器节点下发的待执行任务;获取所述待执行任务对应的子任务缓冲区的存储信息;根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务;根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点。
在本发明实施例中,进一步的,所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
在本发明实施例中,进一步的,所述处理器81具体用于:获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务;
针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。
需要说明的是,在本实施例中,当所述的节点用于实现分布式系统中第一服务器节点的逻辑功能时,节点中各功能模块的具体工作过程可以参考如图2和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的第一服务器节点,在接收到第二服务器节点下发的待执行任务,并获取到待执行任务对应的子任务缓冲区的存储信息之后,可以根据子任务缓冲区的存储信息将待执行任务进行分解得到至少一个子任务,并根据子任务缓冲区的存储信息将分解到的至少一个子任务发送至任务执行节点,通过将接收到的待执行任务进行分解后下发到任务执行节点,提升了任务执行的并发度,且通过根据任务执行节点上的子任务缓冲区的空置情况进行任务的分解和子任务的下发,既能够确保任务执行节点上负载的均衡,还能够充分利用分布式系统中各节点的计算能力,最大限度的提高任务执行的吞吐量。
在第三种应用场景下,该节点用于实现分布式系统中第二服务器节点的逻辑功能。所述处理器81,用于接收客户端发送的待执行任务;确定所有正在执行的待执行任务的数量小于数量阈值;向第一服务器节点下发所述待执行任务。
在本发明实施例中,进一步的,所述处理器81,还用于在所述向第一服务器节点下发所述待执行任务之前,确定所述待执行任务满足预定条件。
在本发明实施例中,进一步的,所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
需要说明的是,在本实施例中,当所述的节点用于实现分布式系统中第二服务器节点的逻辑功能时,节点中各功能模块的具体工作过程可以参考如图3和图5所示的方法实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的第二服务器节点,在接收到客户端发送的待执行任务之后,当确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时,将该待执行任务发送至第一服务器节点,以便第一服务器节点将待执行任务分解后下发至任务执行节点进行处理,通过将任务的调度和任务的分解分别部署到分布式系统中的多个服务器节点上并行处理,且仅在确定分布式系统中所有的正在执行的待执行任务的数量小于数量阈值时进行任务的下发,以提高分布式系统的处理性能。
本发明另一实施例提供一种任务调度系统,如图13所示,包括:任务准入控制器91、任务分解器92、任务分配器93、任务接收器94、子任务调节阀95和执行引擎96。
所述任务准入控制器91,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向所述任务分解器92下发所述待执行任务。
所述任务分解器92,用于接收所述任务准入控制器91下发的所述待执行任务,并根据任务分配器93上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中。
所述任务分配器93,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器92,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至所述任务接收器94。
所述任务接收器94,用于接收所述任务分配器93发送的所述至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中。
所述子任务调节阀95,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎96。
所述执行引擎96,用于对所述子任务调节阀95下发的所述子任务进行处理。
在本发明实施例中,进一步的,如图14所示,所述任务准入控制器91设置在第二服务器节点1001上。
所述任务分解器92和所述任务分配器93设置在第一服务器节点1002上。
所述任务接收器94、所述子任务调节阀95和所述执行引擎96设置在任务执行节点1003上。
其中,如图15所示,所述任务调度系统包括:多个所述第二服务器节点1001、多个所述第一服务器节点1002、多个所述任务执行节点1003,其中所述多个第二服务器节点1001在任意时刻有一个处于活动状态,所述多个第一服务器节点1002在任意时刻有一个处于活动状态,所述多个任务执行节点1003用于并行处理所述第一服务器节点1002的所述任务分配器93下发的由所述待执行任务分解得到的子任务。
在本发明实施例中,进一步的,所述子任务调节阀95,还用于从所述令牌桶中减去与下发到所述执行引擎的所述子任务相等数量的令牌。
在本发明实施例中,进一步的,如图16所示,所述任务调度系统还包括:设置在所述任务执行节点1003上的负反馈控制器97。
所述负反馈控制器97,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
需要说明的是,在本实施例中,任务调度系统中各功能模块的具体工作过程可以参考如图1-3、图5所示的方法实施例和如图8-12所示的装置实施例中对应过程的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的任务调度系统,任务执行节点在接收到第一服务器节点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任务缓冲区中存储的子任务进行处理,通过能够反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较高的总体系统资源利用率。且通过根据当前时刻待执行任务对系统资源的实际占用量,动态调整令牌流入速率,这样可以将系统资源准确控制在指定的阈值范围内,避免了任务对系统资源的过度占用。
并且,通过调整向令牌桶中增加令牌速率,使得分布式系统具备量化管理能力;通过将接收到的待执行任务进行分解后下发到任务执行节点,提升了任务执行的并发度;通过根据任务执行节点上的子任务缓冲区的空置情况进行任务的分解和子任务的下发,既能够确保任务执行节点上负载的均衡,还能够充分利用分布式系统中各节点的计算能力,最大限度的提高任务执行的吞吐量;通过采用任务-子任务两级调度,提高了分布式系统处理任务的效率;通过将任务的调度、任务的分解和子任务调度分别部署到分布式系统中的多个节点上并行处理,以提高分布式系统的处理性能。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (30)
1.一种任务调度方法,其特征在于,包括:
任务执行节点接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;
所述任务执行节点获取与所述待执行任务对应的令牌桶内的令牌数;
所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理。
2.根据权利要求1所述的方法,其特征在于,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:
所述任务执行节点从所述令牌桶中减去与处理的所述子任务相等数量的令牌。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
4.根据权利要求1或2所述的方法,其特征在于,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:
所述任务执行节点向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
5.根据权利要求3所述的方法,其特征在于,在所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,还包括:
所述任务执行节点获取所述待执行任务的令牌流入速率变化量;
所述任务执行节点根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
6.根据权利要求5所述的方法,其特征在于,所述任务执行节点获取所述待执行任务的令牌流入速率变化量,包括:
所述任务执行节点获取所述待执行任务当前时刻对系统资源的实际占用量;
所述任务执行节点根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
7.根据权利要求6所述的方法,其特征在于,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
8.一种任务调度方法,其特征在于,包括:
第一服务器节点接收第二服务器节点下发的待执行任务;
所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点。
9.根据权利要求8所述的方法,其特征在于,
所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
10.根据权利要求9所述的方法,其特征在于,所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息,包括:
所述第一服务器节点获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,包括:
所述第一服务器节点对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
所述第一服务器节点对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务;
所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点,包括:
针对所述至少一个任务执行节点中的每个任务执行节点,所述第一服务器节点根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。
11.一种任务调度方法,其特征在于,包括:
第二服务器节点接收客户端发送的待执行任务;
所述第二服务器节点确定所有正在执行的待执行任务的数量小于数量阈值;
所述第二服务器节点向第一服务器节点下发所述待执行任务。
12.根据权利要求11所述的方法,其特征在于,在所述第二服务器节点向第一服务器节点下发所述待执行任务之前,还包括:
所述第二服务器节点确定所述待执行任务满足预定条件。
13.根据权利要求12所述的方法,其特征在于,
所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
14.一种任务执行节点,其特征在于,包括:任务接收器、子任务调节阀、执行引擎;
所述任务接收器,用于接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;
所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎;
所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
15.根据权利要求14所述的任务执行节点,其特征在于,
所述子任务调节阀,还用于在所述根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎之后,从所述令牌桶中减去与下发的所述子任务相等数量的令牌。
16.根据权利要求14或15所述的任务执行节点,其特征在于,还包括:负反馈控制器;
所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
17.根据权利要求14或15所述的任务执行节点,其特征在于,
所述执行引擎,还用于在对所述子任务调节阀下发的所述子任务进行处理之后,向所述子任务调节阀发送用于通知对所述子任务的处理已完成的通知消息;
所述子任务调节阀,还用于接收所述通知消息,并根据所述通知消息向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。
18.根据权利要求16所述的任务执行节点,其特征在于,
所述负反馈控制器,还在所述根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,获取所述待执行任务的令牌流入速率变化量,并根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
19.根据权利要求18所述的任务执行节点,其特征在于,所述负反馈控制器,具体用于:
获取所述待执行任务当前时刻对系统资源的实际占用量;
根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。
20.根据权利要求19所述的任务执行节点,其特征在于,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。
21.一种第一服务器节点,其特征在于,包括:任务分解器和任务分配器;
所述任务分解器,用于接收第二服务器节点下发的待执行任务,根据所述任务分配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至任务执行节点。
22.根据权利要求21所述的第一服务器节点,其特征在于,
所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。
23.根据权利要求22所述的第一服务器节点,其特征在于,
所述任务分配器,具体用于:
获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;
对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
将所述待执行任务对应的所有子任务缓冲区的还需的子任务数量上报至所述任务分解器;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务;
所述任务分解器,具体用于:
根据所述任务分配器上报的所述待执行任务对应的所有子任务缓冲区的还需的子任务数量,对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务。
24.一种第二服务器节点,其特征在于,包括:任务准入控制器;
所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向第一服务器节点下发所述待执行任务。
25.根据权利要求24所述的第二服务器节点,其特征在于,
所述任务准入控制器,还用于在所述向第一服务器节点下发所述待执行任务之前,确定所述待执行任务满足预定条件。
26.根据权利要求25所述的第二服务器节点,其特征在于,
所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
27.一种任务调度系统,其特征在于,包括:任务准入控制器、任务分解器、任务分配器、任务接收器、子任务调节阀和执行引擎;
所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向所述任务分解器下发所述待执行任务;
所述任务分解器,用于接收所述任务准入控制器下发的所述待执行任务,并根据所述任务分配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至所述任务接收器;
所述任务接收器,用于接收所述任务分配器发送的所述至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;
所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎;
所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
28.根据权利要求27所述的任务调度系统,其特征在于,
所述任务准入控制器设置在第二服务器节点上;
所述任务分解器和所述任务分配器设置在第一服务器节点上;
所述任务接收器、所述子任务调节阀和所述执行引擎设置在任务执行节点;
其中,所述任务调度系统包括:多个所述第二服务器节点、多个所述第一服务器节点、多个所述任务执行节点,其中所述多个第二服务器节点在任意时刻有一个处于活动状态,所述多个第一服务器节点在任意时刻有一个处于活动状态,所述多个任务执行节点用于并行处理所述第一服务器节点的所述任务分配器下发的由所述待执行任务分解得到的子任务。
29.根据权利要求28所述的任务调度系统,其特征在于,
所述子任务调节阀,还用于从所述令牌桶中减去与下发到所述执行引擎的所述子任务相等数量的令牌。
30.根据权利要求29所述的任务调度系统,其特征在于,所述任务调度系统还包括:设置在所述任务执行节点上的负反馈控制器;
所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410805088.4A CN104580396B (zh) | 2014-12-19 | 2014-12-19 | 一种任务调度方法、节点及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410805088.4A CN104580396B (zh) | 2014-12-19 | 2014-12-19 | 一种任务调度方法、节点及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580396A true CN104580396A (zh) | 2015-04-29 |
CN104580396B CN104580396B (zh) | 2018-07-20 |
Family
ID=53095554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410805088.4A Active CN104580396B (zh) | 2014-12-19 | 2014-12-19 | 一种任务调度方法、节点及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104580396B (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227595A (zh) * | 2016-07-12 | 2016-12-14 | 乐视控股(北京)有限公司 | 处理反复快速操作的方法和系统 |
CN106484524A (zh) * | 2015-08-28 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种任务处理方法及装置 |
CN106874083A (zh) * | 2017-01-03 | 2017-06-20 | 杭州医学院 | 一种数采系统人机接口任务调度方法 |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN107797865A (zh) * | 2017-10-20 | 2018-03-13 | 华为软件技术有限公司 | 用户任务处理方法及应用服务器 |
CN108255884A (zh) * | 2016-12-29 | 2018-07-06 | 大唐移动通信设备有限公司 | 一种omc的日志信息的数据处理方法和装置 |
CN108388988A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 基于区块链的协同办公方法、系统及计算机可读存储介质 |
CN108647082A (zh) * | 2018-04-13 | 2018-10-12 | 中国民航信息网络股份有限公司 | 基于令牌机制的任务处理方法、装置、设备及介质 |
CN108769162A (zh) * | 2018-05-16 | 2018-11-06 | 上海携程商务有限公司 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
CN108804377A (zh) * | 2018-04-24 | 2018-11-13 | 桂林长海发展有限责任公司 | 一种总线任务处理方法及系统 |
CN108833296A (zh) * | 2018-04-08 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 批处理速率的控制方法和装置 |
CN109194584A (zh) * | 2018-08-13 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 一种流量监控方法、装置、计算机设备及存储介质 |
CN109523123A (zh) * | 2018-10-12 | 2019-03-26 | 平安科技(深圳)有限公司 | 一种分布式事务处理的智能调配方法及服务器 |
CN110088730A (zh) * | 2017-06-30 | 2019-08-02 | 华为技术有限公司 | 任务处理方法、装置、介质及其设备 |
CN110175078A (zh) * | 2019-05-30 | 2019-08-27 | 口碑(上海)信息技术有限公司 | 业务处理方法及装置 |
CN110661824A (zh) * | 2018-06-28 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 分布式集群中服务器的流量调控方法以及装置 |
CN110765092A (zh) * | 2019-09-20 | 2020-02-07 | 北京三快在线科技有限公司 | 分布式搜索系统、索引分发方法及存储介质 |
CN110955644A (zh) * | 2019-11-24 | 2020-04-03 | 浪潮电子信息产业股份有限公司 | 一种存储系统的io控制方法、装置、设备及存储介质 |
CN111324428A (zh) * | 2019-09-20 | 2020-06-23 | 杭州海康威视系统技术有限公司 | 任务分配方法、装置、设备和计算机可读存储介质 |
CN112395085A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市中博科创信息技术有限公司 | 一种基于hdfs的分布式关系数据库的调度方法 |
CN112527527A (zh) * | 2020-12-16 | 2021-03-19 | 深圳市分期乐网络科技有限公司 | 消息队列的消费速度控制方法、装置、电子设备和介质 |
CN112948298A (zh) * | 2021-04-15 | 2021-06-11 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113381944A (zh) * | 2021-06-09 | 2021-09-10 | 中国工商银行股份有限公司 | 系统限流方法、装置、电子设备、介质和程序产品 |
CN113391914A (zh) * | 2020-03-11 | 2021-09-14 | 上海商汤智能科技有限公司 | 任务调度方法和装置 |
CN113946431A (zh) * | 2021-12-22 | 2022-01-18 | 北京瑞莱智慧科技有限公司 | 一种资源调度方法、系统、介质及计算设备 |
CN114462900A (zh) * | 2022-04-13 | 2022-05-10 | 云智慧(北京)科技有限公司 | 一种业务活动节点的拆分方法、装置及设备 |
CN114896040A (zh) * | 2022-05-10 | 2022-08-12 | 浙江太美医疗科技股份有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN115562870A (zh) * | 2022-10-25 | 2023-01-03 | 北京京航计算通讯研究所 | 一种集群的任务节点资源构建方法 |
CN114896040B (zh) * | 2022-05-10 | 2024-09-06 | 浙江太美医疗科技股份有限公司 | 任务调度方法、装置、电子设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
CN1925455A (zh) * | 2005-08-29 | 2007-03-07 | 中兴通讯股份有限公司 | 一种基于令牌桶的报文限速方法 |
CN101110716A (zh) * | 2007-08-13 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种对分片报文进行流量监管的方法及装置 |
CN101246439A (zh) * | 2008-03-18 | 2008-08-20 | 中兴通讯股份有限公司 | 一种基于任务调度的自动化测试方法及系统 |
CN101933361A (zh) * | 2008-02-01 | 2010-12-29 | 交互数字专利控股公司 | 用于初始化、保持以及重配置令牌桶的方法和设备 |
CN102567549A (zh) * | 2011-11-18 | 2012-07-11 | 中国船舶重工集团公司第七二四研究所 | 基于令牌漏桶法的自适应数据记录/回放技术及其实现方法 |
CN102685203A (zh) * | 2011-03-17 | 2012-09-19 | 华为技术有限公司 | 数据资源传输的方法和设备 |
CN103078941A (zh) * | 2012-12-31 | 2013-05-01 | 中金数据系统有限公司 | 一种分布式计算系统的任务调度方法及系统 |
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103559082A (zh) * | 2013-11-04 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种基于队列的分布式任务调度方法、装置及系统 |
CN103810041A (zh) * | 2014-02-13 | 2014-05-21 | 北京大学 | 一种支持动态伸缩的并行计算的方法 |
CN103902260A (zh) * | 2012-12-25 | 2014-07-02 | 华中科技大学 | 一种对象文件系统的预取方法 |
CN104216785A (zh) * | 2014-08-26 | 2014-12-17 | 烽火通信科技股份有限公司 | 通用策略任务系统及其实现方法 |
-
2014
- 2014-12-19 CN CN201410805088.4A patent/CN104580396B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
CN1925455A (zh) * | 2005-08-29 | 2007-03-07 | 中兴通讯股份有限公司 | 一种基于令牌桶的报文限速方法 |
CN101110716A (zh) * | 2007-08-13 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种对分片报文进行流量监管的方法及装置 |
CN101933361A (zh) * | 2008-02-01 | 2010-12-29 | 交互数字专利控股公司 | 用于初始化、保持以及重配置令牌桶的方法和设备 |
CN101246439A (zh) * | 2008-03-18 | 2008-08-20 | 中兴通讯股份有限公司 | 一种基于任务调度的自动化测试方法及系统 |
CN102685203A (zh) * | 2011-03-17 | 2012-09-19 | 华为技术有限公司 | 数据资源传输的方法和设备 |
CN102567549A (zh) * | 2011-11-18 | 2012-07-11 | 中国船舶重工集团公司第七二四研究所 | 基于令牌漏桶法的自适应数据记录/回放技术及其实现方法 |
CN103902260A (zh) * | 2012-12-25 | 2014-07-02 | 华中科技大学 | 一种对象文件系统的预取方法 |
CN103078941A (zh) * | 2012-12-31 | 2013-05-01 | 中金数据系统有限公司 | 一种分布式计算系统的任务调度方法及系统 |
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103559082A (zh) * | 2013-11-04 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种基于队列的分布式任务调度方法、装置及系统 |
CN103810041A (zh) * | 2014-02-13 | 2014-05-21 | 北京大学 | 一种支持动态伸缩的并行计算的方法 |
CN104216785A (zh) * | 2014-08-26 | 2014-12-17 | 烽火通信科技股份有限公司 | 通用策略任务系统及其实现方法 |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484524A (zh) * | 2015-08-28 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种任务处理方法及装置 |
CN106227595A (zh) * | 2016-07-12 | 2016-12-14 | 乐视控股(北京)有限公司 | 处理反复快速操作的方法和系统 |
CN108255884A (zh) * | 2016-12-29 | 2018-07-06 | 大唐移动通信设备有限公司 | 一种omc的日志信息的数据处理方法和装置 |
CN106874083B (zh) * | 2017-01-03 | 2019-06-28 | 杭州医学院 | 一种数采系统人机接口任务调度方法 |
CN106874083A (zh) * | 2017-01-03 | 2017-06-20 | 杭州医学院 | 一种数采系统人机接口任务调度方法 |
CN110088730B (zh) * | 2017-06-30 | 2021-05-18 | 华为技术有限公司 | 任务处理方法、装置、介质及其设备 |
CN110088730A (zh) * | 2017-06-30 | 2019-08-02 | 华为技术有限公司 | 任务处理方法、装置、介质及其设备 |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN107450972B (zh) * | 2017-07-04 | 2020-10-16 | 创新先进技术有限公司 | 一种调度方法、装置以及电子设备 |
CN107797865A (zh) * | 2017-10-20 | 2018-03-13 | 华为软件技术有限公司 | 用户任务处理方法及应用服务器 |
CN108388988A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 基于区块链的协同办公方法、系统及计算机可读存储介质 |
CN108388988B (zh) * | 2018-02-26 | 2021-07-06 | 深圳智乾区块链科技有限公司 | 基于区块链的协同办公方法、系统及计算机可读存储介质 |
CN108833296A (zh) * | 2018-04-08 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 批处理速率的控制方法和装置 |
CN108647082A (zh) * | 2018-04-13 | 2018-10-12 | 中国民航信息网络股份有限公司 | 基于令牌机制的任务处理方法、装置、设备及介质 |
CN108804377A (zh) * | 2018-04-24 | 2018-11-13 | 桂林长海发展有限责任公司 | 一种总线任务处理方法及系统 |
CN108769162A (zh) * | 2018-05-16 | 2018-11-06 | 上海携程商务有限公司 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
CN108769162B (zh) * | 2018-05-16 | 2021-01-12 | 上海携程商务有限公司 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
CN110661824A (zh) * | 2018-06-28 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 分布式集群中服务器的流量调控方法以及装置 |
CN110661824B (zh) * | 2018-06-28 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 分布式集群中服务器的流量调控方法及存储介质 |
CN109194584A (zh) * | 2018-08-13 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 一种流量监控方法、装置、计算机设备及存储介质 |
CN109194584B (zh) * | 2018-08-13 | 2022-04-26 | 中国平安人寿保险股份有限公司 | 一种流量监控方法、装置、计算机设备及存储介质 |
CN109523123B (zh) * | 2018-10-12 | 2024-04-05 | 平安科技(深圳)有限公司 | 一种分布式事务处理的智能调配方法及服务器 |
CN109523123A (zh) * | 2018-10-12 | 2019-03-26 | 平安科技(深圳)有限公司 | 一种分布式事务处理的智能调配方法及服务器 |
CN110175078A (zh) * | 2019-05-30 | 2019-08-27 | 口碑(上海)信息技术有限公司 | 业务处理方法及装置 |
CN110765092A (zh) * | 2019-09-20 | 2020-02-07 | 北京三快在线科技有限公司 | 分布式搜索系统、索引分发方法及存储介质 |
CN111324428A (zh) * | 2019-09-20 | 2020-06-23 | 杭州海康威视系统技术有限公司 | 任务分配方法、装置、设备和计算机可读存储介质 |
CN111324428B (zh) * | 2019-09-20 | 2023-08-22 | 杭州海康威视系统技术有限公司 | 任务分配方法、装置、设备和计算机可读存储介质 |
CN110955644A (zh) * | 2019-11-24 | 2020-04-03 | 浪潮电子信息产业股份有限公司 | 一种存储系统的io控制方法、装置、设备及存储介质 |
CN113391914A (zh) * | 2020-03-11 | 2021-09-14 | 上海商汤智能科技有限公司 | 任务调度方法和装置 |
CN112395085A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市中博科创信息技术有限公司 | 一种基于hdfs的分布式关系数据库的调度方法 |
CN112527527A (zh) * | 2020-12-16 | 2021-03-19 | 深圳市分期乐网络科技有限公司 | 消息队列的消费速度控制方法、装置、电子设备和介质 |
CN112948298A (zh) * | 2021-04-15 | 2021-06-11 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113381944A (zh) * | 2021-06-09 | 2021-09-10 | 中国工商银行股份有限公司 | 系统限流方法、装置、电子设备、介质和程序产品 |
CN113946431B (zh) * | 2021-12-22 | 2022-03-04 | 北京瑞莱智慧科技有限公司 | 一种资源调度方法、系统、介质及计算设备 |
CN113946431A (zh) * | 2021-12-22 | 2022-01-18 | 北京瑞莱智慧科技有限公司 | 一种资源调度方法、系统、介质及计算设备 |
CN114462900A (zh) * | 2022-04-13 | 2022-05-10 | 云智慧(北京)科技有限公司 | 一种业务活动节点的拆分方法、装置及设备 |
CN114462900B (zh) * | 2022-04-13 | 2022-07-29 | 云智慧(北京)科技有限公司 | 一种业务活动节点的拆分方法、装置及设备 |
CN114896040A (zh) * | 2022-05-10 | 2022-08-12 | 浙江太美医疗科技股份有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN114896040B (zh) * | 2022-05-10 | 2024-09-06 | 浙江太美医疗科技股份有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN115562870A (zh) * | 2022-10-25 | 2023-01-03 | 北京京航计算通讯研究所 | 一种集群的任务节点资源构建方法 |
CN115562870B (zh) * | 2022-10-25 | 2023-07-21 | 北京京航计算通讯研究所 | 一种集群的任务节点资源构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104580396B (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580396A (zh) | 一种任务调度方法、节点及系统 | |
US10613909B2 (en) | Method and apparatus for generating an optimized streaming graph using an adjacency operator combination on at least one streaming subgraph | |
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理系统 | |
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN111861412B (zh) | 面向完成时间优化的科学工作流调度方法及系统 | |
US20180165579A1 (en) | Deep Learning Application Distribution | |
CN103595651B (zh) | 基于分布式的数据流处理方法和系统 | |
KR20080041047A (ko) | 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법 | |
Schneider et al. | Multi-layered scheduling of mixed-criticality cyber-physical systems | |
Hu et al. | Distributed computer system resources control mechanism based on network-centric approach | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN104331331A (zh) | 任务数目和性能感知的可重构多核处理器的资源分配方法 | |
CN106453127A (zh) | 一种令牌处理方法和装置 | |
Shah et al. | Agent based priority heuristic for job scheduling on computational grids | |
Benoit et al. | Max-stretch minimization on an edge-cloud platform | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN112214299A (zh) | 多核处理器及其任务调度方法和装置 | |
Choi et al. | Gpsf: general-purpose scheduling framework for container based on cloud environment | |
Pop et al. | Scheduling of sporadic tasks with deadline constrains in cloud environments | |
Liu et al. | Dynamic fair division of multiple resources with satiable agents in cloud computing systems | |
CN114138453B (zh) | 一种适合边缘计算环境的资源优化分配方法与系统 | |
CN116308772A (zh) | 交易分发方法、节点和区块链系统 | |
Heath et al. | Development, analysis, and verification of a parallel hybrid dataflow computer architectural framework and associated load-balancing strategies and algorithms via parallel simulation | |
Desirena-Lopez et al. | On-line scheduling in multiprocessor systems based on continuous control using timed continuous petri nets | |
Wadhonkar et al. | An analysis of priority length and deadline based task scheduling algorithms in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |