[发明专利]基于动态线程池的服务处理方法和装置有效
申请号: | 201610274785.0 | 申请日: | 2016-04-28 |
公开(公告)号: | CN107341050B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 胡峰 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 线程 服务 处理 方法 装置 | ||
本申请公开了基于动态线程池的服务处理方法和装置。所述方法的一具体实施方式包括:接收用户的处理请求,其中,所述处理请求包括处理任务;从预设的服务队列集合中选出与所述处理请求具有相同处理任务的服务队列,将所述处理请求加入所述服务队列;分别计算处理所述服务队列集合中每个服务队列的处理请求需要的线程请求量;根据每个服务队列的处理请求需要的线程请求量和所述服务队列集合中全部服务队列的处理请求需要的总线程请求量之间的关系,分别从线程池中分配相应数量的线程到与所述服务队列集合中服务队列对应的服务线程池中。该实施方式实现了有效利用线程资源,按需分配线程。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种基于动态线程池的服务处理方法和装置。
背景技术
当前,在多用户并发向服务器发出任务处理请求的场景下,大多采用多线程并行处理的方式处理,以充分利用服务器提高处理效率。在多用户并发任务请求处理服务的处理过程中,多采用采用静态的线程池,同一服务进程中的所有不同服务处理流程共享同一个线程池;不同服务处理流程对线程资源占用时长不同,导致不同服务处理流程因为共享的线程资源而相互影响和干扰,无法做到有效隔离;也无法在业务量高峰时保障高请求量的服务处理流程得到足够的线程资源。
发明内容
本申请的目的在于提出一种改进的基于动态线程池的服务处理方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种基于动态线程池的服务处理方法,所述方法包括:接收用户的处理请求,其中,所述处理请求包括处理任务;从预设的服务队列集合中选出与所述处理请求具有相同处理任务的服务队列,将所述处理请求加入所述服务队列;分别计算处理所述服务队列集合中每个服务队列的处理请求需要的线程请求量;根据每个服务队列的处理请求需要的线程请求量和所述服务队列集合中全部服务队列的处理请求需要的总线程请求量之间的关系,分别从线程池中分配相应数量的线程到与所述服务队列集合中服务队列对应的服务线程池中,所述服务队列集合中的服务队列分别与所述线程池中的服务线程池一一对应。
在一些实施例中,所述线程池中包括至少两个服务线程池,所述线程池中不同服务线程池之间的线程相互隔离。
在一些实施例中,所述服务队列集合中服务队列的数量与所述线程池中服务线程池的数量相同,其中,每个服务队列中的处理请求具有相同处理任务。
在一些实施例中,所述根据每个服务队列的处理请求需要的线程请求量和所述服务队列集合中全部服务队列的处理请求需要的总线程请求量之间的关系,分别从线程池中分配相应数量的线程到与所述服务队列集合中服务队列对应的服务线程池中,包括:比较所述总线程请求量和所述线程池中全部线程的数量;如果所述线程池中全部线程的数量多于所述总线程请求量,按照所述线程请求量从线程池中分配线程到与所述服务队列对应的服务线程池中;如果所述线程池中全部线程的数量少于所述总线程请求量,按照所述线程请求量与所述总线程请求量的比值关系从线程池中分配线程到与所述服务队列对应的服务线程池中。
在一些实施例中,所述如果所述线程池中全部线程的数量少于所述总线程请求量,按照所述线程请求量与所述总线程请求量的比值关系从线程池中分配线程到与所述服务队列对应的服务线程池中,包括:所述服务队列依据所述处理请求到达的时间顺序向与所述服务队列对应的服务线程池请求线程;当所述处理请求结束后,将处理所述处理请求的线程返回线程池。
在一些实施例中,所述如果所述线程池中全部线程的数量多于所述总线程请求量,按照所述线程请求量从线程池中分配线程到与所述服务队列对应的服务线程池中,包括:将所述线程请求量和预设的服务线程池阈值比较;如果所述线程请求量大于或等于所述服务线程池阈值,从线程池中分配与所述服务线程池阈值数量相同的线程到与所述服务队列对应的服务线程池中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610274785.0/2.html,转载请声明来源钻瓜专利网。