[发明专利]一种基于消息队列的应用软件响应时间测量方法有效
申请号: | 200910237529.4 | 申请日: | 2009-11-11 |
公开(公告)号: | CN101876938A | 公开(公告)日: | 2010-11-03 |
发明(设计)人: | 张英亮;赵永明;徐海军 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 胡小永 |
地址: | 100089 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 应用软件 响应 时间 测量方法 | ||
技术领域
本发明涉及测量或测试过程控制的软件技术领域,特别涉及一种一种基于消息队列的应用软件响应时间测量方法。
背景技术
随着软件技术逐渐融入各行各业、工作生活中,除了功能方面的需求,人们也对软件系统的性能、可靠性等方面的要求也越来越高,会越发关心类似以下问题:
·这些“事务”成功了吗?
·是什么原因导致某个“事务”失败了?
·客户体验到的系统响应时间是多少?
·在整个交易过程中哪个部分耗时最长?
·系统瓶颈在哪里?
·如何能提高应用系统的性能?
目前,没有一种如何测量上述问题的好方法和系统。
另一方面,缺乏从业务角度对业务路径、业务响应时间等业务纬度的监控,因此无法从全局了解系统运行情况,而一旦业务异常,维护人员往往是通过主机、数据库、中间件或其它途径得到消息,较为被动。
发明内容
(一)发明目的
本发明的目的是提供一种基于消息队列的应用软件响应时间测量方法,以帮助维护人员更加全面分析应用运行情况;监控业务系统错综复杂的相互调用关系,即业务路径;了解业务响应时间异常原因;及时发现关键处理环节的潜在问题;快速定位异常情况的故障点,从而完善集中监控体系。同时也能够为开发人员在开发测试过程中提供故障分析的方法。
(二)发明内容
一种基于消息队列的应用软件响应时间测量方法,其特征在于,包括以下步骤:
S1:应用软件调用函数的同时调用ARM(Application ResponseMeasurement,应用软件响应时间测量)应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
S2:读取消息队列中的消息,通过开始消息和结束消息计算所述应用软件调用函数的响应时间;
S3:保存所述函数调用关系,统计响应时间,将统计结果存储入数据库;
S4:保存所述函数调用关系,显示统计结果和函数调用关系图。
其中,所述步骤S1包括:
应用软件调用函数的同时调用ARM的开始事务接口,以应用软件调用函数的函数名和其父函数名为参数,开始事务接口产生全局唯一标识符GUID,记录当前系统时间,即函数执行开始时间,并将所述函数名、父函数名、GUID和函数执行开始时间组成开始消息发送到消息队列中;
应用软件执行调用函数原来的代码;
应用软件执行完调用函数原来的代码后,调用ARM的结束事务接口,以应用软件调用函数的函数名和GUID作为参数,记录当前系统时间,即函数执行结束时间,并将所述函数名、GUID和函数执行结束时间组成结束消息发送到消息队列中。
其中,所述步骤S2包括:
采用阻塞式读取消息队列中的消息;
判断所述消息是开始消息或是结束消息,若是开始消息,则将该消息存储在数据缓存中,若是结束消息,则找到对应的开始消息并计算应用软件调用函数的响应时间;
采样过滤所述响应时间,生成包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,同时删除所述开始消息;
其中,所述步骤S3包括:
接收包含函数名、父函数名、GUID、函数执行开始时间和函数响应时间的数据,并存储在缓存中,同时保存函数调用关系;
每单位时间统计一次应用程序调用函数的次数、平均响应时间、最大响应时间和最小响应时间,将统计结果存储入数据库;
根据最大响应时间和最小响应时间动态配置应用软件调用函数的响应时间告警阈值。
其中,所述步骤S4包括:
显示应用软件调用函数的统计信息,包括函数名、在单位时间内的调用次数和在单位时间内的平均响应时间;
标识所述平均响应时间超出阈值的函数;
显示函数之间的调用关系图。
其中,所述方法还包括步骤:
计算应用软件调用函数的平均响应时间;
判断所述平均响应时间是否超出所述阈值,若超出阈值,则产生“严重告警”;
将所述“严重告警”发送到消息队列中;
应用软件再次调用函数时,调用ARM的开始事务接口,所述接口首先读取消息队列,如有“严重告警”则终止应用软件。
一种基于消息队列的应用软件响应时间测量系统,包括:
ARM应用接口库模块,用于应用软件调用函数的同时调用ARM应用接口库,所述ARM应用接口库向消息队列发送消息,包括开始消息和结束消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910237529.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动化测试方法和装置
- 下一篇:一种模拟智能卡信息交互的方法