一种基于实时计算系统的问题节点检测方法及装置的制造方法

文档序号:8445447阅读:345来源:国知局
一种基于实时计算系统的问题节点检测方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种基于实时计算系统的问题节点检测方法及装置。
【背景技术】
[0002]实时计算,也称为流式计算,可以对数据流进行快速实时处理。实时计算系统是一种分布式计算系统,广泛应用于互联网公司的数据挖掘和数据分析等领域。目前主流的开源实时计算系统,包括Storm和Spark Streaming,都是主从结构的计算框架,如图1所示,该实时计算系统是由多台机器节点组成的集群,其中包括主节点和从节点,每台从节点可以提供一个或多个计算资源,每个计算资源可以处理一个计算任务。在实际应用中,存在这样的情况,有的从节点的所有计算资源均处于工作状态,有的从节点的部分计算资源处于工作状态,部分计算资源处于空闲状态,有的从节点的所有计算资源均处于空闲状态。
[0003]现有技术中对于问题节点的检测,都是针对于完全不能执行计算任务的节点的检测,所谓完全不能执行计算任务,是指某节点因为严重故障,如离线、或计算进程被意外关闭等,不能继续执行计算任务。这种情况下,整个实时计算系统都无法正常工作。
[0004]在实时计算系统中,对上述问题节点的检测比较重要,但在实际应用中,实时计算系统中的各个节点的硬件性能和负载状态可能存在一定的差异,性能较差或负载压力较大的节点的计算速率会较低,这样的问题节点可以称之为慢速节点,如果系统中存在这样的节点,会触发木桶短板效应而拖累整个系统的集群的计算速率。
[0005]比如,一个实时计算系统为两年前组建的一个集群,该集群中节点的型号均为A,当前为扩容集群,新增的节点的型号均为B,B型号的节点的各项性能参数均优于A型号的节点,如果使用A型号的节点执行计算任务,会由于木桶短板效应,使得这个混搭集群的计算速率还是相当于A型号的节点的计算速率。
[0006]再如,一个实时计算系统中某个处于工作状态的节点出现不稳定状态,如CPU超负载、网卡打满、磁盘1故障等,该节点的计算速率下降了,整个系统的计算速率也会因为这一台机器节点而降低。
[0007]而现有的这种问题节点检测方法只是对完全不能执行计算任务的节点的检测,无法确定出计算速率较低的节点,即慢速节点,使得在实时计算系统的集群中出现慢速节点的时候,降低整个系统的计算速率,影响计算效率。

【发明内容】

[0008]为解决上述问题,本发明实施例公开了一种基于实时计算系统的问题节点检测方法及装置。技术方案如下:
[0009]一种基于实时计算系统的问题节点检测方法,包括:
[0010]在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测:
[0011]针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务;
[0012]查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点;
[0013]根据所述第一节点完成所述目标计算任务的时长Tl和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
[0014]在本发明的一种【具体实施方式】中,所述方法还包括:
[0015]在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
[0016]在本发明的一种【具体实施方式】中,所述查找当前存在空闲资源的第二节点,包括:
[0017]根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
[0018]在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
[0019]在本发明的一种【具体实施方式】中,还包括:
[0020]根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
[0021]在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
[0022]将所述目标计算任务调度给所述第三节点。
[0023]在本发明的一种【具体实施方式】中,所述根据所述第一节点完成所述目标计算任务的时长Tl和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点,包括:
[0024]计算所述第一节点完成所述目标计算任务的时长Tl与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
[0025]如果所述绝对值大于预设的阈值,且Tl > T2,则确定所述第一节点为问题节点。
[0026]在本发明的一种【具体实施方式】中,还包括:
[0027]如果所述绝对值大于预设的阈值,且Tl < T2,则确定所述第二节点为问题节点。
[0028]在本发明的一种【具体实施方式】中,所述在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,包括:
[0029]在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
[0030]或者,
[0031]根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最尚的计算任务,确定为用于节点检测的目标计算任务。
[0032]在本发明的一种【具体实施方式】中,还包括:
[0033]在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
[0034]一种基于实时计算系统的问题节点检测装置,包括:
[0035]检测条件判断模块,用于判断当前是否满足预设的节点检测条件,如果是,则触发目标任务确定模块;
[0036]所述目标任务确定模块,用于针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务;
[0037]副本任务生成模块,用于生成所述目标计算任务的副本任务;
[0038]第二节点查找模块,用于查找当前存在空闲资源的第二节点;
[0039]副本任务发送模块,用于将所述副本任务发送给所述第二节点;
[0040]问题节点确定模块,用于根据所述第一节点完成所述目标计算任务的时长Tl和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
[0041]在本发明的一种【具体实施方式】中,还包括:
[0042]问题节点信息添加模块,用于在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
[0043]在本发明的一种【具体实施方式】中,所述第二节点查找模块,具体用于:
[0044]根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
[0045]在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
[0046]在本发明的一种【具体实施方式】中,还包括:
[0047]第三节点选择模块,用于根据所述问题节点列表,查找未记录在该问题节点列表中的节点,在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
[0048]计算任务调度模块,用于将所述目标计算任务调度给所述第三节点。
[0049]在本发明的一种【具体实施方式】中,所述问题节点确定模块,包括:
[0050]绝对值计算子模块,用于计算所述第一节点完成所述目标计算任务的时长Tl与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
[0051]问题节点确定子模块,用于在所述绝对值大于预设的阈值,且Tl > T2的情况下,确定所述第一节点为问题节点。
[0052]在本发明的一种【具体实施方式】中,
[0053]所述问题节点确定子模块,还用于在所述绝对值大于预设的阈值,且Tl < T2的情况下,确定所述第二节点为问题节点。
[0054]在本发明的一种【具体实施方式】中,所述目标任务确定模块,具体用于:
[0055]在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
[0056]或者,
[0057]根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最尚的计算任务,确定为用于节点检测的目标计算任务。
[0058]在本发明的一种【具体实施方式】中,还包括:
[0059]告警信息输出模块,用于在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
[006
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1