本申请公开了一种业务数据的提取方法及装置,该方法包括:获取应用的配置信息,配置信息用于指示应用中待提取的业务数据,以及待提取的业务数据在文件中的位置,文件为应用的源代码被编译后形成的文件;在应用运行之前,在文件中的位置之后,增加目标内容,目标内容用于提取应用运行产生的待提取的业务数据的数值,目标内容依据待提取的业务数据的信息和位置信息确定;通过运行增加目标内容后的文件,得到待提取的业务数据的数值。可见,本申请在待提取的业务数据在应用源代码被编译后形成的文件中的位置之后,增加用于提取应用运行产生的待提取的业务数据的数值的目标内容,不会对应用的源代码进行修改,因此对于应用的源代码无侵入。
【技术实现步骤摘要】
一种业务数据的提取方法及装置
本申请涉及业务监控领域,尤其涉及一种业务数据的提取方法及装置。
技术介绍
业务监控,从软件层面上说,具体监控的是提供某一种业务的应用(例如听音乐的应用软件、银行交易的应用软件等),具体手段为,对应用执行业务请求后所生成的业务数据,进行实时监控和收集,从而帮助业务应用开发方发现问题,定位问题根源。现有的提取业务数据的方式为,在应用的开发过程中,开发人员在应用的源代码中人工植入日志埋点逻辑,日志埋点逻辑用于获取应用执行业务请求时生成的业务数据,并以日志方式记录业务数据,生成相应的业务日志。明显的,现有的业务数据的提取方法,对应用的源代码进行了侵入式修改。
技术实现思路
本申请提供了一种业务数据的提取方法及装置,目的在于提供一种对应用无侵入的业务数据的提取方案。为了实现上述目的,本申请提供了以下技术方案:一种业务数据的提取方法,包括:获取应用的配置信息,所述配置信息用于指示所述应用中待提取的业务数据,以及所述待提取的业务数据在文件中的位置,所述文件为所述应用的源代码被编译后形成的文件;在所述应用运行之前,在所述文件中的所述位置之后,增加目标内容,所述目标内容用于提取所述应用运行产生的所述待提取的业务数据的数值,所述目标内容依据所述待提取的业务数据的信息确定;通过运行增加所述目标内容后的所述文件,得到所述待提取的业务数据的数值。可选的,所述应用中待提取的业务数据,包括:所述应用中待提取的业务数据,在所述应用中的逻辑表达式;所述应用中待提取的业务数据在文件中的位置,包括:所述应用中待提取的业务数据所属的部分的标识,所述所属的部分包括方法和/或类。可选的,所述配置信息还用于指示提取方式;所述提取所述应用运行产生的所述待提取的业务数据的数值,包括:使用所述提取方式,提取所述应用运行产生的所述待提取的业务数据的数值。可选的,所述配置信息还用于指示所述待提取的业务数据的数值的存储参数;所述提取所述应用运行产生的所述待提取的业务数据的数值,包括:将所述应用运行产生的所述待提取的业务数据的数值,赋值给所述存储参数。可选的,所述获取应用的配置信息,包括:依据所述应用的信息,以及预设的对应关系,通过查询获取所述应用的配置信息,所述对应关系包括所述应用与人工设置的所述配置信息之间的对应关系。可选的,在所述应用运行之前,在所述文件中的所述位置之后,增加目标内容,包括:在所述应用运行之前,加载预设进程;其中,所述预设进程用于:在所述文件中的所述位置之后,增加所述目标内容。可选的,所述预设进程包括:Agentmain代理逻辑。一种业务数据的提取装置,包括:获取单元,用于获取应用的配置信息,所述配置信息用于指示所述应用中待提取的业务数据的信息,以及所述待提取的业务数据在文件中的位置信息,所述文件为所述应用的源代码被编译后形成的文件;加载单元,用于在所述应用运行之前,在所述文件中的所述位置之后,增加目标内容,所述目标内容用于提取所述应用运行产生的所述待提取的业务数据的数值;提取单元,用于运行增加所述目标内容的所述文件,得到所述待提取的业务数据的数值。一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,所述程序执行上述的业务数据的提取方法。一种电子设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行上述的业务数据的提取方法。本申请提供的技术方案,包括:获取应用的配置信息,配置信息用于指示应用中待提取的业务数据,以及待提取的业务数据在文件中的位置,文件为应用的源代码被编译后形成的文件;在应用运行之前,在文件中的位置之后,增加目标内容,目标内容用于提取应用运行产生的待提取的业务数据的数值,目标内容依据待提取的业务数据的信息和位置信息确定;通过运行增加目标内容后的文件,得到待提取的业务数据的数值。可见,本申请在应用源代码被编译后形成的文件中,增加用于提取应用运行产生的待提取的业务数据的数值的目标内容,并不会对应用的源代码进行修改,因此对于应用的源代码无侵入。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种业务数据的提取方法的示意图;图2为本申请实施例提供的一种数据提取配置信息的示意图;图3为本申请实施例提供的另一种业务数据的提取方法的示意图;图4为本申请实施例提供的一种业务数据的提取装置的架构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。如图1所示,为本申请实施例提供的一种业务数据的提取方法的示意图,包括如下步骤:S101:获取预设的数据提取配置信息。其中,数据提取配置信息以应用为维度设置,任意一个应用的数据提取配置信息包括:待提取的业务数据在该应用中所属的类的类名、待提取的业务数据在该应用中所属的方法的方法名、待提取的业务数据在该应用中的逻辑表达式、用于存储待提取的业务数据的数值的变量(简称业务变量)的变量名、业务变量的数据类型和待提取的业务数据的提取方式。在本申请实施例中,待提取的业务数据的逻辑表达式指的是:应用的底层逻辑(例如源代码)中属于某一类的某一方法的输入参数和输出参数的表达式。参见图2,以提供银行交易业务的应用执行外汇业务请求为例,应用执行外汇业务请求时,需要输入本地货币的具体数值,应用会基于输入的具体数值,反馈兑换后的外币的具体数值。其中,本地货币的具体数值为应用的源代码中“com.creditease.controller.BizController”类的“process”方法的第一个输入参数“$1”,外币的具体数值为应用的源代码中“com.creditease.controller.BizController”类的“process”方法的输出参数“$_”,因此,“$1.bizId”和“$_.state”分别作为待提取的业务数据的逻辑表达式,“com.creditease.controller.BizController”作为待提取的业务数据所属的类的类名,“process”作为待提取的业务数据所属的方法的方法名。本实施例中,待提取的业务数据在该应用中所属的类的类名、待提取的业务数据在该应用中所属的方法的方法名、本文档来自技高网...
【技术保护点】
1.一种业务数据的提取方法,其特征在于,包括:/n获取应用的配置信息,所述配置信息用于指示所述应用中待提取的业务数据,以及所述待提取的业务数据在文件中的位置,所述文件为所述应用的源代码被编译后形成的文件;/n在所述应用运行之前,在所述文件中的所述位置之后,增加目标内容,所述目标内容用于提取所述应用运行产生的所述待提取的业务数据的数值,所述目标内容依据所述待提取的业务数据的信息确定;/n通过运行增加所述目标内容后的所述文件,得到所述待提取的业务数据的数值。/n
【技术特征摘要】
1.一种业务数据的提取方法,其特征在于,包括:
获取应用的配置信息,所述配置信息用于指示所述应用中待提取的业务数据,以及所述待提取的业务数据在文件中的位置,所述文件为所述应用的源代码被编译后形成的文件;
在所述应用运行之前,在所述文件中的所述位置之后,增加目标内容,所述目标内容用于提取所述应用运行产生的所述待提取的业务数据的数值,所述目标内容依据所述待提取的业务数据的信息确定;
通过运行增加所述目标内容后的所述文件,得到所述待提取的业务数据的数值。
2.根据权利要求1所述的方法,其特征在于,所述应用中待提取的业务数据,包括:所述应用中待提取的业务数据,在所述应用中的逻辑表达式;
所述应用中待提取的业务数据在文件中的位置,包括:
所述应用中待提取的业务数据所属的部分的标识,所述所属的部分包括方法和/或类。
3.根据权利要求1所述的方法,其特征在于,所述配置信息还用于指示提取方式;
所述提取所述应用运行产生的所述待提取的业务数据的数值,包括:
使用所述提取方式,提取所述应用运行产生的所述待提取的业务数据的数值。
4.根据权利要求1所述的方法,其特征在于,所述配置信息还用于指示所述待提取的业务数据的数值的存储参数;
所述提取所述应用运行产生的所述待提取的业务数据的数值,包括:
将所述应用运行产生的所述待提取的业务数据的数值,赋值给所述存储参数。
5.根据权利要求1所述的方法,其特征在于,所述获取应用的配置信息,包括:
依据所述应用的...
【专利技术属性】
技术研发人员:谢知求,李崇,朱文强,
申请(专利权)人:普信恒业科技发展北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。