CN104765648A - 一种基于实时计算***的问题节点检测方法及装置 - Google Patents
一种基于实时计算***的问题节点检测方法及装置 Download PDFInfo
- Publication number
- CN104765648A CN104765648A CN201510218215.5A CN201510218215A CN104765648A CN 104765648 A CN104765648 A CN 104765648A CN 201510218215 A CN201510218215 A CN 201510218215A CN 104765648 A CN104765648 A CN 104765648A
- Authority
- CN
- China
- Prior art keywords
- node
- trouble
- task
- calculation task
- section point
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种基于实时计算***的问题节点检测方法及装置。一种基于实时计算***的问题节点检测方法,包括以下步骤:在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测:针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务;查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点;根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。应用本发明实施例所提供的技术方案,提高了整个***的计算速率,相应提高了***的计算效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于实时计算***的问题节点检测方法及装置。
背景技术
实时计算,也称为流式计算,可以对数据流进行快速实时处理。实时计算***是一种分布式计算***,广泛应用于互联网公司的数据挖掘和数据分析等领域。目前主流的开源实时计算***,包括Storm和Spark Streaming,都是主从结构的计算框架,如图1所示,该实时计算***是由多台机器节点组成的集群,其中包括主节点和从节点,每台从节点可以提供一个或多个计算资源,每个计算资源可以处理一个计算任务。在实际应用中,存在这样的情况,有的从节点的所有计算资源均处于工作状态,有的从节点的部分计算资源处于工作状态,部分计算资源处于空闲状态,有的从节点的所有计算资源均处于空闲状态。
现有技术中对于问题节点的检测,都是针对于完全不能执行计算任务的节点的检测,所谓完全不能执行计算任务,是指某节点因为严重故障,如离线、或计算进程被意外关闭等,不能继续执行计算任务。这种情况下,整个实时计算***都无法正常工作。
在实时计算***中,对上述问题节点的检测比较重要,但在实际应用中,实时计算***中的各个节点的硬件性能和负载状态可能存在一定的差异,性能较差或负载压力较大的节点的计算速率会较低,这样的问题节点可以称之为慢速节点,如果***中存在这样的节点,会触发木桶短板效应而拖累整个***的集群的计算速率。
比如,一个实时计算***为两年前组建的一个集群,该集群中节点的型号均为A,当前为扩容集群,新增的节点的型号均为B,B型号的节点的各项性能参数均优于A型号的节点,如果使用A型号的节点执行计算任务,会由于木桶短板效应,使得这个混搭集群的计算速率还是相当于A型号的节点的计算速率。
再如,一个实时计算***中某个处于工作状态的节点出现不稳定状态,如CPU超负载、网卡打满、磁盘IO故障等,该节点的计算速率下降了,整个***的计算速率也会因为这一台机器节点而降低。
而现有的这种问题节点检测方法只是对完全不能执行计算任务的节点的检测,无法确定出计算速率较低的节点,即慢速节点,使得在实时计算***的集群中出现慢速节点的时候,降低整个***的计算速率,影响计算效率。
发明内容
为解决上述问题,本发明实施例公开了一种基于实时计算***的问题节点检测方法及装置。技术方案如下:
一种基于实时计算***的问题节点检测方法,包括:
在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测:
针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务;
查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点;
根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
在本发明的一种具体实施方式中,所述方法还包括:
在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
在本发明的一种具体实施方式中,所述查找当前存在空闲资源的第二节点,包括:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
在本发明的一种具体实施方式中,还包括:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
将所述目标计算任务调度给所述第三节点。
在本发明的一种具体实施方式中,所述根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点,包括:
计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
如果所述绝对值大于预设的阈值,且T1>T2,则确定所述第一节点为问题节点。
在本发明的一种具体实施方式中,还包括:
如果所述绝对值大于预设的阈值,且T1<T2,则确定所述第二节点为问题节点。
在本发明的一种具体实施方式中,所述在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,包括:
在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
或者,
根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。
在本发明的一种具体实施方式中,还包括:
在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
一种基于实时计算***的问题节点检测装置,包括:
检测条件判断模块,用于判断当前是否满足预设的节点检测条件,如果是,则触发目标任务确定模块;
所述目标任务确定模块,用于针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务;
副本任务生成模块,用于生成所述目标计算任务的副本任务;
第二节点查找模块,用于查找当前存在空闲资源的第二节点;
副本任务发送模块,用于将所述副本任务发送给所述第二节点;
问题节点确定模块,用于根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
在本发明的一种具体实施方式中,还包括:
问题节点信息添加模块,用于在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
在本发明的一种具体实施方式中,所述第二节点查找模块,具体用于:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
在本发明的一种具体实施方式中,还包括:
第三节点选择模块,用于根据所述问题节点列表,查找未记录在该问题节点列表中的节点,在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
计算任务调度模块,用于将所述目标计算任务调度给所述第三节点。
在本发明的一种具体实施方式中,所述问题节点确定模块,包括:
绝对值计算子模块,用于计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
问题节点确定子模块,用于在所述绝对值大于预设的阈值,且T1>T2的情况下,确定所述第一节点为问题节点。
在本发明的一种具体实施方式中,
所述问题节点确定子模块,还用于在所述绝对值大于预设的阈值,且T1<T2的情况下,确定所述第二节点为问题节点。
在本发明的一种具体实施方式中,所述目标任务确定模块,具体用于:
在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
或者,
根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。
在本发明的一种具体实施方式中,还包括:
告警信息输出模块,用于在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
应用本发明实施例所提供的技术方案,通过生成第一节点对应的目标计算任务的副本任务,并根据第一节点完成该目标计算任务的时长和第二节点完成该副本任务的时长,确定第一节点是否为问题节点。因为目标计算任务和该目标计算任务的副本任务等同于同一计算任务,正常情况下,不同节点完成同一计算任务的时长相差不会太大,如果相差较大,则可能是某一节点出现了问题,据此确定出问题节点,使得实时计算***可以及时对问题节点进行处理,提高了整个***的计算速率,相应提高了***的计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中实施计算***的结构示意图;
图2为本发明实施例中一种基于实时计算***的问题节点检测方法的实施流程图;
图3为本发明实施例中数据流处理过程示意图;
图4为本发明实施例中节点检测过程示意图;
图5为本发明实施例中一种基于实时计算***的问题节点检测装置的结构示意图。
具体实施方式
首先对本发明实施例所提供的一种基于实时计算***的问题节点检测方法进行说明,该方法可以包括以下步骤:
在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测:
针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务;
查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点;
根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
上述步骤的执行主体为实时计算***中的控制节点。在主从结构的实时计算***中,控制节点即为该***中的主节点,该***中的其他机器节点为从节点,主节点可以将计算任务分配给各从节点、对从节点的运行状态进行监控、对出现问题的从节点中的计算任务进行调度等。
控制节点在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测,每个处于工作状态的节点即为待检测节点。针对当前待检测的第一节点,在该第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成该目标计算任务的副本任务,目标计算任务和副本任务等同于同一计算任务。查找当前存在空闲资源的第二节点,并将该副本任务发送给第二节点。这样,第一节点和第二节点均可以对同一计算任务进行处理,可以得到第一节点完成该目标计算任务的时长和第二节点完成该副本任务的时长,并根据得到的时长的大小关系,确定第一节点是否为问题节点。控制节点对每个处于工作状态的工作节点进行问题节点检测后,即可确定出该***中所存在的问题节点,并及时对问题节点进行相应的处理。
应用本发明实施例所提供的技术方案,通过生成第一节点对应的目标计算任务的副本任务,并根据第一节点完成该目标计算任务的时长和第二节点完成该副本任务的时长,确定第一节点是否为问题节点。因为目标计算任务和该目标计算任务的副本任务等同于同一计算任务,正常情况下,不同节点完成同一计算任务的时长相差不会太大,如果相差较大,则可能是某一节点出现了问题,据此确定出问题节点,使得实时计算***可以及时对问题节点进行处理,提高了整个***的计算速率,相应提高了***的计算效率。
为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2所示,为本发明实施例中一种基于实时计算***的问题节点检测方法的实施流程图,该方法可以包括以下步骤:
S110:在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测。
在实际应用中,实时计算***中的控制节点在满足预设的节点检测条件时,可以分别对***中的每个处于工作状态的节点进行检测。其中,预设的节点检测条件,可以是预设的周期(如每天或每小时),还可以是整个***中所有处于工作状态的节点完成一个数据流的总时长达到预设的阈值。可以理解的是,实时计算***运行之后,控制节点根据各工作节点(即处于工作状态的节点)的运行记录,可以得到该***中所有工作节点完成一个数据流的总时长的正常范围,如果某个工作节点发生异常,其完成被分配的计算任务的时长会过长,这种异常可以从总时长上表现出来。根据总时长的正常范围预设一个阈值,当总时长达到该阈值时,即认为达到了节点检测条件,控制节点开始对每个处于工作状态的节点进行检测,即对于每个待检测的节点,均执行以下步骤。
S120:针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务。
在步骤S110,在满足预设的节点检测条件时,控制节点分别对每个处于工作状态的节点进行检测,每个处于工作状态的节点均可作为待检测节点。在实际应用中,每个处于工作状态的节点可以提供一个或多个计算资源,最多可以执行与其能够提供的计算资源相同数量的计算任务。
实时计算***对于数据流的实时计算过程如图3所示,在***中输入数据流后,分别由节点1、节点2、节点3、节点4执行第一步(Step1)、第二步(Step2)、第三步(Step3)、第四步(Step4)的计算任务,然后输出结果流。在实际应用中,节点1和节点3可以为同一节点,即某一节点的不同计算资源分别执行第一步和第三步的计算任务。
由此可知,当前待检测的第一节点,其当前执行的计算任务可能有一个或多个。针对当前待检测的第一节点,在该第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务。在本发明的一种具体实施方式中,可以在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务,或者,根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。可以理解的是,对于同一数据流的不同计算任务其重要程度、所需要消耗的计算资源可能不同,使得不同的计算任务具有不同的优先级,将优先级较高的计算任务确定为目标计算任务,这样,如果确定出当前节点为问题节点,可以及时对该计算任务进行调度。
确定出用于节点检测的目标计算任务后,生成该目标计算任务的副本任务。这里,该目标计算任务和该目标计算任务的副本任务等同于同一计算任务。需要说明的是,根据目标计算任务生成副本任务的过程属于现有技术,本发明实施例对此不再赘述。
S130:查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点。
在实际应用中,可以根据实时计算***中各节点的计算资源所处的状态将该***中的节点划分为以下三类:
第一类节点,其所能够提供的所有计算资源均处于工作状态;
第二类节点,其所能够提供的计算资源中有部分计算资源处于工作状态,部分计算资源处于空闲状态;
第三类节点,其所能够提供的所有计算资源均处于空闲状态。
在该***中,控制节点可以实时掌握各节点的计算资源所处的状态。控制节点可以在第二类、第三类节点中确定一个第二节点,将步骤S120生成的副本任务发送给该第二节点,由第二节点使用其空闲的计算资源处理该副本任务。在实际应用中,可以根据实际情况,优先选择第三类节点作为第二节点。
以图3所示的数据流处理过程为例,这四个节点属于第一类节点或第二类节点,假设这四个节点为不同的节点,需要分别对这四个节点进行检测。对于节点1,生成其用于节点检测的计算任务的副本任务,并从第二类节点或第三类节点中查找到节点5,将节点1对应的副本任务发送给节点5;对于节点2,生成其用于节点检测的计算任务的副本任务,并从第二类节点或第三类节点中查找到节点6,将节点2对应的副本任务发送给节点6;对于节点3,生成其用于节点检测的计算任务的副本任务,并从第二类节点或第三类节点中查找到节点7,将节点3对应的副本任务发送给节点7;对于节点4,生成其用于节点检测的计算任务的副本任务,并从第二类节点或第三类节点中查找到节点8,将节点4对应的副本任务发送给节点8。具体参见图4所示。这样,等同于节点1和节点5在处理同一计算任务,节点2和节点6在处理同一计算任务,节点3和节点7在处理同一计算任务,节点4和节点8在处理同一计算任务。
S140:根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
如前所述,目标计算任务和该目标计算任务的副本任务等同于同一计算任务,通过对比第一节点完成目标计算任务的时长和第二节点完成副本任务的时长,可以确定第一节点是否为问题节点。
针对***中处于工作状态的所有节点均做上述问题节点检测后,即可以确定出***中哪些节点为问题节点,以便对问题节点进行相应的处理。
在本发明的一种具体实施方式中,可以通过以下步骤确定第一节点是否为问题节点:
步骤一:计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
步骤二:如果所述绝对值大于预设的阈值,且T1>T2,则确定所述第一节点为问题节点。
实时计算***中的控制节点可以通过监测方式获得第一节点完成目标计算任务的时长T1和第二节点完成副本任务的时长T2,当然也可以由第一节点和第二节点主动将其完成任务的时长上报给控制节点。
可以理解的是,对于同一计算任务,不同节点的处理时长相差不会太大,如果相差较大,可以表明其中一个节点出现了问题。如果T1与T2的差值的绝对值大于预设的阈值,且T1>T2,则可以确定第一节点为问题节点。这里预设的阈值可以根据实际情况进行设定和调整。
在本发明的一个实施例中,所述方法还可以包括以下步骤:
在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
在实际应用中,实时计算***的控制节点可以维护一个问题节点列表,其中记录问题节点的标识信息。当确定第一节点为问题节点时,可以将第一节点的标识信息添加到问题节点列表中。运营人员可以根据控制节点所维护的问题节点列表定期对问题节点进行处理,处理完成后,如果该问题节点的故障排除,还可以通知控制节点在问题节点列表中删除该节点的标识信息。
而在实际应用中,难免出现所选择的第二节点存在问题的情况。所以,如果所述绝对值大于预设的阈值,且T1<T2,则可以确定所述第二节点为问题节点。
需要说明的是,如果在一次检测过程中,所查找到的第二节点本身存在一定问题,那么,对于第一节点是否为问题节点则不太容易确定,可以在下一次节点检测过程中,查找与前一次节点检测过程中的第二节点不同的节点作为第一节点的对比节点,这样,如果第一节点确实为问题节点,那么即使在某一次的节点检测过程中没有检测到,通过下一次的节点检测过程也可以检测到。在本发明的一种具体实施方式中,对于第二节点的查找,控制节点可以根据其所维护的问题节点列表,查找未记录在该问题节点列表中的节点,并在所查找到的节点中选择存在空闲资源的节点作为第二节点。这样可以有效避免因为第二节点自身的问题影响第一节点是否为问题节点的检测准确率。
在本发明的另一实施例中,该方法还可以包括以下步骤:
第一个步骤:根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
第二个步骤:在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
第三个步骤:将所述目标计算任务调度给所述第三节点。
在实际应用中,确定第一节点为问题节点后,可以直接在***中选择一个存在空闲资源的第三节点,将目标计算任务调度给该第三节点。考虑到控制节点可以维护问题节点列表,在选择第三节点时,可以先根据所述问题节点列表,查找未记录在该问题节点列表中的节点,再在所述查找到的节点中选择存在空闲资源的节点作为第三节点,并将目标计算任务调度给该第三节点。这样,可以避免因为第三节点自身存在问题,而影响整个***的计算速率的情况的出现。
确定出问题节点后,实时计算***可以及时将问题节点中的计算任务调度给其他工作节点,使计算任务尽量避开问题节点,提高了整个***的计算速率,相应提高了***的计算效率。
在本发明的另一实施例中,在确定第一节点为问题节点的情况下,输出问题节点的告警信息,告警信息中携带第一节点的标识信息。当然,该步骤对于其他确定出的问题节点均适用,即当确定某节点为问题节点后,输出问题节点的告警信息,以方便运营人员及时查看并处理相关的问题节点的问题。
应用本发明实施例所提供的技术方案,通过生成第一节点对应的目标计算任务的副本任务,并根据第一节点完成该目标计算任务的时长和第二节点完成该副本任务的时长,确定第一节点是否为问题节点。因为目标计算任务和该目标计算任务的副本任务等同于同一计算任务,正常情况下,不同节点完成同一计算任务的时长相差不会太大,如果相差较大,则可能是某一节点出现了问题,据此确定出问题节点,使得实时计算***可以及时对问题节点进行处理,提高了整个***的计算速率,相应提高了***的计算效率。
相应于上面的方法实施例,本发明实施例还提供了一种基于实时计算***的问题节点检测装置,参见图5所示,该装置可以包括以下模块:
检测条件判断模块210,用于判断当前是否满足预设的节点检测条件,如果是,则触发目标任务确定模块220;
所述目标任务确定模块220,用于针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务;
副本任务生成模块230,用于生成所述目标计算任务的副本任务;
第二节点查找模块240,用于查找当前存在空闲资源的第二节点;
副本任务发送模块250,用于将所述副本任务发送给所述第二节点;
问题节点确定模块260,用于根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
在本发明的一种具体实施方式中,该装置还可以包括以下模块:
问题节点信息添加模块,用于在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
在本发明的一种具体实施方式中,所述第二节点查找模块240,具体用于:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
在本发明的一种具体实施方式中,所述装置还可以包括:
第三节点选择模块,用于根据所述问题节点列表,查找未记录在该问题节点列表中的节点,在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
计算任务调度模块,用于将所述目标计算任务调度给所述第三节点。
在本发明的一种具体实施方式中,所述问题节点确定模块260,可以包括:
绝对值计算子模块,用于计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
问题节点确定子模块,用于在所述绝对值大于预设的阈值,且T1>T2的情况下,确定所述第一节点为问题节点。
在本发明的一种具体实施方式中,所述问题节点确定子模块,还用于在所述绝对值大于预设的阈值,且T1<T2的情况下,确定所述第二节点为问题节点。
在本发明的一种具体实施方式中,所述目标任务确定模块220,具体用于:
在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
或者,根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。
在本发明的一种具体实施方式中,所述装置还可以包括:
告警信息输出模块,用于在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
应用本发明实施例所提供的装置,通过生成第一节点对应的目标计算任务的副本任务,并根据第一节点完成该目标计算任务的时长和第二节点完成该副本任务的时长,确定第一节点是否为问题节点。因为目标计算任务和该目标计算任务的副本任务等同于同一计算任务,正常情况下,不同节点完成同一计算任务的时长相差不会太大,如果相差较大,则可能是某一节点出现了问题,据此确定出问题节点,使得实时计算***可以及时对问题节点进行处理,提高了整个***的计算速率,相应提高了***的计算效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (16)
1.一种基于实时计算***的问题节点检测方法,其特征在于,包括:
在满足预设的节点检测条件时,分别对每个处于工作状态的节点进行检测:
针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,并生成所述目标计算任务的副本任务;
查找当前存在空闲资源的第二节点,将所述副本任务发送给所述第二节点;
根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
3.根据权利要求2所述的方法,其特征在于,所述查找当前存在空闲资源的第二节点,包括:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
将所述目标计算任务调度给所述第三节点。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点,包括:
计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
如果所述绝对值大于预设的阈值,且T1>T2,则确定所述第一节点为问题节点。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果所述绝对值大于预设的阈值,且T1<T2,则确定所述第二节点为问题节点。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务,包括:
在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
或者,
根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。
8.根据权利要求1所述的方法,其特征在于,还包括:
在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
9.一种基于实时计算***的问题节点检测装置,其特征在于,包括:
检测条件判断模块,用于判断当前是否满足预设的节点检测条件,如果是,则触发目标任务确定模块;
所述目标任务确定模块,用于针对当前待检测的第一节点,在所述第一节点当前执行的计算任务中,确定用于节点检测的目标计算任务;
副本任务生成模块,用于生成所述目标计算任务的副本任务;
第二节点查找模块,用于查找当前存在空闲资源的第二节点;
副本任务发送模块,用于将所述副本任务发送给所述第二节点;
问题节点确定模块,用于根据所述第一节点完成所述目标计算任务的时长T1和所述第二节点完成所述副本任务的时长T2,确定所述第一节点是否为问题节点。
10.根据权利要求9所述的装置,其特征在于,还包括:
问题节点信息添加模块,用于在确定所述第一节点为问题节点的情况下,将所述第一节点的标识信息添加到问题节点列表中。
11.根据权利要求10所述的装置,其特征在于,所述第二节点查找模块,具体用于:
根据所述问题节点列表,查找未记录在该问题节点列表中的节点;
在所述查找到的节点中选择存在空闲资源的节点作为第二节点。
12.根据权利要求10或11所述的装置,其特征在于,还包括:
第三节点选择模块,用于根据所述问题节点列表,查找未记录在该问题节点列表中的节点,在所述查找到的节点中选择存在空闲资源的节点作为第三节点;
计算任务调度模块,用于将所述目标计算任务调度给所述第三节点。
13.根据权利要求9至11任一项所述的装置,其特征在于,所述问题节点确定模块,包括:
绝对值计算子模块,用于计算所述第一节点完成所述目标计算任务的时长T1与所述第二节点完成所述副本任务的时长T2的差值的绝对值;
问题节点确定子模块,用于在所述绝对值大于预设的阈值,且T1>T2的情况下,确定所述第一节点为问题节点。
14.根据权利要求13所述的装置,其特征在于,
所述问题节点确定子模块,还用于在所述绝对值大于预设的阈值,且T1<T2的情况下,确定所述第二节点为问题节点。
15.根据权利要求9至11任一项所述的装置,其特征在于,所述目标任务确定模块,具体用于:
在所述第一节点当前执行的计算任务中随机确定用于节点检测的目标计算任务;
或者,
根据预先获得的计算任务优先级信息,将所述第一节点当前执行的计算任务中优先级最高的计算任务,确定为用于节点检测的目标计算任务。
16.根据权利要求9所述的装置,其特征在于,还包括:
告警信息输出模块,用于在确定所述第一节点为问题节点的情况下,输出问题节点的告警信息,所述告警信息中携带所述第一节点的标识信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218215.5A CN104765648B (zh) | 2015-04-30 | 2015-04-30 | 一种基于实时计算***的问题节点检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218215.5A CN104765648B (zh) | 2015-04-30 | 2015-04-30 | 一种基于实时计算***的问题节点检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104765648A true CN104765648A (zh) | 2015-07-08 |
CN104765648B CN104765648B (zh) | 2017-12-08 |
Family
ID=53647494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510218215.5A Active CN104765648B (zh) | 2015-04-30 | 2015-04-30 | 一种基于实时计算***的问题节点检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765648B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330531A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 节点故障记录和处理的方法以及装置 |
CN107959703A (zh) * | 2016-10-18 | 2018-04-24 | 网宿科技股份有限公司 | 数据处理方法、客户端及分布式计算*** |
CN109218126A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及*** |
CN110705893A (zh) * | 2019-10-11 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 一种业务节点管理方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126696B1 (en) * | 2008-10-15 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Modifying length of synchronization quanta of simulation time in which execution of nodes is simulated |
CN102609303A (zh) * | 2012-01-18 | 2012-07-25 | 华为技术有限公司 | MapReduce***的慢任务调度方法和装置 |
CN104199739A (zh) * | 2014-08-26 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种基于负载均衡的推测式Hadoop调度方法 |
CN104331520A (zh) * | 2014-11-28 | 2015-02-04 | 北京奇艺世纪科技有限公司 | Hadoop集群性能优化方法及装置和节点状态识别方法及装置 |
-
2015
- 2015-04-30 CN CN201510218215.5A patent/CN104765648B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126696B1 (en) * | 2008-10-15 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Modifying length of synchronization quanta of simulation time in which execution of nodes is simulated |
CN102609303A (zh) * | 2012-01-18 | 2012-07-25 | 华为技术有限公司 | MapReduce***的慢任务调度方法和装置 |
CN104199739A (zh) * | 2014-08-26 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种基于负载均衡的推测式Hadoop调度方法 |
CN104331520A (zh) * | 2014-11-28 | 2015-02-04 | 北京奇艺世纪科技有限公司 | Hadoop集群性能优化方法及装置和节点状态识别方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330531A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 节点故障记录和处理的方法以及装置 |
CN106330531B (zh) * | 2016-08-15 | 2019-05-03 | 东软集团股份有限公司 | 节点故障记录和处理的方法以及装置 |
CN107959703A (zh) * | 2016-10-18 | 2018-04-24 | 网宿科技股份有限公司 | 数据处理方法、客户端及分布式计算*** |
CN109218126A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及*** |
CN109218126B (zh) * | 2017-06-30 | 2023-10-17 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及*** |
CN110705893A (zh) * | 2019-10-11 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 一种业务节点管理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104765648B (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107864071B (zh) | 一种面向主动安全的数据动态采集方法、装置及*** | |
US9921943B2 (en) | Predicting anomalies and incidents in a computer application | |
CN110493025B (zh) | 一种基于多层有向图的故障根因诊断的方法及装置 | |
US8930757B2 (en) | Operations management apparatus, operations management method and program | |
CN111324639B (zh) | 数据监测方法、装置及计算机可读存储介质 | |
CN111158977A (zh) | 一种异常事件根因定位方法及装置 | |
CN103746831A (zh) | 一种告警分析的方法、装置及*** | |
CN104765648A (zh) | 一种基于实时计算***的问题节点检测方法及装置 | |
CN105659528A (zh) | 一种实现故障定位的方法及装置 | |
CN105243004A (zh) | 一种故障资源检测方法及装置 | |
CN102609351B (zh) | 用于分析***的性能的方法、设备和*** | |
CN105183619A (zh) | 一种***故障预警方法和*** | |
CN106452941A (zh) | 网络异常的检测方法及装置 | |
CN112668862A (zh) | 一种生产线的适应性量化评估方法 | |
CN105808368A (zh) | 一种基于随机概率分布的信息安全异常检测的方法及*** | |
CN115907446A (zh) | 一种基建工程施工进度的智能管控评估*** | |
CN112417791A (zh) | 基于线性回归与ahp算法的电力设备监视预警方法及*** | |
CN111309502A (zh) | 固态硬盘寿命预测方法 | |
CN105425739A (zh) | 使用plc日志数据来预测异常发生的*** | |
JP2013182432A (ja) | 運用作業管理システム、方法、及びプログラム | |
CN104320285A (zh) | 一种网站运行状态监控方法及装置 | |
CN115796610A (zh) | 一种支管成型***运行综合监测方法、***及存储介质 | |
CN102891774A (zh) | 一种云计算***中监控虚拟机状态并提示告警的方法 | |
CN109634808B (zh) | 一种基于关联分析的链式监控事件根因分析方法 | |
CN111026624A (zh) | 电网信息***的故障预测方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |