一种任务调度方法、节点及系统的制作方法_2

文档序号:8248181阅读:来源:国知局
任务分解器,用于接收第二服务器节点下发的待执行任务,根据所述任务分 配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任务进行分解 得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
[0066] 所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将 所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的 所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至任 务执行节点。
[0067] 结合第五方面,在第一种可能的实现方式中,
[0068] 所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲 区中的未执行的子任务数量。
[0069] 结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0070] 所述任务分配器,具体用于:
[0071] 获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存 储信息;
[0072] 对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的 存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;
[0073] 将所述待执行任务对应的所有子任务缓冲区的还需的子任务数量上报至所述任 务分解器;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;
[0074] 针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点 中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所 述子任务缓冲区中还需的子任务相等数量的子任务;
[0075] 所述任务分解器,具体用于:
[0076] 根据所述任务分配器上报的所述待执行任务对应的所有子任务缓冲区的还需的 子任务数量,对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲 区的还需的子任务相等数量的子任务。
[0077] 本发明的第六方面,提供一种第二服务器节点,包括:任务准入控制器;
[0078] 所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执 行的待执行任务的数量小于数量阈值时,向第一服务器节点下发所述待执行任务。
[0079] 结合第六方面,在第一种可能的实现方式中,
[0080] 所述任务准入控制器,还用于在所述向第一服务器节点下发所述待执行任务之 前,确定所述待执行任务满足预定条件。
[0081] 结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0082] 所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务 的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执 行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
[0083] 本发明的第七方面,提供一种任务调度系统,包括:任务准入控制器、任务分解器、 任务分配器、任务接收器、子任务调节阀和执行引擎;
[0084] 所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执 行的待执行任务的数量小于数量阈值时,向所述任务分解器下发所述待执行任务;
[0085] 所述任务分解器,用于接收所述任务准入控制器下发的所述待执行任务,并根据 所述任务分配器上报的所述待执行任务对应的子任务缓冲区的存储信息,将所述待执行任 务进行分解得到至少一个子任务,并将所述至少一个子任务存储在子任务总缓冲区中;
[0086] 所述任务分配器,用于获取所述待执行任务对应的子任务缓冲区的存储信息,将 所述待执行任务对应的子任务缓冲区的存储信息上报至所述任务分解器,并根据获取到的 所述子任务缓冲区的存储信息,从所述子任务总缓冲区中将所述至少一个子任务发送至所 述任务接收器;
[0087] 所述任务接收器,用于接收所述任务分配器发送的所述至少一个子任务,并将所 述至少一个子任务存储在子任务缓冲区中;
[0088] 所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根 据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数 量的所述子任务下发到所述执行引擎;
[0089] 所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
[0090] 结合第七方面,在第一种可能的实现方式中,
[0091] 所述任务准入控制器设置在第二服务器节点上;
[0092] 所述任务分解器和所述任务分配器设置在第一服务器节点上;
[0093] 所述任务接收器、所述子任务调节阀和所述执行引擎设置在任务执行节点上;
[0094] 其中,所述任务调度系统包括:多个所述第二服务器节点、多个所述第一服务器节 点、多个所述任务执行节点,其中所述多个第二服务器节点在任意时刻有一个处于活动状 态,所述多个第一服务器节点在任意时刻有一个处于活动状态,所述多个任务执行节点用 于并行处理所述第一服务器节点的所述任务分配器下发的由所述待执行任务分解得到的 子任务。
[0095] 结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0096] 所述子任务调节阀,还用于从所述令牌桶中减去与下发到所述执行引擎的所述子 任务相等数量的令牌。
[0097] 结合第七方面的第二种可能的实现方式,在第三种可能的实现方式中,所述任务 调度系统还包括:设置在所述任务执行节点上的负反馈控制器;
[0098] 所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所 述令牌桶内加入令牌。
[0099] 本发明提供的任务调度方法、节点及系统,任务执行节点在接收到第一服务器节 点发送的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子 任务缓冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数, 对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够 反映当前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌 桶内的令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够 获得较高的总体系统资源利用率。
【附图说明】
[0100] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0101] 图1为本发明一实施例提供的一种任务调度方法流程图;
[0102] 图2为本发明另一实施例提供的一种任务调度方法流程图;
[0103] 图3为本发明另一实施例提供的一种任务调度方法流程图;
[0104] 图4为本发明另一实施例提供的一种分布式系统的组成示意图;
[0105] 图5为本发明另一实施例提供的一种任务调度方法流程图;
[0106] 图6为本发明另一实施例提供的一种第一服务器节点和任务执行节点的任务调 度处理架构图;
[0107] 图7为本发明另一实施例提供的一种任务执行节点的任务调度处理架构图;
[0108] 图8为本发明另一实施例提供的一种任务执行节点的组成示意图;
[0109] 图9为本发明另一实施例提供的另一种任务执行节点的组成示意图;
[0110] 图10为本发明另一实施例提供的一种第一服务器节点的组成示意图;
[0111] 图Il为本发明另一实施例提供的一种第二服务器节点的组成示意图;
[0112] 图12为本发明另一实施例提供的一种节点的组成示意图;
[0113] 图13为本发明另一实施例提供的一种任务调度系统的组成示意图;
[0114] 图14为本发明另一实施例提供的另一种任务调度系统的组成示意图;
[0115] 图15为本发明另一实施例提供的又一种任务调度系统的组成示意图;
[0116] 图16为本发明另一实施例提供的再一种任务调度系统的组成示意图。
【具体实施方式】
[0117] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0118] 另外,本文中术语"和/或",仅仅是一种描述关联对象的关联关系,表示可以存在 三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情 况。另外,本文中字符"/",一般表示前后关联对象是一种"或"的关系。
[0119] 本发明一实施例提供一种任务调度方法,如图1所示,该方法可以包括:
[0120] 101、任务执行节点接收第一服务器节点发送的至少一个子任务,并将至少一个子 任务存储在子任务缓冲区中。
[0121] 其中,至少一个子任务是由第一服务器节点对待执行任务进行分解得到的。在第 一服务器节点接收到第二服务器节点下发的待执行任务之后,第一服务器节点可以对待执 行任务进行分解得到至少一个子任务,并将分解得到的至少一个子任务发送至任务执行节 点,此时,任务执行节点便可以接收第一服务器节点发送的至少一个子任务,并将接收到的 至少一个子任务存储在子任务缓冲区中。
[0122] 102、任务执行节点获取与待执行任务对应的令牌桶内的令牌数。
[0123] 其中,为了能够实现对自身资源占用的精确控制,任务执行节点可以为每个待执 行任务维护一个令牌桶,这样,在任务执行节点接收到至少一个子任务并存储在子任务缓 冲区中之后,可以获取自身维护的与待执行任务对应的令牌桶内的令牌数。
[0124] 103、任务执行节点根据令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内 的令牌数相等数量的子任务进行处理。
[0125] 其中,在任务执行节点获取到与该待执行任务对应的令牌桶内的令牌数之后,可 以根据获取到的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数 量的子任务进行处理。
[0126] 本发明实施例提供的任务调度方法,任务执行节点在接收到第一服务器节点发送 的对待执行任务进行分解得到的至少一个子任务,并将该至少一个子任务存储在子任务缓 冲区中之后,任务执行节点根据获取到的与待执行任务对应的令牌桶内的令牌数,对子任 务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理,通过根据能够反映当 前可以处理的最大子任务数的令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的 令牌数相等数量的子任务进行处理,实现了对系统资源占用的精确控制,从而能够获得较 高的总体系统资源利用率。
[0127] 本发明另一实施例提供一种任务调度方法,如图2所示,该方法可以包括:
[0128] 201、第一服务器节点接收第二服务器节点下发的待执行任务
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1