CN114661256A - 一种数据采集方法、装置、设备及存储介质 - Google Patents
一种数据采集方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114661256A CN114661256A CN202210546507.1A CN202210546507A CN114661256A CN 114661256 A CN114661256 A CN 114661256A CN 202210546507 A CN202210546507 A CN 202210546507A CN 114661256 A CN114661256 A CN 114661256A
- Authority
- CN
- China
- Prior art keywords
- target
- interface
- character string
- project
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据采集方法、装置、设备及存储介质,涉及日志采集技术领域,包括:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;将所述打印后字符串发送至目标区域进行处理。本申请通过使用已有的日志采集功能完成数据传输,减少了代码冗余,提高了数据传输效率。
Description
技术领域
本发明涉及日志采集技术领域,特别涉及一种数据采集方法、装置、设备及存储介质。
背景技术
目前,实现接口监控功能通常需要采集接口响应数据,现有技术中有很多方法,例如在***的结束方法中引入kafka(一个分布式日志***)的生产者来采集数据,在对方每次调用完接口的时候上传,实现接口响应数据采集。
然而,上述现有技术的方法存在以下问题:若直接采集,则采集过程是在主线程里完成,报错可能会影响主线程,且永远只能是单线程采集;若使用线程池可能要写死一个数量导致无法用户自定义;若选择可以用户自定义线程池,数量则改动很大,需要全面通测;此外,现有技术无法控制kafka的写入流量,若接入SDK(Software Development Kit,软件开发工具包)的项目被大量请求,会导致短时间内kafka写入流量过大,并且频繁创建连接,传输效率低下。
发明内容
有鉴于此,本发明的目的在于提供一种数据采集方法、装置、设备和存储介质,能够减少代码冗余,提高数据传输效率。其具体方案如下:
第一方面,本申请公开了一种数据采集方法,包括:
检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;
在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;
获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;
将所述打印后字符串发送至目标区域进行处理。
可选的,所述将所述打印后字符串发送至目标区域进行处理,包括:
将所述打印后字符串发送至等待采集队列,利用目标采集工具从所述等待采集队列中采集所述打印后字符串;
基于自定义名称区分所述打印后字符串,以得到区分后字符串,并将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库。
可选的,所述根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述项目配置对应的打印工具,包括:
根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述项目配置对应的打印工具;其中,为所述打印工具设置所述自定义名称以及唯一的所述目标采集工具;所述目标采集工具为所述软件开发工具包中自带的采集工具。
可选的,所述获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,包括:
获取所述目标项目对应的项目信息、所述接口调用时长、接口开始调用时间戳以及接口调用次数,以得到目标信息集;
将所述目标信息集中的信息进行拼接,以得到目标字符串。
可选的,所述在预设接口被调用的过程中,确定相应的接口调用时长,包括:
当所述预设接口开始被调用时,记录所述接口开始调用时间戳,当所述预设接口调用结束时,记录接口调用结束时间戳,并将所述接口开始调用时间戳与所述接口调用结束时间戳存储至本地线程;所述接口为用于调用所述目标项目的预设接口;
相应的,所述利用所述打印工具打印所述目标字符串,以得到打印后字符串之后,还包括:
将所述本地线程中的全部时间戳删除。
可选的,所述在预设接口被调用的过程中,确定相应的接口调用时长,还包括:
当所述预设接口开始被调用时,进入***的预处理方法。
可选的,所述在预设接口被调用的过程中,确定相应的接口调用时长,还包括:
当所述预设接口调用结束时,进入所述***的后置处理方法。
第二方面,本申请公开了一种数据采集装置,包括:
工具配置模块,用于检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;
时长确定模块,用于在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;
字符串获取模块,用于获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;
字符串发送模块,用于将所述打印后字符串发送至目标区域进行处理。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的数据采集方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的数据采集方法。
可见,本申请提供了一种数据采集方法,包括:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;将所述打印后字符串发送至目标区域进行处理。由此可见,本申请检测使用软件开发工具包的项目的日志工具,然后根据日志工具加载对应的打印工具,利用所述打印工具打印基于接口调用时长与项目信息得到的目标字符串,然后将所述打印后字符串发送至目标区域完成数据采集过程,减少了代码冗余,提高了数据传输效率以及执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据采集方法流程图;
图2为本申请公开的一种具体的数据采集方法流程图;
图3为本申请提供的数据采集装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有技术的方法存在以下问题:若直接采集,则采集过程是在主线程里完成,报错可能会影响主线程,且永远只能是单线程采集;若使用线程池可能要写死一个数量导致无法用户自定义; 若选择可以用户自定义线程池,数量则改动很大,需要全面通测;此外,现有技术无法控制kafka的写入流量,若接入SDK的项目被大量请求,会导致短时间内kafka写入流量过大,并且频繁创建连接,传输效率低下。为此,本申请提供了一种数据采集方法,能够减少代码冗余,提高数据传输效率以及执行效率。
本发明实施例公开了一种数据采集方法,参见图1所示,该方法包括:
步骤S11:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目。
本实施例中,确定使用SDK的项目为目标项目,然后自动检测所述目标项目使用的日志工具,再根据检测到的日志工具加载对应的日志配置文件,基于所述配置文件为所述目标项目配置对应的打印工具。可以理解的是,为所述目标项目配置对应的打印工具时,为所述打印工具设置自定义名称,例如dc.invoke.time,同时为所述打印工具设置唯一的目标采集工具,例如LogBack-Kafka-Appender,LogBack-Kafka-Appender为SDK包里自带的日志采集appender,可以将日志上传到kafka,最终被收集到数据库中。例如,所述目标项目使用的日志工具为logback(SpringBoot内置的日志处理框架)或者log4j2(一个日志组件),所述打印工具为Logger(日志记录器)。
步骤S12:在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口。
本实施例中,在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口。可以理解的是,当所述预设接口开始被调用时,记录所述接口开始调用时间戳,当所述预设接口调用结束时,记录接口调用结束时间戳,并将所述接口开始调用时间戳与所述接口调用结束时间戳存储至本地线程(ThreadLocal),所述接口为用于调用所述目标项目的预设接口,然后计算所述接口开始调用时间戳与接口调用结束时间戳之间的差值,得到对应的接口调用时长。
步骤S13:获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串。
本实施例中,确定相应的接口调用时长之后,获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,得到打印后字符串。可以理解的是,从上下文中获取所述目标项目对应的其他项目信息,同时为了省略二次序列化操作即提高效率的操作,通过手动或自动化拼接字符串的方式,基于所述接口调用时长、所述接口开始调用时间戳、所述接口调用次数与所述项目信息拼接成一段JSON格式的字符串,得到目标字符串,然后利用Logger打印所述目标字符串得到打印后字符串。所述项目信息包含端口号、IP地址、应用名与环境等信息。需要指出的是,在利用所述打印工具打印所述目标字符串的同时采集所述打印后字符串至所述等待采集队列,如果不打印所述目标字符串则无法采集所述字符串。
步骤S14:将所述打印后字符串发送至目标区域进行处理。
本实施例中,利用所述打印工具打印所述目标字符串,得到打印后字符串之后,将所述打印后字符串发送至目标区域进行处理。可以理解的是,得到打印后字符串之后,先将所述打印后字符串发送到等待采集队列,然后按照所述等待采集队列中的顺序将所述打印后字符串推送至SDK包里的Appender。
可见,本申请提供了一种数据采集方法,包括:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;将所述打印后字符串发送至目标区域进行处理。由此可见,本申请检测使用软件开发工具包的项目的日志工具,然后根据日志工具加载对应的打印工具,利用所述打印工具打印基于接口调用时长与项目信息得到的目标字符串,然后将所述打印后字符串发送至目标区域完成数据采集过程,减少了代码冗余,提高了数据传输效率以及执行效率。
参见图2所示,本发明实施例公开了一种数据采集方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目。
步骤S22:在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口。
本实施例中,在预设接口被调用的过程中,确定相应的接口调用时长。可以理解的是,当所述预设接口开始被调用时,进入***的预处理方法(例如preHandle方法),记录当前时间戳,即接口开始调用时间戳;当所述预设接口调用结束时,进入所述***的后置处理方法(例如afterCompletion方法)记录当前时间戳,即接口调用结束时间戳,并将所述接口开始调用时间戳与所述接口调用结束时间戳均存储在本地线程里。用接口调用结束时间戳减去之前存在本地线程里的所述接口开始调用时间戳,得到接口调用时长。所述***可以为HandlerInterceptor***。
步骤S23:获取所述目标项目对应的项目信息、所述接口调用时长、接口开始调用时间戳以及接口调用次数,以得到目标信息集。
本实施例中,获取所述目标项目对应的项目信息、所述接口调用时长、所述接口开始调用时间戳以及所述接口调用次数,以得到目标信息集。可以理解的是,当所述本地线程中存入对应的接口开始调用时间戳与接口调用结束时间戳时,为接口调用次数加一,即根据时间戳存储的次数确定接口调用次数。
步骤S24:将所述目标信息集中的信息进行拼接,以得到目标字符串。
本实施例中,将所述目标信息集中的信息进行拼接,以得到目标字符串。可以理解的是,将所述目标项目对应的项目信息、所述接口调用时长、所述接口开始调用时间戳以及所述接口调用次数输入至拼接工具中,以便所述拼接工具在接收到上述信息后自动进行拼接,得到目标字符串。
步骤S25:利用所述打印工具打印所述目标字符串,以得到打印后字符串。
本实施例中,利用所述打印工具打印所述目标字符串,以得到打印后字符串之后,将所述本地线程中的全部时间戳删除,防止内存泄露。需要指出的是,将所述目标信息集中的信息在***的afterCompletion方法中打印拼接成json格式的所述目标字符串,得到打印后字符串。
步骤S26:将所述打印后字符串发送至等待采集队列,利用目标采集工具从所述等待采集队列中采集所述打印后字符串。
本实施例中,将所述打印后字符串发送至等待采集队列,利用目标采集工具从所述等待采集队列中采集所述区分后字符串。可以理解的是,将打印后字符串从等待采集队列发送至SDK包里的Appender。
步骤S27:基于自定义名称区分所述打印后字符串,以得到区分后字符串,并将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库。
本实施例中,基于自定义名称区分所述打印后字符串,以得到区分后字符串,并将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库。可以理解的是,根据loggerName区分所述打印后字符串,将loggerName一致的字符串划分在一起,然后将loggerName一致的字符串发送至kafka进行对应的处理操作,完成数据传输。
关于上述步骤S21的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在预设接口被调用的过程中,确定相应的接口调用时长;获取所述目标项目对应的项目信息、所述接口调用时长、接口开始调用时间戳以及接口调用次数,得到目标信息集;将所述目标信息集中的信息进行拼接,得到目标字符串;利用所述打印工具打印所述目标字符串,得到打印后字符串;将所述打印后字符串发送至等待采集队列,利用目标采集工具从所述等待采集队列中采集所述打印后字符串;基于自定义名称区分所述打印后字符串得到区分后字符串,并将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库,通过使用已有的日志采集功能完成数据传输,无需引入新的日志采集功能,减少了代码冗余,提高了数据传输效率,拼接字符串进行采集省略了二次序列化操作,提高了执行效率。
参见图3所示,本申请实施例还相应公开了一种数据采集装置,包括:
工具配置模块11,用于检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;
时长确定模块12,用于在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;
字符串获取模块13,用于获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;
字符串发送模块14,用于将所述打印后字符串发送至目标区域进行处理。
可见,本申请包括:检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;将所述打印后字符串发送至目标区域进行处理。由此可见,本申请检测使用软件开发工具包的项目的日志工具,然后根据日志工具加载对应的打印工具,利用所述打印工具打印基于接口调用时长与项目信息得到的目标字符串,然后将所述打印后字符串发送至目标区域完成数据采集过程,减少了代码冗余,提高了数据传输效率以及执行效率。
在一些具体实施例中,所述工具配置模块11,具体包括:
配置文件加载单元,用于根据所述日志工具加载对应的配置文件;
打印工具配置单元,用于利用所述配置文件为所述项目配置对应的打印工具;
名称设置单元,用于为所述打印工具设置所述自定义名称;
采集工具设置单元,用于为所述打印工具设置唯一的所述目标采集工具;所述目标采集工具为所述软件开发工具包中自带的采集工具。
在一些具体实施例中,所述时长确定模块12,具体包括:
第一时间戳记录单元,用于当所述预设接口开始被调用时,记录所述接口开始调用时间戳;
第一方法进入单元,用于当所述预设接口开始被调用时,进入***的预处理方法;
第二时间戳记录单元,用于当所述预设接口调用结束时,记录接口调用结束时间戳;
第二方法进入单元,用于当所述预设接口调用结束时,进入所述***的后置处理方法;
时间戳存储单元,用于将所述接口开始调用时间戳与所述接口调用结束时间戳存储至本地线程;所述接口为用于调用所述目标项目的预设接口;
时长确定单元,用于计算所述接口开始调用时间戳与所述接口调用结束时间戳的差值,得到相应的接口调用时长。
在一些具体实施例中,所述字符串获取模块13,具体包括:
目标信息集获取单元,用于获取所述目标项目对应的项目信息、所述接口调用时长、接口开始调用时间戳以及接口调用次数,以得到目标信息集;
目标字符串获取单元,用于将所述目标信息集中的信息进行拼接,以得到目标字符串;
字符串打印单元,用于利用所述打印工具打印所述目标字符串,以得到打印后字符串;
时间戳删除单元,用于将所述本地线程中的全部时间戳删除。
在一些具体实施例中,所述字符串发送模块14,具体包括:
字符串发送单元,用于将所述打印后字符串发送至等待采集队列;
字符串采集单元,用于利用目标采集工具从所述等待采集队列中采集所述打印后字符串;
字符串区分单元,用于基于自定义名称区分所述打印后字符串,以得到区分后字符串;
字符串存储单元,用于将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库。
进一步的,本申请实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据采集方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据采集方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据采集方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据采集方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据采集方法,其特征在于,包括:
检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;
在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;
获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;
将所述打印后字符串发送至目标区域进行处理。
2.根据权利要求1所述的数据采集方法,其特征在于,所述将所述打印后字符串发送至目标区域进行处理,包括:
将所述打印后字符串发送至等待采集队列,利用目标采集工具从所述等待采集队列中采集所述打印后字符串;
基于自定义名称区分所述打印后字符串,以得到区分后字符串,并将所述区分后字符串发送至目标日志***,以便所述目标日志***将所述区分后字符串存储至数据库。
3.根据权利要求2所述的数据采集方法,其特征在于,所述根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述项目配置对应的打印工具,包括:
根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述项目配置对应的打印工具;其中,为所述打印工具设置所述自定义名称以及唯一的所述目标采集工具;所述目标采集工具为所述软件开发工具包中自带的采集工具。
4.根据权利要求1所述的数据采集方法,其特征在于,所述获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,包括:
获取所述目标项目对应的项目信息、所述接口调用时长、接口开始调用时间戳以及接口调用次数,以得到目标信息集;
将所述目标信息集中的信息进行拼接,以得到目标字符串。
5.根据权利要求4所述的数据采集方法,其特征在于,所述在预设接口被调用的过程中,确定相应的接口调用时长,包括:
当所述预设接口开始被调用时,记录所述接口开始调用时间戳,当所述预设接口调用结束时,记录接口调用结束时间戳,并将所述接口开始调用时间戳与所述接口调用结束时间戳存储至本地线程;所述接口为用于调用所述目标项目的预设接口;
相应的,所述利用所述打印工具打印所述目标字符串,以得到打印后字符串之后,还包括:
将所述本地线程中的全部时间戳删除。
6.根据权利要求1至4任一项所述的数据采集方法,其特征在于,还包括:
当所述预设接口开始被调用时,进入***的预处理方法。
7.根据权利要求6所述的数据采集方法,其特征在于,还包括:
当所述预设接口调用结束时,进入所述***的后置处理方法。
8.一种数据采集装置,其特征在于,包括:
工具配置模块,用于检测目标项目使用的日志工具,根据所述日志工具加载对应的配置文件,以便基于所述配置文件为所述目标项目配置对应的打印工具;所述目标项目为使用软件开发工具包的项目;
时长确定模块,用于在预设接口被调用的过程中,确定相应的接口调用时长;所述接口为用于调用所述目标项目的预设接口;
字符串获取模块,用于获取所述目标项目对应的项目信息,基于所述接口调用时长与所述项目信息获取目标字符串,并利用所述打印工具打印所述目标字符串,以得到打印后字符串;
字符串发送模块,用于将所述打印后字符串发送至目标区域进行处理。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的数据采集方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546507.1A CN114661256B (zh) | 2022-05-20 | 2022-05-20 | 一种数据采集方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546507.1A CN114661256B (zh) | 2022-05-20 | 2022-05-20 | 一种数据采集方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114661256A true CN114661256A (zh) | 2022-06-24 |
CN114661256B CN114661256B (zh) | 2022-09-02 |
Family
ID=82037808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210546507.1A Active CN114661256B (zh) | 2022-05-20 | 2022-05-20 | 一种数据采集方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661256B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399107A (zh) * | 2019-07-24 | 2019-11-01 | 深圳市盟天科技有限公司 | 日志打印方法、装置、存储介质及设备 |
CN112559476A (zh) * | 2020-12-16 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 一种用于提高目标***性能的日志存储方法及其相关设备 |
CN113051138A (zh) * | 2021-04-30 | 2021-06-29 | 中国银行股份有限公司 | 基于Dubbo服务接口的日志分析装置及方法 |
CN113867913A (zh) * | 2021-09-27 | 2021-12-31 | 平安国际智慧城市科技股份有限公司 | 面向微服务的业务请求处理方法、装置、设备及存储介质 |
-
2022
- 2022-05-20 CN CN202210546507.1A patent/CN114661256B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399107A (zh) * | 2019-07-24 | 2019-11-01 | 深圳市盟天科技有限公司 | 日志打印方法、装置、存储介质及设备 |
CN112559476A (zh) * | 2020-12-16 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 一种用于提高目标***性能的日志存储方法及其相关设备 |
CN113051138A (zh) * | 2021-04-30 | 2021-06-29 | 中国银行股份有限公司 | 基于Dubbo服务接口的日志分析装置及方法 |
CN113867913A (zh) * | 2021-09-27 | 2021-12-31 | 平安国际智慧城市科技股份有限公司 | 面向微服务的业务请求处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114661256B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110244991B (zh) | 一种微服务依赖分析方法及装置 | |
CN105138454A (zh) | 一种针对b/s架构安全软件的自动化测试方法 | |
CN113568604B (zh) | 风控策略的更新方法、装置及计算机可读存储介质 | |
CN113971130A (zh) | 软件性能测试方法、装置、设备及存储介质 | |
CN113660359A (zh) | 域名解析记录的管理方法及装置、存储介质及电子设备 | |
CN114661256B (zh) | 一种数据采集方法、装置、设备及存储介质 | |
CN112965694A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110134559B (zh) | 一种bmc故障检测方法、***及相关组件 | |
CN109190969B (zh) | 称重设备管控方法、***、称重设备管理中间件及介质 | |
CN115048187A (zh) | 一种基于Operator的pvc文件导入方法、设备及存储介质 | |
CN115357198A (zh) | 存储卷的挂载方法及装置、存储介质及电子设备 | |
CN109358972B (zh) | 中间件客户端的日志管理方法、装置及计算机*** | |
CN112905467A (zh) | 一种测试用例执行管理方法、装置、设备及存储介质 | |
CN113672337A (zh) | 一种应用迁移方法、装置、设备及计算机可读存储介质 | |
CN112685102A (zh) | 一种网关插件热加载方法、装置、设备及介质 | |
CN111163155A (zh) | 对账文件传输方法、***、服务器及存储介质 | |
CN114780195B (zh) | 一种操作可视化方法、装置、设备及存储介质 | |
CN115134167B (zh) | 一种漏洞扫描方法、装置、设备及存储介质 | |
CN112019385B (zh) | 一种云平台组件删除方法、装置、设备及存储介质 | |
CN116467151B (zh) | 一种程序性能信息采集方法、装置、设备及存储介质 | |
CN115022303A (zh) | 一种文件下载方法、装置、设备及介质 | |
CN113641355A (zh) | 一种接口文档生成方法、***及存储介质 | |
CN114996132A (zh) | 一种服务测试方法、装置、设备及存储介质 | |
CN115878175A (zh) | 一种Swagger注解生成方法、装置、设备及存储介质 | |
CN116451791A (zh) | 一种数据推理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |