一种线程池管理方法和装置制造方法及图纸

技术编号:39398494 阅读:9 留言:0更新日期:2023-11-19 15:52
本发明专利技术公开了一种线程池管理方法和装置,涉及计算机技术领域

【技术实现步骤摘要】
一种线程池管理方法和装置


[0001]本专利技术涉及智慧医疗
,尤其涉及一种线程池管理方法和装置


技术介绍

[0002]在智慧医院的不断完善和建设中,为了完善处方流转,一般需要构建处方云平台

在处方云平台建设过程中,为了提升系统并行运算的能力,需要实现线程池的管理和监控

[0003]目前的线程池管理方案主要是基于
Disruptor
框架
(
无锁有界内存队列开源框架
)
或者协程框架进行管理,其中,
Disruptor
框架通过内部一个工作队列来维护任务的执行;协程框架是一种用户态的轻量级线程,协程框架缺乏成熟的
Java(
面向对象的编程语言
)
应用

[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0005]缺乏线程池动态管理平台,无法实现线程池的统一的监控预警

动态更新以及根据线程池的资源消耗确定对应的执行策略,无法实时查询线程池及提交任务的各项指标,系统的可用性和稳定性较低,资源的利用率低


技术实现思路

[0006]有鉴于此,本专利技术实施例提供一种线程池管理方法和装置,能够建立线程池动态管理平台,实现线程池的统一的监控预警

动态更新,以及根据线程池的资源消耗,确定对应的执行策略,可以实时查询线程池及提交任务的各项指标,提高系统的可用性和稳定性,以及资源的利用率

[0007]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种线程池管理方法

[0008]一种线程池管理方法,包括:创建与业务对应的线程池;根据线程池的资源消耗,确定所述业务的待执行任务的执行策略,基于所述执行策略,将所述待执行任务提交到所述线程池中执行;监控所述线程池的资源消耗变动,根据预设的警告配置,在监控到所述线程池的资源消耗达到警告条件的情况下生成指示管理所述线程池的警告通知

[0009]可选地,所述创建与业务对应的线程池,包括:建立与所述业务对应的代码仓库,将所述代码仓库分别与运行所述业务对应的线程池的实例进行关联;对所述实例的虚拟机参数进行校验,在所述校验通过后,根据所述线程池的配置参数,创建所述线程池,并将所述线程池同步至本地缓存中

[0010]可选地,还包括:变更所述线程池的配置参数,并将所述线程池的变更后的配置参数保存至所述本地缓存中;所述创建所述线程池之后,包括:响应于所述本地缓存中所述配置参数的变更,从所述本地缓存获取所述线程池的变更后的配置参数,以基于所述变更后的配置参数动态更新所述线程池

[0011]可选地,所述创建与业务对应的线程池之前,或者所述变更所述线程池的配置参数之前,还包括:对当前用户进行鉴权,并确定所述当前用户具有创建与业务对应的线程池或变更所述线程池的配置参数的权限

[0012]可选地,所述线程池的配置参数包括核心线程数量和最大线程数量,所述线程池的资源消耗包括线程消耗数量和任务队列饱和程度;所述根据线程池的资源消耗,确定所述业务的待执行任务的执行策略,包括:将所述线程消耗数量分别与所述核心线程数量和所述最大线程数量进行比较,以根据比较结果确定所述执行策略,其中:在所述线程消耗数量小于所述核心线程数量的情况下,所述执行策略为利用核心线程执行所述待执行任务;在所述线程消耗数量大于或等于所述核心线程数量,且小于所述最大线程数量的情况下,所述执行策略为在所述线程池中创建临时线程,基于所述临时线程执行所述待执行任务,并在任务执行完成之后,删除所述临时线程;在所述线程消耗数量大于或等于所述最大线程数量的情况下,所述执行策略为根据所述任务队列饱和程度执行所述待执行任务

[0013]可选地,所述线程池还包括一个主线程;所述根据所述任务队列饱和程度执行所述待执行任务,包括:在所述任务队列饱和程度小于预设第一阈值的情况下,将所述待执行任务保存至任务队列,并重新执行所述将所述线程消耗数量分别与所述核心线程数量和所述最大线程数量进行比较的操作,以根据重新比较的结果确定新的执行策略,基于所述新的执行策略执行所述待执行任务;在所述任务队列饱和程度大于或等于所述预设第一阈值的情况下,通过所述主线程执行所述待执行任务

[0014]可选地,所述监控所述线程池的资源消耗变动,根据预设的警告配置,在监控到所述线程池的资源消耗达到警告条件的情况下生成指示管理所述线程池的警告通知,包括:在所述线程消耗数量大于或等于所述核心线程数量的情况下,生成对应的警告通知;在所述实例的虚拟机参数的校验不通过的情况下,生成对应的警告通知;通过定时任务监控所述线程池,在所述线程池的任务队列饱和程度达到预警值的情况下,生成对应的警告通知

[0015]根据本专利技术实施例的另一方面,提供了一种线程池管理装置

[0016]一种线程池管理装置,包括:线程池创建模块,用于创建与业务对应的线程池;任务执行模块,用于根据线程池的资源消耗,确定所述业务的待执行任务的执行策略,基于所述执行策略,将所述待执行任务提交到所述线程池中执行;监控模块,用于监控所述线程池的资源消耗变动,根据预设的警告配置,在监控到所述线程池的资源消耗达到警告条件的情况下生成指示管理所述线程池的警告通知

[0017]可选地,所述线程池创建模块还用于:建立与所述业务对应的代码仓库,将所述代码仓库分别与运行所述业务对应的线程池的实例进行关联;对所述实例的虚拟机参数进行校验,在所述校验通过后,根据所述线程池的配置参数,创建所述线程池,并将所述线程池同步至本地缓存中

[0018]可选地,还包括线程池更新模块,用于:变更所述线程池的配置参数,并将所述线程池的变更后的配置参数保存至所述本地缓存中;响应于所述本地缓存中所述配置参数的变更,从所述本地缓存获取所述线程池的变更后的配置参数,以基于所述变更后的配置参数动态更新所述线程池

[0019]可选地,还包括用户鉴权模块,用于:对当前用户进行鉴权,并确定所述当前用户具有创建与业务对应的线程池或变更所述线程池的配置参数的权限

[0020]可选地,所述线程池的配置参数包括核心线程数量和最大线程数量,所述线程池的资源消耗包括线程消耗数量和任务队列饱和程度;所述任务执行模块还用于:将所述线程消耗数量分别与所述核心线程数量和所述最大线程数量进行比较,以根据比较结果确定
所述执行策略,其中:在所述线程消耗数量小于所述核心线程数量的情况下,所述执行策略为利用核心线程执行所述待执行任务;在所述线程消耗数量大于或等于所述核心线程数量,且小于所述最大线程数量的情况下,所述执行策略为在所述线程池中创建临时线程,基于所述临时线程执行所述待执行任务,并在任务执行完成之后,删除所述临时线程;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种线程池管理方法,其特征在于,包括:创建与业务对应的线程池;根据线程池的资源消耗,确定所述业务的待执行任务的执行策略;基于所述执行策略,将所述待执行任务提交到所述线程池中执行;监控所述线程池的资源消耗变动,根据预设的警告配置,在监控到所述线程池的资源消耗达到警告条件的情况下生成指示管理所述线程池的警告通知
。2.
根据权利要求1所述的方法,其特征在于,所述创建与业务对应的线程池,包括:建立与所述业务对应的代码仓库,将所述代码仓库分别与运行所述业务对应的线程池的实例进行关联;对所述实例的虚拟机参数进行校验,在所述校验通过后,根据所述线程池的配置参数,创建所述线程池,并将所述线程池同步至本地缓存中
。3.
根据权利要求2所述的方法,其特征在于,还包括:变更所述线程池的配置参数,并将所述线程池的变更后的配置参数保存至所述本地缓存中;所述创建所述线程池之后,包括:响应于所述本地缓存中所述配置参数的变更,从所述本地缓存获取所述线程池的变更后的配置参数,以基于所述变更后的配置参数动态更新所述线程池
。4.
根据权利要求3所述的方法,其特征在于,所述创建与业务对应的线程池之前,或者所述变更所述线程池的配置参数之前,还包括:对当前用户进行鉴权,并确定所述当前用户具有创建与业务对应的线程池或变更所述线程池的配置参数的权限
。5.
根据权利要求2所述的方法,其特征在于,所述线程池的配置参数包括核心线程数量和最大线程数量,所述线程池的资源消耗包括线程消耗数量和任务队列饱和程度;所述根据线程池的资源消耗,确定所述业务的待执行任务的执行策略,包括:将所述线程消耗数量分别与所述核心线程数量和所述最大线程数量进行比较,以根据比较结果确定所述执行策略,其中:在所述线程消耗数量小于所述核心线程数量的情况下,所述执行策略为利用核心线程执行所述待执行任务;在所述线程消耗数量大于或等于所述核心线程数量,且小于所述最大线程数量的情况下,所述执行策略为在所述线程池中创建临时线程,基于所述临时线程执行所述待执行任务,并在任务执行完成之后,删除所述临时线程;在所述线程消耗数量大于或等于所述最大线程数量的情况下,所述执行策略为根据所述任务队列饱和程度执行所述待执行任务
。6.
根据权利要求5所述的方法,其特征在于,所述线程池还包括一个主线程;所述根据所述任务队列饱和程度执行所述待执行任务,包括:在所述任务队列饱和程度小于预设第一阈值的情况下,将所述待执行任务保存至任务队列,并重新执行所述将所述线程消耗数量分别与所述核心线程数量和所述最大线程数量进行比较的操作,以根据重新比较的结果确定新的执行策略,基于所述新的执行策略执行所述待执行任务;
在所述任务队列饱和程度大于或等于所述预设第一阈值的情况下,通过所述主线程执行所述待执行任务
。7.
根据权利要求5所述的方法,其特征在于,所述监控所述线程池的资源消耗变动,根据预设的警告配置,在监控到所述线程池的资源消耗达到警告条件的情况下生成指示管理所述线程池的警告通知,包括:在所述线程消耗数量大于或等于所述核心线程数量的情况下,生成对应的警告通知;在所述实例的虚拟机参数的校验不通过的情况下,生成对应的警告通知;通过定时任务监控所述线程池,在所述线程池的任务队列饱和程度达到预警值的情况下,生成对应的警告通知
。8.
一种线程池管理装置,其特征在于,包括:线程池创建模块,用于创建与业务对应的线程池;任务执行模块,用于根据线程池的资源消耗,...

【专利技术属性】
技术研发人员:黄海峰
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1