一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

线程池参数处理方法、系统、计算机设备、介质及程序产品与流程

2022-11-13 11:26:19 来源:中国专利 TAG:


1.本技术涉及线程处理技术领域,尤其涉及一种线程池参数处理方法、系统、计算机设备、存储介质及程序产品。


背景技术:

2.多线程是提高系统资源利用率和响应速度的一种有效手段,因此线程池技术应运而生。线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,线程池线程都是后台线程。目前java开发工具包jdk自带的线程池是线程池的一种实现。
3.传统的方案中,jdk提供的线程池,一旦创建之后,就无法调整线程池,如果要调整线程池的相关参数,只能通过修改业务系统代码,之后进行发布修改后的版本,降低了线程池参数的修改效率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种线程池参数处理方法、系统、计算机设备、存储介质及程序产品,以解决线程池参数的修改效率比较低的技术问题。
5.一种线程池参数处理方法,所述方法包括:
6.业务系统从配置数据库加载所述业务系统的线程池配置,并通过所述线程池配置初始化线程池实例和所述线程池实例对应的实例引用;
7.所述业务系统将所述线程池实例和所述实例引用,关联保存在所述业务系统的目标存储对象中;
8.管理控制台接收针对所述线程池实例的配置修改信息;
9.所述管理控制台响应所述配置修改信息,更新保存在所述配置数据库中的所述线程池配置,得到线程池更新配置;
10.在更新成功后,所述管理控制台向所述业务系统反馈携带有所述实例引用的参数变更消息;
11.所述业务系统响应所述参数变更消息,从所述目标存储对象获取到所述实例引用对应的所述线程池实例和从所述配置数据库中获取所述线程池更新配置,按照所述线程池更新配置更改所述线程池实例的参数。
12.可选地,所述管理控制台向所述业务系统反馈携带有所述实例引用的所述参数变更消息,包括:
13.所述管理控制台将所述参数变更消息发布至消息队列的目标主题,以使订阅了所述目标主题的所述业务系统接收到所述参数变更消息。
14.可选地,所述管理控制台向所述业务系统反馈携带有所述实例引用的参数变更消息,包括:
15.所述管理控制台将所述参数变更消息下发至zookeeper中所述业务系统对应的目
录节点,以使所述业务系统监听到所述参数变更消息。
16.可选地,所述管理控制台接收针对所述线程池实例的配置修改信息,包括:
17.所述管理控制台接收线程池管理界面的启动指令,并响应所述启动指令渲染出线程池管理控制台的登录界面;
18.所述管理控制台接收用户在所述登录界面输入的验证信息;
19.当所述验证信息通过验证时,所述管理控制台渲染出线程池管理界面;
20.所述管理控制台通过所述线程池管理界面,接收所述用户针对所述线程池实例的配置修改信息。
21.可选地,所述方法还包括:
22.所述管理控制台监听所述线程池实例对应的线程池的运行状态;
23.当所述管理控制台所述线程池的运行状态满足告警条件时,生成告警信息;
24.所述管理控制台通过目标应用的消息通知接口,推送所述告警信息至所述目标应用。
25.可选地,所述目标存储对象包括哈希映射表,所述业务系统将所述线程池实例和所述实例引用,关联保存在所述业务系统的目标存储对象中,包括:
26.所述业务系统将所述线程池实例和所述线程池实例对应的实例引用关联保存在所述哈希映射表中。
27.一种线程池参数处理系统,所述线程池参数处理系统包括管理控制台、业务系统、配置数据库和线程池参数处理装置,所述线程池参数处理装置包括:
28.创建模块,设置于所述业务系统中,用于从所述配置数据库加载所述业务系统的线程池配置,并通过所述线程池配置初始化所述业务系统的线程池实例和所述线程池实例对应的实例引用;
29.保存模块,设置于所述业务系统中,用于将所述线程池实例和所述实例引用,关联保存在所述业务系统的目标存储对象中;
30.接收模块,设置于所述管理控制台中,用于接收所述管理控制台针对所述线程池实例的配置修改信息;
31.更新模块,设置于所述管理控制台中,用于响应所述配置修改信息,更新保存在所述配置数据库中的所述线程池配置,得到线程池更新配置;
32.发送模块,设置于所述管理控制台中,用于在线程池配置更新成功后,向所述业务系统反馈携带有所述实例引用的参数变更消息;
33.获取模块,设置于所述业务系统中,用于响应所述参数变更消息,从所述目标存储对象获取到所述实例引用对应的所述线程池实例,和从所述配置数据库中获取所述线程池更新配置;
34.更改模块,设置于所述业务系统中,用于按照所述线程池更新配置更改所述线程池实例的参数。
35.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如前所述任一项所述的线程池参数处理方法的步骤。
36.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征
在于,所述计算机程序被处理器执行时实现如前述任一项所述的线程池参数处理方法中管理控制台或业务系统的步骤。
37.一种计算机程序产品,所述计算机程序产品包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如任一项所述的线程池参数处理方法中管理控制台或业务系统的步骤。
38.上述所实现的其中一个方案中,当线程池的线程池参数需要更改时,可通过管理控制台修改线程池配置并写入配置数据库,通知业务系统获取从数据配置库获取最新的参数配置,去更改预先创建并保存的线程池实例,以达到更改线程池参数的目的。与传统的方案相比,能动态的调整运行中的线程池的线程池参数,使得线程池能达到最优的运行状态,而无需通过修改业务代码之后再重新发布业务系统的复杂修正方式,本技术实施例的线程池参数的修正过程更简便,可动态调整,修正效率更高。
附图说明
39.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1是本技术一实施例中线程池参数处理系统的一系统示意图;
41.图2是本技术一实施例中程池参数处理方法的一流程示意图;
42.图3是本技术一实施例中程池参数处理方法的另一流程示意图;
43.图4是本技术一实施例中线程池参数处理装置的一结构示意图;
44.图5是本技术一实施例中计算机设备的一结构示意图。
具体实施方式
45.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.本实施例提供了一种线程池参数处理方法、系统、设备和存储介质,如图1所示,图1为本技术实施例提供的线程池参数处理系统,该线程池参数处理系统包括业务系统、管理控制台和配置数据库,在一些实施例中,该线程池参数处理系统还可以消息中间件。其中,各个模块的作用或功能介绍如下:
47.业务系统,是提供某项具体业务应用的系统,具体的业务应用范围不做限定,本技术实施例中的线程池参数处理系统可以包括至少一个业务系统,也即可以包括一个或多个业务系统,业务系统可与配置数据库、管理控制台和消息中间件通信。
48.管理控制台,是用于提供线程池管理界面,可用于配置线程池参数的控制平台,示例性的,上述线程池参数可以包括但不局限于线程池名称、核心线程数、最大线程数、线程空闲后存活时间、阻塞队列和告警阈值等参数;在管理控制台提供的线程池管理界面上可进行线程池参数的有关配置,然后将线程池配置写入配置数据库中,管理控制台可与业务
系统、配置数据库和消息中间件通信。
49.配置数据库,是用于存储一个或多个业务系统的线程池配置的数据库,该配置数据库可以是redis等内存数据库或mysql数据库等数据库形式,具体不做限定。通过管理控制台将线程池配置写入到该配置数据库中,业务系统可以从该配置数据库中获取到线程池配置,以用于初始化所创建的线程池实例的参数,配置数据库可与业务系统和管理控制台进行通信。
50.消息中间件,是用于处理并转发参数变更消息的中间构件,在一些实施例中,该消息中间件可以通过消息队列(message queue,mq)实现,也可以通过如zookeeper、nacos等来实现参数的实时变更通知,该消息中间件可与管理控制台和业务系统通信。值得说明的是,在一些实施方式中,该消息中间件也可以省略,直接通过管理控制台向业务系统反馈消息变更通知,具体不做限定。但是采用消息中间件的方式可以缓解管理控制台的工作压力。
51.业务系统可通过可以用独立的服务器或者是多个服务器组成的服务器集群来实现,管理控制台可通过具有显示界面的终端实现,包括电脑和手机等终端设备,具体不做限定。
52.下面分别站在管理控制台和业务系统侧,对本技术实施例提供的线程池参数处理方法进行详细的描述。
53.在一实施例中,如图2所示,提供一种线程池参数处理方法,以该方法应用在图1中的管理控制台为例进行说明,包括如下步骤:
54.s10:管理控制台接收线程池实例的配置修改信息,所述线程池实例存储在业务系统的目标存储对象中。
55.s20:管理控制台响应所述配置修改信息,更新保存在配置数据库中所述线程池实例的线程池配置,得到线程池更新配置。
56.线程池是一种多线程处理形式,一般情况下,业务系统在处理业务任务的过程中,会将待处理的任务添加到任务队列,然后业务系统在创建线程池后自动启动这些任务,线程池中的线程是业务系统的后台线程,用于执行这些任务,线程池维护着多个线程,等待着业务系统分配可并发执行的任务,业务系统在处理任务时可以存在一个或多个线程池。
57.可以理解的是,线程池中的线程过多可能会带来调度开销,进而影响业务系统的整体性能,线程池中的线程过少可能会无法满足业务使用需求,也会影响性能,线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量取决于可用的业务系统的并发处理器、处理器内核、内存、网络等的数量。因此,线程池的参数非常关键。
58.该实施例中,业务系统创建的线程池以实例的形式存在,并且将创建后的线程池实例和该线程池实例对应的实例引用关联存储在业务系统本地的目标存储对象中。需要说明的是,该实例引用是该线程池实例的引用,用于后续从业务系统本地的目标存储对象中查询出该线程池实例。
59.该实施例中,定义出了管理控制台,该管理控制台可以与一个或多个业务系统对接的控制平台,管理控制台可以通过线程池管理界面,管理该业务系统的任意一个或多个线程池实例的线程池配置,并将线程池配置写入到配置数据库中,也就是说,配置数据库保存有业务系统的一个或多个线程池实例的线程池配置。具体而言,管理控制台会接收用户针对其中任意一个线程池实例的配置修改信息,在接收到配置修改信息,响应所述配置修
改信息,更新配置数据库中所述线程池实例的线程池配置,得到线程池更新配置。
60.例如,管理控制台在接收到用户针对线程池实例a的配置修改信息之后,根据线程池实例a的配置修改信息,更新配置数据库中该线程池实例a的线程池配置,得到线程池实例a的线程池更新配置。
61.在一些实施例中,配置修改信息用于指示修改如下其中一种或多种线程池参数:线程池名称、核心线程数、最大线程数、线程空闲后存活时间、阻塞队列、告警阈值等参数。
62.s30:管理控制台生成参数变更消息,所述参数变更消息携带有所述线程池实例对应的实例引用。
63.s40:管理控制台向业务系统反馈所述参数变更消息,以使所述业务系统响应所述参数变更消息,获取到所述实例引用对应的所述线程池实例,并从所述配置数据库中获取线程池更新配置更改所述线程池实例的参数。
64.管理控制台在更改了配置数据库中线程池实例的参数后,会生成参数变更消息,该参数变更消息携带有线程池实例对应的实例引用,以指示该线程池实例的参数存在变更,然后通过预设方式向业务系统反馈参数变更消息,以使业务系统解析该参数变更消息得到实例引用,然后从目标存储对象中获取到该实例引用对应的线程池实例,并从所述配置数据库中获取最新的线程池更新配置更改获取到的线程池实例的参数,达到实时更改线程池参数的目的。
65.可见,该实施例中,提供了一种线程池参数处理方法,通过管理控制台对接业务系统和配置数据库,且业务系统的线程池参数以实例形式保存在目标存储对象中,当线程池的线程池参数需要更改时,可通过管理控制台修改线程池配置并写入配置数据库,让业务系统获取最新的参数配置更改创建的线程池实例,以达到更改线程池参数的目的。与传统的方案相比,能动态的调整运行中的线程池的线程池参数,使得线程池能达到最优的运行状态,而无需通过修改业务代码之后再重新发布业务系统的复杂修正方式,本技术实施例的线程池参数的修正过程更简便,可动态调整,修正效率更高。
66.如前述解释,本技术实施例中的线程池参数处理系统还可以包括消息中间件,该消息中间件包括消息队列mq或zookeeper。基于此系统,还进一步提供了多种不同的参数变更消息通知机制。
67.在一实施例中,所述管理控制台向所述业务系统反馈携带有所述实例引用的参数变更消息,包括:管理控制台将所述参数变更消息发布至消息队列的目标主题,以使订阅了所述目标主题的所述业务系统接收到所述参数变更消息。
68.该实施例中,定义了消息中间件,且通过该消息中间件实现参数变更消息的转发,该消息中间件具体为消息队列mq。该消息队列mq可基于主题的方式与业务系统、管理控制台建立发布-订阅关系,具体而言,消息队列mq设置了不同的主题,其中不同的主题对应不同的业务系统,不同的业务系统可以订阅相应的主题,管理控制台作为消息生产者,业务系统作为消息消费者,当业务系统的某个线程池实例的参数发生更改时,会发送该线程池实例的参数变更消息发布至消息队列mq中该业务系统对应的目标主题,这样,由于业务系统作为消息消费者订阅了该目标主题,因此一旦该目标主题发布有参数变更消息,该业务系统就可以接收到发布到该目标主题的参数变更消息。
69.例如,当管理控制台更改了配置数据库中业务系统s1的线程池实例a的参数之后,
管理控制台生成线程池实例a的参数变更消息m1,然后将该参数变更消息m1发布至消息队列mq对应的主题1上,让业务系统s1可以从该主题1获取到参数变更消息m1。
70.在该实施例中,提供了一种参数变更消息的下发方式,提高了方案的可实施性的同时,由于一般的业务系统存在多个线程池,可以便于管理众多线程池参数的变更处理,还可以使得管理控制台与业务系统解耦,便于拓展业务系统的管理,另外,管理控制台也能实现异步处理各个业务系统的线程池参数变更,实现异步管理,进一步提高处理效率。
71.在一实施例中,所述管理控制台向所述业务系统反馈携带有所述实例引用的参数变更消息,包括:管理控制台将所述参数变更消息下发至zookeeper中所述业务系统对应的目录节点,以使所述业务系统监听到所述参数变更消息。
72.该实施例中,定义了消息中间件,且通过该消息中间件实现参数变更消息的转发,该消息中间件具体为zookeeper(分布式应用程序协调服务软件)。zookeeper是一个分布式的,开放源码的分布式应用程序协调服务。zookeeper的数据模型类似数据结构当中的树,树是由节点所组成,zookeeper的数据存储也同样是基于节点,这种节点叫做znode,zookeeper自身提供了一些应用程序编程接口(api),通过这些api,可以实现包括创建节点、删除节点、判断节点是否存在和获得一个节点的数据等操作。该实施例中,业务系统作为监听客户端,可以设置监听其中或多个一个节点,本技术实施例不妨设定为目录节点,管理控制台作为服务端,会将参数变更消息下发至zookeeper中所述业务系统对应的目录节点,以让该业务系统监听到该目录节点上的参数变更消息。
73.例如,当管理控制台更改了配置数据库中业务系统s1的线程池实例a的参数之后,管理控制台生成线程池实例a的参数变更消息m1,然后将该参数变更消息m1下发至zookeeper的目录节点1上,让业务系统s1可以从该目录节点1监听到上述参数变更消息m1。
74.在该实施例中,提供了另外一种参数变更消息的下发方式,提高了方案的可实施性的同时,由于一般的业务系统存在多个线程池,通过该实施方式,可以便于管理众多线程池参数的变更,同样可以使得管理控制台与业务系统解耦,便于拓展业务系统的管理,业务系统异步接收到参数变更消息,高处理效率。
75.需要说明的是,在其他一些实施例中,还可以有其他的实施参数变更消息的下发,例如,还可以改造成结合其他消息中间件nacos(开源的动态服务平台)等来实现参数变更消息的实时变更。
76.在一实施例中,所述管理控制台接收用户针对线程池实例的配置修改信息,包括:
77.s11:管理控制台接收线程池管理界面的启动指令,并响应所述启动指令渲染出线程池管理控制台的登录界面。
78.s12:管理控制台接收用户在所述登录界面输入的验证信息。
79.s13:当所述验证信息通过验证时,管理控制台渲染出线程池管理界面。
80.s14:管理控制台通过所述线程池管理界面,接收所述用户针对所述线程池实例的配置修改信息。
81.该实施例中,管理控制台提供线程池管理界面,任意一业务系统的管理人员用户可以通过该线管理控制台输入线程池管理界面的启动指令,使管理控制台接收并响应该启动指令,以渲染出线程池管理控制台的登录界面。该登录界面提示了用户输入相应的验证信息。示例性的,该验证信息包括账号或账户信息,以及该账号或账户信息对应的密钥信
息。用户可以通过登录界面输入验证信息,管理控制台接收到验证信息之后,对输入的验证信息进行验证,具体的验证方式取决于验证信息形式,这里不做限定。比如验证账号或账户信息对应的密钥信息是否与预存的密钥信息相同,若相同,则通过验证,反之,则不通过验证。
82.通过验证之后,渲染出业务系统对应的线程池管理界面,用户便可通过线程池管理界面,接收用户针对某个线程池实例的配置修改信息。比如,业务系统s1的管理人员用户登录后,管理控制台渲染出该业务系统s1对应的线程池管理界面,以让用户修改该业务系统s1的任意一个线程池实例。具体而言,用户可通过线程池名称找到对应的线程池实例,然后对该线程池实例的参数进行修改,修改完毕后更新配置数据库中该线程池实例的参数,同时发送参数变更消息给到业务系统。
83.该实施例中,提供了可视化的线程池管理界面,并可基于该线程池管理界面进行实时的配置,且配置了不同业务系统的账号,可方便统一管理线程池,也更为直观。
84.在一实施例中,该方法还包括如下步骤:
85.s50:管理控制台监听所述线程池实例对应的线程池的运行状态。
86.s60:当所述线程池实例对应的线程池的运行状态满足告警条件时,管理控制台生成告警信息。
87.s70:管理控制台通过目标应用的消息通知接口,推送所述告警信息至所述目标应用。
88.该实施例中,管理控制台由于与业务系统对接,管理控制台可监控业务系统的线程池实例对应的线程池的运行状态,示例性的,线程池的运行状态包括线程池中的队列任务数临近预设阈值、队列任务数超过阈值、线程池的任务阻塞队列中的任务等待时间和/或任务阻塞队列是否已满等等。需要说明的是,上述示例在此仅为示例性说明,并不对本技术实施例造成限定。
89.当所述线程池实例对应的线程池的运行状态满足告警条件时,会生成告警信息,然后通过目标应用的消息通知接口,推送所述告警信息至所述目标应用,以使用户通过目标应用快速获取到告警指示,用户收到告警指示之后,可以进行查看,检查系统情况,及时的做出相应的调整,便于对线程池参数进行相应的更改。
90.需要说明的是,目标应用可以是安装在用户使用终端(例如手机)的应用程序,也可以是小程序应用等,该目标英语通常是用户使用频率比较高的应用,在具体实施时,该目标应用在得到用户授权时,通过目标应用的消息通知接口,推送所述告警信息至所述目标应用,具体不做限定。
91.该实施例中,在线程池的异常状态下,本发明能提供线程池告警机制,将告警指示实时送达用户,起到监控的作用,对各线程池的异常起到定位告警的目的,能对各业务场景不同的线程池无法有效的管理的问题提供了解决方案,避免对业务系统极易造成较大事故。
92.需要说明的是,上述实施例从管理控制台的角度进行了描述,下面从业务系统侧的角度对本技术实施例提供的线程池参数处理方法进行详细的描述。
93.在一实施例中,如图3所示,提供一种线程池参数处理方法,以该方法应用在图1中的业务系统为例进行说明,包括如下步骤:
94.s101:业务系统从配置数据库中加载业务系统的线程池配置,并通过所述线程池配置初始化线程池实例和线程池实例对应的实例引用。
95.s102:业务系统将所述线程池实例和所述线程池实例对应的实例引用,关联保存在目标存储对象中。
96.业务系统在启动后,会从配置数据库加载出该业务系统对应的线程池配置,然后通过加载出的所述线程池配置初始化线程池,并创建该线程池对应的线程池实例,初始化的内容包括但不局限于设置线程池名称、核心线程数、最大线程数和线程空闲后存活时间等。业务系统在处理任务过程中,会将待处理的任务添加到任务队列,然后业务系统在创建线程池后自动启动这些任务,业务系统在处理任务时可以存在线程池,因此会通过所述线程池配置创建该线程池对应的线程池实例。
97.业务系统创建所述线程池实例后,将所述线程池实例和所述线程池实例对应的实例引用关联保存在目标存储对象中。该实施例中,业务系统创建的线程池以实例的形式存在,并且将创建后的线程池实例和该线程池实例对应的实例引用,关联存储在业务系统本地的目标存储对象中。需要说明的是,该实例引用是该线程池实例的引用,用于后续从业务系统本地的目标存储对象中查询出该线程池实例。
98.示例性的,业务系统所创建的线程池实例可以是threadpoolexecutor实例。
99.在一实施例中,所述目标存储对象包括哈希映射表(hashmap),所述业务系统将所述线程池实例和所述线程池实例对应的实例引用,关联保存在目标存储对象中,包括:业务系统将所述线程池实例和所述线程池实例对应的实例引用关联保存在所述哈希映射表中。
100.该实施例中,业务系统会创建hashmap,然后作为目标存储对象,用于存储所创建的所有线程池实例,由于hashmap的内部是使用数组来存储元素的,元素存放的位置是依据key值的hashcode()方法的返回值经散列算法,生成的下标数字来决定的。所以在查询元素时,hashmap会依靠给定的key的hashcode()方法返回值来计算出对应的下标,然后直接通过下标去访问相应的元素,这样就省去了遍历数组的过程,另外,由于hashmap查询数据时不受元素数量的影响,因此利用提高线程池实例的获取速度,进一步提高线程池参数的修改效率。
101.s103:业务系统接收携带有所述实例引用的参数变更消息。
102.管理控制台在更改了配置数据库中线程池实例的参数后,会生成参数变更消息,该参数变更消息携带有所述线程池实例对应的实例引用,以指示该线程池实例的参数存在变更,然后通过预设方式向业务系统反馈所述参数变更消息。其中,管理控制台侧的功能可对应参阅前述实施例,这里不重复描述。
103.s104:业务系统响应所述参数变更消息,以从所述目标存储对象中获取到所述实例引用对应的所述线程池实例,并从所述配置数据库中获取所述线程池实例的线程池更新配置。
104.业务系统接收到参数变更消息后,会响应该参数变更消息,解析该参数变更消息得到实例引用,然后从目标存储对象中获取到该实例引用对应的所述线程池实例,并从所述配置数据库中获取最新的线程池更新配置去更改所述线程池实例的参数,达到实时更改线程池参数的目的。
105.s105:业务系统通过所述线程池更新配置,更改所述线程池实例的线程池参数。
106.例如,管理控制台在接收到用户针对线程池实例a的配置修改信息之后,根据线程池实例a的配置修改信息,更新配置数据库中该线程池实例a的参数配置,更新完后生成该线程池实例a的线程池参数存在变更的参数变更消息as,业务系统收到该参数变更消息as后,通过参数变更消息as携带的实例引用,从目标存储对象中找到该线程池实例a,并从配置数据库中获取最新的线程池参数配置,更改线程池实例a的参数配置,达到更新线程池参数的目的。
107.可见,该实施例中,提供了一种线程池参数处理方法,通过管理控制台对接业务系统和配置数据库,且业务系统的线程池参数以实例形式保存在目标存储对象中,当线程池的线程池参数需要更改时,可通过管理控制台修改线程池配置并写入配置数据库,让业务系统获取最新的参数配置更改创建的线程池实例,以达到更改线程池参数的目的。与传统的方案相比,能动态的调整运行中的线程池的线程池参数,使得线程池能达到最优的运行状态,而无需通过修改业务代码之后再重新发布业务系统的复杂修正方式,本技术实施例的线程池参数的修正过程更简便,可动态调整,修正效率更高。
108.在一实施例中,从交互角度描述,提供了一种线程池参数处理方法,该包括如下步骤:
109.s201:业务系统从配置数据库加载所述业务系统的线程池配置,并通过所述线程池配置初始化线程池实例和所述线程池实例对应的实例引用;
110.s202:所述业务系统将所述线程池实例和所述实例引用,关联保存在所述业务系统的目标存储对象中;
111.s203:管理控制台接收针对所述线程池实例的配置修改信息;
112.s204:所述管理控制台响应所述配置修改信息,更新保存在所述配置数据库中的所述线程池配置,得到线程池更新配置;
113.s205:在更新成功后,所述管理控制台向所述业务系统反馈携带有所述实例引用的参数变更消息;
114.s206:所述业务系统响应所述参数变更消息,从所述目标存储对象获取到所述实例引用对应的所述线程池实例和从所述配置数据库中获取所述线程池更新配置,按照所述线程池更新配置更改所述线程池实例的参数。
115.各个步骤的详细内容,可对应参阅前述实施例中的对应描述,这里不再描述。
116.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
117.在一实施例中,提供了一种线程池参数处理系统,所述线程池参数处理系统包括管理控制台、业务系统、配置数据库和线程池参数处理装置,如图4所示,所述线程池参数处理装置10包括:
118.创建模块101,设置于所述业务系统中,用于从所述配置数据库加载所述业务系统的线程池配置,并通过所述线程池配置初始化所述业务系统的线程池实例和所述线程池实例对应的实例引用;
119.保存模块102,设置于所述业务系统中,用于将所述线程池实例和所述实例引用,关联保存在所述业务系统的目标存储对象中;
120.接收模块103,设置于所述管理控制台中,用于接收所述管理控制台针对所述线程池实例的配置修改信息;
121.更新模块104,设置于所述管理控制台中,用于响应所述配置修改信息,更新保存在所述配置数据库中的所述线程池配置,得到线程池更新配置;
122.发送模块105,设置于所述管理控制台中,用于在线程池配置更新成功后,向所述业务系统反馈携带有所述实例引用的参数变更消息;
123.获取模块106,设置于所述业务系统中,用于响应所述参数变更消息,从所述目标存储对象获取到所述实例引用对应的所述线程池实例,和从所述配置数据库中获取所述线程池更新配置;
124.更改模块107,设置于所述业务系统中,用于按照所述线程池更新配置更改所述线程池实例的参数。
125.其中,关于线程池参数处理装置各模块具体实现细节或步骤,可对应参阅前述方法实施例中的描述,为避免冗余,这里不再重复描述。
126.在一个实施例中,提供了一种计算机设备,该计算机设备用于实现管理控制台的步骤,或者实现业务系统侧的步骤,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备还包括计算机可读存储介质、存储器。该计算机设备的网络接口用于与外部的业务系统通过网络连接通信。该计算机可读指令被处理器执行时以实现一种线程池参数处理方法中管理控制台侧的功能或步骤,或者实现业务系统侧的功能或步骤。本实施例所提供的计算机可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
127.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现前述一种线程池参数处理方法中管理控制台侧的步骤,或者业务系统侧的步骤。
128.在一个实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如前述一种线程池参数处理方法中管理控制台侧的步骤,或者业务系统侧的步骤。
129.一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如前述一种线程池参数处理方法中管理控制台侧的步骤,或者业务系统侧的步骤。
130.需要说明的是,关于该计算机设备或计算机可读存储介质实现的更多细节,可对应参阅前述实施例,具体这里不重复描述。
131.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而
非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
132.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
133.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献