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