异构应用数据采集方法及装置与流程

文档序号:12477718阅读:612来源:国知局
异构应用数据采集方法及装置与流程

本发明涉及数据处理领域,具体地,涉及一种异构应用数据采集方法及装置。



背景技术:

为了了解终端或应用的性能,服务商通常需要使用应用监控探针对不同终端或服务器上的应用数据进行采集。

随着技术的发展,语言不同的应用、系统越来越多。这就导致要采集的数据可能来源于异构的应用或系统。例如,要采集的数据来源可能是语言为JAVA、PHP等的应用,要采集的数据可能为CPU使用率、Java非堆内存使用率等。因此,需要使用不同语言编译而成的不同的应用监控探针来探取数据。例如,java编写的应用监控探针、C编写的应用监控探针、PHP编写的应用监控探针、C#编写的应用监控探针等。

然而,使用不同语言编译而成的应用监控探针所探取到的数据的数据格式各不相同,并且与采集端能够接受的数据格式也不同,导致采集端无法获得这些不同的应用监控探针探取到的数据。



技术实现要素:

有鉴于此,本发明的目的是提供一种异构应用数据采集方法及装置,以实现从不同的应用监控探针得到采集端能够接受的数据的目的。

在本发明实施例的第一个方面中,提供了一种异构应用数据采集方法。该方法可以应用于服务器侧,所述服务器侧预置有不同应用监控探针分别对应的配置文件,以及,预置有不同数据格式分别对应的数据解析器,其中,所述配置文件中至少包含采集指标名称。该方法可以包括:接收应用监控探针探取到的第一格式数据;从所述应用监控探针对应的配置文件中,读取出采集指标名称;根据所述第一格式数据对应的数据格式,采取所述数据格式对应的数据解析器,从所述第一格式数据中解析出所述采集指标名称对应的监控数据;将所述监控数据处理为采集端所需的格式,得到第二格式数据。

可选地,所述配置文件中还包含所述采集指标名称对应的数据类型。该方法还包括:根据所述采集指标名称对应的数据类型,对所述采集指标名称对应的监控数据的数据类型是否正确进行检验。

可选地,该方法还包括:判断所述监控数据中是否存在满足预设异常条件的异常数据;在存在的情况下,将所述监控数据中满足预设异常条件的异常数据清除,或者,重置为预设正常数据。

可选地,所述将所述监控数据处理为所述采集端所需的格式,得到第二格式数据包括:利用预置的聚合算法,对多个采集指标名称对应的监控数据进行聚合,得到所述多个采集指标名称对应的一个聚合指标;将所述聚合指标封装为所述采集端所需的格式,得到第二格式数据。

可选地,该方法还包括:将所述第二格式数据发送给所述采集端,以便所述采集端将所述第二格式数据存入数据库。

在本发明实施例的第二个方面中,提供了一种异构应用数据采集装置。该装置配置于服务器侧,所述服务器侧预置有不同应用监控探针分别对应的配置文件,以及,预置有不同数据格式分别对应的数据解析器,其中,所述配置文件中至少包含采集指标名称。该装置包括:数据接收模块,被配置为接收应用监控探针探取到的第一格式数据。指标名称读取模块,被配置为从所述应用监控探针对应的配置文件中,读取出采集指标名称。解析模块,被配置为根据所述数据接收模块接收的第一格式数据对应的数据格式,采取所述数据格式对应的数据解析器,从所述第一格式数据中解析出所述指标名称读取模块读取出的采集指标名称对应的监控数据。数据处理模块,被配置为将所述解析模块解析出的监控数据处理为采集端所需的格式,得到第二格式数据。

可选地,所述配置文件中还包含所述采集指标名称对应的数据类型。该装置还包括:检验模块,被配置为根据所述指标名称读取模块读取出的采集指标名称对应的数据类型,对所述解析模块解析出的所述采集指标名称对应的监控数据的数据类型是否正确进行检验。

可选地,该装置还包括:异常判断模块,被配置为判断所述解析模块解析出的监控数据中是否存在满足预设异常条件的异常数据。重置模块,被配置为在所述异常判断模块判定存在的情况下,将所述监控数据中满足预设异常条件的异常数据清除,或者,重置为预设正常数据。

可选地,所述数据处理模块包括:聚合子模块,被配置为利用预置的聚合算法,对所述解析模块解析出的、多个采集指标名称对应的监控数据进行聚合,得到所述多个采集指标名称对应的一个聚合指标。封装子模块,被配置为将所述聚合指标封装为所述采集端所需的格式,得到第二格式数据。

可选地,该装置还包括:发送模块,被配置为将所述数据处理模块得到的第二格式数据发送给所述采集端,以便所述采集端将所述第二格式数据存入数据库。

由于本发明实施例提供的方法在服务器侧预置有不同应用监控探针分别对应的配置文件,以及,预置有不同数据格式分别对应的数据解析器,接收应用监控探针探取到的第一格式数据,从应用监控探针对应的配置文件中,读取出采集指标名称,根据第一格式数据对应的数据格式,采取对应的数据解析器,从第一格式数据中解析出采集指标名称对应的监控数据,将监控数据封装为采集端所需的格式,得到第二格式数据,因此,针对不同语言的应用监控探针实现不同的接口,跨不同语言的应用监控探针通信,从而能够从不同应用监控探针得到采集端能够接受的数据。

本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是根据一示例性实施例示出的实施环境示意图。

图2是根据本发明的一示例性实施例示出的一种异构应用数据采集方法的流程图。

图3是根据本发明另一示例性实施例示出的一种异构应用数据采集方法的流程图。

图4是根据本发明的一示例性实施例示出的一种异构应用数据采集装置的框图。

图5是根据本发明的另一示例性实施例示出的一种异构应用数据采集装置的框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

图1是根据一示例性实施例示出的实施环境示意图。该实施环境包括:多个不同的应用监控探针101、根据本发明实施例提供的异构应用数据采集方法实现的适配器102、采集端103、数据库104、以及数据展现平台105。其中,适配器102、采集端103、数据库104、以及数据展现平台105可以布置在服务器侧,多个不同的应用监控探针101可以布置在需要被监控的终端侧或服务器侧,其中,至少两个应用监控探针不在同一设备上。其中,适配器102,接收应用监控探针探取到的数据,将从各个应用监控探针101数据进行提取等处理后,得到符合采集端103所需格式的数据,并将符合采集端103所需格式的数据发送给采集端103。采集端103,将该数据存入数据库104,以便在需要时数据展现平台105可以从数据库104取出该数据并进行展示。

可以理解的是,图1所示实施环境仅用于示意本发明实施例提供的方法,并不构成对本发明实施例的限制。

图2是根据本发明的一示例性实施例示出的一种异构应用数据采集方法的流程图。该方法可以应用于服务器侧。例如,根据本发明实施例提供的方法实现的适配器可以预置有不同应用监控探针分别对应的配置文件,以及,预置有不同数据格式分别对应的数据解析器,其中,所述配置文件中至少包含采集指标名称。该方法可以包括:

在步骤210中,接收应用监控探针探取到的第一格式数据。

例如,所述应用监控探针可以为配置于不同终端或服务器上的MULL探针、JVM探针、消息中间件探针、数据库探针、应用服务器探针、网络嗅探器探针、.NET应用探针、PHP应用探针、JAVA应用探针、WINDOWS主机探针、Linux主机探针、等等。所述第一格式数据例如可以为,json格式的数据、xml格式的数据、文本格式的数据等等。

在步骤220中,从所述应用监控探针对应的配置文件中,读取出采集指标名称。

例如,可以在所述适配器启动的过程中,加载所有的配置文件。以JAVA应用监控探针为例,该应用监控探针对应的对应配置文件中的采集指标名称可以包括:在线用户、吞吐量、平均响应时间、健康度、工作负荷、用户体验、活跃线程、可用性、物理内存使用率、java内存使用率、cpu使用率、等等。

在步骤230中,根据所述第一格式数据对应的数据格式,采取所述数据格式对应的数据解析器,从所述第一格式数据中解析出所述采集指标名称对应的监控数据。

一种可能的实施方式中,可以根据用于传输该第一格式数据的响应头文件,获知该第一格式数据对应的数据格式。该响应头文件中可以包含对数据格式的定义。例如,所述第一格式数据的数据格式可以为json、xml、文本、等等,进而选择相应的xml数据解析器、json解析器、文本解析器、等等来完成监控数据的解析。

在步骤240中,将所述监控数据处理为采集端所需的格式,得到第二格式数据。

一种可能的实施方式中,可以将所述第二格式数据发送给所述采集端,以便所述采集端将所述第二格式数据存入数据库。或者,也可以将所述第二格式数据缓存在指定存储区域,由采集端自行到该指定存储区域进行读取。

一种可能的实施方式中,可以直接将监控数据封装为采集端所需的格式,得到第二格式数据。另一种可能的实施方式中,为了减少发往采集端的数据量,减轻运维人员阅读大量监控数据的压力,本发明实施例的方法可以利用预置的聚合算法,对多个采集指标名称对应的监控数据进行聚合,得到所述多个采集指标名称对应的一个聚合指标,将所述聚合指标封装为所述采集端所需的格式,得到第二格式数据。

例如,可以将CPU使用率,物理内存使用率,java堆内存使用率、Java非堆内存使用率,交换空间,吞吐量等等聚合成为一个影响应用工作负荷的聚合指标。将该影响应用工作负荷的聚合指标封装为采集端所需的格式,得到第二格式数据。例如,可以将一封装为JSON格式。

其中,所述聚合算法可以根据实际需要设置,本发明对此并不进行限制。例如,可以为待聚合的每一类监控数据设置对应的权重,将每一类监控数据对应的数值(如,在线用户数量、吞吐量、平均响应时间、等等)与其对应的权重相乘,得到每一类监控数据对应的指标分量,将待聚合的多个监控数据对应的指标分量相加,得到聚合指标。

可见,本发明实施例提供的方法能够针对不同语言的应用监控探针实现不同的接口,跨不同语言的应用监控探针通信,使采集端能够获得不同应用监控探针探取到的数据。

为了避免由于错误数据导致系统崩溃,本发明实施例还可以对监控数据进行校验、清洗。下面,结合图3所示的另一示例性实施例示出的一种异构应用数据采集方法的流程图,对该实施方式进行详细说明。

在步骤310中,接收应用监控探针探取到的第一格式数据。

在步骤320中,从所述应用监控探针对应的配置文件中,读取出采集指标名称。

在步骤330中,根据所述第一格式数据对应的数据格式,采取所述数据格式对应的数据解析器,从所述第一格式数据中解析出所述采集指标名称对应的监控数据。

在步骤331中,根据采集指标名称对应的数据类型,对所述监控数据的数据类型是否正确进行检验。在该实施方式中,所述配置文件中还可以包含所述采集指标名称对应的数据类型。

例如,可以判断所述监控数据的数据类型是否符合对应的采集指标名称对应的数据类型,在不符合的情况下,将所述监控数据的数据类型转换为对应的采集指标名称对应的数据类型,或者,反馈数据错误。

例如,配置文件中,某个采集指标名称对应的数据类型可以为String(字符型)、boolean(布尔型),long(长整型)等。假设配置文件中对“主机连通性”这一采集指标名称定义的数据类型为boolean型,在该采集指标名称“主机连通性”对应的监控数据中出现其他值,例如,“others”、“null”等,则可以将“others”、“null”替换为布尔型的“false”。再假设配置文件中对某些采集指标名称(如“磁盘使用率”等)定义的数据类型为百分比,在该采集指标名称对应的监控数据中出现其他值,则将这些值转换为百分比数据类型来表示,在该采集指标名称对应的监控数据超过百分比或者是复数,则代表监控数据存在问题,可以进一步向反馈错误。

在步骤332中,判断所述监控数据中是否存在满足预设异常条件的异常数据。

其中,所述预设异常条件,可以根据实际情况进行设置,本发明对此并不进行限制。例如,对于某些监控数据,其值小于零时是异常的,则可以将预设异常条件设置为“监控数据小于零”。

在步骤333中,在存在的情况下,将所述监控数据中满足预设异常条件的异常数据清除,或者,重置为预设正常数据。

在清除或者重置之后,可以进入步骤340。另外,在步骤332判定监控数据中不存在满足预设异常条件的异常数据的情况下,也进入步骤340。

例如,对于某些监控数据,例如,其值小于零时,满足预设异常条件,则可以将该监控数据清除,或者,将其值重置为预设正常数据。其中预设正常数据,可以根据实际情况进行设置,本发明对此并不进行限制。例如,对于某些监控数据异常时,可以重置为预设正常数据“0”。

在步骤340中,将所述监控数据处理为采集端所需的格式,得到第二格式数据。

可见,本发明实施例提供的方法在服务器侧将各个应用监控探针探取到的数据进行提取、格式转换,从而能够跨不同语言的应用监控探针通信,使采集端获得不同应用监控探针探取到的数据,而且通过校验,避免了错误数据所导致的程序崩溃,通过聚合指标,能够帮助运维人员快速定位应用性能问题。

图4是根据本发明的一示例性实施例示出的一种异构应用数据采集装置400的框图。该装置可以配置于服务器侧。其中,服务器侧可以预置有不同应用监控探针分别对应的配置文件,以及,预置有不同数据格式分别对应的数据解析器,其中,所述配置文件中至少包含采集指标名称。该装置可以包括:数据接收模块410、指标名称读取模块420、解析模块430、以及数据处理模块440。

该数据接收模块410,可以被配置为接收应用监控探针探取到的第一格式数据。

该指标名称读取模块420,可以被配置为从所述应用监控探针对应的配置文件中,读取出采集指标名称。

该解析模块430,可以被配置为根据所述数据接收模块410接收的第一格式数据对应的数据格式,采取所述数据格式对应的数据解析器,从所述第一格式数据中解析出所述指标名称读取模块420读取出的采集指标名称对应的监控数据。

该数据处理模块440,可以被配置为将所述解析模块430解析出的监控数据处理为采集端所需的格式,得到第二格式数据。

可见,本发明实施例提供的装置能够针对不同语言的应用监控探针实现不同的接口,跨不同语言的应用监控探针通信,使采集端能够获得不同应用监控探针探取到的数据。

为了避免由于错误数据导致系统崩溃,本发明实施例还可以对监控数据进行校验、清洗。下面,结合图5所示的另一示例性实施例示出的一种异构应用数据采集装置的框图,对该实施方式进行详细说明。

如图5所示,该装置还包括:检验模块450,可以被配置为根据所述指标名称读取模块420读取出的采集指标名称对应的数据类型,对所述解析模块430解析出的所述采集指标名称对应的监控数据的数据类型是否正确进行检验。该实施方式中,所述配置文件中还可以包含所述采集指标名称对应的数据类型。

另一种可能的实施方式中,该装置还可以包括:异常判断模块460,被配置为判断所述解析模块430解析出的监控数据中是否存在满足预设异常条件的异常数据。重置模块461,被配置为在所述异常判断模块460判定存在的情况下,将所述监控数据中满足预设异常条件的异常数据清除,或者,重置为预设正常数据。

一种可能的实施方式中,为了减少发往采集端的数据量,减轻运维人员阅读大量监控数据的压力,本发明实施例装置的数据处理模块440可以包括:聚合子模块441,可以被配置为利用预置的聚合算法,对所述解析模块430解析出的、多个采集指标名称对应的监控数据进行聚合,得到所述多个采集指标名称对应的一个聚合指标。封装子模块442,可以被配置为将所述聚合指标封装为所述采集端所需的格式,得到第二格式数据。

一种可能的实施方式中,该装置还可以包括:发送模块470,可以被配置为将所述数据处理模块440得到的第二格式数据发送给所述采集端,以便所述采集端将所述第二格式数据存入数据库。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1