线程池的管理方法及系统、智能终端、存储介质技术方案

技术编号:35479515 阅读:20 留言:0更新日期:2022-11-05 16:29
本申请公开了一种线程池的管理方法及系统、智能终端、存储介质,该线程池的管理方法包括:获取线程池当前的运行数据;响应于运行数据不满足预设条件,根据运行数据调整线程池的运行参数;将运行数据发送给运维管理终端,以使运维管理终端基于运行数据生成并显示出相应的统计分析图表。通过上述方案,本申请的线程池的管理方法能够将线程池的运行参数通过人工智自动分析决策动态调整至最贴合当前网络业务的应用需求,而无需修改代码或重启应用,且还能够使线程池运行过程中的各种指标实时可见,进而能够在事后复盘现场。进而能够在事后复盘现场。进而能够在事后复盘现场。

【技术实现步骤摘要】
线程池的管理方法及系统、智能终端、存储介质


[0001]本申请涉及互联网
,特别是涉及一种线程池的管理方法及系统、智能终端、存储介质。

技术介绍

[0002]现今,在java(一门面向对象的编程语言)的开发中,当需要提升系统性能时,线程池一般是99%的开发人员会选择的基础技术,但在普通线程池的使用上,通常会遇到如下一些问题:项目中可能会创建多个线程池,并且不同业务类型的特点不同,有的是IO(硬盘内存)密集型,有的CPU(处理器)密集形,其线程池参数很不好确定;线程池的运行过程中的各项指标一般感知不到,无法做到在事前预警,事中查看指标,事后回溯现场等要求;无法做到高可用性,想要调整参数时,需开发人员修改代码实现。

技术实现思路

[0003]本申请主要解决的技术问题是提供一种线程池的管理方法及系统、智能终端、存储介质,以解决现有技术中线程池在运行过程中,无法被运维人员感知到运行参数,以致无法做到在事前预警,事中查看指标,事后回溯现场等要求,且无法做到高可用性的问题。
[0004]为了解决上述问题,本申请第一方面提供了一种线程池的管理方法,其中,该线程池的管理方法包括:获取线程池当前的运行数据;响应于运行数据不满足预设条件,根据运行数据调整线程池的运行参数;将运行数据发送给运维管理终端,以使运维管理终端基于运行数据生成并显示出相应的统计分析图表。
[0005]其中,运行数据包括线程池中未加载业务的第一线程在线程池中的数量占比,响应于运行数据不满足预设条件,根据运行数据调整线程池的运行参数的步骤包括:响应于数量占比小于第一设定阈值,在线程池中添加第一设定数量的新线程。
[0006]其中,管理方法还包括:响应于数量占比大于第二设定阈值,在线程池中释放第二设定数量的第一线程;其中,第二设定阈值大于第一设定阈值。
[0007]其中,管理方法还包括:获取线程池的最大线程容纳数;响应于第一设定数量与线程池中已加载业务的第二线程的数量之和大于最大线程容纳数,向运维管理终端发送告警信息。
[0008]其中,管理方法还包括:响应于第一设定数量与第二线程的数量之和大于最大线程容纳数,触发线程池的第一拒绝策略,以使线程池将第三设定数量的业务添加到设定队列中;其中,第三设定数量等于或大于第一设定数量。
[0009]其中,管理方法还包括:响应于数量占比小于第三设定阈值,触发线程池的第二拒绝策略,以使线程池在第一设定时长内拒绝加载新业务。
[0010]其中,运行数据包括加载至线程池中每一种类业务的任务执行时长,响应于运行数据不满足预设条件,根据运行数据调整线程池的运行参数的步骤包括:响应于存在有任务执行时长大于第四设定阈值,将加载至线程池中的部分业务添加到设定队列中。
[0011]其中,管理方法还包括:响应于存在有任务执行时长大于第五设定阈值,向运维管理终端发送告警信息,其中,第五设定阈值大于第四设定阈值。
[0012]其中,运行数据包括线程池在第二设定时长内的业务拒绝数,响应于运行数据不满足预设条件,根据运行数据调整线程池的运行参数的步骤包括:响应于业务拒绝数大于第六设定阈值,线程池中添加第四设定数量的新线程。
[0013]为了解决上述问题,本申请第二方面提供了一种线程池管理系统,其中,该线程池管理系统包括:线程池,用于加载至少一个业务;配置中心处理器,用于获取线程池当前的运行数据,以在运行数据不满足预设条件时,根据运行数据调整线程池的运行参数;运维管理终端,接收配置中心处理器发送的运行数据,以基于运行数据生成并显示出出相应的统计分析图表。
[0014]为了解决上述问题,本申请第三方面提供了一种智能终端,其中,该智能终端包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面所述的线程池管理方法。
[0015]为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时,实现上述第一方面所述的线程池管理方法。
[0016]本专利技术的有益效果是:区别于现有技术的情况,本申请提供的线程池的管理方法能够获取线程池当前的运行数据,以在运行数据不满足预设条件时,根据运行数据调整线程池的运行参数,从而能够将线程池的运行参数通过人工智能自动分析决策动态调整至最贴合当前网络业务的应用需求,且无需修改代码或重启应用。此外,通过将运行数据发送给运维管理终端,以使运维管理终端基于运行数据生成并显示出相应的统计分析图表,还能够使线程池运行过程中的各种指标实时可见,进而还能够在事后复盘现场。
附图说明
[0017]图1是本申请线程池的管理方法第一实施方式的流程示意图;
[0018]图2是本申请线程池的管理方法第二实施方式的流程示意图;
[0019]图3是本申请线程池的管理系统一实施方式的框架示意图;
[0020]图4是本申请智能终端一实施方式的框架示意图;
[0021]图5是本申请计算机可读存储介质一实施方式的框架示意图。
具体实施方式
[0022]为使本申请解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本申请实施例的技术方案作进一步的详细描述。
[0023]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0024]请参阅图1,图1是本申请线程池的管理方法一实施方式的流程示意图。具体而言,可以包括如下步骤:
[0025]S11:获取线程池当前的运行数据。
[0026]随着java技术的快速发展,基于线程池的网络服务逐渐得到普及和落地。其中,尤其是在需要提升网络服务系统的整体性能时,如何使线程池的运行参数始终最贴合当前网络业务的应用需求成为影响用户享受网络服务的一个关键因素。
[0027]需说明的是,线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池中的线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲,比如正在等待某个事件,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池中的线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程,但线程的数目永远不会超过最大值。且超过最大值的线程可以在存储队列中进行排队,但需要等到其他线程完成后才启动。
[0028]可理解的是,本实施方式中的线程池的管理方法即是一配置中心处理器对线程池运行过程中的各项指标及运行参数进行管理的方法,以在线程池中加载有至少一个网络业务,也即项目时,能够实时调整线程池的运行参数,以使其最贴合当前网络业务的应用需求,而无需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程池的管理方法,其特征在于,所述管理方法包括:获取所述线程池当前的运行数据;响应于所述运行数据不满足预设条件,根据所述运行数据调整所述线程池的运行参数;将所述运行数据发送给运维管理终端,以使所述运维管理终端基于所述运行数据生成并显示出相应的统计分析图表。2.根据权利要求1所述的管理方法,其特征在于,所述运行数据包括所述线程池中未加载业务的第一线程在所述线程池中的数量占比,所述响应于所述运行数据不满足预设条件,根据所述运行数据调整所述线程池的运行参数的步骤包括:响应于所述数量占比小于第一设定阈值,在所述线程池中添加第一设定数量的新线程。3.根据权利要求2所述的管理方法,其特征在于,所述管理方法还包括:响应于所述数量占比大于第二设定阈值,在所述线程池中释放第二设定数量的所述第一线程;其中,所述第二设定阈值大于所述第一设定阈值。4.根据权利要求2所述的管理方法,其特征在于,所述管理方法还包括:获取所述线程池的最大线程容纳数;响应于所述第一设定数量与所述线程池中已加载业务的第二线程的数量之和大于所述最大线程容纳数,向所述运维管理终端发送告警信息。5.根据权利要求4所述的管理方法,其特征在于,所述管理方法还包括:响应于所述第一设定数量与所述第二线程的数量之和大于所述最大线程容纳数,触发所述线程池的第一拒绝策略,以使所述线程池将第三设定数量的业务添加到设定队列中;其中,所述第三设定数量等于或大于所述第一设定数量。6.根据权利要求2所述的管理方法,其特征在于,所述管理方法还包括:响应于所述数量占比小于第三设定阈值,触发所述线程池的第二拒绝策略,以使所述线程池在第一设定时长内拒绝加载新业务。7.根据权利要求1所述的...

【专利技术属性】
技术研发人员:杨博研
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1