CN103428272B - 一种中间件线程的监控调度系统及方法 - Google Patents

一种中间件线程的监控调度系统及方法 Download PDF

Info

Publication number
CN103428272B
CN103428272B CN201310298602.5A CN201310298602A CN103428272B CN 103428272 B CN103428272 B CN 103428272B CN 201310298602 A CN201310298602 A CN 201310298602A CN 103428272 B CN103428272 B CN 103428272B
Authority
CN
China
Prior art keywords
thread
passes
line number
monitoring
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.)
Active
Application number
CN201310298602.5A
Other languages
English (en)
Other versions
CN103428272A (zh
Inventor
郭世亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infinitus China Co Ltd
Original Assignee
Infinitus China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infinitus China Co Ltd filed Critical Infinitus China Co Ltd
Priority to CN201310298602.5A priority Critical patent/CN103428272B/zh
Publication of CN103428272A publication Critical patent/CN103428272A/zh
Application granted granted Critical
Publication of CN103428272B publication Critical patent/CN103428272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1P2P3:为上述参数的占比,P1+P2+P3=1
动态最大可用线程数的计算公式如下:
N'=N*H公式②
式中:N:最大可用线程数
H:系统健康率
N':动态最大可用线程数。
设定时间优选为5~10分钟。
本发明所述用于采集服务器CPU使用率、内存使用率的数据采集模块采集的数据以时间维度写入缓存模块,所述用于采集工作线程工作状态的数据采集模块采集的数据以工作线程名称写入缓存模块。
作为本发明的一种改进,所述工作线程池监控管理模块包括问题线程中断模块,所述问题线程中断模块分别与工作线程监控管理定时线程、用于采集工作线程工作状态的数据采集模块相连,所述问题线程中断模块判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预。可以避免一个有问题的程序导致工作线程执行时间过长或者产生工作线程死锁而耗尽系统资源。
作为本发明的进一步改进,所述监控调度组件包括系统状态预警模块,所述系统状态预警模块分别与工作线程监控管理定时线程、数据采集模块和中间件监控系统相连,所述系统状态预警模块从数据采集模块获取表征系统健康状态的各种数据,并比较该数据与存储在缓存模块中的系统参数,当该数据不符合系统参数设定时向中间件监控系统发送预警信息,由中间件监控系统通知人工干预。对于工作时间较长的工作线程还可以通过上述方式实现人工干预,防止这些异常的工作线程占用过多。
本发明的第二个目的通过如下的技术方案来实现:一种上述中间件线程的监控调度系统的监控调度方法,其特征在于具体包括以下步骤:
⑴创建用户请求;
⑵请求分配组件提取用户请求的IP地址;
⑶判断当前工作线程池组件的活动线程数(占用工作线程数量)是否小于最大可用线程数:
ⅰ如果活动线程数等于最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于最大可用线程数,转入步骤⑷;
⑷判断活动线程数是否小于动态最大可用线程数,监控调度组件根据工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,由请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数:
ⅰ如果活动线程数大于或等于动态最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于动态最大可用线程数,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程。
本发明所述系统健康率的计算公式为:
H = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1P1P3:为上述参数的占比,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 = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在5分钟内的平均使用率
M:服务器内存在5分钟内的平均使用率
T:执行时间超过5分钟的工作线程数
N:最大可用线程数
P1P2P3:为上述参数的占比,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 = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在5分钟内的平均使用率
M:服务器内存在5分钟内的平均使用率
T:执行时间超过5分钟的工作线程数
N:最大可用线程数
P1P2P3:为上述参数的占比,P1+P2+P3=1。
动态最大可用线程数的计算公式为:
N’=N*H公式②
式中:N:最大可用线程数
H:系统健康率
N':动态最大可用线程数。
ⅰ如果活动线程数大于或等于动态最大可用线程数N’,为用户请求分配一个线程,将服务器忙的信息返回至用户端,步骤405;
ⅱ如果活动线程数小于动态最大可用线程数N’,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程,步骤404。工作线程池以用户请求IP地址对应优先级分组,提供工作任务的优先级执行方式,能够保障高优先级的用户请求更快的得到执行。
监控调度组件判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预;而且,监控调度组件获取表征系统健康状态的各种数据,如运行状态、开始执行时间、结束执行时间、执行时长、以及系统健康率等指标,当该数据不在系统参数设定范围内时向中间件监控系统发送预警信息,由中间件监控系统通知人工干预。
本发明的实施方式不限于此,根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,本发明设定时间为5~10分钟。因此本发明还可以做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。

Claims (8)

1.一种中间件线程的监控调度系统,包括多线程中间件系统与用于监控多线程中间件系统运行状态并反馈给系统运维人员的中间件监控系统,其特征在于:所述多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程;所述监控调度组件主要由依次通信连接的线程状态查看与参数设置模块、缓存模块、工作线程池监控管理模块组成,所述缓存模块还与请求分配组件相连,所述工作线程池监控管理模块还与工作线程池组件相连,所述线程状态查看与参数设置模块提供人工查看监控界面并用于设置系统参数和IP地址优先级储存至缓存模块,所述工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成系统健康率储存至缓存模块,由缓存模块将系统健康率和IP地址优先级反馈给请求分配组件;所述工作线程池监控管理模块主要由工作线程监控管理定时线程、分别用于采集服务器CPU平均使用率、内存平均使用率及工作线程工作状态的数据采集模块、分别与所述各数据采集模块对应连接的计算模块组成,计算模块还与缓存模块相连,所述服务器CPU平均使用率、内存平均使用率即为所述服务器工作状态数据,所述工作线程监控管理定时线程分别与工作线程池组件、各数据采集模块连接,用于驱动各数据采集模块在设定时间内进行数据采集,其中,与采集服务器CPU平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器CPU的平均使用率,与采集服务器内存平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器内存的平均使用率,与采集工作线程工作状态的数据采集模块相连的计算模块用于计算超过设定时间运行的工作线程数,所述工作线程监控管理定时线程根据采集的数据计算获得系统健康率并储存至缓存模块。
2.根据权利要求1所述的中间件线程的监控调度系统,其特征在于:
所述系统健康率的计算公式如下:
H = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1P2P3:为上述参数的占比,P1+P2+P3=1
所述动态最大可用线程数的计算公式如下:
N′=N*H公式②
式中:N:最大可用线程数
H:系统健康率
N′:动态最大可用线程数。
3.根据权利要求1或2所述的中间件线程的监控调度系统,其特征在于:所述用于采集服务器CPU使用率、内存使用率的数据采集模块采集的数据以时间维度写入缓存模块,所述用于采集工作线程工作状态的数据采集模块采集的数据以工作线程名称写入缓存模块。
4.根据权利要求3所述的中间件线程的监控调度系统,其特征在于:所述工作线程池监控管理模块包括问题线程中断模块,所述问题线程中断模块分别与工作线程监控管理定时线程、用于采集工作线程工作状态的数据采集模块相连,所述问题线程中断模块判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预。
5.根据权利要求4所述的中间件线程的监控调度系统,其特征在于:所述监控调度组件包括系统状态预警模块,所述系统状态预警模块分别与工作线程监控管理定时线程、数据采集模块和中间件监控系统相连,所述系统状态预警模块从数据采集模块获取表征系统健康状态的各种数据,并比较该数据与存储在缓存模块中的系统参数,当该数据不符合系统参数设定时向中间件监控系统发送预警信息,由中间件监控系统通知人工干预。
6.一种权利要求1所述的中间件线程的监控调度系统的监控调度方法,其特征在于具体包括以下步骤:
⑴创建用户请求;
⑵请求分配组件提取用户请求的IP地址;
⑶判断当前工作线程池组件的活动线程数是否小于最大可用线程数:
ⅰ如果活动线程数等于最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于最大可用线程数,转入步骤⑷;
⑷判断活动线程数是否小于动态最大可用线程数,监控调度组件根据工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,由请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数:
ⅰ如果活动线程数大于或等于动态最大可用线程数,为用户请求分配一个线程,将服务器忙的信息返回至用户端;
ⅱ如果活动线程数小于动态最大可用线程数,转入步骤⑸;
⑸按照监控调度组件预先设定的IP地址对应的优先级为用户请求分配工作线程。
7.根据权利要求6所述的中间件线程的监控调度系统的监控调度方法,其特征在于:
所述系统健康率的计算公式为:
H = 1 - ( C * P 1 + M * P 2 + T N * P 3 ) 公式①
式中:H:系统健康率
C:服务器CPU在设定时间内的平均使用率
M:服务器内存在设定时间内的平均使用率
T:执行时间超过设定时间的工作线程数
N:最大可用线程数
P1P2P3:为上述参数的占比,P1+P2+P3=1;
所述动态最大可用线程数的计算公式为:
N′=N*H公式②
式中:N:最大可用线程数
H:系统健康率
N′:动态最大可用线程数。
8.根据权利要求6或7所述的中间件线程的监控调度系统的监控调度方法,其特征在于:所述监控调度组件判断工作线程运行时间超过设定的阈值时向工作线程池组件发出中断该工作线程的信号实现自动干预;所述监控调度组件获取表征系统健康状态的各种数据,当该数据不在系统参数设定范围内时向中间件监控系统发送预警信息,由中间件监控系统通知人工干预。
CN201310298602.5A 2013-07-16 2013-07-16 一种中间件线程的监控调度系统及方法 Active CN103428272B (zh)

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 CN103428272A (zh) 2013-12-04
CN103428272B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245019A (zh) * 2019-06-17 2019-09-17 广东金赋科技股份有限公司 一种自适应系统资源的线程并发方法及装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199761A (zh) * 2014-08-27 2014-12-10 北京中电普华信息技术有限公司 一种java应用系统的监控方法及装置
CN104572277B (zh) * 2014-12-17 2018-04-27 大唐移动通信设备有限公司 一种线程流控方法和装置
CN105786447A (zh) * 2014-12-26 2016-07-20 乐视网信息技术(北京)股份有限公司 服务器处理数据的方法、装置及服务器
CN106027286A (zh) * 2016-05-05 2016-10-12 北京思特奇信息技术股份有限公司 一种通信系统中节点的监控方法及系统
CN107329800B (zh) * 2017-06-29 2019-11-05 北京北信源软件股份有限公司 一种基于Docker平台的中间件应用管控方法和装置
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 阿里巴巴集团控股有限公司 服务处理方法及装置
CN109492826B (zh) * 2018-12-06 2021-12-14 远光软件股份有限公司 一种基于机器学习的信息系统运行状态风险预测方法
CN109840179B (zh) * 2018-12-15 2023-04-11 中国平安人寿保险股份有限公司 RocketMQ线程数监控方法、装置、电子设备及存储介质
CN109697128A (zh) * 2018-12-19 2019-04-30 北京爱奇艺科技有限公司 一种线程维护方法、装置及电子设备
CN111324447B (zh) * 2019-06-26 2023-03-28 杭州海康威视系统技术有限公司 线程的调整方法、装置、应用服务器和存储介质
CN111343239B (zh) * 2020-02-10 2022-11-04 中国银联股份有限公司 通信请求处理方法、通信方法、通信请求处理装置以及交易系统
CN111385654B (zh) * 2020-03-04 2021-06-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 北京天融信网络安全技术有限公司 一种报告生成方法、装置、电子设备、存储介质及系统
CN115599558B (zh) * 2022-12-13 2023-03-10 无锡学院 一种工业互联网平台的任务处理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 中国移动通信集团广东有限公司 一种支撑跨系统业务联动的事件中心及其事件处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245019A (zh) * 2019-06-17 2019-09-17 广东金赋科技股份有限公司 一种自适应系统资源的线程并发方法及装置

Also Published As

Publication number Publication date
CN103428272A (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN103428272B (zh) 一种中间件线程的监控调度系统及方法
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
CN106209482A (zh) 一种数据中心监控方法及系统
CN102043675B (zh) 一种基于任务处理请求任务量大小的线程池管理方法
CN104156255B (zh) 一种虚拟机迁移方法、虚拟机迁移装置及源物理主机
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
CN102711139B (zh) 一种数据流量统计方法及终端
CN105320561A (zh) 任务管理方法和系统
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE102009016742A1 (de) Verfahren zum Betrieb eines Mehrprozessor-Computersystems
CN104503894A (zh) 分布式服务器状态实时监测系统及方法
CN102929769B (zh) 一种基于代理服务的虚拟机内部数据采集方法
CN104281489B (zh) Soa架构下的多线程请求方法及系统
CN112559159A (zh) 一种基于分布式部署的任务调度方法
CN108874623A (zh) 分布式集群性能监控方法、装置、设备、系统及存储介质
CN112084016B (zh) 一种基于flink的流计算性能优化系统及方法
DE112016004367T5 (de) Technologien für automatische Prozessorkern-Zuordnungsverwaltung und -Kommunikation unterVerwendung direkter Datenplatzierung in private Zwischenspeicher
CN102316156A (zh) 一种可动态扩展的任务分发处理方法
CN112347636A (zh) 一种基于Multi-Agent技术的装备保障仿真建模方法
CN104750546B (zh) 一种调整连接池的方法及系统
CN114389955B (zh) 嵌入式平台异构资源池化管理方法
CN105426285A (zh) 数据库连接池监控和管理的方法和装置
CN114356714A (zh) 基于Kubernetes智能板卡集群的资源集成监控与调度装置
CN103955397B (zh) 一种基于微架构感知的虚拟机调度多策略选择方法
CN105701626A (zh) 一种电力营销稽查精益化管控多系统集成方法

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