专利名称:应用程序实时监控系统及方法
技术领域:
本发明涉及一种应用程序实时监控系统及方法。
背景技术:
目前,基于浏览器/服务器(Browser/Server, B/S)结构的网络应用系统广泛应用于各 个领域。B/S结构是随着互联网技术的兴起而出现的一种软件体系结构。在这种结构下,应 用程序都存放在服务器上,用户通过浏览器向分布在网络上的服务器发出请求,服务器对浏 览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构的应用简化了客户端载荷, 减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。对于B/S结构的应用系统 ,系统维护工作集中在服务器上,客户端不需要维护。为了保证应用系统能持续有效地提供 服务,需要实时监控该应用系统的应用程序,在系统出现故障时及时处理。目前, 一般由系 统管理员监控应用程序的运行状况。有时候系统管理员不能及时发现系统异常,等收到用户 反馈系统运行缓慢或应用程序意外中止后,系统管理员才能对异常进行处理。这导致应用系 统发生故障后无法及时修复,影响系统使用效率,造成一定经济损失。
发明内容
鉴于以上内容,本发明提供一种应用程序实时监控系统,该系统包括设置模块,用于 设置要监控的应用程序及各应用程序内存占用量峰值;监听模块,用于获取各应用程序的运 行信息;判断模块,用于根据获取的各应用程序的运行信息判断各应用程序是否运行正常; 及重启模块,用于当有应用程序运行异常时自动关闭所有受监控的应用程序并重新启动所述 应用程序。
本发明还提供一种应用系统实时监控方法,该方法包括步骤设置要监控的应用程序及 各应用程序内存占用量峰值;监听各应用程序的CPU占用率、内存占用量及运行状态;当任 一应用程序的CPU占用率达到100。/。,或任一应用程序的内存占用量达到峰值,或任一应用程 序中止时,关闭所有受监控的应用程序,再重新启动所述应用程序;及若需要继续监控,则 返回监听步骤。本发明应用程序实时监控系统及方法,能够自动监控应用程序运行状况,及 时修复应用程序异常,提高了系统运行效率,降低了系统维护成本。
图l为本发明应用程序实时监控系统较佳实施例的运行环境示意图。图2为本发明应用程序实时监控系统的功能模块图。 图3为本发明应用程序实时监控方法的流程图。 图4为图3中步骤S303的异常报表较佳实施例的示意图。
具体实施例方式
参阅图1所示,是本发明应用程序实时监控系统较佳实施方式运行环境示意图。该运行 环境包括服务器1及客户机2。其中,所述客户机2通过网络3与所述服务器1相连,该服务器 l与数据库4相连。
所述服务器l是整个网络应用系统的核心,它为网络用户提供服务并管理整个网络,服 务器l根据需要提供不同的服务。服务器l负责对应用程序运行状况进行监控,当应用程序运 行异常时重启所有受监控的应用程序,并通知系统管理员。
在本较佳实施例以产品数据管理系统(Product Date Management System, PDMS)为例 ,说明如何实现应用程序实时监控。产品数据管理系统是基于B/S结构的应用系统,用于管 理与产品有关的信息和过程。
所述客户机2采用浏览器运行程序,负责为用户提供图形化用户界面(Graphic User Interface, GUI)。客户机2是用户和网络的接口设备,用户通过它与网络交换信息,共享 网络资源。客户机2通过网卡、通信介质以及通信设备连接到服务器l。
所述网络3是一种电子网络,其可以为国际互联网(Internet)或其他基于传输控制协 议/国际互联网协议(Transport Control Protocol/Internet Protocol, TCP/IP)的网络 ,可用来执行超文本传输协议(Hypertext Transfer Protocol, HTTP)及文件传输协议( File Transfer Protocol, FTP)。
所述数据库4负责数据更新、査询及存储,该数据库4可以是集中式的也可以是分布式的 ,可以是0racle、 SQL Server、 Informix、 Access、 MySQL,也可以是其他适用的数据库。
参阅图2所示,是图l中服务器l的功能模块图。所述服务器1包括设置模块10、监听模块 11、判断模块12、重启模块13、备份模块14及发送模块15。本发明所称的模块是完成特定功 能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此在本发明以下对 软件描述中都以模块描述。
其中,设置模块10用于设置要监控的应用程序(以下称应用程序)、各应用程序内存占 用量峰值。用户可以同时设置监控多个应用程序,本较佳实施例监控产品数据管理系统的四 个应用程序Apache、 Tomcat、 ServerManager、 MethodServer,这四个应用程序是产品数 据管理系统核心的应用程序,只有这四个程序运行正常,整个产品数据管理系统才能正常提供服务。用户可以根据实际需要选择监控其他应用程序,如BGMethodServer。
所述应用程序内存占用量峰值根据应用系统的用户数量及系统负载来设定。例如若系统 有50个用户,把MethodServer的内存占用量峰值设为512MB ;若系统有100个用户,把 MethodServer的内存占用量峰值为lGB。
监听模块ll用于获取各应用程序的运行信息,以完成对应用程序的监听。每一个应用程 序的运行信息包括CPU占用率、内存占用量、运行状态(运行/中止)。例如,获取的运行信 息为Apache的CPU占用率60。/。、内存占用量16KB、运行;Tomcat的CPU占用率40。/。、内存占用 量256MB、运行;ServerManager的CPU占用率540/0、内存占用量512MB、运行;MethodServer 的CPU占用率78。/。、内存占用量1GB、运行。
判断模块12用于根据上述监听模块11获取的各应用程序的运行信息判断各应用程序是否 运行正常,判断是否需要继续监控所述应用程序。当任一应用程序的CPU占用率达到100呢, 或任一应用程序的内存占用量达到设置模块10设定的内存占用量峰值,或任一应用程序中止 时,判断模块12判定应用程序运行异常。
重启模块13用于当有应用程序运行异常时自动关闭所有受监控的应用程序并重新启动所 述应用程序。
备份模块14用于获取日志文件,并备份该日志文件到指定文件夹。 发送模块15用于将各应用程序的运行信息以图形界面的方式进行处理,产生图形报表, 将图形报表及备份模块14所备份的日志文件以电子邮件的形式发送给系统管理员。 参阅图3所示,是本发明实时监控方法较佳实施例的流程图。
步骤S300,通过设置模块10设置要监控的应用程序、各应用程序内存占用量峰值。用户 可以同时设定多个应用程序,系统对用户设定的应用程序进行实时监控。本较佳实施例监控 四个应用禾呈序Apache、 Tomcat、 ServerManager及MethodServer。
步骤S301,监听模块ll获取各应用程序的运行信息。应用程序的运行信息包括CPU占用 率、内存占用量、运行状态(运行/中止)。
步骤S302,判断模块12根据监听模块11获取的各应用程序的运行信息判断各应用程序是 否运行正常,若运行正常,则返回步骤S301。当任一应用程序的CPU占用率达到100。/。,或内 存占用量达到峰值,或任一应用程序意外中止时,判定应用程序运行异常。
步骤S303,若各应用程序运行异常,重启模块13关闭所有应用程序,再重新启动所述应 用程序,备份模块14建立日志文件的备份文件夹。
步骤S304,备份模块14获取系统异常时各应用程序的日志文件,将日志文件备份到上一步骤所建立的备份文件夹。
需要说明的是,若个别应用程序运行异常,则关闭所有应用程序,再重新启动这些应用 程序,而不是仅仅重启(关闭然后重新启动)发生异常的个别应用程序。因为监控的应用程 序中有些应用程序之间存在关联性, 一个应用程序运行异常可能导致与之相关联的其他应用 程序产生不可知的错误,如果仅仅重启检测到异常的应用程序,可能整个应用系统仍然无法 正常运行。重启所有受监控的应用程序能够消除不可知的错误,保证系统重启后能够正常运 行。
步骤S305,发送模块15将各应用程序运行信息以图形界面的方式进行处理,产生图形报 表(如图4所示),将图形报表及备份的日志文件以电子邮件的形式发送给系统管理员。图 5中内存占用率=内存占用量/内存占用量峰值。
步骤S306,判断模块12判断是否需要继续监控所述应用程序。若需要继续监控所述应用 程序,则返回步骤S301;若不需要继续监控,则流程结束。
权利要求
1.一种应用程序实时监控系统,该系统包括服务器及客户机,其特征在于,该服务器包括设置模块,用于设置要监控的应用程序及各应用程序内存占用量峰值;监听模块,用于获取各应用程序的运行信息;判断模块,用于根据获取的各应用程序的运行信息判断各应用程序是否运行正常;及重启模块,用于当有应用程序运行异常时自动关闭所有受监控的应用程序并重新启动所述应用程序。
2.权利要求2如权利要求l所述的应用程序实时监控系统,其特征在于,所述服 务器还包括备份模块,用于获取各应用程序的日志文件并备份该日志文件;及 发送模块,用于将各应用程序的运行信息及备份的日志文件以电子邮件的形式发送给 系统管理员。
3.权利要求3如权利要求l所述的应用程序实时监控系统,其特征在于,所述应 用程序的运行信息包括CPU占用率、内存占用量及运行状态。
4.权利要求4
一种应用程序实时监控方法,其特征在于,该方法包括步骤 设置要监控的应用程序及各应用程序内存占用量峰值; 监听各应用程序的CPU占用率、内存占用量及运行状态;当任一应用程序的CPU占用率达到100。/。,或任一应用程序的内存占用量达到峰值,或任 一应用程序中止时,关闭所有受监控的应用程序,再重新启动所述应用程序;及若需要继续监控,则返回监听步骤。
5.权利要求5如权利要求4所述的应用程序实时监控方法,其特征在于,所述重 启应用程序的步骤后还包括获取各应用程序的日志文件并备份该日志文件;及将各应用程序的CPU占用率、内存占用量以图形界面的方式进行处理,产生图形报表,将图形报表及备份的日志文件以电子邮件的形式发送给系统管理员。
全文摘要
一种应用程序实时监控方法,该方法包括步骤设置要监控的应用程序及各应用程序内存占用量峰值;监听各应用程序的CPU占用率、内存占用量及运行状态;当任一应用程序的CPU占用率达到100%,或任一应用程序的内存占用量达到峰值,或任一应用程序中止时,关闭所有受监控的应用程序,再重新启动所述应用程序;及若需要继续监控,则返回监听步骤。本发明还提供了一种应用程序实时监控系统。本发明能够自动监控应用程序运行状况,及时修复应用程序异常,提高了系统运行效率,降低了系统维护成本。
文档编号G06F11/34GK101408861SQ20071020202
公开日2009年4月15日 申请日期2007年10月11日 优先权日2007年10月11日
发明者林家杰 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司