[发明专利]高可用集群系统中的线程池任务处理方法在审
申请号: | 201711018504.6 | 申请日: | 2017-10-27 |
公开(公告)号: | CN107832146A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 李世巍 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 中国兵器工业集团公司专利中心11011 | 代理人: | 张然 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可用 集群 系统 中的 线程 任务 处理 方法 | ||
1.一种高可用集群系统中的线程池任务处理方法,其特征在于,包括:
线程池主线程随系统运行后,首先预创建一定数目的空闲的工作线程,空闲的工作线程初始时均处于条件阻塞状态;
接收用户输入的工作任务,形成工作任务队列;
线程池主线程依次进入查找工作任务、检查线程池状态以及为工作任务分配工作线程的循环,包括:
循环开始,从工作任务队列中头部取得待处理的工作任务,成功则进入下一步,是否,则保持取工作任务的状态;
如果当前线程池忙碌线程超过总数的一定占比,则这时不处理当前工作任务,并向系统告警并报告当前处理状态;
检查线程池状态,当前空闲线程数小于空闲的最低值时,创建一定数目的空闲线程,以维持线程池的平衡状态;当空闲线程数大于空闲的最高值时,则释放一定数目的空闲线程;
为待执行的工作任务分配一个工作线程,并给工作线程条件信号激活工作线程开始执行工作任务;工作任务队列头部指针到下移,继续循环处理;
工作任务队列中无任务后,主线程的循环停止,释放掉申请的系统资源。
2.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,该一定占比为80%。
3.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,创建的空闲工作线程数目取决于程序的规模以及对需要处理的任务复杂程度的预估。
4.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,工作任务队列为用户的输入,根据用户提出的计算任务,将大的计算任务分解成可快速执行的细小任务,然后每个小任务封装成一个结构体,以先进先出的方式存入工作任务队列,工作队列的头部是当前工作队列中最前面的没有被分配出去的任务结构体指针,当获得该指针的时候一般会有两种情况,成功或者失败,如果成功则返回待执行的工作任务的指针,反之则失败,等待新的正确的工作任务指针。
5.如权利要求4所述的高可用集群系统中的线程池任务处理方法,其特征在于,在取得正确的工作任务结构体指针之后,会检查当前线程池所有工作线程的工作状态,如果当前线程池忙碌线程超过总数的80%或者低于总数的20%,则线程池工作状态异常,则这时暂停处理当前取到的工作任务,并向系统报告当前线程池状态。
6.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,当前线程池忙碌线程超过总数的一定占比,则线程池创建一定数目的空闲线程,当空闲线程数大于空闲的最高值时,则释放一定数目的空闲线程。
7.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,为待执行的工作任务分配一个工作线程,并给工作线程条件信号激活工作线程开始执行工作任务包括:
为取到的工作任务分配一个工作线程,并给工作线程条件信号激活工作线程开始执行工作任务,工作线程的条件信号即是将工作线程的状态标志置为忙碌,同时将工作任务指针传递进来,让工作线程开始执行任务,不再处于条件阻塞状态而是处于忙碌状态。
8.如权利要求1所述的高可用集群系统中的线程池任务处理方法,其特征在于,将取出的工作任务在工作任务队列中删除,如工作任务队列不为空,转到循环开始,判断全部工作任务是否都处理处理完成,当全部工作任务都处理完成之后,结束,否则,继续等待,如果输入新的任务,则将新的任务加入工作任务队列的队尾,并转到循环开始。
9.如权利要求8所述的高可用集群系统中的线程池任务处理方法,其特征在于,转到循环开始前,工作任务队列头部指针下移到工作任务队列中下一个工作任务上,这里任务队列头部指针是在每次完成工作任务分配的时候进行,同时还有一个工作任务队列尾部指针,在每次有新的工作任务进入工作任务队列时移动至新的工作任务后面,当头部指针等于尾部指针时,暂停读取工作任务,并以一定时间间隔来持续判断工作任务队列中是否有新的任务到来;反之,头部指针不等于尾部指针时,继续循环处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711018504.6/1.html,转载请声明来源钻瓜专利网。