发明名称 |
一种基于任务处理请求任务量大小的线程池管理方法 |
摘要 |
本发明提出了一种基于任务处理请求任务量大小的线程池管理方法。该方法当任务处理请求监听系统在监听到新的任务处理请求后,任务处理请求登记系统会记录该请求相关信息,任务处理请求管理系统定时读取任务处理请求登记系统中记录的任务处理请求信息,按照任务处理请求的任务处理量大小与任务处理量参数阈值之间的关系以及任务处理请求提交的时间先后顺序将任务处理请求调度到相应的子线程池中处理,任务处理请求管理系统在完成调度之后,任务量参数阈值调节器自适应调整任务量参数阈值。在任务处理请求所对应的任务处理量随机分布且差异波动较大的应用场景下,该方法可有效提高系统处理效率。 |
申请公布号 |
CN102043675B |
申请公布日期 |
2012.11.14 |
申请号 |
CN201010573975.5 |
申请日期 |
2010.12.06 |
申请人 |
北京华证普惠信息股份有限公司 |
发明人 |
孔超;石永鑫;陈宾 |
分类号 |
G06F9/50(2006.01)I;G06F9/38(2006.01)I |
主分类号 |
G06F9/50(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
1.一种基于任务处理请求任务量大小的线程池管理方法,其特征在于包含以下步骤:(1)初始化线程池,分别设定大任务量线程池、小任务量线程池的容量,任务量参数阈值初值T<sub>0</sub>,任务量参数阈值调整步长λ,任务量系数ξ,以及任务处理请求管理系统读取任务处理请求登记系统记录的频率f,其中,用于处理请求的任务量参数大于任务量参数阈值的线程池称之为大容量线程池,用于处理请求的任务量参数小于任务量参数阈值的线程池称之为小容量线程池;(2)当任务处理请求监听系统监听到新的任务处理请求后,将任务处理请求信息记录到任务处理请求登记系统中,其中,所述任务处理请求信息包括:任务处理请求ID、任务处理请求提交时间以及所述任务量参数;(3)任务处理请求管理系统根据所述任务处理请求管理系统读取任务处理请求登记系统记录的频率f,定时读取所述任务处理请求登记系统中记录的所述任务处理请求信息;(4)当所述任务量参数大于当前任务量参数阈值时,如果大任务量线程池中含有空闲线程,所述任务处理请求管理系统将该任务处理请求交由大任务量线程池中的线程执行该任务处理请求;如果大任务量线程池中不含空闲线程,则该任务处理请求继续处于等待状态;(5)当所述任务量参数小于当前任务量参数阈值时,如果小任务量线程池中含有空闲线程,所述任务处理请求管理系统将该任务处理请求交由小任务量线程池中的线程执行该任务处理请求;如果小任务量线程池中不含空闲线程,则该任务处理请求继续处于等待状态;(6)当所述任务处理请求在由所述任务处理请求管理系统分配给线程池后,任务量参数阈值调节器先更新已执行任务总量的平均值<img file="FSB00000879000400011.GIF" wi="45" he="58" />更新后的<img file="FSB00000879000400012.GIF" wi="32" he="60" />为上一时刻的<img file="FSB00000879000400013.GIF" wi="30" he="54" />与该时刻调度到线程池中任务处理请求的任务处理量之和的平均值,然后,任务量参数阈值调节器根据参数调节公式<img file="FSB00000879000400014.GIF" wi="380" he="59" />自适应调节任务量参数阈值T,其中,T<sub>n</sub>、T<sub>n+1</sub>分别为当前时刻和下一时刻的任务量参数阈值;(7)任务处理完成后,系统释放相应线程资源。 |
地址 |
100140 北京市金融街新盛大厦B座20层 |