【技术实现步骤摘要】
DAG图的监控方法及系统
[0001]本申请涉及大数据处理
,特别是涉及一种DAG图的监控方法及系统。
技术介绍
[0002]DAG(Directed Acyclic Graph)图的中文名称叫做有向无环图。DAG图是一种非常重要的图论数据结构。如果一个有向图无法从任意顶点出发经过若干条边回到该点,则这个图就被称为有向无环图。
[0003]在大数据处理的技术数据处理过程中,DAG计算常常指的是将计算任务在内部分解成为若干个子任务,将这些子任务之间的逻辑关系或顺序构建成DAG图中所展现出的结构关系。
[0004]DAG图在分布式计算中是非常常见的,经常被应用于各个细分领域,比如Dryad,Flumejava和Tez,都是明确构建DAG计算模型的典型,再比如如流式计算的Storm等系统或机器学习框架Spark等,其计算任务大多也是DAG图的形式出现的。
[0005]那么在大数据处理的技术数据处理过程中,对DAG图的监控工作就显得至关重要。现有的DAG图的监控方法,一般是监控DAG图中的各个节点。这种方法具有两个主要的弊端:1)会产生很多无效告警,不但会提高监控成本,而且会导致监控结果准确率下降。这是因为DAG中每一个节点的运行时间是不确定的,针对不同的节点而言,数据产出的时间要求也不一样。例如a、b、c三个节点的依赖关系为a(13时运行)
‑
b(15时运行)
‑
c(17时运行), 如果a的数据产出到达了16时导致b节点16时运行,这时候如果监控任务,就会进 ...
【技术保护点】
【技术特征摘要】
1.一种DAG图的监控方法,其特征在于,所述方法包括:服务器获取客户端发送的监控配置文件和监控规则文件;服务器依据监控配置文件和监控规则文件生成至少一个监控规则实例并存储至数据库;服务器扫描数据库中前一天生成的至少一个监控规则实例,并依据所述至少一个监控规则实例监控DAG图的运行状态,在DAG图的运行状态异常时实时告警;所述服务器依据监控规则文件和监控规则文件生成至少一个监控规则实例并存储至数据库包括:服务器依据所述监控配置文件获取叶子节点,以及获取与叶子节点在DAG图中存在关联的所有上游节点;服务器依据所述监控配置文件计算叶子节点的监控指标和每一个与叶子节点在DAG图中存在关联的上游节点的监控指标;所述服务器扫描数据库中前一天生成的至少一个监控规则实例,并依据所述至少一个监控规则实例监控DAG图的运行状态,在DAG图的运行状态异常时实时告警,包括:服务器将与每一个监控规则实例对应的节点作为待监控节点,当待监控节点为叶子节点时,依据叶子节点的监控指标对叶子节点进行监控,当待监控节点为与叶子节点在DAG图中存在关联的上游节点时,服务器依据与叶子节点在DAG图中存在关联的上游节点的监控指标对与叶子节点在DAG图中存在关联的上游节点进行监控,当任意一个待监控节点出现异常情况时对异常情况进行实时告警。2.根据权利要求1所述的DAG图的监控方法,其特征在于,所述监控配置文件包括每一个节点的承诺时间、每一个节点的预计运行时长和每一个节点的时间余量中的一种或多种;所述时间余量为节点接收数据的最大延迟时间。3.根据权利要求1所述的DAG图的监控方法,其特征在于,所述监控规则文件包括告警名称、告警类型、节点ID、告警触发方式、告警消息发送方式和告警消息接收人信息中的一种或多种。4.根据权利要求2所述的DAG图的监控方法,其特征在于,所述服务器依据所述监控配置文件计算叶子节点的监控指标和每一个与叶子节点在DAG图中存在关联的上游节点的监控指标,包括:获取叶子节点的所有直接上游节点;获取叶子节点的计划开始时间;采用堆栈法计算叶子节点的每一个直接上游节点的预计结束时间;依据公式1计算叶子节点的预计开始时间;Ti_predict_start=Max(Ti_plan,Ti_i1_end,Ti_i2_end,...,Ti_im_end)公式1;其中,Ti_predict_start为叶子节点的预计开始时间,Ti_plan为叶子节点的计划开始时间,Ti_im_end为叶子节点的直接上游节点的预计结束时间,i为叶子节点的序号,im为叶子节点的直接上游节点的序号;依据公式2计算叶子节点的预计结束时间;Ti_predict_end=Ti_predict_start+Ti_time公式2;其中,Ti_predict_end为叶子节点的预计结束时间,Ti_predict_start 为叶子节点的
预计开始时间,Ti_time为叶子节点的预计运行时长,i为叶子节点的序号。5.根据权利要求4所述的DAG图的监控方法,其特征在于,所述采用堆栈法计算叶子节点的每一个直接上游节点的预计结束时间,包括:在DAG图中遍历叶子节点的每一个直接上游节点的所有上游节点,获取叶子节点的每一个直接上游节点的所有上游节点中的最上游节点,从最上游节点开始依照由上至下的顺序采用堆栈方法计算该直接上游节点的预计开始时间;依据公式3计算叶子节点的每一个直接上游节点的预计结束时间;Tim_predict_end=Tim_predict_start+Tim_time公式3;其中,Tim_predict_start叶子节点i的直接上游节点im的预计结束时间,Tim_predict_start为叶子节点i的直接上游节点im的预计开始时间,Tim_time为叶子节点i的直接上游节点im的预计运行时长,im为叶子节点i的直接上游节点的序号,i为叶子节点的序号。6.根据权利要求5所述的DAG图的监控方法,其特征在于,所述服务器依据监控配置文件计算叶子节点的监控指标和每一个与叶子节点在DAG图中存在关联的上游节点的监控指标,还包括:依据公式4计算叶子节点的预警结束时间和预警开始时间;Ti_warning_end=Ti_C+Ti_allowanceTi_warning_start=Ti_warning_end
‑
Ti_time公式4;其中,Ti_warning_start为叶子节点的预警开始时间,Ti_warning_end为监控节点的预警结束时间,Ti_time为叶子节点的预计运行时长,Ti_C为叶子节点的承诺时间,Ti_allowance为叶子节点的时间余量,i为叶子节点的序号;依据公式5计算叶子节点的破线...
【专利技术属性】
技术研发人员:赵振智,陈吉平,
申请(专利权)人:杭州玳数科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。