一种中间件线程的监控调度系统及方法技术方案

技术编号:9408859 阅读:80 留言:0更新日期:2013-12-05 06:59
本发明专利技术公开了一种中间件线程的监控调度系统及其监控调度方法,包括多线程中间件系统与中间件监控系统,多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。本发明专利技术动态调整可用线程数,当系统健康状况不好时,即时拒绝用户请求,解决了高并发访问时可能出现的阻塞问题,提升了高并发访问时中间件系统运行的稳定性。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种中间件线程的监控调度系统及其监控调度方法,包括多线程中间件系统与中间件监控系统,多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。本专利技术动态调整可用线程数,当系统健康状况不好时,即时拒绝用户请求,解决了高并发访问时可能出现的阻塞问题,提升了高并发访问时中间件系统运行的稳定性。【专利说明】
本专利技术涉及一种监控调度系统,尤其涉及一种中间件线程的监控调度系统,还涉及上述系统的监控调度方法。
技术介绍
中间件系统是指为了降低业务系统开发过程中的复杂性和提升系统的处理能力,将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分的软件功能集合。为了应对高并发的访问请求,一般的中间件系统都是多线程的,称为多线程中间件系统。如图1所示是传统的多线程中间件系统与中间件监控系统(中间件系统的监控系统),多线程中间件系统包括请求分配组件、部署在中间件容器中的应用系统I…N、工作线程池组件以及多线程中间件系统提供的一些其它组件。请求分配组件用于调度用户请求;工作线程池组件用于创建工作线程执行具体应用功能;中间件监控系统用于定时采集多线程中间件系统运行状态并反馈给系统运维人员。上述多线程中间件系统的工作过程如下:初次启动时请求分配组件创建一个接收线程,初次启动时工作线程池组件创建一个工作线程池并设置线程池的大小,接收线程收到请求后,负责从工作线程池中获取一个可用工作线程,并将用户请求交给该工作线程处理,该工作线程执行具体的应用系统功能完毕后返回线程池;接收线程收到请求后,如果工作线程池没有可用工作线程,则接收线程阻塞,等待可用工作线程。传统多线程中间件系统在上述工作过程中虽然一定程度上保障了多线程中间件系统的性能与稳定性,但是还存在以下缺陷:⑴当工作线程池没有可用工作线程时,等待可用工作线程,造成接收线程阻塞现象,在高并发访问时该现象尤其明显;⑵无法监测与停止执行时间过长的异常工作线.程,亦无法监测工作线程池中工作线程间的死锁,因此不能解决上述这两种情况将系统资源耗尽的问题;⑶没有提前预警机制,只有等到系统不能对外提供服务的时候,中间件监控系统才会获知并发出警告。所以,传统多线程中间件系统在处理高并发访问时容易导致失稳。
技术实现思路
本专利技术的第一个目的在于提供一种中间件线程的监控调度系统,避免高并发访问时系统阻塞,提升高并发访问时多线程中间件系统的稳定性,同时能够监控和管理多线程中间件系统。本专利技术的第二个目的在于提供一种前述中间件线程的监控调度系统的监控调度方法。本专利技术的第一个目的通过如下的技术方案来实现:一种中间件线程的监控调度系统,包括多线程中间件系统与用于监控多线程中间件系统运行状态并反馈给系统运维人员的中间件监控系统,其特征在于:所述多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。本专利技术增设监控调度组件获得系统健康率反馈给请求分配组件,并根据动态最大可用线程数和IP地址优先级分配工作线程,因此改变了传统依靠一个单一固定数据(即最大可用线程数)来决定工作线程池是否空闲的情况,本专利技术在工作线程分配入口设置动态分配策略,与系统的健康状态相结合,动态调整可用线程数,当活动线程数(被占用的工作线程的数量)大于或者等于动态最大可用线程数时,此时属于系统健康状况不好的情况,请求分配组件能够即时拒绝用户请求,以防止系统阻塞,从而解决了高并发访问时出现接收线程阻塞问题,提升了高并发访问时多线程中间件系统的稳定性;另外,工作线程池以用户请求IP地址对应优先级分组,提供工作任务的优先级执行方式,能够保障高优先级的用户请求更快的得到执行。作为本专利技术的一种实施方式,所述监控调度组件主要由依次通信连接的线程状态查看与参数设置模块、缓存模块、工作线程池监控管理模块组成,所述缓存模块还与请求分配组件相连,所述工作线程池监控管理模块还与工作线程池组件相连,所述线程状态查看与参数设置模块提供人工查看监控界面并用于设置系统参数和IP地址优先级储存至缓存模块,所述工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成系统健康率储存至缓存模块,由缓存模块将系统健康率和IP地址优先级反馈给请求分配组件。作为本专利技术的一种推荐实施方式,所述工作线程池监控管理模块主要由工作线程监控管理定时线程、分别用于采集服务器CPU平均使用率、内存平均使用率及工作线程工作状态的数据采集模块、分别与所述各数据采集模块对应连接的计算模块组成,计算模块还与缓存模块相连,所述服务器CPU平均使用率、内存平均使用率即为所述服务器工作状态数据,所述工作线程监控管 理定时线程分别与工作线程池组件、各数据采集模块连接,用于驱动各数据采集模块在设定时间内进行数据采集,其中,与采集服务器CPU平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器CPU的平均使用率,与采集服务器内存平均使用率的数据采集模块相连的计算模块用于计算在设定时间内服务器内存的平均使用率,与采集工作线程工作状态的数据采集模块相连的计算模块用于计算超过设定时间运行的工作线程数,所述工作线程监控管理定时线程根据采集的数据计算获得系统健康率并储存至缓存模块。本专利技术系统健康率的计算公式如下:【权利要求】1.一种中间件线程的监控调度系统,包括多线程中间件系统与用于监控多线程中间件系统运行状态并反馈给系统运维人员的中间件监控系统,其特征在于:所述多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。2.根据权利要求1所述的中间件线程的监控调度系统,其特征在于:所述监控调度组件主要由依次通信连接的线程状态查看与参数设置模块、缓存模块、工作线程池监控管理模块组成,所述缓存模块还与请求分配组件相连,所述工作线程池监控管理模块还与工作线程池组件相连,所述线程状态查看与参数设置模块提供人工查看监控界面并用于设置系统参数和IP地址优先级储存至缓存模块,所述工作线程池监控管理模块用于采集工作线程及服务器工作状态数据进行处理生成系本文档来自技高网
...

【技术保护点】
一种中间件线程的监控调度系统,包括多线程中间件系统与用于监控多线程中间件系统运行状态并反馈给系统运维人员的中间件监控系统,其特征在于:所述多线程中间件系统包括两两通信连接的请求分配组件、工作线程池组件和监控调度组件,所述工作线程池组件由数个以IP地址对应优先级分组的工作线程组构成,每个工作线程组由数个工作线程组成,所述监控调度组件预先设定IP地址优先级并获取工作线程及服务器工作状态数据进行处理生成系统健康率反馈给请求分配组件,请求分配组件根据系统健康率和最大可用线程数获得动态最大可用线程数,并根据动态最大可用线程数和IP地址优先级分配工作线程。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭世亮
申请(专利权)人:无限极中国有限公司
类型:发明
国别省市:

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

1