[发明专利]一种对应用进行无侵入化埋点的实现方法及系统有效
申请号: | 201710208948.X | 申请日: | 2017-03-31 |
公开(公告)号: | CN107092488B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 支猛;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/448;G06F9/455 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 沈林华 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 进行 侵入 化埋点 实现 方法 系统 | ||
本发明公开了一种对应用进行无侵入化埋点的实现方法及系统,涉及软件开发技术领域。该实现方法包括:定义构造函数拦截器,并为该构造函数拦截器创建一个拦截方法;定义方法拦截器,并为该方法拦截器创建一个拦截方法;为埋点应用定义一个基于java agent的启动类,并为该启动类创建一个启动类实现方法;将具有上述启动类的埋点应用添加到需要进行埋点的应用中,并将其设置为应用启动时运行。本发明能在不要求应用是Spring应用且必须依赖另外一个工程作为父工程的情况下,对应用进行无侵入的埋点,满足了实际使用需求。
技术领域
本发明涉及软件开发技术领域,具体来讲是一种对应用进行无侵入化埋点的实现方法及系统。
背景技术
自从Java引入了Annotation(注解)这一特性后,Annotation就成为了大型软件框架API(Application Programming Interface,应用程序编程接口)中的重要组成部分。这类的大型软件框架包括Spring、Hibernate。其显著的特点是通过在应用程序中添加简单的几行注解代码就能在应用程序中实现相当复杂的逻辑。这种声明式编程方式在软件开发人员特别是Java开发人员间得到了广泛的使用。
但是,实际应用中很少有软件开发人员选择在自己编写的框架或者是中间件中提供基于注解的API。最主要的原因是因为很难去实现。因此,为了在项目中引入埋点逻辑,目前开发人员必须基于Spring boot框架构建一个项目工程,作为需要添加埋点逻辑的应用的父工程。这样就存在很多缺陷,如潜在的jar的冲突、要求应用必须使用了Spring框架等。
因此,如何设计一种新的埋点方法可以避免上述缺陷,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种对应用进行无侵入化埋点的实现方法及系统,能在不要求应用是Spring应用且必须依赖另外一个工程作为父工程的情况下,对应用进行无侵入的埋点,满足了实际使用需求。
为达到以上目的,本发明提供一种对应用进行无侵入化埋点的实现方法,该方法包括以下步骤:
A、定义构造函数拦截器,该构造函数拦截器用于在被拦截的类的构造函数后织入埋点逻辑;为该构造函数拦截器创建拦截方法,构造函数拦截器的拦截方法的实现功能为:当被拦截的类被实例化时,该拦截方法将链式执行预设的拦截链中的埋点逻辑,该预设的拦截链包括多个依次调用的埋点逻辑;
定义方法拦截器,该方法拦截器用于在被拦截的方法的执行前、后织入埋点逻辑;为该方法拦截器创建拦截方法,方法拦截器的拦截方法的实现功能为:当对象调用被拦截的方法时,该拦截方法将在被拦截的方法执行之前和之后均链式执行预设的拦截链中的埋点逻辑;
B、为埋点应用定义基于java agent的启动类,该埋点应用为实现埋点的应用;并为该启动类创建启动类实现方法,该启动类实现方法具有两个参数:一个是通过javaagent选项提供的启动参数,一个是Java虚拟机监控接口的实例,且该实现方法的功能为:将构造函数拦截器的拦截方法、方法拦截器的拦截方法注册到Java虚拟机监控接口的实例上,使得Java虚拟机在加载各种类之前会将构造函数拦截器和方法拦截器的拦截方法织入到被拦截的类中,然后加载被织入后的类;
C、将具有上述启动类的埋点应用添加到需要进行埋点的应用中,并将其设置为应用启动时运行,结束。
本发明同时还提供一种对应用进行无侵入化埋点的实现系统,该实现系统包括拦截器定义模块、启动类定义模块和埋点应用添加模块;
所述拦截器定义模块用于:定义构造函数拦截器,该构造函数拦截器用于在被拦截的类的构造函数后织入埋点逻辑;为该构造函数拦截器创建拦截方法,构造函数拦截器的拦截方法的实现功能为:当被拦截的类被实例化时,该拦截方法将链式执行预设的拦截链中的埋点逻辑,该预设的拦截链包括多个依次调用的埋点逻辑;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710208948.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:变压器旋转式切脚机
- 下一篇:一种汽车座椅骨架的补弯机