应用程序运行监控方法、装置以及终端制造方法及图纸

技术编号:15639091 阅读:286 留言:0更新日期:2017-06-15 21:20
本发明专利技术公开了一种应用程序运行监控方法,其包括如下步骤:在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面,以由该切面所映射的拦截代码接管所述多个目标类的共有代码的产生;将切面相对应的拦截代码与所述应用程序源代码一起进行编译,以重新生成所述应用程序;在运行重新生成的应用程序后,所述应用程序运行监控的结果信息均由其相应的切面相关的拦截代码的执行而确定。相应地,本发明专利技术还公开了一种装置以及终端;通过本发明专利技术的实施,其提高了开发的效率。

【技术实现步骤摘要】
应用程序运行监控方法、装置以及终端
本专利技术涉及计算机
,更具体地,涉及一种应用程序运行监控方法、装置以及终端。
技术介绍
面向对象编程程序的信息带有隐蔽、封装性、继承性、多态性和动态绑定等特性,其使程序的质量更高,更使程序易于维护与修改。但是另一方面,它基于独立封装的类的代码构造,其代码的重用性高,降低了开发的效率,更是不利于业务的专业性,同时不利于程序的后续开发。这类方法会导致在应用程序运行时监控拦截获得生成数据需要大量的时间和运存,监控效率低下,同时对构造应用程序开发人员的专业性要求高,还要求开发人员对相应业务很熟悉,以上问题的存在使得基于面向对象思想构造的运行监控程序所获得的结果信息可信度较低。
技术实现思路
鉴于上述问题,本专利技术首要目的提出了一种应用程序运行监控方法,其采用面向切面的编程思想,构造应用程序调用类的拦截代码,提高了开发人员的生产力,缩短了开发周期,降低了开发成本。本专利技术另一目的提出了一种应用程序运行监控装置。本专利技术另一目的提出了一种应用程序运行监控终端。第一方面,本专利技术提供一种应用程序运行监控方法,其包括如下步骤:在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面,以由该切面所映射的拦截代码接管所述多个目标类的共有代码的产生;将切面相对应的拦截代码与所述应用程序源代码一起进行编译,以重新生成所述应用程序;在运行重新生成的应用程序后,所述应用程序运行监控的结果信息均由其相应的切面相关的拦截代码的执行而确定。结合第一方面,本专利技术在第一方面的第一种实现方式中,还包括步骤:获取所述应用程序源代码,拦截监控的多个目标类,从多个目标类中获取切面。结合第一方面,本专利技术在第一方面的第二种实现方式中,所述在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面的步骤为将所述应用程序源代码与所述切面进行预编译。结合第一方面,本专利技术在第一方面的第三种实现方式中,所述在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面的步骤包括:获取所述切面在所述应用程序源代码中的织入位置;根据所述织入位置将所述切面织入到所述应用程序源代码中。结合第一方面的第三种实现方式,本专利技术在第一方面的第四种实现方式中,所述织入位置为所述应用程序提供给切面织入的连接点,所述连接点可根据新增的目标类给切面提供新的连接点。结合第一方面,本专利技术在第一方面的第五种实现方式中,所述在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面的步骤还包括:过滤所述多个目标类中的共有代码。结合第一方面,本专利技术在第一方面的第六种实现方式中,所述织入同一切面的方法为面向切面编程方式的静态织入法。结合第一方面,本专利技术在第一方面的第七种实现方式中,所述拦截代码接管所述多个目标类的共有代码的产生的步骤中包括:由所述拦截代码对所述多个目标类进行统一管理。结合第一方面,本专利技术在第一方面的第八种实现方式中,所述运行重新生成的应用程序的步骤包括:将所述重新生成的应用程序安装至移动终端;运行所述重新生成的应用程序,输出相关结果信息。结合第一方面的第八种实现方式,本专利技术在第一方面的第九种实现方式中,还包括步骤:将所述结果信息发送至云端服务器进行存储与分析。结合第一方面,本专利技术在第一方面的第十种实现方式中,所述多个目标类为对所述应用程序运行时所需要监控的对象,其至少为多个调用的java类。结合第一方面的第十种实现方式,本专利技术在第一方面的第十一种实现方式中,所述调用的java类为网络相关类时,其包括rg.apache.http.HttpHost、org.apache.http.HttpResponses、org.apache.http.HttpRequest、org.apache.http.client.ResponseHondler、org.apache.http.client.methods.HttpUriRequest、org.apache.http.protocol.HttpContext、java.net.URLConnection、org.apache.http.client.HttpClient中的至少一项。结合第一方面的第十一种实现方式,本专利技术在第一方面的第十二种实现方式中,所述多个目标类为网络相关类时,所述结果信息包括访问的URL、发送数据字节大小、接收数据字节大小、触发具体时间、连接时间、是否为WIFI状态、错误码至少其中一项。结合第一方面的第十种实现方式,本专利技术在第一方面的第十三种实现方式中所述调用的java类为耗电相关类时,其包括全局定时器管理类、WIFI管理类、传感器管理类、位置定位管理类、电源管理类中的至少一项。结合第一方面,本专利技术在第一方面的第十四种实现方式中,所述结果信息至少包括所述应用程序运行时的数据字段。第二方面,本专利技术提供一种应用程序运行监控装置,其包括:织入模块,用于在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面,以由该切面所映射的拦截代码接管所述多个目标类的共有代码的产生;编译模块,用于将切面相对应的拦截代码与所述应用程序源代码一起进行编译,以重新生成所述应用程序;运行模块,用于在运行重新生成的应用程序后,所述应用程序运行监控的结果信息均由其相应的切面相关的拦截代码的执行而确定。结合第二方面,本专利技术在第二方面的第一种实现方式中,还包括:获取模块,用于获取所述应用程序源代码,拦截监控的多个目标类,从多个目标类中获取切面。结合第二方面,本专利技术在第二方面的第二种实现方式中,所述织入模块中在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面为将所述应用程序源代码与所述切面进行预编译。结合第二方面,本专利技术在第二方面的第三种实现方式中,所述织入模块还用于:获取所述切面在所述应用程序源代码中的织入位置;根据所述织入位置将所述切面织入到所述应用程序源代码中。结合第二方面的第三种实现方式,本专利技术在第二方面的第四种实现方式中,所述织入位置为所述应用程序提供给切面织入的连接点,所述连接点可根据新增的目标类给切面提供新的连接点。结合第二方面,本专利技术在第二方面的第五种实现方式中,所述织入模块还用于过滤所述多个目标类中的共有代码。结合第二方面,本专利技术在第二方面的第六种实现方式中,所述织入同一切面的方法为面向切面编程方式的静态织入法。结合第二方面,本专利技术在第二方面的第七种实现方式中,所述拦截代码接管所述多个目标类的共有代码的产生中包括:由所述拦截代码对所述多个目标类进行统一管理。结合第二方面,本专利技术在第二方面的第八种实现方式中,所述运行模块,还用于:将所述重新生成的应用程序安装至移动终端;运行所述重新生成的应用程序,输出相关结果信息。结合第二方面的第八种实现方式,本专利技术在第二方面的第九种实现方式中,所述运行模块包括发送单元,用于将所述结果信息发送至云端服务器进行存储与分析。结合第二方面,本专利技术在第二方面的第十种实现方式中,所述多个目标类为对所述应用程序运行时所需要监控的对象,其至少为多个调用的java类。结合第二方面的第十种实现方式,本专利技术在第二方面的第十一种实现方式中,所述调用的java类为网络相关类时,其包括org.apache.http.HttpHost、org.apache.ht本文档来自技高网...
应用程序运行监控方法、装置以及终端

【技术保护点】
一种应用程序运行监控方法,其特征在于,其包括如下步骤:在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面,以由该切面所映射的拦截代码接管所述多个目标类的共有代码的产生;将切面相对应的拦截代码与所述应用程序源代码一起进行编译,以重新生成所述应用程序;在运行重新生成的应用程序后,所述应用程序运行监控的结果信息均由其相应的切面相关的拦截代码的执行而确定。

【技术特征摘要】
1.一种应用程序运行监控方法,其特征在于,其包括如下步骤:在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面,以由该切面所映射的拦截代码接管所述多个目标类的共有代码的产生;将切面相对应的拦截代码与所述应用程序源代码一起进行编译,以重新生成所述应用程序;在运行重新生成的应用程序后,所述应用程序运行监控的结果信息均由其相应的切面相关的拦截代码的执行而确定。2.根据权利要求1所述的应用程序运行监控方法,其特征在于,还包括步骤:获取所述应用程序源代码,拦截监控的多个目标类,从多个目标类中获取切面。3.根据权利要求1所述的应用程序运行监控方法,其特征在于,所述在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面的步骤为将所述应用程序源代码与所述切面进行预编译。4.根据权利要求1所述的应用程序运行监控方法,其特征在于,所述在基于面向对象编程构造的所述应用程序的多个目标类中织入同一切面的步骤包括:获取所述切面在所述应用程序源代码中的织入位置;根据所述织入位置将所述切面织入到所述应用程序源代码中。5.根据权利要求4所述的应用程序运行监控方法,其特征在于,所述织入位置为所述应用程序提供给切面织入的连接点,所述连接点可根据新增的目标类给切面提供新的连接点。6.根据权利要求1所述...

【专利技术属性】
技术研发人员:刘刚纪纲陈佩瀚
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1