CN104731647A - 任务处理方法及系统 - Google Patents
任务处理方法及系统 Download PDFInfo
- Publication number
- CN104731647A CN104731647A CN201510149844.7A CN201510149844A CN104731647A CN 104731647 A CN104731647 A CN 104731647A CN 201510149844 A CN201510149844 A CN 201510149844A CN 104731647 A CN104731647 A CN 104731647A
- Authority
- CN
- China
- Prior art keywords
- task processing
- task
- processing node
- node
- subtask
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Of Solid Wastes (AREA)
Abstract
本发明实施例提供的任务处理方法及系统,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重进行更新。这样分配到该任务处理节点的子任务数量将与变化后的任务处理能力匹配,从而避免了浪费资源的情况,更利于任务的快速处理。
Description
技术领域
本发明涉及任务处理技术领域,特别是涉及任务处理方法及系统。
背景技术
随着科学技术的发展,电子设备的处理能力越来越高,相应的,电子设备所要处理的任务也越来越复杂。通过将一个复杂的任务拆分为多个子任务,并将子任务分配到多个任务处理节点上进行处理,可以提高任务的处理速度。
每次接收到任务后的具体过程均为:
首先将复杂的任务平均拆分为多个子任务;
在任务拆分完毕后,将各个子任务平均分配到各任务处理节点上进行处理,每个任务处理节点上的子任务数量也是相同的。
发明人研究发现:不同的任务处理节点的处理能力并不相同,并且各任务处理节点的处理能力易受网络状况等因素影响而产生变化。由于每个任务处理节点上分配的子任务数量相同,因此处理能力较高的任务处理节点在处理任务完毕后将处于空闲状态,以等待处理能力较低的任务处理节点处理完毕,只有全部子任务均处理完毕后,该复杂的任务才处理完毕,这无疑浪费了资源,不利于任务的快速处理。由于每次分配子任务时分配给同一个任务处理节点的子任务数量都是相同的,因此当该任务处理节点的处理能力发生变化时,分配到该任务处理节点的子任务数量已无法与该任务处理节点的处理能力相匹配,同样浪费了资源,不利于任务的快速处理。
发明内容
本发明实施例的目的在于提供一种任务处理方法及系统,以实现任务的快速处理。
为达到上述目的,本发明实施例公开了一种任务处理方法,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,所述方法包括:
步骤A,将预设的各任务处理节点的权重的初始值确定为当前权重;
步骤B,获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
步骤C,将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
步骤D,获得所述任务处理节点统计得到的任务处理能力信息;
步骤E,根据获得的任务处理能力信息,对所述当前权重进行更新;
接收到待处理任务后,执行所述步骤B至步骤E。
可选的,所述对所述待处理任务进行拆分,获得多个子任务后,所述方法还包括:将拆分得到的各子任务放入任务队列中;
所述将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,包括:
根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
可选的,所述获得待处理任务,对所述待处理任务进行拆分,获得多个子任务,包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务;
所述将拆分的各子任务分配到所述任务处理节点进行处理,包括:
调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理。
可选的,所述任务处理能力信息为任务处理速度,
所述根据获得的任务处理能力信息,对所述当前权重进行更新,包括:
将获得的任务处理速度与预设权重系数相乘,获得计算结果;
将所述当前权重更新为所述计算结果;
或者,所述任务分发服务器中还存储有与任务处理节点的当前权重对应的任务处理速度,所述根据获得的任务处理能力信息,对所述当前权重进行更新,包括:对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
可选的,所述获得所述任务处理节点统计得到的任务处理能力信息,包括:
从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
或者,
接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
一种任务处理系统,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,所述系统包括:权重确定单元、任务拆分单元、任务分配单元、能力获得单元、权重更新单元和任务转发单元,
所述权重确定单元,用于将预设的各任务处理节点的权重的初始值确定为当前权重;
所述任务拆分单元,用于获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
所述任务分配单元,用于将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
所述能力获得单元,用于获得所述任务处理节点统计得到的任务处理能力信息;
所述权重更新单元,用于根据获得的任务处理能力信息,对所述当前权重进行更新;
所述任务转发单元,用于在接收到待处理任务后,将该任务转发至所述任务拆分单元。
可选的,所述系统还包括:任务入列单元,用于在所述任务拆分单元对所述待处理任务进行拆分,获得多个子任务后,将拆分得到的各子任务放入任务队列中;
所述任务分配单元,包括:节点选择子单元和分配子单元,
所述节点选择子单元,用于根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
所述分配子单元,用于将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
可选的,所述任务拆分单元,具体用于获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务;
所述任务分配单元,具体用于调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
可选的,所述任务处理能力信息为任务处理速度,
所述权重更新单元,包括:相乘子单元和更新子单元,
所述相乘子单元,用于将获得的任务处理速度与预设权重系数相乘,获得计算结果;
所述更新子单元,用于将所述当前权重更新为所述计算结果;
或者,所述任务分发服务器中还存储有与任务处理节点的当前权重对应的任务处理速度,所述权重更新单元,具体用于:
对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
可选的,所述能力获得单元,包括:第一获得子单元或第二获得子单元,
所述第一获得子单元,用于从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
所述第二获得子单元,用于接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
本发明实施例提供的任务处理方法及系统,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重进行更新。这样分配到该任务处理节点的子任务数量将与变化后的任务处理能力匹配,从而避免了浪费资源的情况,更利于任务的快速处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种任务处理方法的流程图;
图2为本发明实施例提供的另一种任务处理方法的流程图;
图3为本发明实施例提供的一种任务处理系统的结构示意图;
图4为本发明实施例提供的另一种任务处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种任务处理方法,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,该方法可以包括:
S100、将预设的各任务处理节点的权重的初始值确定为当前权重;
其中,任务处理节点可以为与任务分发服务器相连接的具有处理功能的设备。待处理任务可以为各种任务,例如消息推送任务等,本发明在此不做限定。
可选的,预设的各任务处理节点的权重的初始值可以根据各任务处理节点的硬件配置(如处理器性能、内存容量等)来确定。
接收到待处理任务后,执行所述步骤S200至步骤S500。
S200、获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
具体的,各个子任务的颗粒度可以相同。其中,颗粒度即为任务所需的计算量,颗粒度越大,则任务所需的计算量越大。具体的,本发明的待处理任务可以为各种任务,如消息推送任务。
对待处理任务进行拆分的具体过程可以为:
根据预设的子任务的颗粒度阈值,计算得到待处理任务中的各个子任务的起始位置及各个子任务的终止位置;
对每一个子任务:将待处理任务的任务标识、该子任务的起始位置、该子任务的终止位置和任务信息封装为该子任务的子任务对象。
这样就将待处理任务拆分为了多个子任务。
其中,S200可以具体包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务。
S300、将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
其中,在S200具体包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务时,S300可以包括:
调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理。
这样,通过不同的两个线程分别进行任务拆分和任务分配,不同线程之间互不干扰,并行处理,有效提高了整体处理速度。
具体的,在当前权重较大时,与其匹配的子任务数量也较多,反之较少。
具体的,将拆分的各子任务分配到所述任务处理节点进行处理的具体过程可以为:
将各子任务的子任务对象分配到任务处理节点进行处理。
这样,任务处理节点就可以根据子任务对象中的信息找到子任务并对子任务进行处理。
S400、获得所述任务处理节点统计得到的任务处理能力信息;
其中,S400获得任务处理节点统计得到的任务处理能力信息的方式有多种,如周期性获得、实时获得等。S400可以在处理完子任务后统计得到任务处理能力信息,也可以在处理子任务过程中进行统计。
具体的,S400可以具体包括:
从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
或者,
接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
S500、根据获得的任务处理能力信息,对所述当前权重进行更新。
其中,任务处理能力信息可以为任务处理速度,S500可以具体包括:
将获得的任务处理速度与预设权重系数相乘,获得计算结果;
将所述当前权重更新为所述计算结果。
在本发明其他实施例中,在任务处理能力信息为任务处理速度时,任务分发服务器中还可以存储有与任务处理节点的当前权重对应的任务处理速度,S500可以具体包括:
对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
具体的,与权重的初始值对应的任务处理速度可以为预设的任务处理速度。该预设的任务处理速度可以由技术人员设定。
本发明实施例提供的任务处理方法,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重进行更新。这样分配到该任务处理节点的子任务数量将与变化后的任务处理能力匹配,从而避免了浪费资源的情况,更利于任务的快速处理。
在图1所示实施例基础上,如图2所示,本发明实施例提供的另一种任务处理方法,在S200后,还可以包括:
S210、将拆分得到的各子任务放入任务队列中;
S300可以包括:
S310、根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
S320、将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
其中,任务队列中的子任务可以按照放入的先后顺序分配到任务处理节点中进行处理,这样,新的子任务不断生成并放入任务队列中,而旧的子任务又不断被分配到任务处理节点中进行处理,从而形成一个连贯而有序的处理过程。
当任务队列已满时,可以不再拆分得到子任务,等待任务队列变为未满状态时,再进行拆分。
与上述方法实施例相对应,本发明还提供了一种任务处理系统。
如图3所示,本发明实施例提供的一种任务处理系统,应用于任务分发服务器中,该任务分发服务器与多个任务处理节点相连接,该系统可以包括:权重确定单元100、任务拆分单元200、任务分配单元300、能力获得单元400、权重更新单元500和任务转发单元600,
权重确定单元100,用于将预设的各任务处理节点的权重的初始值确定为当前权重;
其中,任务处理节点可以为与任务分发服务器相连接的具有处理功能的设备。待处理任务可以为各种任务,例如消息推送任务等,本发明在此不做限定。
可选的,预设的各任务处理节点的权重的初始值可以根据各任务处理节点的硬件配置(如处理器性能、内存容量等)来确定。
任务拆分单元200,用于获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
其中,任务拆分单元200,可以具体用于获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务。
任务分配单元300,用于将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
在任务拆分单元200具体用于获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务时,任务分配单元300可以具体用于调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
这样,通过不同的两个线程分别进行任务拆分和任务分配,不同线程之间互不干扰,并行处理,有效提高了整体处理速度。
具体的,在当前权重较大时,与其匹配的子任务数量也较多,反之较少。
能力获得单元400,用于获得所述任务处理节点统计得到的任务处理能力信息;
其中,能力获得单元400,可以包括:第一获得子单元或第二获得子单元,
所述第一获得子单元,用于从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
所述第二获得子单元,用于接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
权重更新单元500,用于根据获得的任务处理能力信息,对所述当前权重进行更新。
任务转发单元600,用于在接收到待处理任务后,将该任务转发至所述任务拆分单元200。这样,当待处理任务到达时,任务拆分单元200、任务分配单元300、能力获得单元400和权重更新单元500会被再次触发。
其中,任务处理能力信息可以为任务处理速度,所述权重更新单元,可以包括:相乘子单元和更新子单元,
所述相乘子单元,用于将获得的任务处理速度与预设权重系数相乘,获得计算结果;
所述更新子单元,用于将所述当前权重更新为所述计算结果。
在本发明其他实施例中,在任务处理能力信息为任务处理速度时,所述任务分发服务器中还可以存储有与任务处理节点的当前权重对应的任务处理速度,权重更新单元500,可以具体用于:
对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
本发明实施例提供的任务处理系统,可以获得任务处理节点统计得到的任务处理能力信息,并根据获得的任务处理能力信息,对当前权重进行更新。由于分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,因此当任务处理节点的任务处理能力发生变化时,本发明可以及时对该任务处理节点的当前权重进行更新。这样分配到该任务处理节点的子任务数量将与变化后的任务处理能力匹配,从而避免了浪费资源的情况,更利于任务的快速处理。
在图3所示实施例基础上,如图4所示,本发明实施例提供的另一种任务处理系统还可以包括:任务入列单元210,用于在任务拆分单元200对所述待处理任务进行拆分,获得多个子任务后,将拆分得到的各子任务放入任务队列中;
任务分配单元300,可以包括:节点选择子单元310和分配子单元320,
节点选择子单元310,用于根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
分配子单元320,用于将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
其中,分配子单元320可以将任务队列中的子任务按照放入的先后顺序分配到任务处理节点中进行处理,这样,新的子任务不断生成并放入任务队列中,而旧的子任务又不断被分配到任务处理节点中进行处理,从而形成一个连贯而有序的处理过程。
当任务队列已满时,任务拆分单元200可以不再拆分得到子任务,等待任务队列变为未满状态时,再进行拆分。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种任务处理方法,其特征在于,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,所述方法包括:
步骤A,将预设的各任务处理节点的权重的初始值确定为当前权重;
步骤B,获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
步骤C,将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
步骤D,获得所述任务处理节点统计得到的任务处理能力信息;
步骤E,根据获得的任务处理能力信息,对所述当前权重进行更新;
接收到待处理任务后,执行所述步骤B至步骤E。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理任务进行拆分,获得多个子任务后,所述方法还包括:将拆分得到的各子任务放入任务队列中;
所述将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配,包括:
根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
3.根据权利要求1所述的方法,其特征在于,所述获得待处理任务,对所述待处理任务进行拆分,获得多个子任务,包括:获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务;
所述将拆分的各子任务分配到所述任务处理节点进行处理,包括:
调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理。
4.根据权利要求1或2所述的方法,其特征在于,所述任务处理能力信息为任务处理速度,
所述根据获得的任务处理能力信息,对所述当前权重进行更新,包括:
将获得的任务处理速度与预设权重系数相乘,获得计算结果;
将所述当前权重更新为所述计算结果;
或者,所述任务分发服务器中还存储有与任务处理节点的当前权重对应的任务处理速度,所述根据获得的任务处理能力信息,对所述当前权重进行更新,包括:对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
5.根据权利要求1所述的方法,其特征在于,所述获得所述任务处理节点统计得到的任务处理能力信息,包括:
从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
或者,
接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
6.一种任务处理系统,其特征在于,应用于任务分发服务器中,所述任务分发服务器与多个任务处理节点相连接,所述系统包括:权重确定单元、任务拆分单元、任务分配单元、能力获得单元、权重更新单元和任务转发单元,
所述权重确定单元,用于将预设的各任务处理节点的权重的初始值确定为当前权重;
所述任务拆分单元,用于获得待处理任务,对所述待处理任务进行拆分,获得多个子任务;
所述任务分配单元,用于将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配;
所述能力获得单元,用于获得所述任务处理节点统计得到的任务处理能力信息;
所述权重更新单元,用于根据获得的任务处理能力信息,对所述当前权重进行更新;
所述任务转发单元,用于在接收到待处理任务后,将该任务转发至所述任务拆分单元。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:任务入列单元,用于在所述任务拆分单元对所述待处理任务进行拆分,获得多个子任务后,将拆分得到的各子任务放入任务队列中;
所述任务分配单元,包括:节点选择子单元和分配子单元,
所述节点选择子单元,用于根据存储的各任务处理节点的当前权重,从各任务处理节点中选择多个任务处理节点组成节点组;
所述分配子单元,用于将任务队列中的子任务分配到所述节点组中的各任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
8.根据权利要求6所述的系统,其特征在于,所述任务拆分单元,具体用于获得待处理任务,调用第一线程对所述待处理任务进行拆分,获得多个子任务;
所述任务分配单元,具体用于调用第二线程将拆分的各子任务分配到所述任务处理节点进行处理,其中,分配到任一任务处理节点的子任务数量与存储的该任务处理节点的当前权重相匹配。
9.根据权利要求6或7所述的系统,其特征在于,所述任务处理能力信息为任务处理速度,
所述权重更新单元,包括:相乘子单元和更新子单元,
所述相乘子单元,用于将获得的任务处理速度与预设权重系数相乘,获得计算结果;
所述更新子单元,用于将所述当前权重更新为所述计算结果;
或者,所述任务分发服务器中还存储有与任务处理节点的当前权重对应的任务处理速度,所述权重更新单元,具体用于:
对获得的任一任务处理节点的任务处理速度均进行如下处理:
将获得的该任务处理节点的任务处理速度与存储的该任务处理节点的当前权重对应的任务处理速度进行比较;
当将获得的该任务处理节点的任务处理速度大于存储的该任务处理节点的当前权重对应的任务处理速度时,增大存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度;
当将获得的该任务处理节点的任务处理速度小于存储的该任务处理节点的当前权重对应的任务处理速度时,减小存储的该任务处理节点的当前权重并将所接收的该任务处理节点的任务处理速度作为与更新后的当前权重对应的任务处理速度。
10.根据权利要求6所述的系统,其特征在于,所述能力获得单元,包括:第一获得子单元或第二获得子单元,
所述第一获得子单元,用于从数据库或消息队列中获得所述任务处理节点统计得到的任务处理能力信息,其中,数据库或消息队列中的任务处理能力信息是任务处理节点在统计得到任务处理能力信息后放入的;
所述第二获得子单元,用于接收任务处理节点通过更新接口发送的任务处理能力信息,所述任务处理能力信息是任务处理节点统计得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149844.7A CN104731647B (zh) | 2015-03-31 | 2015-03-31 | 任务处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149844.7A CN104731647B (zh) | 2015-03-31 | 2015-03-31 | 任务处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731647A true CN104731647A (zh) | 2015-06-24 |
CN104731647B CN104731647B (zh) | 2018-02-09 |
Family
ID=53455562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510149844.7A Active CN104731647B (zh) | 2015-03-31 | 2015-03-31 | 任务处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731647B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893497A (zh) * | 2016-03-29 | 2016-08-24 | 杭州数梦工场科技有限公司 | 一种任务处理方法和装置 |
CN107291544A (zh) * | 2017-08-03 | 2017-10-24 | 山东浪潮云服务信息科技有限公司 | 任务调度的方法及装置、分布式任务执行系统 |
CN107301085A (zh) * | 2017-05-31 | 2017-10-27 | 深圳市神云科技有限公司 | 一种基于队列的云平台任务分配方法 |
CN107479963A (zh) * | 2016-06-08 | 2017-12-15 | 国家计算机网络与信息安全管理中心 | 一种任务分配方法及系统 |
CN107622336A (zh) * | 2016-07-15 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 任务的推送方法、装置及系统 |
WO2018219308A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 通信网络中的任务处理方法和通信装置 |
CN109101325A (zh) * | 2017-06-21 | 2018-12-28 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置、系统及电子设备 |
CN109725991A (zh) * | 2018-02-28 | 2019-05-07 | 平安普惠企业管理有限公司 | 任务处理方法、装置、设备及可读存储介质 |
CN109992382A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 任务调度方法、装置及任务调度器 |
CN110287033A (zh) * | 2019-07-03 | 2019-09-27 | 网易(杭州)网络有限公司 | 批量任务处理方法、装置、系统、设备和可读存储介质 |
CN110928692A (zh) * | 2020-01-23 | 2020-03-27 | 飞诺门阵(北京)科技有限公司 | 一种任务处理方法、装置及电子设备 |
CN112114971A (zh) * | 2020-09-28 | 2020-12-22 | 中国建设银行股份有限公司 | 一种任务分配方法、装置及设备 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN113014624A (zh) * | 2021-02-08 | 2021-06-22 | 武汉虹信科技发展有限责任公司 | 设备数据配置方法和系统 |
CN113419863A (zh) * | 2021-07-02 | 2021-09-21 | 广东省电信规划设计院有限公司 | 一种基于节点能力的数据分配处理方法及装置 |
US11706097B2 (en) | 2020-01-23 | 2023-07-18 | Novnet Computing System Tech Co., Ltd. | Task processing method applied to network topology, electronic device and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304866B1 (en) * | 1997-06-27 | 2001-10-16 | International Business Machines Corporation | Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads |
CN102467415A (zh) * | 2010-11-03 | 2012-05-23 | 大唐移动通信设备有限公司 | 一种业务面任务处理方法及设备 |
CN102541645A (zh) * | 2012-01-04 | 2012-07-04 | 北京航空航天大学 | 一种基于节点状态反馈的节点任务槽动态调整方法 |
CN103699441A (zh) * | 2013-12-05 | 2014-04-02 | 深圳先进技术研究院 | 基于任务粒度的MapReduce报表任务执行方法 |
CN103942098A (zh) * | 2014-04-29 | 2014-07-23 | 国家电网公司 | 一种任务处理系统和方法 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
-
2015
- 2015-03-31 CN CN201510149844.7A patent/CN104731647B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304866B1 (en) * | 1997-06-27 | 2001-10-16 | International Business Machines Corporation | Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads |
CN102467415A (zh) * | 2010-11-03 | 2012-05-23 | 大唐移动通信设备有限公司 | 一种业务面任务处理方法及设备 |
CN102541645A (zh) * | 2012-01-04 | 2012-07-04 | 北京航空航天大学 | 一种基于节点状态反馈的节点任务槽动态调整方法 |
CN103699441A (zh) * | 2013-12-05 | 2014-04-02 | 深圳先进技术研究院 | 基于任务粒度的MapReduce报表任务执行方法 |
CN103942098A (zh) * | 2014-04-29 | 2014-07-23 | 国家电网公司 | 一种任务处理系统和方法 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893497A (zh) * | 2016-03-29 | 2016-08-24 | 杭州数梦工场科技有限公司 | 一种任务处理方法和装置 |
CN107479963A (zh) * | 2016-06-08 | 2017-12-15 | 国家计算机网络与信息安全管理中心 | 一种任务分配方法及系统 |
CN107622336A (zh) * | 2016-07-15 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 任务的推送方法、装置及系统 |
CN107301085A (zh) * | 2017-05-31 | 2017-10-27 | 深圳市神云科技有限公司 | 一种基于队列的云平台任务分配方法 |
WO2018219308A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 通信网络中的任务处理方法和通信装置 |
US11089650B2 (en) | 2017-05-31 | 2021-08-10 | Huawei Technologies Co., Ltd. | Task processing method in communications network and communications apparatus |
CN107301085B (zh) * | 2017-05-31 | 2020-10-23 | 树根互联技术有限公司 | 一种基于队列的云平台任务分配方法 |
CN109101325A (zh) * | 2017-06-21 | 2018-12-28 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置、系统及电子设备 |
CN107291544B (zh) * | 2017-08-03 | 2020-07-28 | 浪潮云信息技术股份公司 | 任务调度的方法及装置、分布式任务执行系统 |
CN107291544A (zh) * | 2017-08-03 | 2017-10-24 | 山东浪潮云服务信息科技有限公司 | 任务调度的方法及装置、分布式任务执行系统 |
CN109992382A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 任务调度方法、装置及任务调度器 |
CN109725991B (zh) * | 2018-02-28 | 2021-04-16 | 平安普惠企业管理有限公司 | 任务处理方法、装置、设备及可读存储介质 |
CN109725991A (zh) * | 2018-02-28 | 2019-05-07 | 平安普惠企业管理有限公司 | 任务处理方法、装置、设备及可读存储介质 |
CN110287033A (zh) * | 2019-07-03 | 2019-09-27 | 网易(杭州)网络有限公司 | 批量任务处理方法、装置、系统、设备和可读存储介质 |
CN110928692B (zh) * | 2020-01-23 | 2020-08-07 | 飞诺门阵(北京)科技有限公司 | 一种任务处理方法、装置及电子设备 |
CN110928692A (zh) * | 2020-01-23 | 2020-03-27 | 飞诺门阵(北京)科技有限公司 | 一种任务处理方法、装置及电子设备 |
US11706097B2 (en) | 2020-01-23 | 2023-07-18 | Novnet Computing System Tech Co., Ltd. | Task processing method applied to network topology, electronic device and storage medium |
CN112114971A (zh) * | 2020-09-28 | 2020-12-22 | 中国建设银行股份有限公司 | 一种任务分配方法、装置及设备 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN113014624A (zh) * | 2021-02-08 | 2021-06-22 | 武汉虹信科技发展有限责任公司 | 设备数据配置方法和系统 |
CN113014624B (zh) * | 2021-02-08 | 2022-07-19 | 武汉虹信科技发展有限责任公司 | 设备数据配置方法和系统 |
CN113419863A (zh) * | 2021-07-02 | 2021-09-21 | 广东省电信规划设计院有限公司 | 一种基于节点能力的数据分配处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104731647B (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731647A (zh) | 任务处理方法及系统 | |
CN104699542B (zh) | 任务处理方法及系统 | |
CN109032801B (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
CN103036946B (zh) | 一种用于云平台处理文件备份任务的方法和系统 | |
CN103366022B (zh) | 信息处理系统及其处理方法 | |
CN105980988A (zh) | Smp环境中在数据库工作代理间动态分配资源和任务的方法和系统 | |
CN103763378A (zh) | 基于分布式流式计算系统的任务处理方法、系统及节点 | |
CN105068874A (zh) | 一种结合Docker技术的资源按需动态分配方法 | |
CN105897484A (zh) | 一种流量管理装置、服务器和方法 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN102916953A (zh) | 基于tcp连接实现并发服务的方法及装置 | |
CN103227809A (zh) | 用于在不同客户端之间管理资源以用于专用的方法和系统 | |
CN103458052A (zh) | 一种基于IaaS云平台的资源调度方法和装置 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
CN107193652A (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
CN106982245B (zh) | 监管控制和数据采集系统中的客户端和服务器 | |
CN110275873A (zh) | 文件存储方法、装置、存储管理设备及存储介质 | |
CN107330680A (zh) | 红包控制方法、装置、计算机设备及计算机可读存储介质 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN105204948B (zh) | 虚拟机物理内存配置方法及装置 | |
CN108681481A (zh) | 业务请求的处理方法及装置 | |
CN109428735B (zh) | 计费方法和计费系统 | |
CN105786447A (zh) | 服务器处理数据的方法、装置及服务器 | |
CN103440113A (zh) | 一种磁盘io资源分配方法和装置 |
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 |