CN113094236A - 一种系统数据采集方法、装置、计算机设备及存储介质 - Google Patents

一种系统数据采集方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113094236A
CN113094236A CN202110430985.1A CN202110430985A CN113094236A CN 113094236 A CN113094236 A CN 113094236A CN 202110430985 A CN202110430985 A CN 202110430985A CN 113094236 A CN113094236 A CN 113094236A
Authority
CN
China
Prior art keywords
target
data
configuration information
data acquisition
request
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.)
Pending
Application number
CN202110430985.1A
Other languages
English (en)
Inventor
汤慧星
付青松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bo Hongyuan Data Polytron Technologies Inc
Original Assignee
Beijing Bo Hongyuan Data Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Bo Hongyuan Data Polytron Technologies Inc filed Critical Beijing Bo Hongyuan Data Polytron Technologies Inc
Priority to CN202110430985.1A priority Critical patent/CN113094236A/zh
Publication of CN113094236A publication Critical patent/CN113094236A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种系统数据采集方法、装置、计算机设备及存储介质,方法可以应用于Java agent程序,包括:获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;根据所述自定义数据采集配置信息采集目标系统的目标系统数据。本发明实施例的技术方案能够实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性。

Description

一种系统数据采集方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种系统数据采集方法、装置、计算机设备及存储介质。
背景技术
一个系统(包括硬件系统和/或软件系统)通常由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体。
系统在运行过程中,会生成各式各样的数据。在对系统的日常维护中,往往需要对系统中的数据进行采集,以根据采集到的数据对系统进行分析。例如,APM(ApplicationPerformance Monitor,应用性能管理)系统是一种可以帮助理解系统行为、用于分析性能问题的工具,以便在系统发生故障的时候,能够快速定位和解决问题。APM系统可以通过各种探针采集系统数据,收集系统的关键指标,同时搭配数据呈现以实现对应用程序性能管理和故障管理。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:对于已经开放完成或投入运营的系统来说,通常只能根据系统的既定功能完成系统数据的采集。例如,传统的APM系统只能采集系统执行的时间、系统的运行状态以及系统生成的异常数据等类型的系统数据。用户如需通过APM系统采集系统其它感兴趣的系统数据类型,则需要通过对APM系统入侵业务代码的方式,使用开源APM规范的API(Application Program Interface,应用程序接口),来收集系统中满足采集需求的自定义的数据。由此可见,按照系统既定功能收集的系统数据类型过于单一,用户无法根据自己的需求对收集的数据进行配置和管理,数据采集灵活性较差。同时,用户如需采集自定义的数据类型,需要入侵数据采集系统的业务代码,无法专注于数据采集系统的业务功能的开发,导致数据采集效率较低。
发明内容
本发明实施例提供一种系统数据采集方法、装置、计算机设备及存储介质,能够实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性。
第一方面,本发明实施例提供了一种系统数据采集方法,应用于Java agent程序,包括:
获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;
根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
第二方面,本发明实施例还提供了一种系统数据采集装置,配置于Java agent程序,包括:
信息获取模块,用于获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;
数据采集模块,用于根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的系统数据采集方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的系统数据采集方法。
本发明实施例通过Java agent程序获取包括方法数据采集配置信息和/或请求数据采集配置信息的自定义数据采集配置信息,以根据自定义数据采集配置信息采集目标系统的目标系统数据。由于方法数据采集配置信息可以用于采集目标类方法的关联系统数据,请求数据采集配置信息可以用于采集目标请求的关联系统数据,因此,根据自定义数据采集配置信息可以采集目标系统中自定义的目标系统数据,解决现有系统数据采集方法通过入侵系统的业务代码采集自定义数据存在的数据采集效率低和灵活性差等问题,能够实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性。
附图说明
图1是本发明实施例一提供的一种系统数据采集方法的流程图;
图2是本发明实施例二提供的一种系统数据采集方法的流程图;
图3是本发明实施例二提供的一种Java agent程序根据方法数据采集配置信息采集目标系统的目标系统数据的流程示意图;
图4是本发明实施例三提供的一种系统数据采集装置的示意图;
图5为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种系统数据采集方法的流程图,本实施例可适用于在不入侵系统代码的前提下对系统数据进行按需采集的情况,该方法可以应用于Javaagent程序,并由系统数据采集装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中,与用于被采集数据的目标系统配合使用。相应的,如图1所示,该方法包括如下操作:
S110、获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据。
其中,自定义数据采集配置信息可以是用户自定义的配置信息,用于采集用户自定义的系统数据类型。方法数据采集配置信息可以是用户自定义的用于采集指定类方法的系统数据类型的配置信息,目标类方法可以是用户指定的类和/或方法。目标类方法的关联系统数据可以是与指定类和/或方法相关联的数据,如指定类和/或方法的参数、返回值以及类对象的指定操作的返回值等类型的系统数据,本发明实施例并不对目标类方法的关联系统数据的具体类型进行限定。请求数据采集配置信息可以是用户自定义的用于采集目标系统中请求数据类型的配置信息。目标请求可以是用户指定的请求类型,如HTTP(HyperText Transfer Protocol,超文本传输协议)请求等,本发明实施例并不对目标请求的具体请求类型进行限定。目标请求的关联系统数据可以是与目标请求相关联的数据,如目标请求的请求参数或cookies等,本发明实施例同样不对目标请求的关联系统数据的具体数据类型进行限定。
在本发明实施例中,对于已经开发完成的系统或已经投入运营的系统,在采集系统的其他类型的数据时,无需通过用户入侵系统的业务代码。用户可以利用Java agent程序获取包括方法数据采集配置信息和/或请求数据采集配置信息的自定义数据采集配置信息。可以理解的是,在进行系统数据采集之前,用户可以预先配置自定义数据采集配置信息。当用户配置自定义数据采集配置信息之后,Java agent程序可以自动获取自定义数据采集配置信息。
S120、根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
其中,目标系统可以为需要按需进行数据采集的系统。目标系统数据即为目标系统中的某一个或多个类型的,符合用户数据采集需求的系统数据。
相应的,在Java agent程序自动获取自定义数据采集配置信息之后,即可根据获取的自定义数据采集配置信息自动采集目标系统的目标系统数据。
在本发明的一个可选实施例中,所述目标系统可以包括APM系统管理的系统;所述获取自定义数据采集规则,包括:获取用户在所述APM系统的控制台配置的所述自定义数据采集配置信息。
在本发明实施例中,可选的,目标系统可以为APM系统管理的系统,APM系统可以通过各种探针采集目标系统的数据,收集目标系统的关键指标,同时利用采集到的数据,对目标系统实现应用程序性能管理和故障管理。相应的,用户可以在APM系统的控制台配置自定义数据采集配置信息。当用户配置完成自定义数据采集配置信息之后,Java agent程序可以自动从APM系统的控制台获取用户配置的自定义数据采集配置信息,从而根据获取的自定义数据采集配置信息采集目标系统的目标系统数据。可选的,Java agent程序可以集成在目标系统中,也可以集成在APM系统中,本发明实施例对此并不进行限制。
由此可见,本发明实施例所提供的系统数据采集方法,在整个数据采集过程中,用户只需要预先配置用于采集目标系统数据的相关配置信息,而无需入侵目标系统的业务代码,也即用户无需浪费大量时间成本额外开发数据采集的代码程序,使得用户可以专注于目标系统的业务功能的开发,既能够提高系统数据采集的灵活性,而且可以提高系统数据采集的高效性。
本发明实施例通过Java agent程序获取包括方法数据采集配置信息和/或请求数据采集配置信息的自定义数据采集配置信息,以根据自定义数据采集配置信息采集目标系统的目标系统数据。由于方法数据采集配置信息可以用于采集目标类方法的关联系统数据,请求数据采集配置信息可以用于采集目标请求的关联系统数据,因此,根据自定义数据采集配置信息可以采集目标系统中自定义的目标系统数据,解决现有系统数据采集方法通过入侵系统的业务代码采集自定义数据存在的数据采集效率低和灵活性差等问题,能够实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性。
实施例二
图2是本发明实施例二提供的一种系统数据采集方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了自定义数据采集配置信息包括的具体信息内容,同时给出了根据所述自定义数据采集配置信息采集目标系统的目标系统数据的多种具体可选的实现方式。相应的,如图2所示,本实施例的方法可以包括:
S210、获取自定义数据采集配置信息。
在本发明的一个可选实施例中,所述方法数据采集配置信息可以包括目标类方法关联标识、目标类方法匹配规则以及目标数据源对象:所述目标类方法关联标识可以包括目标类关联标识和/或目标方法关联标识;所述目标类方法匹配规则可以包括参数匹配规则和/或返回值匹配规则;所述目标数据源对象可以包括目标参数对象、目标返回值对象或目标属性对象中的至少一种;所述请求数据采集配置信息可以包括目标采集对象;所述目标采集对象可以包括URL(Uniform Resource Locator,统一资源定位符)、请求参数、Cookies、Session(会话控制)、请求对象及请求对象属性中的至少一种。
其中,目标类方法关联标识可以是用户指定类和/或方法的标识,如名称或注解等,本发明实施例并不对目标类方法关联标识的具体标识类型进行限定。目标类关联标识可以是用户指定类的相关标识,目标方法关联标识可以是用户指定方法的相关标识。目标类方法匹配规则可以是目标类方法的匹配规则,用于判断目标系统中的类和/或方法是否为用户指定的目标类方法。参数匹配规则可以是用户对指定的目标参数设置的匹配规则,返回值匹配规则可以是用户对指定的目标返回值设置的匹配规则。可选的,目标类方法匹配规则可以采用正则表达式或模糊匹配规则等,本发明实施例并不对目标类方法匹配规则的具体规则类型进行限定。目标数据源对象可以是目标类方法中生成目标系统数据的数据源对象,如目标类方法中的指定参数或返回值类型,本发明实施例同样不对目标数据源对象的具体数据源对象类型进行限定。目标参数对象也即用户指定的目标参数类型,目标返回值对象也即用户指定的目标返回值类型,目标属性对象可以是目标参数对象和/或目标返回值对象中的某个属性值。请求对象可以是数据请求请求处理的对象,请求对象属性可以是请求对象的某些属性。
可选的,用户可以在系统的控制台(该控制台可以是目标系统的控制台,也可以是目标系统关联的控制台,如APM系统的控制台等)提供的用户自定义数据采集配置模块中针对某个类的某个方法进行数据采集配置,其中可以包括类和方法设置、匹配规则和采集数据配置项,以及单独的请求数据的数据采集配置,并且能配置采集规则适用的请求范围。
可选的,用户在配置方法数据采集配置信息时,具体可以设置目标类方法关联标识、目标类方法匹配规则以及目标数据源对象。其中,目标类方法关联标识可以支持目标类和/或目标方法匹配。示例性的,目标类关联标识可以通过目标类的全类名、相关接口、所属父类以及相关注解等多种方式进行匹配,只要某一类的全类名、相关接口、所属父类以及相关注解中对应存在目标类关联标识即表示目标类匹配成功。目标方法关联标识可以通过完整方法的方式进行匹配,只要某方法的完整的方法名与目标类方法联标识相同即表示目标方法匹配成功。如果存在方法重载情况,则可以通过额外指定方法参数签名来匹配某个重载的方法。同时,用户配置目标类方法匹配规则时,可以设置目标参数和/或目标返回值的匹配规则,同时设置收集参数对象、返回值对象或者对象的某个属性值作为目标数据源对象。
可选的,用户在配置请求数据采集配置信息时,具体可以设置一个或多个请求数据的目标采集对象,请求数据的目标采集对象可以包括但不限于URL、请求参数、Cookies、Session、请求对象及请求对象属性中的至少一种。
S220、判断自定义数据采集配置信息是否仅包括方法数据采集配置信息,若是,则执行S230,否则执行S270。
相应的,Java agent程序在获取自定义数据采集配置信息之后,可以分析自定义数据采集配置信息的信息类型。如果Java agent程序确定自定义数据采集配置信息中仅包括方法数据采集配置信息,则可以仅根据方法数据采集配置信息采集目标系统的目标系统数据。
S230、获取所述方法数据采集配置信息中的目标类关联标识。
可以理解的是,类中包含属性和方法。因此,目标方法关联标识也对应一个目标类关联标识。
S240、在目标虚拟机中重新加载所述目标类关联标识对应的目标类方法。
其中,目标虚拟机可以用于重新加载目标类关联标识,目标虚拟机的类型例如可以是JVM(java虚拟机)等。本发明实施例并不对目标虚拟机的类型进行限定。
图3是本发明实施例二提供的一种Java agent程序根据方法数据采集配置信息采集目标系统的目标系统数据的流程示意图。在一个具体的例子中,如图3所示,Java agent程序仅根据方法数据采集配置信息采集目标系统的目标系统数据时,可以获取方法数据采集配置信息中的目标类关联标识,并在目标虚拟机中重新加载目标类关联标识对应的目标类方法,以使目标类关联标识对应的目标类和/或目标方法重新加载运行。
S250、在确定重新加载的所述目标类方法与所述目标类方法匹配规则相匹配的情况下,根据数据采集程序对所述目标类方法的目标数据源对象执行数据采集逻辑插码操作。
其中,所述待匹配类方法关联标识可以包括待匹配类关联标识和/或待匹配方法关联标识。其中,待匹配类关联标识可以是需要与目标类方法匹配规则进行匹配的类的相关标识,可以包括但不限于类的全类名、相关接口、所属父类以、相关注解以及方法的完整方法名等。数据采集程序可以是Java agent程序中设置的用于采集目标系统数据的子程序。
如图3所示,Java agent程序在目标虚拟机中重新加载目标类和/或目标方法之后,可以继续判断重新加载的目标类和/或目标方法与用户预设的目标类方法匹配规则是否相匹配。在确定重新加载的目标类方法与目标类方法匹配规则相匹配时,Java agent程序可以触发数据采集程序,利用数据采集程序对目标类方法的目标数据源对象执行数据采集逻辑插码操作。所谓数据采集逻辑插码操作也即对匹配的目标类方法插入一段功能代码,该功能代码可以实现数据采集逻辑功能。相应的,如果确定重新加载的目标类方法与目标类方法匹配规则不匹配,则Java agent程序可以拒绝执行数据采集逻辑插码操作。
由此可见,通过Java agent程序自动进行插码操作实现数据采集逻辑的调用,可以实现目标系统数据的自动采集,而无需用户手动修改业务代码。
在本发明的一个可选实施例中,所述确定重新加载的所述目标类方法与所述目标类方法匹配规则相匹配,可以包括:获取所述目标类方法对应的待匹配参数;在确定所述待匹配参数满足所述参数匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配;和/或,获取所述目标类方法对应的待匹配返回值;在确定所述待匹配返回值满足所述返回值匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配。
其中,待匹配参数可以是目标类方法所涉及到的全部的参数。待匹配返回值可以是目标类方法所涉及到的全部的返回值。
可选的,由于目标类方法匹配规则可以配置为包括参数匹配规则和/或返回值匹配规则。因此,Java agent程序在判断重新加载的目标类方法与目标类方法匹配规则是否相匹配时,可以获取目标类方法对应的待匹配参数,并对每个待匹配参数与参数匹配规则一一进行匹配。如果待匹配参数中存在一个或多个参数类型满足参数匹配规则,则表明目标类方法与目标类方法匹配规则匹配。和/或,Java agent程序还可以获取目标类方法对应的待匹配返回值,并对每个待匹配返回值与返回值匹配规则一一进行匹配。如果待匹配返回值中存在一个或多个返回值类型满足返回值匹配规则,则表明目标类方法与目标类方法匹配规则匹配。示例性的,当目标方法中的至少一个参数和/或返回值为目标类方法匹配规则规定的目标数据源对象时,则确定该目标方法与目标类方法匹配规则相匹配。当目标方法中的全部参数和全部返回值均不是目标类方法匹配规则规定的目标数据源对象,则确定该目标方法与目标类方法匹配规则不匹配。
S260、根据所述数据采集程序自动采集所述目标系统的所述目标系统数据。
相应的,在Java agent程序确定重新加载的目标类方法与目标类方法匹配规则相匹配,且执行了数据采集逻辑插码操作之后,即可根据数据采集程序自动采集目标系统的目标系统数据。
S270、判断自定义数据采集配置信息是否仅包括请求数据采集配置信息,若是,则执行S280,否则执行S2A0。
在本发明实施例中,如果Java agent程序确定自定义数据采集配置信息中仅包括请求数据采集配置信息,则可以仅根据请求数据采集配置信息采集目标系统的目标系统数据。
S280、获取所述请求数据采集配置信息中的所述目标采集对象以及所述目标系统的全局请求数据。
其中,全局请求数据可以是目标系统中全部数据请求对应的请求数据。
在本发明实施例中,Java agent程序仅根据请求数据采集配置信息采集目标系统的目标系统数据时,可以首先获取请求数据采集配置信息中配置的目标采集对象以及目标系统的全局请求数据。
S290、在确定所述全局请求数据中存在所述目标采集对象的目标采集数据的情况下,采集所述目标采集数据,将所述目标采集数据作为所述目标系统数据。
相应的,Java agent程序可以对目标系统的全局请求数据进行一一匹配判断,如果确定全局请求数据中存在目标采集对象的目标采集数据的类型,则可以采集全局请求数据中的目标采集数据,并将采集到的目标采集数据作为目标系统数据。
可选的,用户还可以在请求数据采集配置信息中设置目标采集数据生效的请求范围,例如配置在/myload/collection请求下生效,则Java agent程序仅采集/myload/collection请求下的数据。
S2A0、根据方法数据采集配置信息和请求数据采集配置信息同时采集目标系统的目标系统数据。
在本发明实施例中,如果Java agent程序确定自定义数据采集配置信息中既包括方法数据采集配置信息,又包括请求数据采集配置信息,则可以同时根据请求方法数据采集配置信息和请求数据采集配置信息共同采集目标系统的目标系统数据。其中,同时根据请求方法数据采集配置信息和请求数据采集配置信息共同采集目标系统的目标系统数据时,可以分别采用上述根据方法数据采集配置信息采集目标系统数据和根据请求数据采集配置信息采集目标系统数据的方式并行执行。
需要说明的是,图2仅是一种实现方式的示意图,步骤S220-S260与步骤S270-S290之间并没有先后执行顺序。可以先执行步骤S220-S260,再执行步骤S270-S290,或者也可以先执行步骤S270-S290,再执行步骤S220-S260,或者也还可以两者并行执行。
在本发明的一个可选实施例中,在所述根据所述自定义数据采集配置信息采集目标系统的目标系统数据之后,还可以包括:将所述目标系统数据发送至所述目标系统的数据服务器,以通过所述数据服务器对所述目标系统数据与所述目标系统的数据调用线程建立关联关系,并根据所述关联关系对所述目标系统数据进行管理;其中,所述数据调用线程包括调用链路和/或线程快照。
其中,数据服务器可以是目标系统的后台服务器,用于对目标系统的相关数据进行处理。数据调用线程可以是数据服务器调用目标系统的相关数据的线程。调用链路可以是目标系统调用数据的链路,如APM系统中的调用链等。线程快照可以是目标系统中线程执行的快照,同样可以调用目标系统的数据。
当Java agent程序采集到目标系统数据之后,还可以将目标系统数据发送至目标系统的数据服务器。数据服务器接收到目标系统数据后,可以对目标系统数据与目标系统的数据调用线程之间建立关联关系,以根据建立的关联关系对目标系统数据进行管理。
以APM系统管理的系统作为目标系统为例说明,Java agent程序可以将目标系统数据发送至数据服务器进行分析处理。具体的,数据服务器接收到目标系统数据后,将目标系统数据的业务名与APM系统生成的traceID(全链路追踪)或线程快照进行关联。例如,在traceID或线程快照中配置新的字段,该字段可以为目标系统数据的数据标识,用于标识目标系统数据的业务名。在数据服务器将目标系统数据的业务名与APM系统生成的traceID或线程快照进行关联之后,数据服务器可以通过数据调用线程调用目标系统数据进行分析处理。例如,数据服务器通过数据调用线程调用目标系统数据至控制台进行显示。用户则可以在控制台侧对显示的目标系统数据执行查看、编辑或其他处理等。
综上所述,本发明实施例所提供的系统数据采集方法可以支持用户动态配置自定义数据采集配置信息,当自定义数据采集配置信息中存在方法数据采集配置信息时,可以通过Java agent程序根据用户动态配置的信息对符合配置规则的目标类和/或目标方法进行重新插码,生成对应的数据采集方法。当自定义数据采集配置信息中存在请求数据采集配置信息时,可以采集设定范围内的请求数据类型,从而实现自动采集目标系统的目标系统数据。整个数据采集过程只需用户预先配置自定义数据采集配置信息即可,无需用户手动修改目标系统的业务代码,可以有效减少人力时间成本,实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性,有助于用户动态的及时的了解目标系统的系统运行状态及系统运行数据。
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
实施例三
图4是本发明实施例三提供的一种系统数据采集装置的示意图,如图4所示,所述装置包括:信息获取模块310和数据采集模块320,其中:
信息获取模块310,用于获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;
数据采集模块320,用于根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
本发明实施例通过Java agent程序获取包括方法数据采集配置信息和/或请求数据采集配置信息的自定义数据采集配置信息,以根据自定义数据采集配置信息采集目标系统的目标系统数据。由于方法数据采集配置信息可以用于采集目标类方法的关联系统数据,请求数据采集配置信息可以用于采集目标请求的关联系统数据,因此,根据自定义数据采集配置信息可以采集目标系统中自定义的目标系统数据,解决现有系统数据采集方法通过入侵系统的业务代码采集自定义数据存在的数据采集效率低和灵活性差等问题,能够实现在不入侵系统代码的前提下对系统数据进行按需采集,从而提高系统数据采集的灵活性和高效性。
可选的,所述方法数据采集配置信息包括目标类方法关联标识、目标类方法匹配规则以及目标数据源对象:所述目标类方法关联标识包括目标类关联标识和/或目标方法关联标识;所述目标类方法匹配规则包括参数匹配规则和/或返回值匹配规则;所述目标数据源对象包括目标参数对象、目标返回值对象或目标属性对象中的至少一种;所述请求数据采集配置信息包括目标采集对象;所述目标采集对象包括统一资源定位符URL、请求参数、Cookies、会话控制Session、请求对象及请求对象属性中的至少一种。
可选的,若所述自定义数据采集配置信息包括方法数据采集配置信息,则数据采集模块320具体用于:获取所述方法数据采集配置信息中的目标类关联标识;在目标虚拟机中重新加载所述目标类关联标识对应的目标类方法;在确定重新加载的所述目标类方法与所述目标类方法匹配规则相匹配的情况下,根据数据采集程序对所述目标类方法的目标数据源对象执行数据采集逻辑插码操作;根据所述数据采集程序自动采集所述目标系统的所述目标系统数据。
可选的,数据采集模块320具体用于:获取所述目标类方法对应的待匹配参数;在确定所述待匹配参数满足所述参数匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配;和/或,获取所述目标类方法对应的待匹配返回值;在确定所述待匹配返回值满足所述返回值匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配。
可选的,若所述自定义数据采集配置信息包括请求数据采集配置信息,则数据采集模块320具体用于:获取所述请求数据采集配置信息中的所述目标采集对象以及所述目标系统的全局请求数据;在确定所述全局请求数据中存在所述目标采集对象的目标采集数据的情况下,采集所述目标采集数据,将所述目标采集数据作为所述目标系统数据。
可选的,系统数据采集装置还可以包括目标系统数据发送模块,用于将所述目标系统数据发送至所述目标系统的数据服务器,以通过所述数据服务器对所述目标系统数据与所述目标系统的数据调用线程建立关联关系,并根据所述关联关系对所述目标系统数据进行管理;其中,所述数据调用线程包括调用链路和/或线程快照。
可选的,所述目标系统包括APM系统管理的系统;信息获取模块310具体用于:获取用户在所述APM系统的控制台配置的所述自定义数据采集配置信息。
上述系统数据采集装置可执行本发明任意实施例所提供的系统数据采集方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的系统数据采集方法。
由于上述所介绍的系统数据采集装置为可以执行本发明实施例中的系统数据采集方法的装置,故而基于本发明实施例中所介绍的系统数据采集方法,本领域所属技术人员能够了解本实施例的系统数据采集装置的具体实施方式以及其各种变化形式,所以在此对于该系统数据采集装置如何实现本发明实施例中的系统数据采集方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中系统数据采集方法所采用的装置,都属于本申请所欲保护的范围。
实施例四
图5为本发明实施例四提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明实施例所提供的系统数据采集方法:获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
实施例五
本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的系统数据采集方法:获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable Read OnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种系统数据采集方法,其特征在于,应用于Java代理agent程序,包括:
获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;
根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
2.根据权利要求1所述的方法,其特征在于,所述方法数据采集配置信息包括目标类方法关联标识、目标类方法匹配规则以及目标数据源对象:所述目标类方法关联标识包括目标类关联标识和/或目标方法关联标识;所述目标类方法匹配规则包括参数匹配规则和/或返回值匹配规则;所述目标数据源对象包括目标参数对象、目标返回值对象或目标属性对象中的至少一种;
所述请求数据采集配置信息包括目标采集对象;所述目标采集对象包括统一资源定位符URL、请求参数、Cookies、会话控制Session、请求对象及请求对象属性中的至少一种。
3.根据权利要求2所述的方法,其特征在于,若所述自定义数据采集配置信息包括方法数据采集配置信息,则所述根据所述自定义数据采集配置信息采集目标系统的目标系统数据,包括:
获取所述方法数据采集配置信息中的目标类关联标识;
在目标虚拟机中重新加载所述目标类关联标识对应的目标类方法;
在确定重新加载的所述目标类方法与所述目标类方法匹配规则相匹配的情况下,根据数据采集程序对所述目标类方法的目标数据源对象执行数据采集逻辑插码操作;
根据所述数据采集程序自动采集所述目标系统的所述目标系统数据。
4.根据权利要求3所述的方法,其特征在于,所述确定重新加载的所述目标类方法与所述目标类方法匹配规则相匹配,包括:
获取所述目标类方法对应的待匹配参数;
在确定所述待匹配参数满足所述参数匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配;和/或
获取所述目标类方法对应的待匹配返回值;
在确定所述待匹配返回值满足所述返回值匹配规则的情况下,确定所述目标类方法与所述目标类方法匹配规则匹配。
5.根据权利要求2所述的方法,其特征在于,若所述自定义数据采集配置信息包括请求数据采集配置信息,则所述根据所述自定义数据采集配置信息采集目标系统的目标系统数据,包括:
获取所述请求数据采集配置信息中的所述目标采集对象以及所述目标系统的全局请求数据;
在确定所述全局请求数据中存在所述目标采集对象的目标采集数据的情况下,采集所述目标采集数据,将所述目标采集数据作为所述目标系统数据。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述自定义数据采集配置信息采集目标系统的目标系统数据之后,还包括:
将所述目标系统数据发送至所述目标系统的数据服务器,以通过所述数据服务器对所述目标系统数据与所述目标系统的数据调用线程建立关联关系,并根据所述关联关系对所述目标系统数据进行管理;
其中,所述数据调用线程包括调用链路和/或线程快照。
7.根据权利要求1-6任一所述的方法,其特征在于,所述目标系统包括应用性能管理APM系统管理的系统;
所述获取自定义数据采集规则,包括:
获取用户在所述APM系统的控制台配置的所述自定义数据采集配置信息。
8.一种系统数据采集装置,其特征在于,配置于Java agent程序,包括:
信息获取模块,用于获取自定义数据采集配置信息;其中,所述自定义数据采集配置信息包括方法数据采集配置信息和/或请求数据采集配置信息,所述方法数据采集配置信息用于采集目标类方法的关联系统数据,所述请求数据采集配置信息用于采集目标请求的关联系统数据;
数据采集模块,用于根据所述自定义数据采集配置信息采集目标系统的目标系统数据。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的系统数据采集方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的系统数据采集方法。
CN202110430985.1A 2021-04-21 2021-04-21 一种系统数据采集方法、装置、计算机设备及存储介质 Pending CN113094236A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110430985.1A CN113094236A (zh) 2021-04-21 2021-04-21 一种系统数据采集方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110430985.1A CN113094236A (zh) 2021-04-21 2021-04-21 一种系统数据采集方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN113094236A true CN113094236A (zh) 2021-07-09

Family

ID=76679113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110430985.1A Pending CN113094236A (zh) 2021-04-21 2021-04-21 一种系统数据采集方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113094236A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485686A (zh) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质
CN114356176A (zh) * 2021-12-30 2022-04-15 中国民航信息网络股份有限公司 一种数据采集方法、采集系统、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119899A (zh) * 2015-07-17 2015-12-02 世纪龙信息网络有限责任公司 非入侵式客户端运行时数据采集方法与系统
CN105278996A (zh) * 2015-11-03 2016-01-27 亚信科技(南京)有限公司 一种日志采集方法、装置及日志服务系统
CN108471366A (zh) * 2018-02-02 2018-08-31 深圳市康拓普信息技术有限公司 一种面向云原生应用的立体监控系统
CN109445878A (zh) * 2018-10-12 2019-03-08 北京宝兰德软件股份有限公司 在运行时对Java类进行注入的方法及装置
CN110232007A (zh) * 2019-05-21 2019-09-13 昆明能讯科技有限责任公司 一种基于apm技术的电力企业信息业务监控方法
CN110806931A (zh) * 2019-10-31 2020-02-18 上海依图网络科技有限公司 分布式服务的调用链路跟踪实现方法、装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119899A (zh) * 2015-07-17 2015-12-02 世纪龙信息网络有限责任公司 非入侵式客户端运行时数据采集方法与系统
CN105278996A (zh) * 2015-11-03 2016-01-27 亚信科技(南京)有限公司 一种日志采集方法、装置及日志服务系统
CN108471366A (zh) * 2018-02-02 2018-08-31 深圳市康拓普信息技术有限公司 一种面向云原生应用的立体监控系统
CN109445878A (zh) * 2018-10-12 2019-03-08 北京宝兰德软件股份有限公司 在运行时对Java类进行注入的方法及装置
CN110232007A (zh) * 2019-05-21 2019-09-13 昆明能讯科技有限责任公司 一种基于apm技术的电力企业信息业务监控方法
CN110806931A (zh) * 2019-10-31 2020-02-18 上海依图网络科技有限公司 分布式服务的调用链路跟踪实现方法、装置及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485686A (zh) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质
CN113485686B (zh) * 2021-07-22 2023-10-20 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质
CN114356176A (zh) * 2021-12-30 2022-04-15 中国民航信息网络股份有限公司 一种数据采集方法、采集系统、设备及介质

Similar Documents

Publication Publication Date Title
US9317259B2 (en) Apparatus, system, and method for automatically generating a reusable software component for interfacing with a web service
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
CN107370806B (zh) Http状态码监控方法、装置、存储介质和电子设备
CN110674025B (zh) 交互行为监测方法、装置以及计算机设备
US8572625B2 (en) Method and system for application migration using per-application persistent configuration dependency
WO2021208512A1 (zh) 用户界面的控件信息的获取方法、装置、终端及存储介质
CN109947635B (zh) 一种数据上报方法、装置、存储介质及终端设备
CN111752843B (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
CN113094236A (zh) 一种系统数据采集方法、装置、计算机设备及存储介质
CN112994982A (zh) 一种云真机的抓包控制方法、装置、系统及存储介质
CN110677307B (zh) 一种服务监测方法、装置、设备和存储介质
CN106815150B (zh) 服务端接口测试系统及方法
CN113312036B (zh) Web页面的大屏显示方法、装置、设备及存储介质
CN109597996B (zh) 一种语义解析方法、装置、设备和介质
CN107861821B (zh) 模块调用关系的挖掘方法、装置及计算机可读介质
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN109144864B (zh) 用于测试窗口的方法及装置
CN115022201B (zh) 一种数据处理功能测试方法、装置、设备及存储介质
KR100930962B1 (ko) 알피씨 기반 소프트웨어의 원격지 보안 테스팅 장치 및방법
CN109710487A (zh) 一种监控方法和装置
CN114238391A (zh) 数据分页查询方法、装置、电子设备及存储介质
CN113377610A (zh) 性能监测方法、装置、计算机设备及存储介质
CN114816914A (zh) 基于Kubernetes的数据处理方法、设备及介质
CN111741046B (zh) 数据上报方法、获取方法、装置、设备及介质
CN109062797B (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