任务处理方法及系统的制作方法_2

文档序号:8412393阅读:来源:国知局
当前权重对应的任务处理速度进行比较;
[0054]当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
[0055]当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
[0056]可选的,所述能力获得单元,包括:第一获得子单元或第二获得子单元,
[0057]所述第一获得子单元,用于从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
[0058]所述第二获得子单元,用于接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
[0059]本发明实施例提供的任务处理方法及系统,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重进行更新。这样分配到该任务处理节点的子任务数量将与变化后的任务处理能力匹配,从而避免了浪费资源的情况,更利于任务的快速处理。
【附图说明】
[0060]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]图1为本发明实施例提供的一种任务处理方法的流程图;
[0062]图2为本发明实施例提供的另一种任务处理方法的流程图;
[0063]图3为本发明实施例提供的一种任务处理系统的结构示意图;
[0064]图4为本发明实施例提供的另一种任务处理系统的结构示意图。
【具体实施方式】
[0065]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]如图1所示,本发明实施例提供了一种任务处理方法,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,该方法可以包括:
[0067]S100、将预设的各任务处理节点的权重的初始值确定为当前权重;
[0068]其中,任务处理节点可以为与任务分发服务器相连接的具有处理功能的设备。待处理任务可以为各种任务,例如消息推送任务等,本发明在此不做限定。
[0069]可选的,预设的各任务处理节点的权重的初始值可以根据各任务处理节点的硬件配置(如处理器性能、内存容量等)来确定。
[0070]接收到待处理任务后,执行所述步骤S200至步骤S500。
[0071]S200、获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
[0072]具体的,各个子任务的颗粒度可以相同。其中,颗粒度即为任务所需的计算量,颗粒度越大,则任务所需的计算量越大。具体的,本发明的待处理任务可以为各种任务,如消息推送任务。
[0073]对待处理任务进行拆分的具体过程可以为:
[0074]根据预设的子任务的颗粒度阈值,计算得到待处理任务中的各个子任务的起始位置及各个子任务的终止位置;
[0075]对每一个子任务:将待处理任务的任务标识、该子任务的起始位置、该子任务的终止位置和任务信息封装为该子任务的子任务对象。
[0076]这样就将待处理任务拆分为了多个子任务。
[0077]其中,S200可以具体包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务。
[0078]S300、将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
[0079]其中,在S200具体包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务时,S300可以包括:
[0080]调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理。
[0081]这样,通过不同的两个线程分别进行任务拆分和任务分配,不同线程之间互不干扰,并行处理,有效提高了整体处理速度。
[0082]具体的,在当前权重较大时,与其匹配的子任务数量也较多,反之较少。
[0083]具体的,将拆分的各子任务分配到所述任务处理节点进行处理的具体过程可以为:
[0084]将各子任务的子任务对象分配到任务处理节点进行处理。
[0085]这样,任务处理节点就可以根据子任务对象中的信息找到子任务并对子任务进行处理。
[0086]S400、获得所述任务处理节点统计得到的任务处理能力信息;
[0087]其中,S400获得任务处理节点统计得到的任务处理能力信息的方式有多种,如周期性获得、实时获得等。S400可以在处理完子任务后统计得到任务处理能力信息,也可以在处理子任务过程中进行统计。
[0088]具体的,S400可以具体包括:
[0089]从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
[0090]或者,
[0091]接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
[0092]S500、根据获得的任务处理能力信息,对所述当前权重进行更新。
[0093]其中,任务处理能力信息可以为任务处理速度,S500可以具体包括:
[0094]将获得的任务处理速度与预设权重系数相乘,获得计算结果;
[0095]将所述当前权重更新为所述计算结果。
[0096]在本发明其他实施例中,在任务处理能力信息为任务处理速度时,任务分发服务器中还可以存储有与任务处理节点的当前权重对应的任务处理速度,S500可以具体包括:
[0097]对获得的任一任务处理节点的任务处理速度均进行如下处理:
[0098]将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
[0099]当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
[0100]当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
[0101]具体的,与权重的初始值对应的任务处理速度可以为预设的任务处理速度。该预设的任务处理速度可以由技术人员设定。
[0102]本发明实施例提供的任务处理方法,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1