[发明专利]线程池资源管理方法及装置在审
申请号: | 202210540533.3 | 申请日: | 2022-05-17 |
公开(公告)号: | CN114860408A | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 陶思嘉 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉;王维宁 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 资源管理 方法 装置 | ||
本发明公开了一种线程池资源管理方法及装置,可用于金融领域或其他技术领域。所述线程池资源管理方法包括:定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。所述装置用于执行所述方法。本发明实施例提供的线程池资源管理方法及装置,能够动态配置合理的线程池大小(即线程数量),使应用同时具备负载均衡和高可用性的特性,提升整体处理性能。
技术领域
本发明涉及金融或其他技术领域,具体涉及一种线程池资源管理方法及装置。
背景技术
运用多线程方式处理任务,是一种常见的信息处理方式,在软件系统中具有重要的作用。目前运用多线程方式处理任务的技术通常采取静态分配相同或者不一致的线程池大小,来实现对多线程任务处理的资源分配。这种传统的资源分配方法,可能会造成资源的不足或者浪费情况。具体的,线程过多会带来调度开销,进而影响缓存局部性和整体性能,线程过少,会导致任务堆积在队列里,造成任务积压,从而导致系统处理性能下降。
发明内容
本发明实施例提供一种线程池资源管理方法及装置,能够动态配置合理的线程池大小(即线程数量),使应用同时具备负载均衡和高可用性的特性,提升整体处理性能。
一方面,本发明实施例提供一种线程池资源管理方法,包括:定时获取目标消息队列中待处理的任务的数量;根据所述待处理的任务的数量,配置目标线程池中线程的数量;利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
可选的,所述根据所述待处理的任务的数量,配置目标线程池中线程的数量包括:若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
可选的,所述利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务包括:查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
可选的,所述方法还包括:在利用所述目标线程池中的线程对所述待处理的任务处理结束之后,删除所述在途任务表中所述任务的信息、并同时将所述任务的信息插入历史任务表中。
可选的,所述在途任务表中保存有正在处理的任务的标识、处理该任务的线程的标识以及该任务开始处理的时间;所述历史任务表中保存有已处理的任务的标识、处理该任务的线程的标识、该任务开始处理的时间以及该任务处理结束的时间。
另一方面,本发明实施例提供一种线程池资源管理装置,包括:
获取模块,用于定时获取目标消息队列中待处理的任务的数量;
配置模块,用于根据所述待处理的任务的数量,配置目标线程池中线程的数量;
任务处理模块,用于利用所述目标线程池中的线程处理所述目标消息队列中的待处理任务。
可选的,所述配置模块具体用于:
若所述待处理的任务的数量与目标线程池当前的线程数量所对应任务数量之间的偏差大于目标值时,重新配置所述目标线程池中线程的数量。
可选的,所述任务处理模块包括:
查询单元,用于查询待处理的任务的信息是否存在于在途任务表中,其中,所述在途任务表中保存有正在处理的任务的信息;
插入模块,用于若所述待处理的任务的信息不在所述在途任务表中,则将所述待处理的任务的信息插入所述在途任务表中、并利用所述目标线程池中的线程处理所述待处理的任务。
可选的,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210540533.3/2.html,转载请声明来源钻瓜专利网。