数据采集方法和装置制造方法及图纸

技术编号:33467271 阅读:17 留言:0更新日期:2022-05-19 00:45
本申请提供数据采集方法和装置。该方法包括:目标应用程序设置有数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入,所述方法包括:在所述目标应用程序处于运行状态的情况下,通过所述数据采集插件采集监控数据;利用所述agent代理发送所述监控数据。因此能够利用该方法对目标应用程序进行监控数据的采集,从而解决现有技术中的问题。问题。问题。

【技术实现步骤摘要】
数据采集方法和装置


[0001]本申请涉及互联网
,具体而言,涉及数据采集方法和装置。

技术介绍

[0002]在应用程序的运行过程中,通常需要对其进行数据采集,以用于对该应用程序的运行过程进行监控。因此,如何进行数据采集至关重要。

技术实现思路

[0003]本申请实施例的目的在于提供数据采集方法和装置,用于解决现有技术中的问题。
[0004]本申请实施例第一方面提供了一种数据采集方法,目标应用程序设置有数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入,所述方法包括:
[0005]在所述目标应用程序处于运行状态的情况下,通过所述数据采集插件采集监控数据;
[0006]利用所述agent代理发送所述监控数据。
[0007]于一实施例中,所述方法还包括:
[0008]在所述目标应用程序处于待启动状态的情况下,利用agent机制加载所述agent代理;
[0009]通过所述agent代理导入所述数据采集插件。
[0010]于一实施例中,通过所述agent代理导入所述数据采集插件,具体包括:
[0011]在所述agent代理的premain函数中,利用自定义类加载器AgentClassLoader重写findClass方法,以用于将所述数据采集插件的类加载至与所述目标应用程序main方法相同的Java虚拟机JVM进程中。
[0012]于一实施例中,通过所述数据采集插件采集监控数据,具体包括:
[0013]通过InstanceMethodsAroundInterceptor接口,实现所述数据采集插件的类,并在afterMethod方法中执行开启线程,以采集所述监控数据。
[0014]于一实施例中,所述监控数据具体包括:在dubbo框架下,consumer和provider两侧filter调用链的参数。
[0015]本申请实施例第二方面提供了一种数据采集方法,所述方法包括:
[0016]向目标应用程序发送数据采集请求,以使得在所述目标应用程序处于运行状态的情况下,通过所述目标应用程序中所设置的数据采集插件采集监控数据,并利用所述目标应用程序中所设置agent代理发送所述监控数据,其中,所述目标应用程序设置有所述数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入;
[0017]接收所述监控数据。
[0018]于一实施例中,所述方法还包括:
[0019]将所述监控数据存储至数据存储中心。
[0020]于一实施例中,向目标应用程序发送数据采集请求,具体包括:
[0021]在定时任务触发的情况下,向目标应用程序发送数据采集请求。
[0022]本申请实施例第三方面提供了一种数据采集装置,目标应用程序设置有数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入,所述装置包括:
[0023]监控数据采集单元,用于在所述目标应用程序处于运行状态的情况下,通过所述数据采集插件采集监控数据;
[0024]监控数据发送单元,用于利用所述agent代理发送所述监控数据。
[0025]本申请实施例第四方面提供了一种数据采集装置,所述装置包括:
[0026]数据采集请求发送单元,用于向目标应用程序发送数据采集请求,以使得在所述目标应用程序处于运行状态的情况下,通过所述目标应用程序中所设置的数据采集插件采集监控数据,并利用所述目标应用程序中所设置agent代理发送所述监控数据,其中,所述目标应用程序设置有所述数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入;
[0027]监控数据接收单元,用于接收所述监控数据
[0028]采用本申请实施例所提供的该数据采集方法,包括在目标应用程序处于运行状态的情况下,通过设置于该目标应用程序的数据采集插件采集监控数据,然后利用该目标应用程序中的agent代理发送该监控数据。因此能够利用该方法对目标应用程序进行监控数据的采集,从而解决现有技术中的问题。
附图说明
[0029]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0030]图1为本申请一实施例提供的,数据采集方法的具体流程示意图;
[0031]图2为本申请一实施例提供的,数据监控中与目标应用程序的交互示意图;
[0032]图3为本申请又一实施例提供的,数据采集方法的具体流程示意图;
[0033]图4为本申请一实施例提供的,在具体应用场景下数据采集方法的流程示意图;
[0034]图5为本申请一实施例提供的电子设备的结构示意图;
[0035]图6为本申请一实施例提供的,数据采集装置的具体结构示意图;
[0036]图7为本申请又一实施例提供的,数据采集装置的具体结构示意图。
具体实施方式
[0037]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或先后顺序。
[0038]如前所述,在应用程序的运行过程中,通常需要对其进行数据采集,以用于对该应
用程序的运行过程进行监控。因此,如何进行数据采集至关重要。比如,为了监控应用程序运行过程中的资源占用率,通常需要采集其CPU占用率、内存占用率等数据。
[0039]基于此,本申请实施例提供了一种数据采集方法,能够用于对应用程序进行数据采集,从而解决现有技术中的问题。如图1所示为该方法的具体流程示意图,该方法包括如下步骤:
[0040]步骤S11:在目标应用程序处于运行状态的情况下,通过设置于该目标应用程序的数据采集插件采集监控数据,其中,该数据采集插件通过设置于该目标应用程序的agent代理导入。
[0041]需要说明的是,该目标应用程序中设置有agent代理和数据采集插件,并且该数据采集插件通过该agent代理导入。
[0042]其中,该目标应用程序指需要进行数据采集的应用程序,在实际应用中可以为电商类应用程序、即时通讯类应用程序或其他类型的应用程序,这里并不对该目标应用程序的具体类型进行限定。比如,当需要针对某个应用程序进行数据采集时,可以将该应用程序作为目标应用程序,从而通过该目标应用程序中的数据采集插件采集监控数据。
[0043]agent机制属于Java探针技术,通常能够利用该agent机制在应用程序中构建agent代理,从而协助监测、运行、甚至替换其他JVM上的程序。因此在该目标应用程序中,可以利用agent机制构建该agent代理。比如,在该目标应用程序处于待启本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据采集方法,其特征在于,目标应用程序设置有数据采集插件,所述数据采集插件通过设置于所述目标应用程序中的agent代理导入,所述方法包括:在所述目标应用程序处于运行状态的情况下,通过所述数据采集插件采集监控数据;利用所述agent代理发送所述监控数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标应用程序处于待启动状态的情况下,利用agent机制构建所述agent代理;通过所述agent代理导入所述数据采集插件。3.根据权利要求2所述的方法,其特征在于,通过所述agent代理导入所述数据采集插件,具体包括:在所述agent代理的premain函数中,利用自定义类加载器AgentClassLoader重写findClass方法,以用于将所述数据采集插件的类加载至与所述目标应用程序main方法相同的Java虚拟机JVM进程中。4.根据权利要求3所述的方法,其特征在于,通过所述数据采集插件采集监控数据,具体包括:通过InstanceMethodsAroundInterceptor接口,实现所述数据采集插件的类,并在afterMethod方法中执行开启线程,以采集所述监控数据。5.根据权利要求1所述的方法,其特征在于,所述监控数据具体包括:在dubbo框架下,consumer和provider两侧filter调用链的参数。6.一种数据采集方法,其特征在于,所述方法包括:向目标应用程序发送数据采集请求,以使得在所述目标应用...

【专利技术属性】
技术研发人员:叶睿张昌路伦泽明
申请(专利权)人:挂号网杭州科技有限公司
类型:发明
国别省市:

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

1