一种输出预警信息的方法和装置制造方法及图纸

技术编号:12225540 阅读:61 留言:0更新日期:2015-10-22 02:41
本发明专利技术提供一种输出预警信息的方法和装置,能够实时对系统运行时的内存使用数据进行采集和分析并输出预警信息,不仅能在系统内存出现问题前进行预判而输出预警信息,同时避免了人力的浪费,提高了安全监视等领域的决策速度和精度。本发明专利技术的输出预警信息的方法包括:每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据;对所述运行数据中的内存信息进行计算,从而得到所述应用系统对应于所述数据时间的内存占用比;根据所述运行数据中的系统标识获取该应用系统的历史运行数据;将所述内存占用比与所述历史运行数据进行比对,然后根据比对结果对该历史数据进行更新,并根据预设的预警条件以及更新后的历史数据输出预警信息。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种输出预警信息的方法和装置
技术介绍
Java虚拟机Java Virtual Machine是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。基本上来说,可以将Java虚拟机当做是一种专为Java而生的特殊的操作系统,它的工作是管理运行Java应用程序的运行时环境。Java虚拟机内存作为重要的运行资源,对于Java系统稳定运行和高效运行起到了关键的作用,Java虚拟机自动管理Java对象内存的分配以及对象内存的回收,这对于开发人员来说确实大大降低了编写程序的难度,但带来的一个副作用就是,在系统运行过程中很难知道什么时候可能会出现Java虚拟机抛出的内存异常,例如:内存溢出Out OfMemory Error和内存泄漏memory leak。所以,基于Java语言开发的应用系统在运行时,对Java虚拟机运行数据(特别是内存数据)的监控、管理,并且实现一套完整的提前预警报警机制是系统维护者和系统管理者一直期望的。目前,有一些开源产品是针对Java虚拟机的内存运行进行监控的,例如,Javamelody等等。Java语言的软件开发工具包JDK(Java Development Kit)自带了故障检测工具JconsoIe和后期的Jvisualvm都可以远程对Java虚拟机进行监控,后者甚至可以在线提供ThreadDump和HeapDump文件,以及提供了可扩展插件功能。但是,现在市面上还没有一套完整成熟的Java虚拟机内存监控的解决方案。很多企业基于这个方面的监控都是人工进行,这不仅造成大量人力的开支同时也无法保证监控的实时性,而且还无法做到提前预警。如果要对Java虚拟机内存使用进行不间断监控,并提前做出预警报警,就需要一个低延迟,可扩展,高可靠的处理引擎。传统的、典型的计算机分析和数据整理方式,首先是收集数据,然后储存在数据库程序中,通过调度批量任务来对数据库进行静态监控数据的搜索操作,以便找出相应的模型,再进行系统分析和数据挖掘。尽管这种方法比较有效,但通常也很耗时。对于时间及时性要求很高的监控领域,传统的计算机分析和数据整理方式显然无法满足要求。现在,很多公司都有自己的运维团队,虽然使用了上述的Java虚拟机监控检测工具,但是某些时候未必会把查看Java虚拟机相关数据的权限交给Java系统的研发工程师。基于Java虚拟机内存监控的框架虽然众多,但是在使用过程中,也会带来一些问题:I)类似于Javamelody—类的工具,它的入口仅仅是一个filter (过滤器),长时间使用会给运行中的Java应用带来性能问题;2)如果维护的Java应用服务器很多,使用Java虚拟机监控工具会缺乏统一管理,此外安全性等等因素也是不可排除的。3)现有的大多数Java虚拟机内存监控工具都是基于远程的操作,其原理是在目标服务器上形成快照文件,因为一般服务器上设置的Java虚拟机内存都比较大,生成的快照文件也比较大,通常做法是将对应的快照文件拷贝下来,通过其他可视化的工具进行分析,这样使用过程中很不方便,而且不具备预警报警的功能。4)即便像JDK自带的可视化监控工具Jconsole,查看Java虚拟机内存使用的相关数据时也是会有时间上的延迟,并且人工7*24小时不间断的观察Java虚拟机内存运行情况也是不现实的。5)现有的Java虚拟机内存的监控工具基本上不可能做到在Java虚拟机内存出现问题之前进行预判而进行提前预警告警。
技术实现思路
有鉴于此,本专利技术提供一种输出预警信息的方法和装置,能够在系统运行时,实时对系统运行时的内存使用数据进行采集和分析,并输出预警信息,从而实现了对系统内存使用的实时监控,不仅能够在系统内存出现问题之前进行预判而输出预警信息,同时还避免了大量人力资源的浪费,也在一定程度上提高了在安全监视等领域的决策速度和精度。为实现上述目的,根据本专利技术的一个方面,提供了一种输出预警信息的方法。本专利技术的输出预警信息的方法包括:数据分析中心每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据;所述运行数据包括系统标识、内存信息、以及数据时间;数据分析中心对所述运行数据中的内存信息进行计算,从而得到所述应用系统对应于所述数据时间的内存占用比;数据分析中心根据所述运行数据中的系统标识获取该应用系统的历史运行数据;所述历史运行数据包括报警阈值、累加值、以及连续次数;数据分析中心将所述内存占用比与所述历史运行数据进行比对,然后根据比对结果对该历史数据进行更新,并根据预设的预警条件以及更新后的历史数据输出预警信息。可选地,数据分析中心对所述运行数据中的内存信息进行计算,从而得到所述应用系统对应于所述数据时间的内存占用比的步骤包括:按照接收顺序将所述运行数据存入分析队列;监听并获取所述分析队列中的运行数据;从所述运行数据中得到内存信息中所述应用系统的最大内存容量和所述数据时间所对应的内存使用容量;根据设定的计算公式计算得到所述应用系统的内存占用比;所述计算公式为:内存占用比=内存使用量/最大内存容量。可选地,数据分析中心将所述内存占用比与所述历史运行数据进行比对,然后根据比对结果对该历史数据进行更新,并根据预设的预警条件以及更新后的历史数据给出预警信息的步骤包括:数据分析中心将所述内存占用比与该应用系统的报警阈值进行比对,如果内存占用比大于等于所述报警阈值,则在累加值的基础上加一得到更新后的累加值;当更新后的累加值达到所述连续次数时,则输出预警信息;如果所述内存占用比小于所述报警阈值,则对累加值进行清零。可选地,数据分析中心每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据的步骤之后包括:将所述运行数据按照系统标识存入数据库,并根据预警信息提供对应于系统标识的运行数据。可选地,数据分析中心每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据的步骤之后包括:确定所接收到的运行数据的格式与预设的数据格式相同。根据本专利技术的另一方面,提供一种输出预警信息的装置。本专利技术的输出预警信息的装置,该装置设置于数据分析中心,包括:接收模块,用于每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据;所述运行数据包括系统标识、内存信息、以及数据时间;计算模块,用于对所述运行数据中的内存信息进行计算,从而得到所述应用系统对应于所述数据时间的内存占用比;获取模块,用于根据所述运行数据中的系统标识获取该应用系统的历史运行数据;所述历史运行数据包括报警阈值、累加值、以及连续次数;信息输出模块,用于将所述内存占用比与所述历史运行数据进行比对,然后根据比对结果对该历史数据进行更新,并根据预设的预警条件以及更新后的历史数据输出预警信息。可选地,所述计算模块还用于:按照接收顺序将所述运行数据存入分析队列;监听并获取所述分析队列中的运行数据;从所述运行数据中得到内存信息中所述应用系统的最大内存容量和所述数据时间所对应的内存使用容量;根据设定的计算公式计算得到所述应用系统的内存占用比;本文档来自技高网
...
一种输出预警信息的方法和装置

【技术保护点】
一种输出预警信息的方法,其特征在于,包括:数据分析中心每隔设定的周期接收客户端所获取的当前监控的应用系统的运行数据;所述运行数据包括系统标识、内存信息、以及数据时间;数据分析中心对所述运行数据中的内存信息进行计算,从而得到所述应用系统对应于所述数据时间的内存占用比;数据分析中心根据所述运行数据中的系统标识获取该应用系统的历史运行数据;所述历史运行数据包括报警阈值、累加值、以及连续次数;数据分析中心将所述内存占用比与所述历史运行数据进行比对,然后根据比对结果对该历史数据进行更新,并根据预设的预警条件以及更新后的历史数据输出预警信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:杜亮
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1