预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111026598A(43)申请公布日2020.04.17(21)申请号201811174146.2(22)申请日2018.10.09(71)申请人迈普通信技术股份有限公司地址610000四川省成都市高新区天府三街288号1号楼迈普大厦17层(72)发明人宗润(74)专利代理机构北京超凡志成知识产权代理事务所(普通合伙)11371代理人王宁宁(51)Int.Cl.G06F11/30(2006.01)权利要求书2页说明书9页附图3页(54)发明名称数据采集方法及装置(57)摘要本发明涉及应用监控技术领域,提供一种数据采集方法及装置。其中,数据采集方法用于采集基于Spring框架开发的Java应用程序中的数据,具体包括:利用实现了上下文获取接口的类对应的钩子对象获得由Spring框架主动注入的应用程序的上下文;根据上下文获得应用程序中使用的至少一个SpringBean对象;从至少一个SpringBean对象的成员中采集需要监控的数据。在上述方法中,应用程序的上下文是被Spring框架主动注入钩子对象的,因此应用程序本身无需做任何修改,监控逻辑与应用程序的业务逻辑是分离的,有利于代码的维护管理。CN111026598ACN111026598A权利要求书1/2页1.一种数据采集方法,用于采集基于Spring框架开发的Java应用程序中的数据,其特征在于,包括:利用实现了上下文获取接口的类对应的钩子对象获得由Spring框架主动注入的所述应用程序的上下文,其中,所述上下文获取接口由Spring框架提供;根据所述上下文获得所述应用程序中使用的至少一个SpringBean对象;从所述至少一个SpringBean对象的成员中采集需要监控的数据。2.根据权利要求1所述的数据采集方法,其特征在于,包含所述钩子对象对应的类的jar包部署于所述应用程序的第三方类库目录下,在所述应用程序启动时随所述应用程序的jar包一同加载。3.根据权利要求1所述的数据采集方法,其特征在于,所述根据所述上下文获得所述应用程序中使用的至少一个SpringBean对象,包括:在基于JavaInstrumentation构建的代理程序中,获得被注入所述钩子对象的所述上下文,并根据所述上下文获得所述至少一个SpringBean对象。4.根据权利要求3所述的数据采集方法,其特征在于,所述获得被注入所述钩子对象的所述上下文,并根据所述上下文获得所述应用程序中使用的至少一个SpringBean对象,包括:获得运行所述应用程序的Java虚拟机的类加载器;根据预先配置好的所述钩子对象对应的类的路径,利用所述类加载器映射获得所述钩子对象对应的类;根据所述钩子对象对应的类以及所述钩子对象的名称,利用Java的反射机制获得所述钩子对象,进而获得被注入所述钩子对象的所述上下文;根据所述上下文获得所述至少一个SpringBean对象对应的类的路径以及所述至少一个SpringBean对象的名称;根据所述至少一个SpringBean对象对应的类的路径,利用所述类加载器映射获得所述至少一个SpringBean对象对应的类;根据所述至少一个SpringBean对象对应的类以及所述至少一个SpringBean对象的名称,利用Java的反射机制获得所述至少一个SpringBean对象。5.根据权利要求3所述的数据采集方法,其特征在于,所述获得被注入所述钩子对象的所述上下文,并根据所述上下文获得所述应用程序中使用的至少一个SpringBean对象,包括:获得运行所述应用程序的Java虚拟机的类加载器;利用所述类加载器获得所述应用程序运行过程中需要被加载的多个类以及所述多个类的路径,进而获得所述多个类与所述多个类的路径之间的映射关系;根据预先配置好的所述钩子对象对应的类的路径,利用所述映射关系查询获得所述钩子对象对应的类;根据所述钩子对象对应的类以及所述钩子对象的名称,利用Java的反射机制获得所述钩子对象,进而获得被注入所述钩子对象的所述上下文;根据所述上下文获得所述至少一个SpringBean对象对应的类的路径以及所述至少一个SpringBean对象的名称;2CN111026598A权利要求书2/2页根据所述至少一个SpringBean对象对应的类的路径,利用所述映射关系查询获得所述至少一个SpringBean对象对应的类;根据所述至少一个SpringBean对象对应的类以及所述至少一个SpringBean对象的名称,利用Java的反射机制获得所述至少一个SpringBean对象。6.根据权利要求4或5所述的数据采集方法,其特征在于,所述SpringBean对象的成员中包括成员对象,从所述SpringBean对象的成员中采集需要监