基于aop和arm的软件监控方法

上传人:E**** 文档编号:113850991 上传时间:2019-11-10 格式:PDF 页数:5 大小:407.53KB
返回 下载 相关 举报
基于aop和arm的软件监控方法_第1页
第1页 / 共5页
基于aop和arm的软件监控方法_第2页
第2页 / 共5页
基于aop和arm的软件监控方法_第3页
第3页 / 共5页
基于aop和arm的软件监控方法_第4页
第4页 / 共5页
基于aop和arm的软件监控方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于aop和arm的软件监控方法》由会员分享,可在线阅读,更多相关《基于aop和arm的软件监控方法(5页珍藏版)》请在金锄头文库上搜索。

1、计算机科学2 0 0 8 V 0 1 3 5 11 ( 专刊) 基于A O P 和A R M 的软件监控方法* ) 左子飞毛晓光 ( 国防科学技术大学计算机学院长沙4 1 0 0 7 3 ) 摘要随着可信性称为软件的焦点。运行时监控得到了广泛关注。许多典型方法通过在源代码中插入探针实现 软件监控,但会导致代码混乱和维护的困难。提出了一种基于A R M ( A p p l i c a t i o nR e s p o n s eM e a s u r e m e n t ) 和A O P ( A s p e c t - O r i e n t e dP r o g r a m m i n g )

2、 的软件监控方法,其基本思想是利用A R M 实现监控功能,利用A O P 实现监控模 块与系统的松耦合。现以A T M 为例说明了方法的有效性。 关键谒软件监控。A R M ,面向方面编程。A s p e c O M e t h o do fS o f t w a r eM o n i t o r i n gB a s e do nA O Pa n dA R M Z U OZ i - f e iM A OX i a o - g u a n g ( S c h o o lo fC o m p u t e r ,N a t i o n a lU n i v e r s i t yo fD e f

3、 e n s eT e c h n o l o g y ,C h a n g s h a4 1 0 0 7 3 ,C h i n a ) A b s t r a c tR u n - t i m em o n i t o r i n gh a sa t t r a c t e dm o r ea n dn l o r ea t t e n t i o nw h e nt h ep r o p e r t yo ft r u s t w o r t h yi St h ef o c u s o fs o f t w a r e M a n yt y p i c a lm e t h o d sm

4、 o n i t o rs o f t w a r eb yi n s e r t i n gp r o b e si n t os o u r c ec o d e ,w h i c hm a yc a u s et a n g l e s o fc o d ea n dd i f f i c u l t i e so fm a i n t e n a n c e I nt h ep a p e r ,a na p p r o a c hb a s e do nA R M ( A p p l i c a t i o nR e s p o n s eM e a s u r e m e n t

5、) a n dA O P ( A s p e c m i e n t e dP r o g r a m m i n g ) i sp r e s e n t e d A R Mi su s e dt oi m p l e m e n tt h ea b i l i t yo fm o n i t o r i n g w h i l eA O Pi sa d o p t e dt oe s t a b l i s hl o o s ec o u p l i n go Im o n i t o r i n gm o d u l e sa n dt h es y s t e m T h ea p p

6、 r o a c hi si l l u s t r a t e d 、 r i t ht h ec a s eo f A T M K e y w o r d sS o f t w a r em o n i t o r i n g ,A R M ,A O P ,A s p e e t J 1引言 为了使不具备监控能力的软件具备监控能力, 需要根据监控需求对软件插入监控探针,在软件运 行时通过监控信息得到软件的运行状况,提高软件 的可靠性。然而这样的监控方法却面临着一个两难 选择:一方面希望能监控的细节越深入越好,另一方 面希望监控的插人对程序员越透明越好 1 。显然, 如果希望达到细粒度的监控

7、目标,那么就可能使监 控代码和原有代码混乱在一起,加大程序维护的难 度。 为了解决这个难题,本文通过分析A O P ( A s p e c t - O r i e n t e dP r o g r a m m i n g ) 和A R M ( A p p l i c a t i o n R 删e a s u r e m e n t ) 的技术特点,提出通过 r 一一。 一一 A O P 的切入点( P o i n t C u t ) 匹配需要监控的连接点 ( J o i n P o i n t ) ,再在相应的A d v i c e 中添加由A R M 实 现的监控代码。这种方法使监控能深入到

8、需要监控 的任意一个连接点,确保了监控的全面性;同时又不 会修改原程序代码,保证了代码的模块性。 本文共分5 部分,各部分内容概述如下:第l 部 分引言中提出了软件监控面临的阊题;第2 部分在 分析软件监控方法研究现状的基础上提出基于 A O P 和A R M 的软件监控方法;第3 部分详细介绍 了基于A O P 和A R M 的软件监控方法的思想和实 现;第4 部分通过实验验证了新方法的可行性;最后 对基于A O P 的软件监控方法做了总结并提出了进 一步的研究方向。 2 软件监控方法研究现状 软件监控源于对软件性能的分析,现在监控技 术在各个领域都有广泛的应用,通过使用监控技术 可以观察系

9、统的状态,进行相应控制,这不但简化了 管理过程,而且也提高了管理效率。 下面就从使用领域、运行平台、监控标准和监控 手段等几个方面对软件监控进行简要分析。 1 ) 软件监控的使用领域 软件监控主要以下几个方面:在C S ( C l i e n t S e r v e r ) 架构的软件系统中,为了保证服务质量, W e b L o g i c ,W e b S p h e r e 等服务器都需要监控服务器 应答时间、等待连接的时间等信息;数据库软件如 O r a c l e ,M y S Q I 等需要监控高速缓存性能、连接统 计数据等判断运行情况;操作系统L i n u x 通过自带 * )

10、 国家自然科学基金( 编号:6 0 5 0 3 0 3 2 ) ,国家8 6 3 计划课题( 编号:2 0 0 6 A A 0 1 2 1 7 8 ,2 0 0 7 A A 0 1 0 3 0 1 ) 。左子飞硕士生,主要研究方向为面向 方面软件开发等;毛晓光教授,主要研究方向为高可信软件技术和面向方面软件开发等。 1 0 8 的T o p ,v m s t a t 等监控系统信息,而W i n d o w s 则依 靠独立的小工具如C P U M o n ,D i s k m o n 等监控资源 的使用情况;在高性能计算方面,运行时监控的研究 有利于改进并行算法和开发相关软件。 2 ) 支持

11、监控的运行平台 由于软件应用于系统平台上,因此在运行平台 监控软件的运行情况能获取丰富的信息,这些监控 信息包括:C P U 使用率、内存使用情况、线程调用 等。J a v aV i r t u a lM a c h i n eP r o f i l e rI n t e r f a c eJ a v a ( 虚拟机监视程序接口) 就是J V M ( j a v a 虚拟机) 提 供的监控接口,监视程序通过J V M P l 能获取多种 信息,例如用于综合性能分析的堆内存分配址、 C P U 使用热点、不必要的对象保持及监控器竞争 等。 3 ) 支持监控的标准 随着软件监控技术的发展,许多标准

12、对监控功 能的实现提供了规范。J a v a 管理扩展J M X ( J a v a M a n a g e m e n tE x t e n s i o n s ) 是一个为应用程序植入管 理功能的框架。J M X 是一套标准的代理和服务,实 际上,用户可以在任何J a v a 应用程序中使用这些代 理和服务实现管理。J a v a 管理扩展J M X 致力于解 决分布式系统管理的问题。A R M 口1 规范是I S 0 O p e nG r o u p 制定的应用性能监控标准,包括I B M , H P ,C A 在内的众多管理软件供应商支持该标准, 推出基于删标准的监控产品。S i e

13、b e l ,I B M 等 众多软件开发商提供的商业软件基于删标准开 发,大大提高了软件的可管理性。 4 ) 监控代码插入的手段 如果用硬编码实现软件监控,那么监控的代码 就会分散于需要监控的各个模块中。当系统变化 时,这种方式既难维护,也很难深入地进行修改。 A o P 3 】技术的发展为监控插入提供了新的手段。 为了使监控模块与功能模块分离,利用A O P 技术, 在实现监控目的同时避免对系统代码的修改,可以 有效地解决监控代码的模块化问题,提高监控软件 的灵活性。 综上所述,从软件监控发展的特点可以看出,随 着新技术和新标准的发展,监控的手段有了长足的 进步,监控的能力有了很大的提升。

14、然而监控模块 和功能模块的混杂阀题仍然是困扰软件开发者的难 题,如果能把面向方面编程的思想用到监控中,同时 使用A R M 作为监控的标准,那么将有效解决将监 控模块与功能模块分离的问题,降低软件维护的难 度。 3 基于A O P 和A R M 的软件监控方法 回到上文提到的问题:一方面监控要深入到程 序的实现细节中,获得更全面地监控信息;另一方面 监控模块和功能模块要分离,当监控需求变更时,对 监控模块的改动就不会对原有程序造成影响。 如果能在插入监控时使用A O P 和A R M 技术, 那么将有效地解决对软件添加监控代码时代码混乱 的麻烦。A R M 提供了功能完备的A P l ,通过A

15、 R M 实现监控可以全面的获取监控信息,实现对程序细 节的监控。A O P 方法能有效地实现对监控的模块 化,降低系统开发的难度,提高可维护性。当监控的 某些策略需要改变,则只需在方面中修改此策略,然 后把修改后的方面横切到组件中,这样避免了在功 能组件里修改。 3 1 删技术分析 由O p e nG r o u p 制定的应用性能监控标准: 删,在与I B M ,H P ,C A 等的合作下,不仅发布了 相应的A P I ,而且相关的研究也十分活跃。 A R M 把一个应用( A p p l i c a t i o n ) 分解为多个交 易( T r a n s a c t i o n )

16、 ,一个交易又包含多个子交易,从 而理清了交易的流程,使监控更清晰。例如,在典型 的w e b 应用中当用户提交订单后,服务器把处理订 单分解为:查询、更新、执行等步骤,A R M 把它们看 成一个个交易,处理订单与查询、更新、执行之间是 父子关系,而它们一起组成一个应用。这样只要实 现了对一个个应用和交易的开始时间、结束时间的 监控,就实现了对整个程序的监控。A R M 就像一 个计时器,用于衡量应用的响应时间,允许应用开发 人员记录交易开始和结束的时长,从而了解应用的 性能 4 。 从程序外部的角度来看,删需要对源代码 进行分析,从而属于白盒测试;从程序内部的角度来 看,A R M 使用它自看的A P I ,独立于原系统的功能 需求,所以属于处部测试, A R M 在工业界的应用十分广泛。I B M 开发的 测试W e b 应用程序设计的软件R a t i o n a lP e r f o r m - a n t eT e s t e r 的内置标准就是删,E c l i p s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号