轻量级分布式线程池动态扩容与收缩实现方法及系统技术方案

技术编号:36215202 阅读:8 留言:0更新日期:2023-01-04 12:12
本发明专利技术涉及线程池动态数据技术领域,具体为轻量级分布式线程池动态扩容与收缩实现方法包括以下步骤:分布式组件注册自己的唯一Beanld至JVM容器中;自定义通信网闸,业务组件配置线程池;创建数据汇聚器;将Pod节点上的线程池信息绑定分布式业务组件的Beanld;通过H5实时刷新节点数据;刷新Pod上JVM中的线程池大小;预警线程池信息;有益效果为:本发明专利技术提出的轻量级分布式线程池动态扩容与收缩实现方法及系统解决在高并发、多业务应用复杂关联场景下,打破传统集中式线程池管理的思想,通过切割不同业务应用组件核心线程池应用管理,汇聚业务应用各核心业务组件中的线程池调度。业务应用各核心业务组件中的线程池调度。业务应用各核心业务组件中的线程池调度。

【技术实现步骤摘要】
轻量级分布式线程池动态扩容与收缩实现方法及系统


[0001]本专利技术涉及线程池动态数据
,具体为轻量级分布式线程池动态扩容与收缩实现方法及系统。

技术介绍

[0002]线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。
[0003]现有技术中,在多并发业务场景中,针对集中式结构下的线程池动态扩容与压缩调整,很多场景下实现针对单节点应用的线程池策略进行动态扩容与压缩调整。
[0004]但是,每次调整都要重启应用,重启相关的所有组件,体验度大打折扣,并且,严重影响业务进程,客户端体验极差,可能会造成一定的损失。

技术实现思路

[0005]本专利技术的目的在于提供轻量级分布式线程池动态扩容与收缩实现方法及系统,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:轻量级分布式线程池动态扩容与收缩实现方法,该方法包括以下步骤:
[0007]分布式组件注册自己的唯一Beanld至JVM容器中;
[0008]自定义通信网闸,业务组件配置线程池;
[0009]创建数据汇聚器;
[0010]将Pod节点上的线程池信息绑定分布式业务组件的Beanld;
[0011]通过H5实时刷新节点数据;
[0012]刷新Pod上JVM中的线程池大小;
[0013]预警线程池信息
[0014]优选的,自定义通信网闸,业务组件配置线程池时,JVM统一设置虛拟线程池基础参数,参数是全局的、默认的;
[0015]根据Beanld来加载初始化各自的线程池,每个业务组件自定义线程大小、以及预警阀值。
[0016]优选的,创建数据汇聚器时,统一收集不同Pod节点上的线程池信息。
[0017]优选的,通过H5实时刷新节点数据,将当前节点线程池基础参数调整至合适大小。
[0018]优选的,借助通信网闸以及当前节点的Beanld动态刷新Pod上JVM中的线程池大小;
[0019]根据Pod节点信息、业务组件Beanld动态预警线程池信息。
[0020]一种轻量级分布式线程池动态扩容与收缩实现系统,该系统由注册模块、自定义模块、创建模块、绑定模块、节点数据刷新模块、线程池刷新模块以及预警模块构成;
[0021]注册模块,用于分布式组件注册自己的唯一Beanld至JVM容器中;
[0022]自定义模块,用于自定义通信网闸,业务组件配置线程池;
[0023]创建模块,用于创建数据汇聚器;
[0024]绑定模块,用于将Pod节点上的线程池信息绑定分布式业务组件的Beanld;
[0025]节点数据刷新模块,用于通过H5实时刷新节点数据;
[0026]线程池刷新模块,用于刷新Pod上JVM中的线程池大小;
[0027]预警模块,用于预警线程池信息。
[0028]优选的,所述自定义模块,自定义通信网闸,业务组件配置线程池时,JVM统一设置虛拟线程池基础参数,参数是全局的、默认的;
[0029]根据Beanld来加载初始化各自的线程池,每个业务组件自定义线程大小、以及预警阀值。
[0030]优选的,所述创建模块,创建数据汇聚器时,统一收集不同Pod节点上的线程池信息。
[0031]优选的,所述节点数据刷新模块,通过H5实时刷新节点数据,将当前节点线程池基础参数调整至合适大小。
[0032]优选的,所述线程池刷新模块,借助通信网闸以及当前节点的Beanld动态刷新Pod上JVM中的线程池大小;
[0033]预警模块,根据Pod节点信息、业务组件Beanld动态预警线程池信息。
[0034]与现有技术相比,本专利技术的有益效果是:
[0035]本专利技术提出的轻量级分布式线程池动态扩容与收缩实现方法及系统解决在高并发、多业务应用复杂关联场景下,打破传统集中式线程池管理的思想,通过切割不同业务应用组件核心线程池应用管理,汇聚业务应用各核心业务组件中的线程池调度,统一将底层核心调度数据汇聚到单一组件,实现分布式线程池动态的统一管理、扩容、压缩,结合H5技术,实现分布式动态线程池的切换数据实时切换到前端,将传统的线程池单一监控、调整策略调整为分布式、多节点、实时监控、调整,并且不需要重启业务应用,极大避免了业务损失风险,提高业务产出率以及性能。
附图说明
[0036]图1为本专利技术方法流程图;
[0037]图2为本专利技术分布式组件动态策略调整原理图;
[0038]图3为本专利技术分布式组件核心线程池动态调整结构图。
具体实施方式
[0039]为了使本专利技术的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]实施例一
[0041]请参阅图1,本专利技术提供一种技术方案:轻量级分布式线程池动态扩容与收缩实现方法,该方法包括以下步骤:
[0042]分布式组件注册自己的唯一Beanld至JVM容器中;
[0043]自定义通信网闸,业务组件配置线程池;JVM统一设置虛拟线程池基础参数,参数是全局的、默认的;根据Beanld来加载初始化各自的线程池,每个业务组件自定义线程大小、以及预警阀值;
[0044]创建数据汇聚器,统一收集不同Pod节点上的线程池信息;
[0045]将Pod节点上的线程池信息绑定分布式业务组件的Beanld;
[0046]通过H5实时刷新节点数据,将当前节点线程池基础参数调整至合适大小;
[0047]借助通信网闸以及当前节点的Beanld动态刷新Pod上JVM中的线程池大小;
[0048]根据Pod节点信息、业务组件Beanld动态预警线程池信息。
[0049]实施例二
[0050]一种轻量级分布式线程池动态扩容与收缩实现系统,该系统由注册模块、自定义模块、创建模块、绑定模块、节点数据刷新模块、线程池刷新模块以及预警模块构成;
[0051]注册模块,用于分布式组件注册自己的唯一Beanld至JVM容器中;
[0052]自定义模块,用于自定义通信网闸,业务组件配置线程池,JVM统一设置虛拟线程池基础参数,参数是全局的、默认的;根据Beanld来加载初始化各自的线程池,每个业务组件自定义线程大小、以及预警阀值;
[0053]创建模块,用于创建数据汇聚器,统一收集不同Pod节点上的线程池信息;
[0054]绑定模块,用于将Pod节点上的线程池信息绑定分布式业务组件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.轻量级分布式线程池动态扩容与收缩实现方法,其特征在于:该方法包括以下步骤:分布式组件注册自己的唯一Beanld至JVM容器中;自定义通信网闸,业务组件配置线程池;创建数据汇聚器;将Pod节点上的线程池信息绑定分布式业务组件的Beanld;通过H5实时刷新节点数据;刷新Pod上JVM中的线程池大小;预警线程池信息。2.根据权利要求1所述的轻量级分布式线程池动态扩容与收缩实现方法,其特征在于:自定义通信网闸,业务组件配置线程池时,JVM统一设置虛拟线程池基础参数,参数是全局的、默认的;根据Beanld来加载初始化各自的线程池,每个业务组件自定义线程大小、以及预警阀值。3.根据权利要求2所述的轻量级分布式线程池动态扩容与收缩实现方法,其特征在于:创建数据汇聚器时,统一收集不同Pod节点上的线程池信息。4.根据权利要求1所述的轻量级分布式线程池动态扩容与收缩实现方法,其特征在于:通过H5实时刷新节点数据,将当前节点线程池基础参数调整至合适大小。5.根据权利要求1所述的轻量级分布式线程池动态扩容与收缩实现方法,其特征在于:借助通信网闸以及当前节点的Beanld动态刷新Pod上JVM中的线程池大小;根据Pod节点信息、业务组件Beanld动态预警线程池信息。6.一种如上述权利要求1

5任意一项所述的轻量级分布式线程池动态扩容与收缩实现系统,其特征在于:该系统由注册模块、自定义模块、创建模块、绑定模块、节点数据刷新...

【专利技术属性】
技术研发人员:于恩彬肖建国张永刚
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:

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

1