[发明专利]一种分配工作任务的方法及装置有效
申请号: | 201510674211.8 | 申请日: | 2015-10-16 |
公开(公告)号: | CN105303307B | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 费振国;高昊江;李效本 | 申请(专利权)人: | 京北方信息技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 11332 北京品源专利代理有限公司 | 代理人: | 孟金喆;胡彬 |
地址: | 100089 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分配 工作任务 方法 装置 | ||
1.一种分配工作任务的方法,其特征在于,所述方法包括:
装载工作项任务队列到二维数组中,二维数组的一维表示工作项类型,另一维表示具体的工作项任务队列,并为每个工作项类型设置工作项序号取值范围;
获取用户发送的处理工作任务的请求;
为所述请求创建任务分配线程;
通过所述任务分配线程执行原子操作,为所述请求分配工作项序号;
若所分配的工作项序号超过所述工作项类型对应的工作项序号取值范围则返回没有任务,否则,根据所述工作项序号提取工作任务,发送给所述用户;
所述所分配的工作项序号如果超过所属工作项类型对应的工作项序号取值范围,则如果该工作项类型的任务装载线程没有启动,则启动该工作项类型的任务装载线程,否则,不需要进行启动任务装载线程;
工作项类型的任务装载线程首先设置该工作项类型的工作项序号取值范围为空,清空所述二维数组中所述工作项类型序号对应的所有工作任务,并重新装载该工作项类型的工作任务到二维数组中,并设置该工作项类型的工作项序号取值范围与所装载的工作项个数相匹配;
通过所述任务分配线程执行原子操作,为所述请求分配工作项序号包括:
通过所述任务分配线程,将工作项序号器的计数值按照设定规则进行计算,计算确定的数值作为分配的工作项序号;
将工作项序号器的计数值加1或减1,得到的数值作为分配的工作项序号。
2.根据权利要求1所述的方法,其特征在于,所述通过所述任务分配线程,将工作项序号器的计数值按照设定规则进行计算,计算确定的数值作为分配的工作项序号之前,还包括:
确定所述请求是否包括预先设置的工作项类型参数;
若确定所述请求包括预先设置的工作项类型参数,则通过原子操作为所述请求分配与所述工作项类型参数对应的工作项类型序号;
若确定所述请求未包括预先设置的工作项类型参数,则为所述请求分配工作项类型序号;
根据所述工作项类型参数,确定对应的工作项序号器。
3.根据权利要求2所述的方法,其特征在于,所述为所述请求分配工作项类型序号,包括:
执行原子操作将工作项类型序号器的当前计数值加1或减1,得到新计数值;
若新计数值超出工作项类型序号的取值范围,则将工作项类型序号器计数值设为取值范围的最小值或最大值,并将此修改后的数值作为新计数值;
将新数值作为分配给所述请求的工作项类型序号。
4.根据权利要求2所述的方法,其特征在于,所述根据所述工作项序号提取工作任务,发送给所述用户,包括:
根据所述工作项类型序号和工作项序号从预先存储的二维数组中获取工作任务,所述二维数组的行序号对应于工作项类型序号,列序号对应于工作项序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京北方信息技术股份有限公司,未经京北方信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510674211.8/1.html,转载请声明来源钻瓜专利网。