CN106610870B - 一种处理节点数量调整方法及装置 - Google Patents

一种处理节点数量调整方法及装置 Download PDF

Info

Publication number
CN106610870B
CN106610870B CN201611236411.6A CN201611236411A CN106610870B CN 106610870 B CN106610870 B CN 106610870B CN 201611236411 A CN201611236411 A CN 201611236411A CN 106610870 B CN106610870 B CN 106610870B
Authority
CN
China
Prior art keywords
processing
node
management node
nodes
destination number
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.)
Active
Application number
CN201611236411.6A
Other languages
English (en)
Other versions
CN106610870A (zh
Inventor
马元文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201611236411.6A priority Critical patent/CN106610870B/zh
Publication of CN106610870A publication Critical patent/CN106610870A/zh
Application granted granted Critical
Publication of CN106610870B publication Critical patent/CN106610870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种处理节点数量调整方法及装置,应用于实时计算系统中的管理节点,方法包括:检测是否接收到所述管理节点所管理的处理节点发送的任务处理完成消息;如果是,根据预先设置的管理节点所管理的处理节点的最大负载率和最小负载率,确定管理节点管理的处理节点对应的目标负载率;根据目标负载率、基本负载率以及管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,基本负载率为所记录的负载率的平均值;根据当前数量以及目标数量,确定处理节点数量是否需要调整;如果是,根据目标数量对管理节点所管理的处理节点的数量进行调整。应用本发明实施例,提高了处理节点的资源利用率。

Description

一种处理节点数量调整方法及装置
技术领域
本发明涉及实时计算技术领域,特别涉及一种处理节点数量调整方法及装置。
背景技术
实时计算是近几年兴起的技术,相较于批处理,实时计算可以快速的返回计算结果,最小处理延迟可以达到秒级,因此,实时计算系统被广泛应用到报表统计,实时推荐,ETL(Extraction Transformation Loading,数据提取、转换和加载)等领域。
在现有的实时计算系统中包括管理节点和处理节点,管理节点将获取到的用户的实时数据分割成多个任务,将同一个任务调度给所有的处理节点处理,处理节点对接收到的数据进行处理并将处理结果反馈给管理节点。如果处理该任务所花费的时间小于用户预先设置的时间间隔,则管理节点等待直至到达预先设置的时间间隔,才会调度下一个任务给处理节点处理,在等待期间,该管理节点管理的所有处理节点均处于空闲状态。在现有技术中,管理节点能够调度的处理节点的数量,可以在未运行实时处理程序时进行调整,调整过程为:根据估算的最大负载确定需要的处理节点的数量,根据所确定的处理节点的数量,对自身当前管理的处理节点的数量进行调整。
在实时计算系统中,管理节点只能在未运行实时处理程序时,基于估算的最大负载对处理节点的数量进行调整,为了防止程序运行失败而造成的任务不能被处理的情况发生,一般估算的最大负载都大于实际使用时的最大负载,且负载与处理节点的数量成正比,则现有的方法使得管理节点管理的处理节点数量比实际需要的处理节点的数量多。因此,在实际运行时,会导致处理任务所花费的时间会小于预先设置的时间间隔,使得在每一次对任务进行处理时,均有一段时间所有处理节点都处于空闲状态,这样造成了处理节点的资源利用率较低。
发明内容
本发明实施例的目的在于提供一种处理节点数量调整方法及装置,以提高处理节点的资源利用率。
为达到上述目的,本发明实施例公开了一种处理节点数量调整方法,应用于实时计算系统中的管理节点,所述方法包括:
检测是否接收到所述管理节点所管理的所有处理节点发送的任务处理完成消息;
如果是,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率;
根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值;
根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;
如果是,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
较佳的,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
较佳的,所述根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量所采用的公式为:
Figure BDA0001195425930000021
较佳的,所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
较佳的,所述根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述最大处理节点数量。
为达到上述目的,本发明实施例还公开了一种处理节点数量调整装置,应用于实时计算系统中的管理节点,所述装置包括:
检测模块,用于检测是否接收到所述管理节点所管理的所有处理节点发送的任务处理完成消息;
第一确定模块,用于在所述检测模块的检测结果为是的情况下,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率;
第二确定模块,用于根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值;
第三确定模块,根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;
调整模块,用于在所述第三确定模块的确定结果为是的情况下,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
较佳的,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
较佳的,所述第二确定模块所采用的公式为:
较佳的,所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
较佳的,所述调整模块,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述最大处理节点数量。
由上述技术方案可见,本发明实施例提供一种处理节点数量调整方法及装置,应用于实时计算系统中的管理节点,所述方法包括:检测是否接收到所述管理节点所管理的所有处理节点发送的任务处理完成消息;如果是,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率;根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值;根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;如果是,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。应用本发明实施例,根据计算处理节点数量调整后的目标数量与处理节点的当前数量进行对比,对处理节点的数量进行调整,使得当前实时计算系统中,处理节点的数量随着负载率进行动态变化的,相较于现有技术,使得处理节点处于空闲状态的时间大大减少,因此,提高了处理节点的资源利用率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种处理节点数量调整方法的流程示意图;
图2为实时数据流量随时间的变化趋势图;
图3为利用本发明实施例提供的方法与现有技术方法,处理节点数量随实时数据流量的变化趋势图;
图4为本发明实施例提供的一种处理节点数量调整装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种处理节点数量调整方法及装置。下面首先对本发明实施例所提供的一种处理节点数量调整方法进行介绍。
需要说明的是,本发明实施例优先应用于实时计算系统中的管理节点。每个实时计算系统中存在至少一个管理节点,不同的管理节点对应着不同的应用,示例性,管理节点可以是计算单次出现次数的实时应用中的管理节点。这里所说的实时计算系统,是一种串行执行任务的实时计算系统,可以理解为管理节点将一个任务调度给处理节点进行处理,接收到所有处理节点针对该任务处理完成的消息后,才会将下一个任务调度给处理节点进行处理,任务是串行的调度给处理节点进行处理。
当前流行的实时计算系统分别为:以Storm和Flink为代表的基于单条记录处理的实时计算系统和以Spark Streaming为代表的基于微批次处理的实时计算系统。在本发明实施例中,下面均以Spark Streaming为代表的基于微批次处理的实时计算系统为例进行说明。基于微批次处理的实时计算系统中,管理节点根据用户预先设置的时间间隔将实时数量分割成不同的批次,示例性的,可以将实时数据分割成第一批次、第二批次等等,具体分割为多少个批次,是根据实时数量的数量及预先设置的时间间隔决定的。在分割为不同的批次后,管理节点将当前批次的数据调度到处理节点上执行。需要说明的是,当前批次可以理解最先划分出来的批次。在基于微批次处理的实时计算系统,一个批次可以认为是一个任务,进一步地,可以理解为管理节点是将同一个批次的数据调度给自身管理的处理节点执行。需要说明的是,在本发明实施例中,处理节点可以理解为是CPU(CentralProcessing Unit,中央处理器)中的处理器。CPU中包含的处理器的数量可以称之为CPU核数。
图1为本发明实施例提供的一种处理节点数量调整方法的流程示意图,包括以下步骤:
S101:检测是否接收到所述管理节点所管理的处理节点发送的任务处理完成消息。
需要说明的是,现有技术中,管理节点只有在没有运行程序的时候,根据预先估计的最大负载,对处理节点的数量进行调整,在运行状态中,不会调整处理节点的数量;在本发明实施例中,可以在运行过程中根据是否检测是否接收到管理节点所管理的处理节点发送的处理完成消息才进行判断是否对处理节点的数量进行调整。本领域技术人员可以理解的是,管理节点会将任务调度给自身所管理的处理节点执行,当一个处理节点处理完成后,会向管理节点任务发送处理完成的消息,管理节点会记录是哪个处理节点发送的任务处理完成的信息。示例性的,假设管理节点管理的处理节点有10个,如果检测到已经接收到这10个处理节点发送的任务处理完成的信息,则继续执行S102,否则,需要继续等待直至接收到所有处理节点发送的任务处理完成的消息。
S102:根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率。
具体的,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
本领域技术人员可以理解的是,这里所说的管理节点所管理的处理节点的最大负载率是管理节点所管理的所有处理节点的最大负载率,同理,这里所说的管理节点所管理的处理节点的最小负载率是管理节点所管理的所有处理节点的最小负载率。在实时计算系统中,处理节点作为计算资源,理论上,其数量与能承受的负载成正比,即处理节点的数量越多,能承受的负载就越大,因此,在本发明实施例中,可以认为处理节点的数量与负载成正比。处理节点与实时数据流量理论上也成正比,如果实时数据流量大,则需要较多的处理节点进行处理实时数据流量;如果数据流量小,则需要比较少的处理节点进行处理实时数据流量。上述所说对任务或批次进行处理,均可以理解为是对实时数据流量进行处理。
需要说明的,最大负载率与最小负载率可以根据实际情况进行设置,对于不同的管理节点,设置的最大负载率与最小负载率可以相同也可以不同。
S103:根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值。
具体的,所述根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量所采用的公式为:
Figure BDA0001195425930000071
具体的,所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
需要说明的是,预设的任务i的目标处理时间可以理解是用户预先设置的时间间隔。示例性的,用户预先设置的时间间隔为5分钟,任务的实际处理时间为4分钟,则可以认为处理该任务的负载率为80%。这里所说的任务i的实际处理时间为从管理节点将任务i调度给处理节点进行处理开始计时到接收到所有处理节点发送任务i处理完成的消息为止的时间段。
在本发明实施例中,计算目标数量还需要考虑已经处理的批次的负载率对目标数量的影响,因为在实际应用中,每一个管理节点对应着一个实时应用,可以理解为实时计算系统中,运行着很多实时应用。实时应用易受其他应用的影响,如果不考虑已经处理的批次的负载率对目标数量的影响,可能会造成目标数量计算的不确定,进行造成处理节点的数量调整不确定,或者导致对处理节点的数量进行频繁的调整。
这里所说的所记录的负载率可以为已经处理的所有批次的负载率,也可以为预设数量个存储时间比较靠后的批次对应的负载率,示例性,假设当前存储的负载率有20个,预设数量是5个,可以将最后存储的5个批次对应的负载率作为所记录的负载率,当然,假设预设数量是5个,当一个批次处理完成后,在记录的负载率不足5个的时候,将处理该批次的负载率记载在前一个已经处理的批次的负载率后面,如果记录的负载率为5个,则用该批次的负载率覆盖最先记录的负载率。
S104:根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整。
S105:根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
具体的,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述最大处理节点数量。
在实际应用中,如果当前数量等于目标数量,则不需要对处理节点数量进行调整,如果当前数量不等于目标数量,则需要对处理节点的数量进行调整。如果当前数量大于目标数量,说明对下一个批次的数据进行处理时,不需要那么多的处理节点,为了提高处理节点的资源利用率,需要将处理节点的数量减少至目标数量。减少了处理节点的数量,为了保证实时数据处理的正确性,需要将减少的处理节点的历史状态迁移到其他的处理节点上。需要说明的是,本发明实施例中的实时计算系统中的任务是串行被处理,当判断处理节点的数量需要调整时,此时,管理节点不会调度任务给处理节点,处理节点也没有任何任务要处理,因此,减少处理节点的数量,不会导致其他的任务不能被正确地处理。
处理节点的历史处理状态迁移,和实时计算系统中的算子有密切的联系。这里所说的算子是处理节点中的算子。实时计算系统中的计算是由各个算子组成的,算子分为以下两类:
1、无状态算子:无状态算子对数据进行处理后的计算结果只和记录本身有关,和历史处理状态无关,例如Map(映射)、Filter(过滤)等计算。
2、有状态算子:有状态算子对数据进行处理后的计算结果依赖于历史处理状态,只有历史处理状态正确才能保证处理的正确。
示例性的,一个计算单词出现的实时应用Word Count(单词计数)中,每一处理节点中包含Split(分割)算子和Count算子,其中,Split算子是无状态算子,Count算子是有状态算子。Split算子将接收的数据分割成一个个单词,Count算子是计算迄今为止单词出现的次数。Split算子只和到来的数据有关,而Count算子则要保证之前的每个单词出现的次数都被正确保存,这样,数据才能正确地被处理。
处理节点中因为存在有状态算子,才能记录历史处理状态,减少的处理节点中的每一个处理节点中都记录有历史处理状态,因此,需要将减少的节点中的历史处理状态迁移到其他的处理节点中,具体的,管理节点可以在减少处理节点的数量之前,通知待减少的处理节点将自身所记录的历史处理状态迁移到接收历史处理状态的处理节点上,当然,这种对历史处理状态迁移的方法是现有技术,并不仅限于上述示例。
将处理节点的数量减少至目标数量,具体选择减少哪些处理节点,可以随机选择当前数量与目标数量差值个处理节点,减少这些选中的处理节点,还可以将所有处理节点根据记录的历史处理状态进行排序,选取当前数量与目标数量差值个历史处理状态较少的处理节点关闭,当然,选取待减少的处理节点的方法并不仅限于此。
在实际应用中,将处理节点的数量减少至目标数量可以为:管理节点将自身注册状态信息中,待减少的处理节点的状态由激活状态变更为未激活状态,并通知公共资源池,将待减少的处理节点的状态由分配状态变更为未分配状态。当然,减少处理节点的方法并不仅限于此。这样公共资源池可以重新对处理节点进行分配,不会造成管理节点不使用这些处理节点处理数据,公共资源池无法将这些处理节点进行重新分配而造成的处理节点的闲置,这样节省了计算资源。
当当前数量小于目标数量时,为了保证实时数量能够及时被处理,需要增加处理节点的数量,为了避免占用其他实时应用中的处理节点的数量,在本发明实施例中,对每一管理节点规定了最大处理节点数量,每一管理节点的最大处理节点数量可以相同,也可以不同。需要说明的是,这里所说的最大处理节点数量可以为公共资源池中所有处理节点的总和。
具体的,需要判断目标数量是否不大于最大处理节点数量,如果大于,因为有最大处理节点数量的限制,则将处理节点的数量增加至最大处理节点数量,如果不大于,则将处理节点的数量增加至目标数量。
在实际应用中,增加处理节点数量的方法可以为:管理节点确定待增加的处理节点的数量,向公共资源池发送请求,公共资源池接收到请求,在未分配的处理节点选择处理节点,并将选中的处理节点的状态由未分配状态更改为分配状态,并通知管理节点哪些处理节点分配给管理节点管理,管理节点向分配给自身管理的处理节点发送向自身注册信息的指令,处理节点在接收到指令后,向管理节点注册自身的信息,进一步地,管理接收到处理节点的注册信息后,将信息记录在状态注册信息中。管理节点将新增加的处理节点的状态由未激活状态变更为激活状态,并给新增加的处理节点配置相应的设置,例如为实现自身对应的实时计算而用到的算子,以使得新增加的处理节点能够进行实时数据处理。
具体的,还需要将历史处理状态迁移到新增加的处理节点上,管理节点可以事先建立新增的处理节点与选中的待迁移历史处理状态的处理节点的对应关系,通知选中的待迁移历史处理状态的处理节点将哪些历史处理状态迁移至其对应的处理节点中,具体的,待迁移历史处理状态的处理节点可以是随机选择的,也可以是选择历史记录状态比较多的处理,当然,也可以是其他的方法,在这里不进行一一列举。
在实际应用中,管理节点中的任务调度程序(批次调度程序),将一个批次的数量调度到各个处理节点上执行,在进行调度的时候需要根据处理节点的数量进行调度,当管理节点管理的处理节点的数量发生变化,则任务调度程序将改变自身记录的处理节点的数量,同样的,处理节点的数量变化,会带动历史处理状态的迁移,因为处理节点中的状态管理模块中记录有历史处理状态,当历史处理状态的迁移,处理节点中的状态管理模块中记录的历史处理状态会发生变化。处理节点中的任务管理模块中的信息不会因为处理节点的数量变化而发生变化。
图2为实时数据流量随时间的变化趋势图,图2仅以一天(24小时)的实时数据流量为代表说明实时数据流量随时间的变化趋势,需要说明的是每一天的实时数据流量大致的趋势图2所示。从图2可以看出,实时数据流量随时间动态地变化,在两个波峰对应的时刻,实时数据流量很大。图3为利用本发明实施例提供的方法与现有技术方法,处理节点数量随实时数据流量的变化趋势图。如图3所示,利用现有技术的方法,在运行过程中,不管实时数据流量是否发生变化,处理节点的数量不变;利用本发明实施例提供的方法,处理节点的数量随实时数据流量增大而增大,处理节点的数量在动态地变化。
在实际应用中,现有技术中,管理节点管理的处理节点的数量比较多,对任务的处理时间比较短。示例性的,假设有50个节点,将任务A调度给这50个节点进行处理,2分钟处理完成,假设预先设置的时间间隔为5分钟,则还需要等待3分钟,管理节点才会调度下一个任务给这50个处理节点进行处理,在这3分钟内,50个处理节点一直处于空闲状态,导致处理节点的资源利用率不高,处理节点的资源利用率只有40%;利用本发明实施例的方法,处理节点的数量在动态地变化,在其他条件相同的情况下,假设有25个节点,则需要4分钟处理完成,处理节点的资源利用率为80%。应用本发明实施例,不仅处理节点的资源利用率较高,使得实时计算系统保持了较高的资源利用率,也避免了预估最大负载的麻烦,同时,因为不需要与预估最大负载,也不会有因实际负载超过预估的最大负载而造成的实时应用运行失败。
应用本发明实施例,根据计算处理节点数量调整后的目标数量与处理节点的当前数量进行对比,对处理节点的数量进行调整,使得当前实时计算系统中,处理节点的数量是负载率进行动态变化的,相较于现有技术,使得处理节点处于空闲状态的时间大大减少,因此,提高了处理节点的资源利用率。
图4为本发明实施例提供的一种处理节点数量调整装置的结构示意图,该装置,应用于实时计算系统中的管理节点,所述装置包括:检测模块401、第一确定模块402、第二确定模块403、第三确定模块404和调整模块405。
检测模块401,用于检测是否接收到所述管理节点所管理的处理节点发送的任务处理完成消息;
第一确定模块402,用于在所述检测模块401的检测结果为是的情况下,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率.
具体的,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
第二确定模块403,用于根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值。
具体的,所述第二确定模块403所采用的公式为:
Figure BDA0001195425930000121
具体的,所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
第三确定模块404,根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;
调整模块405,用于在所述第三确定模块的确定结果为是的情况下,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
具体的,所述调整模块405,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述大处理节点数量。
应用本发明实施例,根据计算处理节点数量调整后的目标数量与处理节点的当前数量进行对比,对处理节点的数量进行调整,使得当前实时计算系统中,处理节点的数量是负载率进行动态变化的,相较于现有技术,使得处理节点处于空闲状态的时间大大减少,因此,提高了处理节点的资源利用率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种处理节点数量调整方法,其特征在于,应用于实时计算系统中的管理节点,所述方法包括:
检测是否接收到所述管理节点所管理的所有处理节点发送的任务处理完成消息;
如果是,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率;
根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值;
根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;
如果是,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
2.根据权利要求1所述的方法,其特征在于,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量所采用的公式为:
Figure FDA0001195425920000011
4.根据权利要求1所述的方法,其特征在于,
所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述最大处理节点数量。
6.一种处理节点数量调整装置,其特征在于,应用于实时计算系统中的管理节点,所述装置包括:
检测模块,用于检测是否接收到所述管理节点所管理的所有处理节点发送的任务处理完成消息;
第一确定模块,用于在所述检测模块的检测结果为是的情况下,根据预先设置的所述管理节点所管理的处理节点的最大负载率和最小负载率,确定所述管理节点管理的处理节点对应的目标负载率;
第二确定模块,用于根据所述目标负载率、基本负载率以及所述管理节点所管理的处理节点的当前数量,确定处理节点数量调整后的目标数量,其中,所述基本负载率为所记录的负载率的平均值;
第三确定模块,根据所述当前数量以及所述目标数量,确定处理节点数量是否需要调整;
调整模块,用于在所述第三确定模块的确定结果为是的情况下,根据所述目标数量对所述管理节点所管理的处理节点的数量进行调整。
7.根据权利要求6所述的装置,其特征在于,所述目标负载率为:
所述最大负载率和所述最小负载率的平均值。
8.根据权利要求6所述的装置,其特征在于,所述第二确定模块所采用的公式为:
Figure FDA0001195425920000021
9.根据权利要求6所述的装置,其特征在于,
所记录的负载率中的负载率i=任务i的实际处理时间/预设的任务i的目标处理时间。
10.根据权利要求6所述的装置,其特征在于,所述调整模块,包括:
在所述当前数量大于所述目标数量的情况下,将所述管理节点所管理的处理节点的数量减少至所述目标数量;
在所述当前数量小于所述目标数量的情况下,判断所述目标数量是否不大于与预先设置的最大处理节点数量;
如果不大于,将所述管理节点管理的处理节点的数量增加至所述目标数量;
如果大于,将所述管理节点管理的处理节点的数量增加至所述最大处理节点数量。
CN201611236411.6A 2016-12-28 2016-12-28 一种处理节点数量调整方法及装置 Active CN106610870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611236411.6A CN106610870B (zh) 2016-12-28 2016-12-28 一种处理节点数量调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611236411.6A CN106610870B (zh) 2016-12-28 2016-12-28 一种处理节点数量调整方法及装置

Publications (2)

Publication Number Publication Date
CN106610870A CN106610870A (zh) 2017-05-03
CN106610870B true CN106610870B (zh) 2019-10-15

Family

ID=58636189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611236411.6A Active CN106610870B (zh) 2016-12-28 2016-12-28 一种处理节点数量调整方法及装置

Country Status (1)

Country Link
CN (1) CN106610870B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483643A (zh) * 2017-09-26 2017-12-15 深圳市神云科技有限公司 一种基于云平台的自动管理节点负载的方法
CN110309211B (zh) * 2018-03-12 2023-04-28 华为技术有限公司 一种定位etl过程问题的方法及相关设备
CN108900876B (zh) * 2018-06-22 2021-05-28 上海合志信息技术有限公司 一种移动视频内容颗粒化方法及其系统
CN109684078A (zh) * 2018-12-05 2019-04-26 苏州思必驰信息科技有限公司 用于spark streaming的资源动态分配方法和系统
CN110187912B (zh) 2019-05-16 2022-03-29 华为技术有限公司 一种节点选择方法和装置
CN114679447B (zh) * 2022-05-30 2022-09-16 南京赛宁信息技术有限公司 一种靶场流量任务切片调度系统与方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN103034539A (zh) * 2011-09-30 2013-04-10 英业达股份有限公司 伺服器系统及其电源管理方法
CN103188345A (zh) * 2013-03-01 2013-07-03 北京邮电大学 分布式动态负载管理系统和方法
CN103617062A (zh) * 2013-12-05 2014-03-05 山东大学 一种柔性的渲染集群动态部署系统与方法
CN104363282A (zh) * 2014-11-17 2015-02-18 广联达软件股份有限公司 一种云计算资源调度方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN103034539A (zh) * 2011-09-30 2013-04-10 英业达股份有限公司 伺服器系统及其电源管理方法
CN103188345A (zh) * 2013-03-01 2013-07-03 北京邮电大学 分布式动态负载管理系统和方法
CN103617062A (zh) * 2013-12-05 2014-03-05 山东大学 一种柔性的渲染集群动态部署系统与方法
CN104363282A (zh) * 2014-11-17 2015-02-18 广联达软件股份有限公司 一种云计算资源调度方法及装置

Also Published As

Publication number Publication date
CN106610870A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
CN106610870B (zh) 一种处理节点数量调整方法及装置
US10877801B2 (en) Systems and methods for scheduling tasks
CN106375420B (zh) 一种基于负载均衡的服务器集群智能监控系统及方法
US10459915B2 (en) Managing queries
US20040158831A1 (en) Process scheduling appratus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling
US9210219B2 (en) Systems and methods for consistent hashing using multiple hash rings
CN103763378A (zh) 基于分布式流式计算系统的任务处理方法、系统及节点
CN103297297B (zh) 分组处理方法和分组处理系统
CN106874100B (zh) 计算资源分配方法及装置
US9596298B1 (en) Load balancing in a distributed processing system
US10298669B2 (en) Server load management for data migration
CN107301178A (zh) 数据查询处理方法、装置及系统
CN109815204A (zh) 一种基于拥塞感知的元数据请求分发方法及设备
CN108111337B (zh) 分布式系统仲裁主节点的方法及设备
CN110011843A (zh) 告警信息处理方法、电子设备和存储介质
CN103631695A (zh) 时间监测方法及装置
CN115269147A (zh) 一种批量任务处理方法、装置、设备及存储介质
CN109885384A (zh) 任务并行度优化方法、装置、计算机设备及存储介质
CN112948104B (zh) 负载均衡的数据采集方法及装置
US20150046506A1 (en) Configurable Dynamic Load Shedding Method in Distributed Stream Computing system
CN106411971B (zh) 负载调节方法及装置
CN107436812B (zh) 一种Linux系统性能优化的方法及装置
WO2016165471A1 (zh) Hadoop集群组件指标的采集方法及装置
WO2021262293A1 (en) Dynamic power capping of computing systems and subsystems contained therein
TW201735596A (zh) 任務調度方法和裝置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant