CN111090502B - 一种流数据任务调度方法和装置 - Google Patents

一种流数据任务调度方法和装置 Download PDF

Info

Publication number
CN111090502B
CN111090502B CN201811245457.3A CN201811245457A CN111090502B CN 111090502 B CN111090502 B CN 111090502B CN 201811245457 A CN201811245457 A CN 201811245457A CN 111090502 B CN111090502 B CN 111090502B
Authority
CN
China
Prior art keywords
task
target
state
cluster
node
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
CN201811245457.3A
Other languages
English (en)
Other versions
CN111090502A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811245457.3A priority Critical patent/CN111090502B/zh
Publication of CN111090502A publication Critical patent/CN111090502A/zh
Application granted granted Critical
Publication of CN111090502B publication Critical patent/CN111090502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

本申请公开了一种流数据任务调度方法,应用于任务调度系统,包括:基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;基于任务状态参数和集群运行参数中至少一项,确定目标任务的调度状态;基于目标任务的调度状态,对目标任务进行任务调度。采用本方案,可以结合任务的运行状态和节点的运行状态,综合判断集群运行的健康程度,从而可以及时、准确的感知到任务处理或集群运行的异常状态,进而能够在流数据任务的处理过程出现异常时及时进行任务调度,有利于降低人工维护成本,提高流数据处理平台的稳定性。

Description

一种流数据任务调度方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种流数据任务调度方法和装置。
背景技术
流数据(又可称为流式数据),指顺序、大量、快速、连续到达数据处理节点(可以具体为计算机、计算机集群等)的数据序列。流数据通常由大量数据源持续生成,可以理解为一个随时间延续而无限增长的动态数据集合。
在很多应用场景中,例如,日志审计、性能数据监控、网络监控、传感器网络、航空航天、气象测控、金融服务等,JStorm、Flink等实时流数据处理平台均可广泛应用。但是,由于流数据会持续不间断的大量产生,因此,流数据处理平台(也可称为流数据处理系统)将需要长时间、不间断地运行,以处理流数据任务(又可称为流计算作业)。
因此,亟需一种能够在流数据任务的处理过程出现异常时进行任务调度的方法,以降低人工维护成本,提高流数据处理平台的稳定性。
发明内容
本申请实施例提供一种流数据任务调度方法和装置,用于在流数据任务的处理过程出现异常时进行任务调度,旨在降低人工维护成本,提高流数据处理系统的稳定性。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种流数据任务调度方法,应用于任务调度系统,所述任务调度系统用于调度流数据任务,所述流数据任务由流数据处理系统处理,其中,所述方法包括:
基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
优选的,本申请实施例第一方面提供的方法中,在基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的运行参数之前,所述方法还包括以下至少一项:
根据所述目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述任务状态参数;
根据所述目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述节点状态参数。
优选的,本申请实施例第一方面提供的方法中,所述方法还包括以下至少一项:
根据所述目标任务中数据过满队列的数量,确定负载指数,所述负载指数与所述数据过满队列的数量负相关;
根据所述目标任务中流数据的持续堆积时间,确定堆积指数,所述堆积指数与所述持续堆积时间负相关;
根据所述目标任务的处理状态,确定状态指数,其中,所述处理状态为正常处理时,所述状态指数取为预设上限值,所述处理状态为处理失败时,所述状态指数取为预设下限值。
优选的,本申请实施例第一方面提供的方法中,根据所述目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述任务状态参数,包括:
对所述负载指数、所述堆积指数和所述状态指数进行加权计算,得到所述任务状态参数。
优选的,本申请实施例第一方面提供的方法中,对所述负载指数、所述堆积指数和所述状态指数进行加权计算时,所述负载指数的权重、所述堆积指数的权重和所述状态指数的权重依次递增。
优选的,本申请实施例第一方面提供的方法中,所述方法还包括:
根据所述目标节点的可用内存量,确定内存指数,所述内存指数与所述可用内存量正相关;
根据所述无效数据回收的消耗时长,确定回收指数,所述回收指数与所述消耗时长负相关;
根据所述目标节点的节点连通状态,确定连通指数,其中,所述节点连通状态为正常连通时,所述连通指数取为预设上限值,所述节点连通状态为连通失败时,所述连通指数取为预设下限值。
优选的,本申请实施例第一方面提供的方法中,根据所述目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述节点状态参数,包括:
对所述内存指数、所述回收指数和所述连通指数进行加权计算,得到所述节点状态参数。
优选的,本申请实施例第一方面提供的方法中,对所述内存指数、所述回收指数和所述连通指数进行加权计算时,所述内存指数的权重、所述回收指数的权重和所述连通指数的权重依次递增。
优选的,本申请实施例第一方面提供的方法中,基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数,包括:
基于所述任务状态参数,确定所述目标任务中异常任务的数量;
根据所述异常任务的数量,确定所述目标集群的作业运行参数,所述作业运行参数与所述异常任务的数量负相关;
基于所述节点状态参数,确定所述目标节点中异常节点的数量;
根据所述异常节点的数量,确定所述目标集群的节点运行参数,所述节点运行参数与所述异常节点的数量负相关;
基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数。
优选的,本申请实施例第一方面提供的方法中,基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数,包括:
对所述作业运行参数和所述节点运行参数进行加权计算,得到所述目标集群的集群运行参数。
优选的,本申请实施例第一方面提供的方法中,在对所述作业运行参数和所述节点运行参数进行加权计算时,所述作业运行参数的权重小于所述节点运行参数的权重。
优选的,本申请实施例第一方面提供的方法中,基于所述任务状态参数,确定所述目标任务的调度状态,包括以下至少一项:
在目标任务的任务状态参数小于或等于预设阈值的情况下,若该目标任务的负载指数或者堆积指数小于预设数值,则确定该目标任务的调度状态为待扩容状态;
在目标任务的任务状态参数小于或等于预设阈值的情况下,确定该目标任务的调度状态为待迁移状态。
优选的,本申请实施例第一方面提供的方法中,基于所述集群运行参数,确定所述目标任务的调度状态,包括:
在目标集群的集群运行参数小于或者等于预设阈值的情况下,确定所述目标任务的调度状态为待迁移状态。
优选的,本申请实施例第一方面提供的方法中,基于所述目标任务的调度状态,对所述目标任务进行任务调度,包括:
在目标任务的调度状态为待迁移状态的情况下,确定该目标任务已停止,并将该目标任务调度至第一集群处理;
其中,所述第一集群为所述至少一个集群中不同于所述目标集群的集群,且所述第一集群的可用资源不小于该目标任务所需资源。
优选的,本申请实施例第一方面提供的方法中,在将该目标任务调度至所述至少一个集群中的第一集群处理之后,所述方法还包括:
确定所述第一集群的新集群运行参数;
若所述新集群运行参数低于所述第一集群的原集群运行参数,则将所述目标任务标记为缺陷任务;
发送第一告警消息,所述第一告警消息用于提示用户对所述缺陷任务进行修复。
优选的,本申请实施例第一方面提供的方法中,基于所述目标任务的调度状态,对所述目标任务进行任务调度,包括:
在目标任务的调度状态为待扩容状态的情况下,确定该目标任务已停止,增加所述流数据处理系统的并发处理任务数量,并将该目标任务调度至第二集群处理;
其中,所述第二集群为所述至少一个集群中、可用资源不小于该目标任务所需资源的任一集群。
优选的,本申请实施例第一方面提供的方法中,所述方法还包括:
接收新的流数据任务;
根据所述流数据处理系统中各集群的集群运行参数,对所述新的流数据任务进行调度。
优选的,本申请实施例第一方面提供的方法中,根据所述流数据处理系统中各集群的集群运行参数,对所述新的流数据任务进行调度,包括:
将所述新的流数据任务调度至第三集群处理;
其中,所述第三集群的可用资源不小于该新的流数据任务所需资源的集群中,且所述第三集群的集群运行参数最高。
优选的,本申请实施例第一方面提供的方法中,所述方法还包括:
监听所述目标任务的处理状态;
在处理状态为处理失败的目标任务的数量增加的情况下,发送第二告警消息;
其中,所述第二告警消息用于提示用户对数据源和存储数据库中至少一项进行修复,所述数据源用于产生流数据任务所需流数据,所述存储数据库用于存储所述流数据任务的处理结果。
优选的,本申请实施例第一方面提供的方法中,所述方法还包括:
记录对流数据任务进行调度的调度日志;
则基于所述目标任务的调度状态,对所述目标任务进行任务调度,具体为:
在目标任务的调度状态为待迁移状态、且所述调度日志中记录有对该目标任务的调度记录的情况下,将该目标任务标记为缺陷任务;
发送第三告警消息,所述第三告警消息用于提示用户对所述缺陷任务进行修复。
第二方面,本申请实施例还提供一种任务调度系统,所述任务调度系统用于调度流数据任务,所述流数据任务由流数据处理系统处理,其中,所述任务调度系统包括:
集群运行参数确定模块,用于基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
调度状态确定模块,用于基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
调度模块,用于基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
第三方面,本申请实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例中,用于调度流数据任务的任务调度系统,可以根据分发至集群处理的目标任务的任务状态参数,以及集群所包含的目标节点的节点状态参数,确定集群的集群运行参数,因此,可以结合任务的运行状态和节点的运行状态,综合判断集群运行的健康程度,从而可以及时、准确的感知到任务处理或集群运行的异常状态。
在此基础上,任务调度系统还可进一步根据目标任务的任务状态参数和任务所在集群的集群运行参数中至少一项,确定目标任务的调度状态,进而按照调度状态对目标任务进行任务调度,从而能够在流数据任务的处理过程出现异常时及时进行任务调度,有利于降低人工维护成本,提高流数据处理系统的稳定性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种流数据任务调度方法的流程示意图;
图2为本申请实施例中应用任务调度系统的平台结构示意图;
图3为本申请实施例中第二种流数据任务调度方法的流程示意图;
图4为本申请实施例中一种任务调度系统的结构示意图;
图5为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
参见图1所示,本申请实施例提供一种流数据任务调度方法,应用于任务调度系统。其中,该任务调度方法可具体包括:
S101:基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数。
需要说明的是,本申请实施例中,任务调度系统可用于调度流数据任务(也可以称为流数据作业,流数据处理任务等,以下可简称为任务),既可以仅用于在监听到某流数据任务的处理状态出现异常时,对该流数据任务进行调度,也可以直接对新的流数据任务进行调度。本申请实施例中,任务调度系统对流数据任务的调度,可以理解为将流数据任务分发至流数据处理系统中的某个集群进行处理。
参见图2所示,流数据处理系统中包括至少一个集群,例如,集群1和集群2。每个集群中包括至少一个流数据处理节点(以下可简称为节点),用于处理被分发(也可称为调度)至集群的流数据任务。例如,集群1中包括节点11、节点12、节点13和节点14,集群2中包括节点21、节点22、节点23、节点24。
能够理解,任务调度系统在执行任务调度方法时,可以将流数据处理系统所包含至少一个集群中的任一个集群作为目标集群,将该目标集群中的流数据处理节点作为目标节点,将被分发至目标集群处理的流数据任务作为目标任务,执行步骤S101,确定该目标集群的集群运行参数,再进一步执行步骤S103,确定目标任务的调度状态,并进而执行步骤S105,基于目标任务的调度状态,对目标任务进行任务调度。
需要说明的是,流数据处理系统中有多个集群时,可以将各集群分别确定为目标集群,多次执行本申请实施例提供的任务调度方法,以实现对分发至流数据处理系统的各集群的流数据任务的任务调度。
可选的,任务调度系统在执行步骤S101,基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的运行参数之前,可以先执行步骤S01,根据目标任务中数据过满队列的数量、目标任务中流数据的持续堆积时间和目标任务的处理状态中至少一项,确定任务状态参数(也可以称为任务运行状态参数),参见图3所示。
需要说明的是,本申请实施例中,每一项流数据任务,都可能需要使用多条流数据,各条流数据可能由相同的数据源产生,也可能由不同的数据源产生。一项流数据任务可能由单一的流数据处理节点处理,也可能由多个分布式流数据处理节点共同处理。流数据处理节点在处理流数据任务时,会根据流数据任务的处理需求获取流数据(例如,可以以抓取的方式获取数据),也可称为消费(consume)流数据。
由于不同的流数据任务所处理的流数据不同,产生这些流数据的数据源不同,不同数据源产生数据的速度和数据量也有所不同,因此,各项流数据任务所对应的数据排队情况、数据堆积情况等也将有所不同。而这些方面都将影响流数据任务的正常处理。因此,可以根据目标任务中数据过满队列的数量、目标任务中流数据的持续堆积时间和目标任务的处理状态中至少一项,确定任务状态参数。
可选的,在确定目标任务的任务状态参数时,可以先根据目标任务中数据过满队列的数量,确定负载指数。
需要说明的是,流数据任务中设计有对应的数据流入-流出队列,用以连接处理该项流数据任务的各个流数据处理节点,实现数据传输。数据流入-流出队列中允许的数据量是有限的,因此,如果队列中流数据的数量达到队列所允许数据量的上限值,或者,队列中流数据的数量超过数据量警戒值,则可以理解为队列中数据过满,表示该队列所对应流数据任务的处理出现瓶颈,例如,数据流入的速度大于数据的流出速度,或者数据的流入量大于数据的流出量等。
能够理解,流数据任务中数据过满队列的数量越多,表示该项任务在运行过程中负载越重,该项任务可能越不健康。因此,根据目标任务中数据过满队列的数量,确定负载指数时,可以遵循负载指数与数据过满队列的数量负相关的原则,确定负载指数的具体取值。例如,目标任务的负载指数可与数据过满队列的数量成反比。
可选的,在确定目标任务的任务状态参数时,也可以先根据目标任务中流数据的持续堆积时间,确定堆积指数。
需要说明的是,如果数据源产生流数据的速度大于节点处理流数据(或可理解为流数据任务消费流数据)的速度,则将出现数据堆积现象。流数据任务的处理过程中,数据堆积现象的持续时间越长,表示流数据的处理延迟将越高,该项任务可能越不健康。因此,在根据目标任务中流数据的持续堆积时间,确定堆积指数时,可以遵循堆积指数与持续堆积时间负相关的原则,确定堆积指数的具体取值。例如,目标任务的堆积指数可与持续堆积时间成反比。
可选的,在确定目标任务的任务状态参数时,还可以先根据目标任务的处理状态,确定状态指数,其中,处理状态为正常处理时,状态指数取为预设上限值,处理状态为处理失败时,状态指数取为预设下限值。
可以理解到,流数据任务的处理状态,可以是正常处理、异常处理或者处理失败。任务的处理状态,能够直接反映该项任务的健康程度。具体如下:
如果流数据任务持续正常运行,可理解为该任务的处理状态为正常处理。因此,在根据目标任务的处理状态确定状态指数时,可以直接将状态指数取为预设上限值,例如,状态指数取为100。
如果流数据任务运行失败,可理解为该任务的处理状态为处理失败。因此,在根据目标任务的处理状态确定状态指数时,可以直接将状态指数取为预设下限值,例如,状态指数取为0。
如果流数据任务在运行过程中,短时间内连续重启多次(例如,10秒内连续重启10次),表示该项任务在运行过程中连续出现故障,可理解为该任务的处理状态为异常处理。可以理解到,短时间内连续重启的次数越多,表示该任务出现故障的频率越高,该项任务越可能不健康。因此,在根据目标任务的处理状态确定状态指数时,若处理状态为异常处理,则可遵循状态指数与重启次数负相关的原则,确定状态指数的具体取值。例如,目标任务的状态指数可与重启次数成反比。
可以理解到,在确定目标任务的任务状态参数时,可以考虑以上负载指数、堆积指数和状态指数中的一项或多项,还可以考虑与流数据任务的运行情况有关的其他参数。本申请实施例对此不做限定。
可选的,在得到负载指数、堆积指数和状态指数的基础上,可以对负载指数、堆积指数和状态指数进行加权计算,得到任务状态参数。
由于目标任务中数据过满队列的数量、目标任务中流数据的持续堆积时间和目标任务的处理状态对目标任务的任务状态的影响程度不同,因此,在对负载指数、堆积指数和状态指数进行加权计算时,负载指数的权重、堆积指数的权重和状态指数的权重可以依次递增。例如,负载指数的权重、堆积指数的权重和状态指数的权重的比值可以取为1:2:4。
可选的,任务调度系统在执行步骤S101,基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的运行参数之前,也可以先执行步骤S03,根据目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定节点状态参数(也可称为节点运行状态参数),参见图3所示。
可选的,在确定目标节点的节点状态参数时,可以根据目标节点的可用内存量,确定内存指数。由于流数据处理节点的可用内存量越多,表示该节点的处理资源越充裕,该节点的运行状态可能越健康。因此,在根据目标节点的可用内存量确定内存指数时,可以遵循内存指数与可用内存量正相关的原则,确定内存指数的具体取值。例如,内存指数可与可用内存量成正比。
可选的,在确定目标节点的节点状态参数时,也可以先根据无效数据回收的消耗时长,确定回收指数。由于流数据处理节点进行无效数据回收所消耗的时间越长,表示该节点中的无效数据越多,该节点的运行状态可能越不健康。因此,在根据无效数据回收的消耗时长确定回收指数时,可以遵循回收指数与消耗时长负相关的原则,确定回收指数的具体取值。例如,回收指数可与消耗时长成反比。
可选的,在确定目标节点的节点状态参数时,还可以先根据目标节点的节点连通状态,确定连通指数。
可以理解到,流数据处理任务由多个分布式流数据处理节点进行处理时,各节点之间需要连通,以进行数据的传输。除此之外,节点还可能需要从数据源获取流数据,将处理完毕的结果输出到存储数据库,参见图2所示。因此,某节点与其他节点之间的连通状态,以及该节点与数据源和/或存储数据库的连通状态,都能够反映该节点的运行是否正常。因此,根据目标节点的节点连通状态确定的连通指数,也就能够反映该节点运行的健康程度,具体如下:
如果目标节点的节点连通状态为正常连通,则可将连通指数取为预设上限值,例如,连通指数取为100。
如果目标节点的节点连通状态为连通失败,则可将连通指数取为预设下限值,例如,连通指数取为0。
可以理解到,在确定目标节点的节点状态参数时,可以考虑以上内存指数、回收指数和连通指数中的一项或多项,还可以考虑与节点的运行情况有关的其他参数。本申请实施例对此不做限定。
可选的,在得到内存指数、回收指数和连通指数的基础上,可以对内存指数、回收指数和连通指数进行加权计算,得到节点状态参数。
由于目标节点的内存状态、无效数据回收状态和节点连通状态对目标节点的节点状态的影响程度不同,因此,在对内存指数、回收指数和连通指数进行加权计算时,内存指数的权重、回收指数的权重和连通指数的权重可以依次递增。例如,内存指数、回收指数和连通指数的权重的比值可以取为1:2:4。
可选的,本申请实施例中,分别确定了目标任务的任务状态参数和目标节点的节点状态参数后,在执行步骤S101,基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数时,参见图3所示,可以具体包括两个方面过程:
一方面,可执行步骤S1011,基于任务状态参数,确定目标任务中异常任务的数量。
具体的,在确定异常任务时,可以先根据某任务的任务状态参数,判断该任务是否为异常任务。例如,若该任务的任务状态参数小于或者等于预设阈值,则认为该任务为异常任务;反之,若该任务的任务状态参数大于预设阈值,则认为该任务为正常任务。在此基础上,对于在目标集群中运行的所有目标任务,再统计同一时间段内,目标任务中异常任务的数量。
进一步的,再执行步骤S1013,根据异常任务的数量,确定目标集群的作业运行参数。
可以理解到,同一时间段内,目标任务中异常任务的数量越多,任务运行的整体情况越不健康。因此,在根据异常任务的数量确定目标集群的作业运行参数时,可以遵循作业运行参数与异常任务的数量负相关的原则,确定作业运行参数的具体取值。例如,作业运行参数可以与异常任务的数量成反比。
另一方面,可执行步骤S1015,基于节点状态参数,确定目标节点中异常节点的数量。
具体的,在确定异常节点时,可以先根据某节点的节点状态参数,判断该节点是否为异常节点。例如,若该节点的节点状态参数小于或者等于预设阈值,则认为该节点为异常节点;反之,若该节点的节点状态参数大于预设阈值,则认为该节点为正常节点。在此基础上,对于目标集群所包含的所有目标节点,统计同一时间段内,目标节点中异常节点的数量。
进一步的,再执行步骤S1017,根据异常节点的数量,确定目标集群的节点运行参数。
可以理解到,同一时间段内,目标节点中异常节点的数量越多,节点运行的整体情况越不健康。因此,在根据异常节点的数量确定目标集群的节点运行参数时,可以遵循节点运行参数与异常节点的数量负相关的原则,确定节点运行参数的具体取值。例如,节点运行参数可以与异常节点的数量成反比。
在确定了目标集群的作业运行参数和节点运行参数的基础上,可进而执行步骤S1019,基于作业运行参数和节点运行参数,确定目标集群的集群运行参数。具体的,可以对作业运行参数和节点运行参数进行加权计算,得到目标集群的集群运行参数。
由于作业运行参数和节点运行参数对目标集群的运行状态的影响程度不同,因此,在对作业运行参数和节点运行参数进行加权计算时,作业运行参数的权重可以取得小于节点运行参数的权重。例如,作业运行参数的权重与节点运行参数的权重的比值可以取为1:2。
S103:基于任务状态参数和集群运行参数中至少一项,确定目标任务的调度状态。
需要说明的是,任务本身的任务状态参数,能够直接反映该任务运行的健康程度。任务所在的集群的集群运行参数,能够反映用于处理该任务的集群的整体健康程度。能够理解,集群的集群运行参数越低,表示该集群越不稳定,由该集群处理的任务在运行中更容易出现异常。因此,任务状态参数和集群运行参数中至少一项,可以在不同程度上反映目标任务出现异常运行的可能性。在本申请实施例中,这种可能性通过执行步骤S103确定出的目标任务的调度状态体现。
在执行步骤S103,基于集群运行参数确定目标任务的调度状态时,由于集群运行参数能够反映目标集群整体运行的健康程度,在目标集群的集群运行参数小于或者等于预设阈值的情况下,可以认为目标集群整体上存在异常的可能性较大,因此,可以将分发至该目标集群处理的所有目标任务的调度状态均确定为待迁移状态,以便后续执行步骤S105,将这些目标任务迁移至其他运行状态更健康的集群进行处理。
在执行步骤S103,基于任务状态参数确定目标任务的调度状态时,可以采用以下一种或多种方式。具体如下:
可选的,在某任务的任务状态参数小于或等于预设阈值的情况下,可以直接将该任务的调度状态确定为待迁移状态,也可以在无法判定造成任务状态参数较低的具体原因时,将该任务的调度状态确定为待迁移状态,以便后续执行步骤S105时,可通过将该任务迁移到其他集群的方式,尝试对该任务的运行进行修复。
可选的,在某任务的任务状态参数小于或等于预设阈值的情况下,若该任务的负载指数或者堆积指数小于预设数值,表示数据源产生流数据的速度/数据量高于流数据被处理(消费)的速度/数据量,流数据处理系统的处理能力不足。因此,可将该任务的调度状态确定为待扩容状态,以便后续执行步骤S105时,可通过增加流数据处理系统的并发处理任务数量等方式,对该任务的运行进行修复。
可选的,如果在某任务的数据源监听到流量上升的趋势,则可以预测该任务的处理过程中将存在负载指数增大或者堆积指数增大的隐患,进而可预测流数据处理系统的处理能力将可能不足。这种情况下,也可以将该任务的调度状态确定为待扩容状态。
可以理解到,本申请实施例中,执行步骤S103确定目标任务的调度状态,可以确定需要采用何种方式对目标任务进行调度,以便修复运行状态不佳的目标任务。
S105:基于目标任务的调度状态,对目标任务进行任务调度。
可选的,在目标任务的调度状态为待迁移状态的情况下,执行步骤S105对目标任务进行任务调度时,可以先确定该目标任务是否已停止。若目标任务尚未停止,则停止该任务。在确定该目标任务已停止后,将该目标任务调度至流数据处理系统所包含的至少一个集群中、不同于目标集群的另一个集群(可记为第一集群)处理,并且第一集群的可用资源应不小于该目标任务所需资源。
在此基础上,将第一集群接受目标任务前的集群运行参数记为原集群运行参数,将第一集群接受目标任务后的集群运行参数记为新集群运行参数。则在将目标任务调度至第一集群处理之后,可以进一步确定第一集群的新集群运行参数。如果新集群运行参数低于原集群运行参数,表示目标任务会影响到集群的正常运行,通过迁移至其他集群的方式并不能实现对该项任务的修复,因此可将目标任务标记为缺陷任务,并发送第一告警消息,以提示用户对该项缺陷任务进行手工修复。
可选的,在目标任务的调度状态为待扩容状态的情况下,执行步骤S105对目标任务进行任务调度时,可以先确定该目标任务是否已停止。若目标任务尚未停止,则停止该任务。在确定该目标任务已停止后,增加流数据处理系统的并发处理任务数量,并进而将该目标任务调度至流数据处理系统所包含的至少一个集群中、可用资源不小于该目标任务所需资源的任一集群(可记为第二集群)处理。
可选的,在对任务进行调度时,也可以根据对流数据处理系统运行的其他方面进行监听的结果进行。
例如,如果监听到从数据源获取流数据失败(可以理解为对数据的消费失败),则表示数据源产生流数据的过程可能出现异常。此时,可以向用户发送告警信息,以提示用户对数据源进行修复。
又例如,如果监听到数据处理结果写入存储数据库时失败,则表示存储数据库的写入服务可能出现异常。此时,可以向用户发送告警信息,以提示用户对存储数据库进行修复。
还例如,如果监听到处理状态为处理失败的目标任务的数量增加,则表示流数据处理系统的上游环节(可理解为用于产生流数据任务所需流数据的数据源)和下游环节(可理解为用于存储流数据任务的处理结果的存储数据库)中至少一项存在异常。此时,可以发送第二告警信息,以提示用户对数据源和存储数据库中至少一项进行修复。
在本申请实施例中,任务调度系统在对任务进行调度的基础上,还可以进一步记录对任务进行调度的调度日志,以便在对该项任务进行再次调度时作为具体调度方式的参考。
例如,在执行步骤S105,基于目标任务的调度状态,对目标任务进行任务调度时,如果目标任务的调度状态为待迁移状态,且调度日志中记录有对该目标任务的调度记录,则表示该项任务曾经采用自动调度的方式尝试修复,且需要再次进行任务调度,可以理解为,该项任务无法通过迁移、扩容等手段进行自动修复。因此,可将该目标任务标记为缺陷任务,并发送第三告警消息,以提示用户对缺陷任务进行手工修复。
以上主要阐述了任务调度系统对已分发至集群处理的任务的调度过程。参见图2所示,任务调度系统可以利用监控分析模块,确定并存储各任务的任务状态参数、各节点的节点状态参数、以及各集群的集群运行参数等。在本申请实施例的实施过程中,任务调度系统还可以接收新的流数据任务,并进而根据流数据处理系统中各集群的集群运行参数,对接收到的新的流数据任务进行调度。具体的,可以将新的流数据任务调度至可用资源不小于该新的流数据任务所需资源的集群中、集群运行参数最高的集群(可记为第三集群)中进行处理。
本申请实施例中,用于调度流数据任务的任务调度系统,可以根据分发至集群处理的目标任务的任务状态参数,以及集群所包含的目标节点的节点状态参数,确定集群的集群运行参数,因此,可以结合任务的运行状态和节点的运行状态,综合判断集群运行的健康程度,从而可以及时、准确的感知到任务处理或集群运行的异常状态。
在此基础上,任务调度系统还可进一步根据目标任务的任务状态参数和任务所在集群的集群运行参数中至少一项,确定目标任务的调度状态,进而按照调度状态对目标任务进行任务调度,从而能够在流数据任务的处理过程出现异常时及时进行任务调度,有利于降低人工维护成本,提高流数据处理系统的稳定性。
参见图4所示,本申请实施例还提供一种任务调度系统,该任务调度系统用于调度流数据任务,流数据任务由流数据处理系统处理。其中,该任务调度系统可具体包括:
集群运行参数确定模块101,用于基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
调度状态确定模块103,用于基于任务状态参数和集群运行参数中至少一项,确定目标任务的调度状态;
调度模块105,用于基于目标任务的调度状态,对目标任务进行任务调度;
其中,流数据处理系统中包含至少一个集群,目标集群为至少一个集群中任一个,目标任务为被分发至目标集群处理的流数据任务,目标节点为目标集群中的流数据处理节点。
能够理解,本申请实施例提供的任务调度系统,能够实现前述实施例中提供的由任务调度系统执行的流数据任务调度方法的各个步骤,关于流数据任务调度方法的相关阐释均适用于任务调度系统,此处不再赘述。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成任务调度系统,该任务调度系统用于调度流数据任务,所述流数据任务由流数据处理系统处理。
处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
上述如本申请图1所示实施例揭示的任务调度系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中任务调度系统执行的方法,并实现任务调度系统在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中任务调度系统执行的方法,并具体用于执行:
基于目标任务的任务状态参数和目标节点的节点状态参数,确定目标集群的集群运行参数;
基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种流数据任务调度方法,应用于任务调度系统,所述任务调度系统用于调度流数据任务,所述流数据任务由流数据处理系统处理,其中,所述方法包括:
根据目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述目标任务的任务状态参数;
根据目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述目标任务的节点状态参数;
基于所述任务状态参数,确定所述目标任务中异常任务的数量;
根据所述异常任务的数量,确定目标集群的作业运行参数,所述作业运行参数与所述异常任务的数量负相关;
基于所述节点状态参数,确定所述目标节点中异常节点的数量;
根据所述异常节点的数量,确定所述目标集群的节点运行参数,所述节点运行参数与所述异常节点的数量负相关;
基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数;基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
2.根据权利要求1所述方法,其中,所述方法还包括以下至少一项:
根据所述目标任务中数据过满队列的数量,确定负载指数,所述负载指数与所述数据过满队列的数量负相关;
根据所述目标任务中流数据的持续堆积时间,确定堆积指数,所述堆积指数与所述持续堆积时间负相关;
根据所述目标任务的处理状态,确定状态指数,其中,所述处理状态为正常处理时,所述状态指数取为预设上限值,所述处理状态为处理失败时,所述状态指数取为预设下限值。
3.根据权利要求2所述方法,其中,根据所述目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述任务状态参数,包括:
对所述负载指数、所述堆积指数和所述状态指数进行加权计算,得到所述任务状态参数。
4.根据权利要求3所述方法,其中,对所述负载指数、所述堆积指数和所述状态指数进行加权计算时,所述负载指数的权重、所述堆积指数的权重和所述状态指数的权重依次递增。
5.根据权利要求1所述方法,其中,所述方法还包括:
根据所述目标节点的可用内存量,确定内存指数,所述内存指数与所述可用内存量正相关;
根据所述无效数据回收的消耗时长,确定回收指数,所述回收指数与所述消耗时长负相关;
根据所述目标节点的节点连通状态,确定连通指数,其中,所述节点连通状态为正常连通时,所述连通指数取为预设上限值,所述节点连通状态为连通失败时,所述连通指数取为预设下限值。
6.根据权利要求5所述方法,其中,根据所述目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述节点状态参数,包括:
对所述内存指数、所述回收指数和所述连通指数进行加权计算,得到所述节点状态参数。
7.根据权利要求6所述方法,其中,对所述内存指数、所述回收指数和所述连通指数进行加权计算时,所述内存指数的权重、所述回收指数的权重和所述连通指数的权重依次递增。
8.根据权利要求1所述方法,其中,基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数,包括:
对所述作业运行参数和所述节点运行参数进行加权计算,得到所述目标集群的集群运行参数。
9.根据权利要求8所述方法,其中,在对所述作业运行参数和所述节点运行参数进行加权计算时,所述作业运行参数的权重小于所述节点运行参数的权重。
10.根据权利要求1所述方法,其中,基于所述任务状态参数,确定所述目标任务的调度状态,包括以下至少一项:
在目标任务的任务状态参数小于或等于预设阈值的情况下,若该目标任务的负载指数或者堆积指数小于预设数值,则确定该目标任务的调度状态为待扩容状态;
在目标任务的任务状态参数小于或等于预设阈值的情况下,确定该目标任务的调度状态为待迁移状态。
11.根据权利要求1所述方法,其中,基于所述集群运行参数,确定所述目标任务的调度状态,包括:
在目标集群的集群运行参数小于或者等于预设阈值的情况下,确定所述目标任务的调度状态为待迁移状态。
12.根据权利要求1所述方法,其中,基于所述目标任务的调度状态,对所述目标任务进行任务调度,包括:
在目标任务的调度状态为待迁移状态的情况下,确定该目标任务已停止,并将该目标任务调度至第一集群处理;
其中,所述第一集群为所述至少一个集群中不同于所述目标集群的集群,且所述第一集群的可用资源不小于该目标任务所需资源。
13.根据权利要求12所述方法,其中,在将该目标任务调度至所述至少一个集群中的第一集群处理之后,所述方法还包括:
确定所述第一集群的新集群运行参数;
若所述新集群运行参数低于所述第一集群的原集群运行参数,则将所述目标任务标记为缺陷任务;
发送第一告警消息,所述第一告警消息用于提示用户对所述缺陷任务进行修复。
14.根据权利要求1所述方法,其中,基于所述目标任务的调度状态,对所述目标任务进行任务调度,包括:
在目标任务的调度状态为待扩容状态的情况下,确定该目标任务已停止,增加所述流数据处理系统的并发处理任务数量,并将该目标任务调度至第二集群处理;
其中,所述第二集群为所述至少一个集群中、可用资源不小于该目标任务所需资源的任一集群。
15.根据权利要求1所述方法,其中,所述方法还包括:
接收新的流数据任务;
根据所述流数据处理系统中各集群的集群运行参数,对所述新的流数据任务进行调度。
16.根据权利要求15所述方法,其中,根据所述流数据处理系统中各集群的集群运行参数,对所述新的流数据任务进行调度,包括:
将所述新的流数据任务调度至第三集群处理;
其中,所述第三集群的可用资源不小于该新的流数据任务所需资源的集群中,且所述第三集群的集群运行参数最高。
17.根据权利要求1所述方法,其中,所述方法还包括:
监听所述目标任务的处理状态;
在处理状态为处理失败的目标任务的数量增加的情况下,发送第二告警消息;
其中,所述第二告警消息用于提示用户对数据源和存储数据库中至少一项进行修复,所述数据源用于产生流数据任务所需流数据,所述存储数据库用于存储所述流数据任务的处理结果。
18.根据权利要求1所述方法,其中,所述方法还包括:
记录对流数据任务进行调度的调度日志;
则基于所述目标任务的调度状态,对所述目标任务进行任务调度,具体为:
在目标任务的调度状态为待迁移状态、且所述调度日志中记录有对该目标任务的调度记录的情况下,将该目标任务标记为缺陷任务;
发送第三告警消息,所述第三告警消息用于提示用户对所述缺陷任务进行修复。
19.一种任务调度系统,所述任务调度系统用于调度流数据任务,所述流数据任务由流数据处理系统处理,其中,所述任务调度系统包括:
集群运行参数确定模块,用于根据目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述目标任务的任务状态参数;
根据目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述目标任务的节点状态参数;
基于所述任务状态参数,确定所述目标任务中异常任务的数量;
根据所述异常任务的数量,确定目标集群的作业运行参数,所述作业运行参数与所述异常任务的数量负相关;
基于所述节点状态参数,确定所述目标节点中异常节点的数量;
根据所述异常节点的数量,确定所述目标集群的节点运行参数,所述节点运行参数与所述异常节点的数量负相关;
基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数;
调度状态确定模块,用于基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
调度模块,用于基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
20.一种电子设备,包括:
处理器;其中,所述处理器包括任务调度系统,所述任务调度系统用于调度流数据任务,所述流数据任务由所述流数据处理系统处理;
以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
根据目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述目标任务的任务状态参数;
根据目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述目标任务的节点状态参数;
基于所述任务状态参数,确定所述目标任务中异常任务的数量;
根据所述异常任务的数量,确定目标集群的作业运行参数,所述作业运行参数与所述异常任务的数量负相关;
基于所述节点状态参数,确定所述目标节点中异常节点的数量;
根据所述异常节点的数量,确定所述目标集群的节点运行参数,所述节点运行参数与所述异常节点的数量负相关;
基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数;基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
21.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如权利要求1所述的任务调度系统执行的方法,并具体用于执行以下操作:
根据目标任务中数据过满队列的数量、所述目标任务中流数据的持续堆积时间和所述目标任务的处理状态中至少一项,确定所述目标任务的任务状态参数;
根据目标节点的内存状态、无效数据回收状态和节点连通状态中至少一项,确定所述目标任务的节点状态参数;
基于所述任务状态参数,确定所述目标任务中异常任务的数量;
根据所述异常任务的数量,确定所述目标集群的作业运行参数,所述作业运行参数与所述异常任务的数量负相关;
基于所述节点状态参数,确定所述目标节点中异常节点的数量;
根据所述异常节点的数量,确定所述目标集群的节点运行参数,所述节点运行参数与所述异常节点的数量负相关;
基于所述作业运行参数和所述节点运行参数,确定所述目标集群的集群运行参数;基于所述任务状态参数和所述集群运行参数中至少一项,确定所述目标任务的调度状态;
基于所述目标任务的调度状态,对所述目标任务进行任务调度;
其中,所述任务调度系统用于调度流数据任务,所述流数据任务由所述流数据处理系统处理;所述流数据处理系统中包含至少一个集群,所述目标集群为所述至少一个集群中任一个,所述目标任务为被分发至所述目标集群处理的流数据任务,所述目标节点为所述目标集群中的流数据处理节点。
CN201811245457.3A 2018-10-24 2018-10-24 一种流数据任务调度方法和装置 Active CN111090502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811245457.3A CN111090502B (zh) 2018-10-24 2018-10-24 一种流数据任务调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811245457.3A CN111090502B (zh) 2018-10-24 2018-10-24 一种流数据任务调度方法和装置

Publications (2)

Publication Number Publication Date
CN111090502A CN111090502A (zh) 2020-05-01
CN111090502B true CN111090502B (zh) 2024-05-17

Family

ID=70392243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811245457.3A Active CN111090502B (zh) 2018-10-24 2018-10-24 一种流数据任务调度方法和装置

Country Status (1)

Country Link
CN (1) CN111090502B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625337A (zh) * 2020-05-28 2020-09-04 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、电子设备和可读存储介质
CN111818159B (zh) * 2020-07-08 2024-04-05 腾讯科技(深圳)有限公司 数据处理节点的管理方法、装置、设备及存储介质
CN112233419B (zh) * 2020-10-10 2023-08-25 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113515358B (zh) * 2021-04-30 2024-04-12 北京奇艺世纪科技有限公司 任务调度方法、装置、电子设备及存储介质
CN113630438B (zh) * 2021-06-25 2024-01-12 微梦创科网络科技(中国)有限公司 流处理任务调度方法和分布式流处理系统
CN115756773B (zh) * 2022-11-01 2023-08-29 中电金信软件有限公司 任务调度方法、装置、电子设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025674A1 (zh) * 2008-09-03 2010-03-11 中兴通讯股份有限公司 一种监控短信中心内节点运行状态的方法和装置
CN102325054A (zh) * 2011-10-18 2012-01-18 国网电力科学研究院 一种分布式计算管理平台机群分级管理的自适应调整方法
CN103699433A (zh) * 2013-12-18 2014-04-02 中国科学院计算技术研究所 一种于Hadoop平台中动态调整任务数目的方法及系统
CN103942034A (zh) * 2014-03-21 2014-07-23 深圳华大基因科技服务有限公司 任务调度方法及实现该方法的电子装置
CN104331520A (zh) * 2014-11-28 2015-02-04 北京奇艺世纪科技有限公司 Hadoop集群性能优化方法及装置和节点状态识别方法及装置
WO2017084618A1 (zh) * 2015-11-18 2017-05-26 中兴通讯股份有限公司 共享存储式集群文件系统节点通信的监控方法及监控节点
CN107329820A (zh) * 2016-04-28 2017-11-07 杭州海康威视数字技术股份有限公司 一种用于集群系统的任务处理方法及装置
CN107908465A (zh) * 2017-10-19 2018-04-13 深圳索信达数据技术股份有限公司 大数据平台的任务调度方法
WO2018072618A1 (zh) * 2016-10-18 2018-04-26 阿里巴巴集团控股有限公司 流式计算任务的分配方法和控制服务器
WO2018121738A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据任务的处理方法和装置
CN108628674A (zh) * 2018-05-11 2018-10-09 深圳市零度智控科技有限公司 基于云平台的任务调度方法、云平台及计算机存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025674A1 (zh) * 2008-09-03 2010-03-11 中兴通讯股份有限公司 一种监控短信中心内节点运行状态的方法和装置
CN102325054A (zh) * 2011-10-18 2012-01-18 国网电力科学研究院 一种分布式计算管理平台机群分级管理的自适应调整方法
CN103699433A (zh) * 2013-12-18 2014-04-02 中国科学院计算技术研究所 一种于Hadoop平台中动态调整任务数目的方法及系统
CN103942034A (zh) * 2014-03-21 2014-07-23 深圳华大基因科技服务有限公司 任务调度方法及实现该方法的电子装置
CN104331520A (zh) * 2014-11-28 2015-02-04 北京奇艺世纪科技有限公司 Hadoop集群性能优化方法及装置和节点状态识别方法及装置
WO2017084618A1 (zh) * 2015-11-18 2017-05-26 中兴通讯股份有限公司 共享存储式集群文件系统节点通信的监控方法及监控节点
CN107329820A (zh) * 2016-04-28 2017-11-07 杭州海康威视数字技术股份有限公司 一种用于集群系统的任务处理方法及装置
WO2018072618A1 (zh) * 2016-10-18 2018-04-26 阿里巴巴集团控股有限公司 流式计算任务的分配方法和控制服务器
WO2018121738A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据任务的处理方法和装置
CN107908465A (zh) * 2017-10-19 2018-04-13 深圳索信达数据技术股份有限公司 大数据平台的任务调度方法
CN108628674A (zh) * 2018-05-11 2018-10-09 深圳市零度智控科技有限公司 基于云平台的任务调度方法、云平台及计算机存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Modeling self-service machine-learning agents for distributed stream processing;Philipp Zehnder 等;2017 IEEE International Conference on Big Data (Big Data);20171231;全文 *
一种面向异构大数据计算框架的监控及调度服务;胡雅鹏;丁维龙;王桂玲;;计算机科学;20180615(第06期);全文 *
基于集群存储系统的动态负载均衡调度策略;郑奇英;叶猛;;计算机与现代化;20110115(第01期);全文 *
异构Spark集群下自适应任务调度策略;杨志伟 等;计算机工程;20160115(第01期);全文 *

Also Published As

Publication number Publication date
CN111090502A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
CN111090502B (zh) 一种流数据任务调度方法和装置
CN108205424B (zh) 基于磁盘的数据迁移方法、装置及电子设备
US20180150326A1 (en) Method and apparatus for executing task in cluster
CN110650036A (zh) 告警处理方法、装置及电子设备
CN110971430B (zh) 自动化扩容缩容的控制方法、装置、存储介质及处理器
CN110837457B (zh) 任务管理方法、装置、电子设备及存储介质
CN109739627B (zh) 任务的调度方法、电子设备及介质
CN114296938A (zh) 车载系统的进程监控方法、装置及设备
CN111400294B (zh) 数据异常监测方法、装置及系统
JP5623557B2 (ja) 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
CN109002348B (zh) 一种虚拟化系统中的负载均衡方法及装置
CN113760658A (zh) 一种监控方法、装置及设备
CN113742036B (zh) 指标处理方法、装置及电子设备
CN112416534A (zh) 一种基于Agent的任务管理方法及装置
CN107436812B (zh) 一种Linux系统性能优化的方法及装置
GB2504496A (en) Removing code instrumentation based on the comparison between collected performance data and a threshold
CN116055349A (zh) 一种流式数据的检测方法、装置及设备
US10102052B2 (en) Dumping resources
CN114661432A (zh) 任务调度方法、装置、设备及存储介质
CN110908792B (zh) 一种数据处理方法及装置
CN112860779A (zh) 一种批量数据导入方法及装置
CN113900856A (zh) 一种数据处理方法及相关设备
CN108647113B (zh) 一种灾难恢复方法及服务器
CN107797915B (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