掌桥专利:专业的专利平台
掌桥专利
首页

对数据执行链路监控的方法、系统、装置、设备及介质

文献发布时间:2024-04-18 19:58:30


对数据执行链路监控的方法、系统、装置、设备及介质

技术领域

本发明涉及大数据业务技术领域,具体涉及一种对数据执行链路监控的监控方法、系统及装置。

背景技术

HDFS(Hadoop Distributed File System,分布式系统基础架构分布式文件系统)是大数据业务的底层存储服务,也是大数据平台最为基础的依赖组件。如果HDFS服务异常,会导致数据丢失、上层业务大面积终止等一系列严重后果。由于HDFS服务中任务请求的处理流程复杂,因此难以对HDFS请求执行链路进行监控,难以获取HDFS完整链路信息、追溯HDFS服务异常的根源、识别异常情况并对异常情况进行告警。

现有技术通过排查日志记录对HDFS请求执行链路进行监控。然而,由于日志记录信息杂乱,排查过程会占用大量的时间成本,使得HDFS服务异常的解决丧失了时效性,对数据业务造成不必要的损失。并且,现有技术没有将获取到的链路信息进行可视化展示,难以高效便捷的定位HDFS服务异常。

因此,现有技术日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

发明内容

有鉴于此,本发明提供了一种对数据执行链路监控的方法、系统、装置、设备及介质,以解决现有技术中存在日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

第一方面,本发明提供了一种对数据执行链路监控的方法,该方法包括:

获取数据访问请求执行过程中每个步骤的执行信息;

根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路;

根据执行信息,得到每个步骤的执行频次、数据访问请求执行过程的总执行耗时和异常步骤;

将执行频次、总执行耗时以及异常步骤进行汇总,得到目标执行链路的告警关联信息。

本实施例提供的对数据执行链路监控的方法,不需要对繁琐日志文件进行解析,通过获取数据访问请求执行过程中每个步骤的执行信息,根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。使数据访问请求执行过程中问题的定位更为高效便捷,有助于大数据平台的日常维护与稳定,能够降低时间成本,满足大数据实时场景的时效性要求。解决了日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

在一种可选的实施方式中,在得到目标执行链路的告警关联信息之前,方法还包括:

根据执行信息判断是否存在执行超时的步骤,如果存在执行超时的步骤,则生成第一告警信息,其中,执行超时的步骤为耗时大于第一预设阈值的步骤;

根据执行信息判断是否存在满足第一触发条件的步骤,如果存在,则生成第二告警信息,其中,第一触发条件用于表征步骤的参数出现异常;

根据目标执行链路和执行信息判断是否存在满足第二触发条件的步骤,如果存在,则生成第三告警信息,其中,第二触发条件用于表征步骤的执行过程出现异常。

在本实施方式中,在对执行信息进行解析,得到目标执行链路的告警关联信息的过程中,根据执行信息、目标执行链路、第一预设阈值、第一触发条件以及第二触发条件,判断是否需要生成告警信息。保证了数据访问请求执行过程的正确进行,如果存在异常,则直接定位异常所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗。

在一种可选的实施方式中,在根据执行信息判断是否存在执行超时的步骤之前,方法还包括:

获取第一预设阈值、第一触发条件以及第二触发条件;

将第一预设阈值、第一触发条件以及第二触发条件同步到信息聚合部件,其中,信息聚合部件用于生成第一告警信息、第二告警信息以及第三告警信息。

在本实施方式中,告警部件获取第一预设阈值、第一触发条件以及第二触发条件,并将第一预设阈值、第一触发条件以及第二触发条件同步到信息聚合部件。信息聚合部件在对执行信息进行解析,得到目标执行链路的告警关联信息的过程中,根据执行信息、目标执行链路、第一预设阈值、第一触发条件以及第二触发条件,判断是否需要生成告警信息。保证了数据访问请求执行过程的正确进行,如果存在异常,则直接定位异常所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗。

在一种可选的实施方式中,在得到目标执行链路的告警关联信息之后,方法还包括:

在生成告警信息之后,将目标执行链路、执行信息、告警关联信息以及告警信息进行可视化展示,其中,告警信息包括第一告警信息、第二告警信息以及第三告警信息。

在本实施方式中,将目标执行链路、执行信息、告警关联信息以及告警信息进行可视化展示,通过可视化的方式直观地展示了复杂的数据访问请求执行过程中的详细经过,并通过展示告警信息,直接定位问题所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗,满足了大数据实时场景的时效性要求。

在一种可选的实施方式中,获取数据访问请求执行过程中每个步骤的执行信息,包括:

将监控元件嵌入数据访问请求执行模块,其中,数据访问请求执行模块用于进行数据访问请求执行过程,数据访问请求执行模块包括客户端、管理节点服务子模块以及工作节点服务子模块,客户端执行数据访问请求执行过程中的第一数量个步骤,管理节点服务子模块执行数据访问请求执行过程中的第二数量个步骤,工作节点服务子模块执行数据访问请求执行过程中的第三数量个步骤;

在客户端执行第一数量个步骤时,利用监控元件获取第一数量个步骤的执行信息,其中,执行信息包括数据访问请求执行模块的当前时间信息、每个步骤的耗时信息、网络连接信息、线程信息、位置信息、上下游关系信息以及执行过程信息,线程信息用于确定执行数据访问请求的线程;

在管理节点服务子模块执行第二数量个步骤时,利用监控元件获取第二数量个步骤的执行信息;

在工作节点服务子模块执行第三数量个步骤时,利用监控元件获取第三数量个步骤的执行信息。

在本实施方式中,将监控元件嵌入数据访问请求执行模块,在数据访问请求执行模块中的客户端、管理节点服务子模块以及工作节点服务子模块开始执行步骤的时候,利用监控元件获取每个步骤的执行信息。为后续生成目标执行链路、告警关联信息,判断是否进行告警以及将信息进行可视化展示提供基础。

在一种可选的实施方式中,将监控元件嵌入数据访问请求执行模块,包括:

生成监控元件对应的采集接口,其中,调用采集接口能够使监控元件获取执行信息;

将采集接口分别设置在客户端、管理节点服务子模块以及工作节点服务子模块中。

在本实施方式中,通过调用采集接口,使得监控元件获取不同步骤的执行信息,保证监控元件能够及时采集执行信息。

第二方面,本发明提供了一种对数据执行链路监控的系统,该系统包括:监控元件和信息聚合部件;

监控元件与信息聚合部件相连,用于获取数据访问请求执行过程中每个步骤的执行信息,并将执行信息发送至信息聚合部件;

信息聚合部件用于根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。

本实施例提供的对数据执行链路监控的系统,通过监控元件获取数据访问请求执行过程中每个步骤的执行信息。通过信息聚合部件根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。不需要对繁琐日志文件进行解析,使数据访问请求执行过程中问题的定位更为高效便捷,有助于大数据平台的日常维护与稳定,能够降低时间成本,满足大数据实时场景的时效性要求。解决了日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

第三方面,本发明提供了一种对数据执行链路监控的装置,该装置包括:

获取模块,用于获取数据访问请求执行过程中每个步骤的执行信息;

第一得到模块,用于根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路;

第二得到模块,用于根据执行信息,得到目标执行链路的告警关联信息。

第四方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的对数据执行链路监控的方法。

第五方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的对数据执行链路监控的方法。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的对数据执行链路监控的方法的流程示意图;

图2是根据本发明实施例的HDFS请求处理全过程示意图;

图3是根据本发明实施例的对数据执行链路监控的系统的结构图;

图4是根据本发明实施例的对数据执行链路监控的装置的结构框图;

图5是本发明实施例的计算机设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种对数据执行链路监控的方法,减少对繁琐日志文件的依赖,收集每个数据访问请求的详细执行链路以及各个步骤的执行信息,使问题的定位更为高效便捷,有助于大数据平台的日常维护与稳定。以达到降低时间成本,满足大数据实时场景的时效性要求的效果。

根据本发明实施例,提供了一种对数据执行链路监控的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在具有数据处理能力的计算机设备中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种对数据执行链路监控的方法,可用于上述的计算机设备,图1是根据本发明实施例的对数据执行链路监控的方法的流程图,如图1所示,该流程包括如下步骤:

步骤S101,获取数据访问请求执行过程中每个步骤的执行信息。

具体地,结合图2对外部HDFS请求,例如:数据访问请求的执行过程进行说明:如图2所示,外部HDFS请求先经过HDFS Client(HDFS客户端)处理流程,HDFS Client处理流程包括步骤1、步骤2以及步骤3;之后经过NameNode(管理节点)处理流程,NameNode处理流程包括步骤4、步骤5以及步骤6;最后经过DataNode(工作节点)处理流程,DataNode处理流程包括步骤7、步骤8以及步骤9,其中,步骤1、步骤2以及步骤3内容包括:上层业务发送外部HDFS请求并调用HDFS客户端;HDFS客户端通过API接口请求HDFS的NameNode服务;HDFS客户端接收NameNode返回值,向DataNode节点发送请求,执行DataNode的流程。步骤4、步骤5以及步骤6内容包括:NameNode(管理节点)检查外部HDFS请求的目标文件是否存在,父目录是否存在,并将结果返回客户端,另外,NameNode返回HDFS请求对应的DataNode节点,用于执行HDFS请求。步骤7、步骤8以及步骤9内容包括:HDFS请求对应的DataNode(工作节点)执行HDFS请求。

本发明的对数据执行链路监控的方法是基于监控元件和信息聚合部件实现的。利用监控元件监控上述数据访问请求执行过程。监控元件需要嵌入到上述HDFS客户端以及DataNode、NameNode处理流程之中,获取数据访问请求执行过程中每个步骤的执行信息,例如网络连接信息、时间、线程信息、上下游关系、执行过程、耗时等信息,再将获取到的执行信息上报信息聚合部件进行解析与整合。

步骤S102,根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路。

具体地,由于各个NameNode(管理节点)与DataNode(工作节点)分布在不同的物理机上,因此数据访问请求的完整执行通常会产生跨节点的网络交互。因此,监控元件还需要收集当前流程中各个步骤所对应的网络Socket连接信息,一并提交至信息聚合部件,通过信息聚合部件生成跨节点的完整的执行链路。

信息聚合部件对监控元件上报的执行信息进行解析与整合的过程中,基于其中的上下游关系信息,为每个HDFS请求汇总成完整的执行链路,作为数据访问请求执行过程的目标执行链路。

步骤S103,根据执行信息,得到每个步骤的执行频次、数据访问请求执行过程的总执行耗时和异常步骤。

具体地,实时收集所有监控元件上报的执行信息并进行解析汇总,记录每个步骤的执行频次,并对各步骤的耗时等数据进行聚合运算,得到目标执行链路的告警关联信息。

另外,信息聚合部件在对各个步骤的执行信息进行解析,得到目标执行链路的告警关联信息的过程中,会根据提前定义的规则和阈值对其中的异常情况进行识别,达到某项异常的阈值时,由信息聚合部件主动触发告警,生成告警信息。

步骤S104,将执行频次、总执行耗时以及异常步骤进行汇总,得到目标执行链路的告警关联信息。

具体地,本实施例由信息聚合部件执行。信息聚合部件将监控元件上报的执行信息进行解析与整合,包括:统计每个步骤的执行频次、数据访问请求执行过程的总执行耗时和异常步骤等,将这些信息进行打包封装,得到目标执行链路的告警关联信息。

另外,信息聚合部件会将各个步骤的执行信息、目标执行链路以及告警关联信息发送至前端模块,由前端模块进行可视化展示。

本实施例提供的对数据执行链路监控的方法,不需要对繁琐日志文件进行解析,通过获取数据访问请求执行过程中每个步骤的执行信息,根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。使数据访问请求执行过程中问题的定位更为高效便捷,有助于大数据平台的日常维护与稳定,能够降低时间成本,满足大数据实时场景的时效性要求。解决了日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

在一些可选的实施方式中,在得到目标执行链路的告警关联信息之前,方法还包括:

根据执行信息判断是否存在执行超时的步骤,如果存在执行超时的步骤,则生成第一告警信息,其中,执行超时的步骤为耗时大于第一预设阈值的步骤;

根据执行信息判断是否存在满足第一触发条件的步骤,如果存在,则生成第二告警信息,其中,第一触发条件用于表征步骤的参数出现异常;

根据目标执行链路和执行信息判断是否存在满足第二触发条件的步骤,如果存在,则生成第三告警信息,其中,第二触发条件用于表征步骤的执行过程出现异常。

具体地,信息聚合部件在对各个步骤的执行信息进行解析,得到目标执行链路的告警关联信息的过程中,会根据提前定义的规则和阈值对其中的异常情况进行识别,达到某项异常的阈值时,由信息聚合部件主动触发告警,生成告警信息。具体流程包括:

信息聚合部件根据执行信息判断是否存在执行超时的步骤,如果存在耗时大于第一预设阈值的步骤,则生成第一告警信息,第一告警信息包括:告警提示信息文本、执行超时的步骤信息等,第一预设阈值根据需求设定。

信息聚合部件根据执行信息判断是否存在满足第一触发条件的参数出现异常的步骤,如果存在,则生成第二告警信息,第一触发条件可以是提前设定的一个参数范围,如果某一步骤的参数不在这个参数范围,则表示该步骤参数出现异常。第二告警信息包括:告警提示信息文本、参数出现异常的步骤信息等。

信息聚合部件根据目标执行链路和执行信息判断是否存在满足第二触发条件的执行过程出现异常的步骤,如果存在,则生成第三告警信息,第二触发条件可以是标准流程,如果某一步骤与标准流程不一致,则表示执行过程出现异常。第二触发条件还可以是最大执行次数,如果某一步骤重复执行的次数超过最大执行次数,也表明该步骤执行过程出现异常。第三告警信息包括:告警提示信息文本、执行过程出现异常的步骤信息等。

在本实施方式中,在对执行信息进行解析,得到目标执行链路的告警关联信息的过程中,根据执行信息、目标执行链路、第一预设阈值、第一触发条件以及第二触发条件,判断是否需要生成告警信息。保证了数据访问请求执行过程的正确进行,如果存在异常,则直接定位异常所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗。

在一些可选的实施方式中,在根据执行信息判断是否存在执行超时的步骤之前,方法还包括:

获取第一预设阈值、第一触发条件以及第二触发条件;

将第一预设阈值、第一触发条件以及第二触发条件同步到信息聚合部件,其中,信息聚合部件用于生成第一告警信息、第二告警信息以及第三告警信息。

具体地,告警部件是一种可自定义规则的组件,能够为每个步骤定义预设告警规则,包括:第一预设阈值、第一触发条件、第二触发条件等,分别用于进行执行超时、参数异常或过程异常等步骤的判断。信息聚合部件在解析过程中,会根据这些预设告警规则触发告警部件,之后告警部件生成包含异常信息的告警信息,并将告警信息发送至前端模块。

系统管理者根据数据访问请求执行过程中步骤的不同,可定制化告警信息,包括告警提示信息文本,触发的条件、阈值等。告警部件会将预设告警规则同步到信息聚合部件,后者基于该规则,对链路进行详细识别并触发告警,进而将这些告警信息同步至前端模块。

信息聚合部件在解析过程中,会根据这些预设告警规则触发告警部件。

在本实施方式中,告警部件获取第一预设阈值、第一触发条件以及第二触发条件,并将第一预设阈值、第一触发条件以及第二触发条件同步到信息聚合部件。信息聚合部件在对执行信息进行解析,得到目标执行链路的告警关联信息的过程中,根据执行信息、目标执行链路、第一预设阈值、第一触发条件以及第二触发条件,判断是否需要生成告警信息。保证了数据访问请求执行过程的正确进行,如果存在异常,则直接定位异常所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗。

在一些可选的实施方式中,在得到目标执行链路的告警关联信息之后,方法还包括:

在生成告警信息之后,将目标执行链路、执行信息、告警关联信息以及告警信息进行可视化展示,其中,告警信息包括第一告警信息、第二告警信息以及第三告警信息。

具体地,本发明利用前端模块进行内容的可视化展示。信息聚合部件会将各个步骤的执行信息、目标执行链路以及告警关联信息发送至前端模块,由前端模块进行可视化展示。告警模块在生成告警信息之后,会将告警信息发送至前端模块,告警信息包括第一告警信息、第二告警信息以及第三告警信息。

前端模块提供了可视化界面,以树状图的方式展示每个数据访问请求目标执行链路,并展示告警信息和各个步骤的执行信息。同时,基于告警模块生成的告警信息,自动进行异常位置的标记并可视化展示。

上述过程如图3所示,告警部件和信息聚合部件将可视化的信息发送至前端页面。前端页面展示树状图、详情、告警等信息。需要说明的是,前端页面是前端模块提供的可视化界面。

在本实施方式中,将目标执行链路、执行信息、告警关联信息以及告警信息进行可视化展示,通过可视化的方式直观地展示了复杂的数据访问请求执行过程中的详细经过,并通过展示告警信息,直接定位问题所在的步骤,大大减小了问题处理与故障恢复的时间与人力消耗,满足了大数据实时场景的时效性要求。

在一些可选的实施方式中,获取数据访问请求执行过程中每个步骤的执行信息,包括:

将监控元件嵌入数据访问请求执行模块,其中,数据访问请求执行模块用于进行数据访问请求执行过程,数据访问请求执行模块包括客户端、管理节点服务子模块以及工作节点服务子模块,客户端执行数据访问请求执行过程中的第一数量个步骤,管理节点服务子模块执行数据访问请求执行过程中的第二数量个步骤,工作节点服务子模块执行数据访问请求执行过程中的第三数量个步骤;

在客户端执行第一数量个步骤时,利用监控元件获取第一数量个步骤的执行信息,其中,执行信息包括数据访问请求执行模块的当前时间信息、每个步骤的耗时信息、网络连接信息、线程信息、位置信息、上下游关系信息以及执行过程信息,线程信息用于确定执行数据访问请求的线程;

在管理节点服务子模块执行第二数量个步骤时,利用监控元件获取第二数量个步骤的执行信息;

在工作节点服务子模块执行第三数量个步骤时,利用监控元件获取第三数量个步骤的执行信息。

具体地,监控元件是HDFS内部流程追踪的最小单元,嵌入HDFS服务的各个模块、执行链路的各个步骤中。监控元件会在数据访问请求执行过程中,实时收集当前步骤的执行信息,例如数据访问请求执行模块的当前时间信息、每个步骤的耗时信息、网络连接信息、线程信息、位置信息、上下游关系信息以及执行过程信息,线程信息用于确定执行数据访问请求的线程等信息,并将这些执行信息上报给信息聚合部件。

数据访问请求执行模块用于进行数据访问请求执行过程,包括:HDFS客户端、管理节点(DataNode)服务子模块、工作节点(NameNode)服务子模块。监控元件嵌入数据访问请求执行模块。本发明对HDFS系统进行适配改造,即在HDFS Client(HDFS客户端)、NameNode(管理节点)、DataNode(工作节点)等进行初始化的过程中,新增监控元件的逻辑代码。之后在HDFS系统各个执行流程中加入元件提供的采集接口,之后每次进入该流程会主动调用监控元件的采集接口。

在数据访问请求执行过程中,客户端会执行第一数量个步骤,管理节点服务子模块会执行第二数量个步骤,工作节点服务子模块会执行第三数量个步骤,第一数量、第二数量以及第三数量根据实际过程设定,不作具体数量限制。客户端在执行第一数量个步骤时,会调用采集接口,由监控元件获取第一数量个步骤的执行信息;管理节点服务子模块在执行第二数量个步骤时,会调用采集接口,由监控元件获取第二数量个步骤的执行信息;工作节点服务子模块在执行第三数量个步骤时,会调用采集接口,由监控元件获取第三数量个步骤的执行信息。

在本实施方式中,将监控元件嵌入数据访问请求执行模块,在数据访问请求执行模块中的客户端、管理节点服务子模块以及工作节点服务子模块开始执行步骤的时候,利用监控元件获取每个步骤的执行信息。为后续生成目标执行链路、告警关联信息,判断是否进行告警以及将信息进行可视化展示提供基础。

在一些可选的实施方式中,将监控元件嵌入数据访问请求执行模块,包括:

生成监控元件对应的采集接口,其中,调用采集接口能够使监控元件获取执行信息;

将采集接口分别设置在客户端、管理节点服务子模块以及工作节点服务子模块中。

具体地,监控元件是HDFS内部流程追踪的最小单元,嵌入HDFS服务的各个模块、执行链路的各个步骤中,并提供通用的采集接口适配不同的流程。客户端、管理节点服务子模块以及工作节点服务子模块包含监控元件提供的采集接口。

客户端在执行第一数量个步骤时,会调用采集接口,由监控元件获取第一数量个步骤的执行信息;管理节点服务子模块在执行第二数量个步骤时,会调用采集接口,由监控元件获取第二数量个步骤的执行信息;工作节点服务子模块在执行第三数量个步骤时,会调用采集接口,由监控元件获取第三数量个步骤的执行信息。

在本实施方式中,通过调用采集接口,使得监控元件获取不同步骤的执行信息,保证监控元件能够及时采集执行信息。

在本实施例中提供了一种对数据执行链路监控的系统,可部署在上述的计算机设备中,该系统包括:监控元件和信息聚合部件;

监控元件与信息聚合部件相连,用于获取数据访问请求执行过程中每个步骤的执行信息,并将执行信息发送至信息聚合部件;

信息聚合部件用于根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。

具体地,对数据执行链路监控的系统的结构如图3所示,通过监控元件获取HDFS业务执行中步骤1、步骤2以及步骤3的执行信息,并将执行信息上报给信息聚合部件,信息聚合部件进行上报信息解析、整合、归纳。需要说明的是,监控元件会获取HDFS业务执行中所有步骤的执行信息,步骤1、步骤2以及步骤3仅为示例。

本发明对HDFS服务系统的各个模块进行改造,包括:HDFS客户端以及DataNode服务、NameNode服务,以对接适配本发明提供的监控元件和信息聚合部件,其中,监控元件需要嵌入到上述HDFS客户端以及DataNode、NameNode处理流程之中,获取数据访问请求执行过程中每个步骤的执行信息。

监控元件与信息聚合部件相连,监控元件获取数据访问请求执行过程中每个步骤的执行信息,例如网络连接信息、时间、线程信息、上下游关系、执行过程、耗时等信息,再将获取到的执行信息上报信息聚合部件进行解析与整合。信息聚合部件对监控元件上报的执行信息进行解析与整合的过程中,基于其中的上下游关系信息,为每个HDFS请求汇总成完整的执行链路,作为数据访问请求执行过程的目标执行链路。信息聚合部件实时收集所有监控元件上报的执行信息并进行解析汇总,记录每个步骤的执行频次,并对各步骤的耗时等数据进行聚合运算,得到目标执行链路的告警关联信息。

需要说明的是,监控元件需要包含以下功能:可嵌入HDFS各个模块的各个流程方法中,且对HDFS服务的业务没有干扰。可获取当前HDFS系统时间,同时捕获流程方法的执行起止时间进行耗时计算,得到耗时信息。监控元件均可获取当前数据访问请求的Socket网络连接信息与当前线程信息。监控元件可获取当前步骤的位置信息,且监控元件之间可以通过字段标识(ID)的方式,标记自身以及上下游的元件,进而确定上下游关系信息。监控元件能够与信息聚合部件实时通信,上报收集的执行信息。

本实施例提供的对数据执行链路监控的系统,通过监控元件获取数据访问请求执行过程中每个步骤的执行信息。通过信息聚合部件根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路,根据执行信息,得到目标执行链路的告警关联信息。不需要对繁琐日志文件进行解析,使数据访问请求执行过程中问题的定位更为高效便捷,有助于大数据平台的日常维护与稳定,能够降低时间成本,满足大数据实时场景的时效性要求。解决了日志存在信息记录杂乱,排查日志的时间成本高,影响了监控数据执行链路的时效性的问题。

在本实施例中还提供了一种对数据执行链路监控的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种对数据执行链路监控的装置,如图4所示,包括:

获取模块401,用于获取数据访问请求执行过程中每个步骤的执行信息;

第一得到模块402,用于根据执行信息中的上下游关系信息,得到数据访问请求执行过程的目标执行链路;

第二得到模块403,用于根据执行信息,得到每个步骤的执行频次、数据访问请求执行过程的总执行耗时和异常步骤;

第三得到模块404,用于将执行频次、总执行耗时以及异常步骤进行汇总,得到目标执行链路的告警关联信息。

在一些可选的实施方式中,该装置还包括:

第一生成模块,用于根据执行信息判断是否存在执行超时的步骤,如果存在执行超时的步骤,则生成第一告警信息,其中,执行超时的步骤为耗时大于第一预设阈值的步骤;

第二生成模块,用于根据执行信息判断是否存在满足第一触发条件的步骤,如果存在,则生成第二告警信息,其中,第一触发条件用于表征步骤的参数出现异常;

第三生成模块,用于根据目标执行链路和执行信息判断是否存在满足第二触发条件的步骤,如果存在,则生成第三告警信息,其中,第二触发条件用于表征步骤的执行过程出现异常。

在一些可选的实施方式中,该装置还包括:

第二获取模块,用于获取第一预设阈值、第一触发条件以及第二触发条件;

同步模块,用于将第一预设阈值、第一触发条件以及第二触发条件同步到信息聚合部件,其中,信息聚合部件用于生成第一告警信息、第二告警信息以及第三告警信息。

在一些可选的实施方式中,该装置还包括:

展示模块,用于在生成告警信息之后,将目标执行链路、执行信息、告警关联信息以及告警信息进行可视化展示,其中,告警信息包括第一告警信息、第二告警信息以及第三告警信息。

在一些可选的实施方式中,获取模块401包括:

嵌入单元,用于将监控元件嵌入数据访问请求执行模块,其中,数据访问请求执行模块用于进行数据访问请求执行过程,数据访问请求执行模块包括客户端、管理节点服务子模块以及工作节点服务子模块,客户端执行数据访问请求执行过程中的第一数量个步骤,管理节点服务子模块执行数据访问请求执行过程中的第二数量个步骤,工作节点服务子模块执行数据访问请求执行过程中的第三数量个步骤;

第一获取单元,用于在客户端执行第一数量个步骤时,利用监控元件获取第一数量个步骤的执行信息,其中,执行信息包括数据访问请求执行模块的当前时间信息、每个步骤的耗时信息、网络连接信息、线程信息、位置信息、上下游关系信息以及执行过程信息,线程信息用于确定执行数据访问请求的线程;

第二获取单元,用于在管理节点服务子模块执行第二数量个步骤时,利用监控元件获取第二数量个步骤的执行信息;

第三获取单元,用于在工作节点服务子模块执行第三数量个步骤时,利用监控元件获取第三数量个步骤的执行信息。

在一些可选的实施方式中,嵌入单元包括:

生成子模块,用于生成监控元件对应的采集接口,其中,调用采集接口能够使监控元件获取执行信息;

设置子模块,用于将采集接口分别设置在客户端、管理节点服务子模块以及工作节点服务子模块中。

上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本实施例中的对数据执行链路监控的装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

本发明实施例还提供一种计算机设备,具有上述图4所示的对数据执行链路监控的装置。

请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。

处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。

其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。

存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。

该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。

本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术分类

06120116501497