CN103428272A - 一种中间件线程的监控调度***及方法 - Google Patents
一种中间件线程的监控调度***及方法 Download PDFInfo
- Publication number
- CN103428272A CN103428272A CN2013102986025A CN201310298602A CN103428272A CN 103428272 A CN103428272 A CN 103428272A CN 2013102986025 A CN2013102986025 A CN 2013102986025A CN 201310298602 A CN201310298602 A CN 201310298602A CN 103428272 A CN103428272 A CN 103428272A
- Authority
- CN
- China
- Prior art keywords
- thread
- monitoring
- passes
- line number
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种中间件线程的监控调度***及其监控调度方法,包括多线程中间件***与中间件监控***,多线程中间件***包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,请求分配组件根据***健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。本发明动态调整可用线程数,当***健康状况不好时,即时拒绝用户请求,解决了高并发访问时可能出现的阻塞问题,提升了高并发访问时中间件***运行的稳定性。
Description
技术领域
本发明涉及一种监控调度***,尤其涉及一种中间件线程的监控调度***,还涉及上述***的监控调度方法。
背景技术
中间件***是指为了降低业务***开发过程中的复杂性和提升***的处理能力,将应用软件所要面临的共性问题进行提炼、抽象,在操作***之上再形成一个可复用的部分的软件功能集合。为了应对高并发的访问请求,一般的中间件***都是多线程的,称为多线程中间件***。
如图1所示是传统的多线程中间件***与中间件监控***(中间件***的监控***),多线程中间件***包括请求分配组件、部署在中间件容器中的应用***1…N、工作线程池组件以及多线程中间件***提供的一些其它组件。请求分配组件用于调度用户请求;工作线程池组件用于创建工作线程执行具体应用功能;中间件监控***用于定时采集多线程中间件***运行状态并反馈给***运维人员。
上述多线程中间件***的工作过程如下:初次启动时请求分配组件创建一个接收线程,初次启动时工作线程池组件创建一个工作线程池并设置线程池的大小,接收线程收到请求后,负责从工作线程池中获取一个可用工作线程,并将用户请求交给该工作线程处理,该工作线程执行具体的应用***功能完毕后返回线程池;接收线程收到请求后,如果工作线程池没有可用工作线程,则接收线程阻塞,等待可用工作线程。
传统多线程中间件***在上述工作过程中虽然一定程度上保障了多线程中间件***的性能与稳定性,但是还存在以下缺陷:⑴当工作线程池没有可用工作线程时,等待可用工作线程,造成接收线程阻塞现象,在高并发访问时该现象尤其明显;⑵无法监测与停止执行时间过长的异常工作线程,亦无法监测工作线程池中工作线程间的死锁,因此不能解决上述这两种情况将***资源耗尽的问题;⑶没有提前预警机制,只有等到***不能对外提供服务的时候,中间件监控***才会获知并发出警告。所以,传统多线程中间件***在处理高并发访问时容易导致失稳。
发明内容
本发明的第一个目的在于提供一种中间件线程的监控调度***,避免高并发访问时***阻塞,提升高并发访问时多线程中间件***的稳定性,同时能够监控和管理多线程中间件***。
本发明的第二个目的在于提供一种前述中间件线程的监控调度***的监控调度方法。
本发明的第一个目的通过如下的技术方案来实现:一种中间件线程的监控调度***,包括多线程中间件***与用于监控多线程中间件***运行状态并反馈给***运维人员的中间件监控***,其特征在于:所述多线程中间件***包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,请求分配组件根据***健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。
本发明增设监控调度组件获得***健康率反馈给请求分配组件,并根据动态最大可用线程数和IP地址优先级分配工作线程,因此改变了传统依靠一个单一固定数据(即最大可用线程数)来决定工作线程池是否空闲的情况,本发明在工作线程分配入口设置动态分配策略,与***的健康状态相结合,动态调整可用线程数,当活动线程数(被占用的工作线程的数量)大于或者等于动态最大可用线程数时,此时属于***健康状况不好的情况,请求分配组件能够即时拒绝用户请求,以防止***阻塞,从而解决了高并发访问时出现接收线程阻塞问题,提升了高并发访问时多线程中间件***的稳定性;另外,工作线程池以用户请求IP地址对应优先级分组,提供工作任务的优先级执行方式,能够保障高优先级的用户请求更快的得到执行。
作为本发明的一种实施方式,所述监控调度组件主要由依次通信连接的线程状态查看与参数设置模块、缓存模块、工作线程池监控管理模块组成,所述缓存模块还与请求分配组件相连,所述工作线程池监控管理模块还与工作线程池组件相连,所述线程状态查看与参数设置模块提供人工查看监控界面并用于设置***参数和IP地址优先级储存至缓存模块,所述工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成***健康率储存至缓存模块,由缓存模块将***健康率和IP地址优先级反馈给请求分配组件。
作为本发明的一种推荐实施方式,所述工作线程池监控管理模块主要由工作线程监控管理定时线程、分别用于采集服务器CPU平均使用率、内存平均使用率及工作线程工作状态的数据采集模块、分别与所述各数据采集模块对应连接的计算模块组成,计算模块还与缓存模块相连,所述服务器CPU平均使用率、内存平均使用率即为所述服务器工作状态数据,所述工作线程监控管理定时线程分别与工作线程池组件、各数据采集模块连接,用于驱动各数据采集模块在设定时间内进行数据采集,其中,与采集服务器CPU平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器CPU的平均使用率,与采集服务器内存平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器内存的平均使用率,与采集工作线程工作状态的数据采集模块相连的计算模块用于计算超过设定时间运行的工作线程数,所述工作线程监控管理定时线程根据采集的数据计算获得***健康率并储存至缓存模块。
本发明***健康率的计算公式如下:
式中:H:***健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1 P2 P3:为上述参数的占比,P1+P2+P3=1
动态最大可用线程数的计算公式如下:
N'=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N':动态最大可用线程数。
设定时间优选为5~10分钟。
本发明所述用于采集服务器CPU使用率、内存使用率的数据采集模块采集的数据以时间维度写入缓存模块,所述用于采集工作线程工作状态的数据采集模块采集的数据以工作线程名称写入缓存模块。
作为本发明的一种改进,所述工作线程池监控管理模块包括问题线程中断模块,所述问题线程中断模块分别与工作线程监控管理定时线程、用于采集工作线程工作状态的数据采集模块相连,所述问题线程中断模块判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预。可以避免一个有问题的程序导致工作线程执行时间过长或者产生工作线程死锁而耗尽***资源。
作为本发明的进一步改进,所述监控调度组件包括***状态预警模块,所述***状态预警模块分别与工作线程监控管理定时线程、数据采集模块和中间件监控***相连,所述***状态预警模块从数据采集模块获取表征***健康状态的各种数据,并比较该数据与存储在缓存模块中的***参数,当该数据不符合***参数设定时向中间件监控***发送预警信息,由中间件监控***通知人工干预。对于工作时间较长的工作线程还可以通过上述方式实现人工干预,防止这些异常的工作线程占用过多。
本发明的第二个目的通过如下的技术方案来实现:一种上述中间件线程的监控调度***的监控调度方法,其特征在于具体包括以下步骤:
⑴创建用户请求;
⑵请求分配组件提取用户请求的IP地址;
⑶判断当前工作线程池组件的活动线程数(占用工作线程数量)是否小于最大可用线程数:
ⅰ如果活动线程数等于最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于最大可用线程数,转入步骤⑷;
⑷判断活动线程数是否小于动态最大可用线程数,监控调度组件根据工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,由请求分配组件根据***健康率和最大可用线程数获得动态最大可用线程数:
ⅰ如果活动线程数大于或等于动态最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于动态最大可用线程数,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程。
本发明所述***健康率的计算公式为:
式中:H:***健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1 P1 P3:为上述参数的占比,P1+P2+P3=1。
动态最大可用线程数的计算公式为:
N'=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N':动态最大可用线程数。
作为本发明的一种改进,所述监控调度组件判断工作线程运行时间超过设定的值时向工作线程池组件发出中断该工作线程的信号实现自动干预;所述监控调组件获取表征***健康状态的各种数据,当该数据不在***参数设定范围内时中间件监控***发送预警信息,由中间件监控***通知人工干预。
与现有技术相比,本发明具有如下显著的效果:
⑴本发明增设监控调度组件获得***健康率反馈给请求分配组件,并根据动最大可用线程数和IP地址优先级分配工作线程,因此改变了传统依靠一个单一定数据来决定工作线程池是否空闲的情况,本发明在工作线程分配入口设置动分配策略,与***的健康状态相结合,动态调整可用线程数,当***健康状况好时,能够即时拒绝用户请求,以防止***阻塞,从而解决了高并发访问时出接收线程阻塞问题,提升了高并发访问时多线程中间件***的稳定性。
⑵本发明增加了工作线程管理与监控功能,根据CPU、内存以及线程运行情计算***的健康率并反馈给入口的线程分配策略,对于工作时间较长的线程可自动或者人工干预,防止这些线程占用过多,以避免一个有问题的程序导致线执行时间过长或者产生线程死锁而耗尽***资源,能够进一步解决高并发访问***堵塞问题。
⑶工作线程池组件中的工作线程按照IP地址对应优先级分组,提供了工作任的优先级执行方式,保障高优先级的用户请求能够更快的得到执行。
⑷与传统中间件线程的管理方式相比,本发明极大地提升了基于高并发访问时多线程中间件***的稳定性,并且在无限极(中国)有限公司的全球业务支持***的稳定运行中得到了很好地验证。
附图说明
下面结合附图和具体实施例对本发明作进一步的详细说明。
图1是传统多线程中间件***和中间件监控***示意图;
图2是本发明组成结构示意图之一(显示监控调度过程);
图3是本发明组成结构示意图之二(显示监控管理过程);
图4是本发明组成结构示意图之三(显示请求分配过程)。
具体实施方式
如图2所示,是本发明一种中间件线程的监控调度***,包括多线程中间件***(即多线程中间件)与用于监控多线程中间件***运行状态并反馈给***运维人员的中间件监控***(图中未画出),多线程中间件***包括两两通信连接的请求分配组件201、工作线程池组件202和监控调度组件203,请求分配组件201用于调度用户请求,工作线程池组件202用于创建工作线程执行具体应用功能,工作线程池组件202由数个以IP地址对应优先级分组的工作线程组1~n构成,每个工作线程组由数个工作线程组成,例如工作线程组1包含工作线程11、12…,工作线程组2包含工作线程21、22…,等等;监控调度组件203预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,请求分配组件201根据***健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。在工作线程分配入口设置动态分配策略,与***的健康状态相结合,动态调整可用线程数,当活动线程数(被占用的工作线程的数量)大于或者等于动态最大可用线程数时,此时属于***健康状况不好的情况,请求分配组件能够即时拒绝用户请求,以防止***阻塞。
监控调度组件主要由依次通信连接的线程状态查看与参数设置模块311、缓存模块308、工作线程池监控管理模块组成,缓存模块308提供线程状态、***健康率、***参数、IP地址优先级等信息的缓存,缓存模块308还与请求分配组件201相连,工作线程池监控管理模块还与工作线程池组件202相连,线程状态查看与参数设置模块311提供一个可以人工直接查看的监控界面并用于设置一些根据实际情况所需要的***参数和IP地址优先级储存至缓存模块308,工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成***健康率储存至缓存模块,由缓存模块将***健康率和IP地址优先级反馈给请求分配组件。
如图3所示,工作线程池监控管理模块主要由用于监控和管理工作线程池的工作线程监控管理定时线程301、分别用于采集服务器CPU平均使用率、内存平均使用率及工作线程工作状态的数据采集模块302、303、304、分别与各数据采集模块302、303、304对应连接的计算模块305、306、307、问题线程中断模块309组成,计算模块305、306、307还分别与缓存模块308相连,服务器CPU平均使用率、内存平均使用率即为服务器工作状态数据,工作线程监控管理定时线程301分别与工作线程池组件202、各数据采集模块302、303、304连接,定时驱动各数据采集模块302、303、304在设定时间内进行数据采集,数据采集模块304获取所有工作线程的运行状态、开始时间、结束时间、运行时长等信息。其中,与采集服务器CPU平均使用率的数据采集模块302相连的计算模块305用于计算在设定时间内服务器CPU的平均、最大和最小使用率,根据服务器CPU的最大和最小使用率来计算其平均使用率,与采集服务器内存平均使用率的数据采集模块303相连的计算模块306用于计算在设定时间内服务器内存的平均、最大和最小使用率,根据服务器内存的最大和最小使用率来计算其平均使用率,与采集工作线程工作状态的数据采集模块304相连的计算模块307用于计算超过设定时间运行的工作线程数,工作线程监控管理定时线程301根据采集的数据计算获得***健康率并储存至缓存模块,数据采集模块302、303采集的数据(CPU和内存的平均使用率、最小使用率和最大使用率)以时间维度写入缓存模块,数据采集模块304采集的数据以工作线程名称写入缓存模块。在本实施例中,设定时间为5分钟,采集的数据即指服务器CPU在5分钟内的平均使用率、服务器内存在5分钟内的平均使用率和执行时间超过5分钟的工作线程数。
***健康率的计算公式如下:
式中:H:***健康率
C:服务器CPU在5分钟内的平均使用率
M:服务器内存在5分钟内的平均使用率
T:执行时间超过5分钟的工作线程数
N:最大可用线程数
P1 P2 P3:为上述参数的占比,P1+P2+P3=1
动态最大可用线程数的计算公式如下:
N’=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N’:动态最大可用线程数。
问题线程中断模块309分别与工作线程监控管理定时线程301、用于采集工作线程工作状态的数据采集模块304相连,问题线程中断模块309判断工作线程运行时间超过设定的阈值时向工作线程池组件202发出中断该工作线程的信号实现自动干预。监控调度组件203包括***状态预警模块310,***状态预警模块310分别与工作线程监控管理定时线程301、数据采集模块302、303、304和中间件监控***相连,***状态预警模块310从数据采集模块302、303、304获取表征***健康状态的各种数据,并比较该数据与存储在缓存模块中的***参数,当该数据不符合***参数设定时向中间件监控***发送预警信息,由中间件监控***通知人工干预。自动干预和人工干预可以防止异常工作线程占用过多,避免一个有问题的程序导致工作线程执行时间过长或者产生工作线程死锁而耗尽***资源,能够进一步解决高并发访问时***堵塞问题。
如图4所示,一种上述中间件线程的监控调度***的监控调度方法,具体包括以下步骤:
⑴创建用户请求;
⑵请求分配组件提取用户请求的IP地址,步骤401;
⑶判断当前工作线程池组件的活动线程数(占用工作线程数量)是否小于最大可用线程数N,步骤402:
ⅰ如果活动线程数等于最大可用线程数N,为用户请求分配一个线程,将服务器忙的信息返回至用户端,步骤405;
ⅱ如果活动线程数小于最大可用线程数N,转入步骤⑷;
⑷判断活动线程数是否小于动态最大可用线程数N’,步骤403,监控调度组件根据工作线程及服务器工作状态数据进行处理生成***健康率H(见公式①)反馈给请求分配组件,参见图3,在本实施例中,工作线程工作状态数据是执行时间超过5分钟的工作线程数,服务器工作状态数据是服务器CPU在5分钟内的平均使用率、服务器内存在5分钟内的平均使用率,该两个平均使用率均分别根据各自的最大、最小使用率计算得到;由请求分配组件根据***健康率H和最大可用线程数N获得动态最大可用线程数N’(见公式②):
***健康率H的计算公式为:
式中:H:***健康率
C:服务器CPU在5分钟内的平均使用率
M:服务器内存在5分钟内的平均使用率
T:执行时间超过5分钟的工作线程数
N:最大可用线程数
P1 P2 P3:为上述参数的占比,P1+P2+P3=1。
动态最大可用线程数的计算公式为:
N’=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N':动态最大可用线程数。
ⅰ如果活动线程数大于或等于动态最大可用线程数N’,为用户请求分配一个线程,将服务器忙的信息返回至用户端,步骤405;
ⅱ如果活动线程数小于动态最大可用线程数N’,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程,步骤404。工作线程池以用户请求IP地址对应优先级分组,提供工作任务的优先级执行方式,能够保障高优先级的用户请求更快的得到执行。
监控调度组件判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预;而且,监控调度组件获取表征***健康状态的各种数据,如运行状态、开始执行时间、结束执行时间、执行时长、以及***健康率等指标,当该数据不在***参数设定范围内时向中间件监控***发送预警信息,由中间件监控***通知人工干预。
本发明的实施方式不限于此,根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,本发明设定时间为5~10分钟。因此本发明还可以做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (10)
1.一种中间件线程的监控调度***,包括多线程中间件***与用于监控多线程中间件***运行状态并反馈给***运维人员的中间件监控***,其特征在于:所述多线程中间件***包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,请求分配组件根据***健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。
2.根据权利要求1所述的中间件线程的监控调度***,其特征在于:所述监控调度组件主要由依次通信连接的线程状态查看与参数设置模块、缓存模块、工作线程池监控管理模块组成,所述缓存模块还与请求分配组件相连,所述工作线程池监控管理模块还与工作线程池组件相连,所述线程状态查看与参数设置模块提供人工查看监控界面并用于设置***参数和IP地址优先级储存至缓存模块,所述工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成***健康率储存至缓存模块,由缓存模块将***健康率和IP地址优先级反馈给请求分配组件。
3.根据权利要求2所述的中间件线程的监控调度***,其特征在于:所述工作线程池监控管理模块主要由工作线程监控管理定时线程、分别用于采集服务器CPU平均使用率、内存平均使用率及工作线程工作状态的数据采集模块、分别与所述各数据采集模块对应连接的计算模块组成,计算模块还与缓存模块相连,所述服务器CPU平均使用率、内存平均使用率即为所述服务器工作状态数据,所述工作线程监控管理定时线程分别与工作线程池组件、各数据采集模块连接,用于驱动各数据采集模块在设定时间内进行数据采集,其中,与采集服务器CPU平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器CPU的平均使用率,与采集服务器内存平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器内存的平均使用率,与采集工作线程工作状态的数据采集模块相连的计算模块用于计算超过设定时间运行的工作线程数,所述工作线程监控管理定时线程根据采集的数据计算获得***健康率并储存至缓存模块。
4.根据权利要求3所述的中间件线程的监控调度***,其特征在于:
所述***健康率的计算公式如下:
式中:H:***健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1 P2 P3:为上述参数的占比,P1+P2+P3=1
所述动态最大可用线程数的计算公式如下:
N’=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N’:动态最大可用线程数。
5.根据权利要求3或4所述的中间件线程的监控调度***,其特征在于:所述用于采集服务器CPU使用率、内存使用率的数据采集模块采集的数据以时间维度写入缓存模块,所述用于采集工作线程工作状态的数据采集模块采集的数据以工作线程名称写入缓存模块。
6.根据权利要求5所述的中间件线程的监控调度***,其特征在于:所述工作线程池监控管理模块包括问题线程中断模块,所述问题线程中断模块分别与工作线程监控管理定时线程、用于采集工作线程工作状态的数据采集模块相连,所述问题线程中断模块判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预。
7.根据权利要求6所述的中间件线程的监控调度***,其特征在于:所述监控调度组件包括***状态预警模块,所述***状态预警模块分别与工作线程监控管理定时线程、数据采集模块和中间件监控***相连,所述***状态预警模块从数据采集模块获取表征***健康状态的各种数据,并比较该数据与存储在缓存模块中的***参数,当该数据不符合***参数设定时向中间件监控***发送预警信息,由中间件监控***通知人工干预。
8.一种权利要求1所述的中间件线程的监控调度***的监控调度方法,其特征在于具体包括以下步骤:
⑴创建用户请求;
⑵请求分配组件提取用户请求的IP地址;
⑶判断当前工作线程池组件的活动线程数是否小于最大可用线程数:
ⅰ如果活动线程数等于最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于最大可用线程数,转入步骤⑷;
⑷判断活动线程数是否小于动态最大可用线程数,监控调度组件根据工作线程及服务器工作状态数据进行处理生成***健康率反馈给请求分配组件,由请求分配组件根据***健康率和最大可用线程数获得动态最大可用线程数:
ⅰ如果活动线程数大于或等于动态最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于动态最大可用线程数,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程。
9.根据权利要求8所述的中间件线程的监控调度***的监控调度方法,其特征在于:
所述***健康率的计算公式为:
式中:H:***健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1 P1 P3:为上述参数的占比,P1+P2+P3=1;
所述动态最大可用线程数的计算公式为:
N’=N*H 公式②
式中:N:最大可用线程数
H:***健康率
N’:动态最大可用线程数。
10.根据权利要求8或9所述的中间件线程的监控调度***的监控调度方法,其特征在于:所述监控调度组件判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预;所述监控调度组件获取表征***健康状态的各种数据,当该数据不在***参数设定范围内时向中间件监控***发送预警信息,由中间件监控***通知人工干预。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310298602.5A CN103428272B (zh) | 2013-07-16 | 2013-07-16 | 一种中间件线程的监控调度***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310298602.5A CN103428272B (zh) | 2013-07-16 | 2013-07-16 | 一种中间件线程的监控调度***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103428272A true CN103428272A (zh) | 2013-12-04 |
CN103428272B CN103428272B (zh) | 2016-06-15 |
Family
ID=49652436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310298602.5A Active CN103428272B (zh) | 2013-07-16 | 2013-07-16 | 一种中间件线程的监控调度***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103428272B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199761A (zh) * | 2014-08-27 | 2014-12-10 | 北京中电普华信息技术有限公司 | 一种java应用***的监控方法及装置 |
CN104572277A (zh) * | 2014-12-17 | 2015-04-29 | 大唐移动通信设备有限公司 | 一种线程流控方法和装置 |
CN105786447A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 服务器处理数据的方法、装置及服务器 |
CN106027286A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种通信***中节点的监控方法及*** |
CN107329800A (zh) * | 2017-06-29 | 2017-11-07 | 北京北信源软件股份有限公司 | 一种基于Docker平台的中间件应用管控方法和装置 |
CN108132837A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 一种分布式集群调度***及方法 |
CN108536535A (zh) * | 2018-01-24 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种dns服务器及其线程控制方法和装置 |
CN108762913A (zh) * | 2018-03-23 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 服务处理方法及装置 |
CN109492826A (zh) * | 2018-12-06 | 2019-03-19 | 远光软件股份有限公司 | 一种基于机器学习的信息***运行状态风险预测方法 |
CN109697128A (zh) * | 2018-12-19 | 2019-04-30 | 北京爱奇艺科技有限公司 | 一种线程维护方法、装置及电子设备 |
CN109840179A (zh) * | 2018-12-15 | 2019-06-04 | 中国平安人寿保险股份有限公司 | RocketMQ线程数监控方法、装置、电子设备及存储介质 |
CN111324447A (zh) * | 2019-06-26 | 2020-06-23 | 杭州海康威视***技术有限公司 | 线程的调整方法、装置、应用服务器和存储介质 |
CN111343239A (zh) * | 2020-02-10 | 2020-06-26 | ***股份有限公司 | 通信请求处理方法、通信方法、通信请求处理装置以及交易*** |
CN111385654A (zh) * | 2020-03-04 | 2020-07-07 | 四川长虹电器股份有限公司 | 基于中间件的智能电视模拟量参数控制方法 |
CN111651328A (zh) * | 2020-06-08 | 2020-09-11 | 北京字节跳动网络技术有限公司 | 一种线程监控方法及装置 |
CN111767138A (zh) * | 2020-06-09 | 2020-10-13 | Oppo广东移动通信有限公司 | 资源分配方法、存储介质和电子设备 |
CN112084101A (zh) * | 2020-09-17 | 2020-12-15 | 中电科仪器仪表有限公司 | 一种适用于电子测量仪器使用率的统计*** |
CN112445615A (zh) * | 2020-11-12 | 2021-03-05 | 广州海鹚网络科技有限公司 | 一种线程的调度***、计算机设备和存储介质 |
CN113194040A (zh) * | 2021-04-28 | 2021-07-30 | 王程 | 瞬时高并发服务器线程池拥塞智能控制方法 |
CN113535346A (zh) * | 2020-04-21 | 2021-10-22 | 中移动信息技术有限公司 | 线程数量调整的方法、装置、设备及计算机存储介质 |
CN113779949A (zh) * | 2021-09-17 | 2021-12-10 | 北京天融信网络安全技术有限公司 | 一种报告生成方法、装置、电子设备、存储介质及*** |
CN115599558A (zh) * | 2022-12-13 | 2023-01-13 | 无锡学院(Cn) | 一种工业互联网平台的任务处理方法和*** |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245019B (zh) * | 2019-06-17 | 2021-07-06 | 广东金赋科技股份有限公司 | 一种自适应***资源的线程并发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195508A1 (en) * | 2002-11-27 | 2006-08-31 | James Bernardin | Distributed computing |
CN101132300A (zh) * | 2007-08-22 | 2008-02-27 | 华为技术有限公司 | 一种多媒体业务的实现***、方法和相关设备 |
CN101252451A (zh) * | 2008-03-22 | 2008-08-27 | 桂林电子科技大学 | 保证服务质量的Web服务器***请求区分服务方法与中间件 |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
-
2013
- 2013-07-16 CN CN201310298602.5A patent/CN103428272B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195508A1 (en) * | 2002-11-27 | 2006-08-31 | James Bernardin | Distributed computing |
CN101132300A (zh) * | 2007-08-22 | 2008-02-27 | 华为技术有限公司 | 一种多媒体业务的实现***、方法和相关设备 |
CN101252451A (zh) * | 2008-03-22 | 2008-08-27 | 桂林电子科技大学 | 保证服务质量的Web服务器***请求区分服务方法与中间件 |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199761A (zh) * | 2014-08-27 | 2014-12-10 | 北京中电普华信息技术有限公司 | 一种java应用***的监控方法及装置 |
CN104572277A (zh) * | 2014-12-17 | 2015-04-29 | 大唐移动通信设备有限公司 | 一种线程流控方法和装置 |
CN105786447A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 服务器处理数据的方法、装置及服务器 |
CN106027286A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种通信***中节点的监控方法及*** |
CN107329800A (zh) * | 2017-06-29 | 2017-11-07 | 北京北信源软件股份有限公司 | 一种基于Docker平台的中间件应用管控方法和装置 |
CN108132837A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 一种分布式集群调度***及方法 |
CN108132837B (zh) * | 2018-01-02 | 2022-04-15 | 中国工商银行股份有限公司 | 一种分布式集群调度***及方法 |
CN108536535A (zh) * | 2018-01-24 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种dns服务器及其线程控制方法和装置 |
CN108762913A (zh) * | 2018-03-23 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 服务处理方法及装置 |
CN109492826A (zh) * | 2018-12-06 | 2019-03-19 | 远光软件股份有限公司 | 一种基于机器学习的信息***运行状态风险预测方法 |
CN109840179A (zh) * | 2018-12-15 | 2019-06-04 | 中国平安人寿保险股份有限公司 | RocketMQ线程数监控方法、装置、电子设备及存储介质 |
CN109697128A (zh) * | 2018-12-19 | 2019-04-30 | 北京爱奇艺科技有限公司 | 一种线程维护方法、装置及电子设备 |
CN111324447A (zh) * | 2019-06-26 | 2020-06-23 | 杭州海康威视***技术有限公司 | 线程的调整方法、装置、应用服务器和存储介质 |
CN111324447B (zh) * | 2019-06-26 | 2023-03-28 | 杭州海康威视***技术有限公司 | 线程的调整方法、装置、应用服务器和存储介质 |
CN111343239A (zh) * | 2020-02-10 | 2020-06-26 | ***股份有限公司 | 通信请求处理方法、通信方法、通信请求处理装置以及交易*** |
CN111343239B (zh) * | 2020-02-10 | 2022-11-04 | ***股份有限公司 | 通信请求处理方法、通信方法、通信请求处理装置以及交易*** |
CN111385654A (zh) * | 2020-03-04 | 2020-07-07 | 四川长虹电器股份有限公司 | 基于中间件的智能电视模拟量参数控制方法 |
CN113535346A (zh) * | 2020-04-21 | 2021-10-22 | 中移动信息技术有限公司 | 线程数量调整的方法、装置、设备及计算机存储介质 |
CN113535346B (zh) * | 2020-04-21 | 2024-03-19 | 中移动信息技术有限公司 | 线程数量调整的方法、装置、设备及计算机存储介质 |
CN111651328A (zh) * | 2020-06-08 | 2020-09-11 | 北京字节跳动网络技术有限公司 | 一种线程监控方法及装置 |
CN111767138A (zh) * | 2020-06-09 | 2020-10-13 | Oppo广东移动通信有限公司 | 资源分配方法、存储介质和电子设备 |
CN112084101A (zh) * | 2020-09-17 | 2020-12-15 | 中电科仪器仪表有限公司 | 一种适用于电子测量仪器使用率的统计*** |
CN112445615A (zh) * | 2020-11-12 | 2021-03-05 | 广州海鹚网络科技有限公司 | 一种线程的调度***、计算机设备和存储介质 |
CN113194040A (zh) * | 2021-04-28 | 2021-07-30 | 王程 | 瞬时高并发服务器线程池拥塞智能控制方法 |
CN113779949A (zh) * | 2021-09-17 | 2021-12-10 | 北京天融信网络安全技术有限公司 | 一种报告生成方法、装置、电子设备、存储介质及*** |
CN115599558A (zh) * | 2022-12-13 | 2023-01-13 | 无锡学院(Cn) | 一种工业互联网平台的任务处理方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN103428272B (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103428272A (zh) | 一种中间件线程的监控调度***及方法 | |
CN106843170B (zh) | 基于令牌的任务调度方法 | |
CN102360310B (zh) | 一种分布式***环境下的多任务进程监视方法 | |
DE102013104328B4 (de) | Aufgabenzuteilung in großen und kleinen Kernen | |
CN109857558A (zh) | 一种数据流处理方法及*** | |
CN101236513A (zh) | 一种分布式任务***和分布式任务管理方法 | |
CN104021040A (zh) | 基于时间约束条件下的云计算关联任务调度方法和装置 | |
DE112011103194B4 (de) | Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen | |
CN105320561A (zh) | 任务管理方法和*** | |
DE10393969T5 (de) | Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands | |
CN103942098A (zh) | 一种任务处理***和方法 | |
DE112011103498T5 (de) | Verhaltensgestützte Client-Auswahl für unterschiedliche Behandlung | |
CN102711139B (zh) | 一种数据流量统计方法及终端 | |
DE102017214068B4 (de) | Verfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem | |
CN101345652A (zh) | 数据采集方法及数据采集设备 | |
CN105868021A (zh) | 一种任务分配的方法及装置 | |
CN112559159A (zh) | 一种基于分布式部署的任务调度方法 | |
CN104750546B (zh) | 一种调整连接池的方法及*** | |
CN101547150A (zh) | 数据通信输入端口调度的方法及装置 | |
CN104408110B (zh) | 数据请求的方法、装置及*** | |
CN112084016B (zh) | 一种基于flink的流计算性能优化***及方法 | |
CN103475742B (zh) | 云计算环境中主控节点确定的方法及*** | |
CN103383654B (zh) | 调节mapper在多核上执行的方法及装置 | |
CN103955397B (zh) | 一种基于微架构感知的虚拟机调度多策略选择方法 | |
CN103457926A (zh) | 一种cms前置机与服务器的通讯方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |