大数据批量作业任务调度方法及装置与流程

文档序号:23151871发布日期:2020-12-04 13:47阅读:149来源:国知局
大数据批量作业任务调度方法及装置与流程
本发明涉及大数据批处理领域,尤其涉及一种大数据批量作业任务调度方法及装置。
背景技术
:本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。大规模并行分析(analyticalmassivelyparallelprocessing,mpp)架构能够将任务并行分散到多个节点上,在每个节点上计算完成后,再将各自部分的结果汇总在一起得到最终的结果。采用mpp架构的数据库称为mpp数据库。由于mpp数据库具有很强的并行数据计算能力和海量数据存储能力,非常适用于大数据分析和计算,目前已被很广泛用作各大银行的大数据管理平台,以应对银行系统中呈现爆发式增长的海量数据。大数据分析离不开任务调度,任务调度在大数据平台架构中扮演十分重要的角色。目前,各大银行的大数据管理平台,尚未出现基于java技术的大数据批量作业任务调度机制,以负责调起和控制mpp数据库的批处理调度任务。技术实现要素:本发明实施例中提供了一种大数据批量作业任务调度方法,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该方法包括:定义对大数据执行批处理的批量作业,批量作业中包含:多个任务;配置批量作业的批量参数信息;根据配置的批量参数信息,执行批量作业中的各个任务;监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态;根据监控结果,对批量作业的各个任务进行调度。本发明实施例中还提供了一种大数据批量作业任务调度装置,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该装置包括:批量作业定义模块,用于定义对大数据执行批处理的批量作业,批量作业中包含:多个任务;批量参数配置模块,用于配置批量作业的批量参数信息;批量任务执行模块,用于根据配置的批量参数信息,执行批量作业中的各个任务;执行状态监控模块,用于监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态;任务调度模块,用于根据监控结果,对批量作业的各个任务进行调度。本发明实施例中还提供了一种计算机设备,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述大数据批量作业任务调度方法。本发明实施例中还提供了一种计算机可读存储介质,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该计算机可读存储介质存储有执行上述大数据批量作业任务调度方法的计算机程序。本发明实施例中,通过定义对大数据执行批处理的包含多个任务的批量作业,在配置该批量作业的批量参数信息后,根据配置的批量参数信息,执行该批量作业中的各个任务,通过监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态,进而根据监控结果,对批量作业的各个任务进行调度,能够实现基于java技术开发的大数据批量作业任务调度机制,以实现对mpp数据库的批处理任务进行调度。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本发明实施例中提供的一种大数据批量作业任务调度方法流程图;图2为本发明实施例中提供的一种可选的大数据批量作业任务调度方法流程图;图3为本发明实施例中提供的一种可选的大数据批量作业任务调度方法流程图;图4为本发明实施例中提供的一种可选的大数据批量作业任务调度方法流程图;图5为本发明实施例中提供的一种批量作业的任务关系示意图;图6为本发明实施例中提供的一种批量调度应用的监控画面示意图;图7为本发明实施例中提供的一种大数据批量作业任务调度装置示意图;图8为本发明实施例中提供的一种可选的大数据批量作业任务调度装置示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。本发明实施例中提供了一种大数据批量作业任务调度方法,图1为本发明实施例中提供的一种大数据批量作业任务调度方法流程图,如图1所示,该方法包括如下步骤:s101,定义对大数据执行批处理的批量作业,批量作业中包含:多个任务。在具体实施时,上述s101中,根据对大数据执行的批处理操作,可以定义一个或多个批量作业,各个批量作业之间的执行互补干扰。每个批量作业中包含的任务类型可以包括:开始任务、过程任务和结束任务三种,其中,开始任务为批量作业中仅具有后继任务的任务,过程任务为批量作业中同时具有前驱任务和后继任务的任务,结束任务为批量作业中仅具有前驱任务的任务。可选地,本发明实施例中提供的大数据批量作业任务调度方法可以应用但不限于对大规模并行分析mpp数据库的批处理任务进行调度。s102,配置批量作业的批量参数信息。需要说明的是,上述s102配置的批量参数信息不仅包括控制批量作业执行的参数信息,而且包括控制批量作业中各个任务执行的参数信息。需要注意的是,本发明实例中,针对不同数据的不同批量处理,需要配置的批量参数信息也不同,当本发明实施例中定义的批量作业是对银行mpp数据库gbase8a执行批处理的批量作业的情况下,配置的批量参数信息可以包括但不限于:工作日、受限日、省机构号、条线、流量控制。s103,根据配置的批量参数信息,执行批量作业中的各个任务。在具体实施时,根据批量作业执行的参数信息,启动批量作业;进而在启动批量作业后,根据批量作业中各个任务执行的参数信息,控制各个任务执行。s104,监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态。在具体实施时,在根据批量作业执行的参数信息和批量作业中各个任务执行的参数信息,控制批量作业中各个任务执行的过程中,可以监控各个任务的任务执行状态,进而确定批量作业的作业状态。需要注意的是,本发明实施例中在定义对大数据执行批处理的批量作业后,还需要预先定义批量作业执行过程中的多个作业执行状态,以及批量作业中各个任务执行过程中的多个任务执行状态。例如,定义每个任务具有6种状态:0-空闲状态,1-正在执行状态,2-成功完成状态,3-警告状态,4-失败状态,5-准备就绪状态;定义每个批量作业具有5种状态:0-空闲状态,1-正在执行状态,2-成功完成状态,3-警告状态,4-失败状态。s105,根据监控结果,对批量作业的各个任务进行调度。在具体实施时,上述s105可以通过如下步骤来实现:重新启动批量作业;和/或,跳过批量作业中的执行完成的任务,继续执行批量作业。在一个实施例中,如图2所示,在根据配置的批量参数信息,执行批量作业中的各个任务之后,本发明实施例中提供的大数据批量作业任务调度方法还可以通过如下步骤来实现日志信息的记录:s201,记录批量作业在执行过程中的日志信息;s202,对记录的日志信息进行分类存储。进一步地,在记录批量作业在执行过程中的日志信息之后,本发明实施例中提供的大数据批量作业任务调度方法还可以包括如下步骤:记录报错日志的错误码;根据报错日志的错误码,提取报错日志的日志信息;输出报错日志的日志信息。通过记录报错日志的错误码,并提取错误码对应的日志信息,能够方便大数据运维人员快速定位到发生错误的日志信息。本发明实施例中,通过记录并分类存储日志信息,能够实现批量作业日志信息的快速检索和定位,通过记录报错日志的错误码,关联报错日志的日志信息,能够快速定位出所有的报错日志信息,为大数据运维人员带来极大的便利。在一个实施例中,如图3所示,在根据配置的批量参数信息,执行批量作业中的各个任务之后,本发明实施例中提供的大数据批量作业任务调度方法还可以通过如下步骤来实现对系统资源使用情况的监控:s301,采集批量作业在执行过程中的系统资源使用信息;s302,输出采集的系统资源使用信息。在一个实施例中,如图4所示,在监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态之后,本发明实施例中提供的大数据批量作业任务调度方法还可以通过如下步骤来实现对异常批量作业的告警:s401,根据监控结果,生成告警信息;s402,采用邮件或短信方式,发送告警信息。在具体实施时,根据监控人员使用的监控终端不同,可以生成不同形式的告警信息,例如,当监控人员使用的监控终端为手机的情况下,可以将告警信息采用短信方式,发送到监控人员的手机,起到及时通知监控人员的作用;当监控人员使用的监控终端为电脑的情况下,将告警信息以邮件的方式,发送到监控人员的电脑,由于邮件能够比短信呈现更丰富的信息,因而,能够使得监控人员更全面地了解告警信息。根据本发明实施例中提供的大数据批量作业任务调度方法,能够基于java技术开发出一套对mpp数据库gbase8a的批处理任务进行调度的大数据批量程序调度系统,该调度系统可采用b/s结构,服务器端运行在aix操作系统、webspherend6.1.0.15之上,数据库为mpp数据库gbase8a。客户端使用ie。可选地,在具体实施时,基于eclipse系统开发工具开发java源程序,基于gbasestudio系统开发工具开发存储过程。下面,以对银行系统的mpp数据库gbase8a批处理任务调度为例,对本发明实施例进行详细说明。mpp数据库gbase8a运维监控是一组服务,负责调起和控制各层的批处理调度任务,以及其它一些系统总控的功能。功能主要分为作业的维护(新建,修改,删除,手工启动),作业实时信息的查询,任务跑批受限日的设定,以及一些其它的监控功能——930服务,短信服务,批量备份历史数据参数设置。批量作业设计原则满足性能最优化、控制批量作业数目、分省设置作业、作业之间无关联存储过程不判断是否执行,是否执行由批量调度框架控制。图5示出了一个批量作业的任务关系,如图5所示,一个批量作业(job)以虚拟的任务(task)start开始,虚拟的任务end结束。a、b、c三个任务并行进行,a、b任务全部成功结束后,d、e才开始执行(并行执行);c任务成功结束后,f任务才开始,d、e、f任务全部成功结束后,g任务才开始,g任务成功结束后,整个job才结束。在批量作业中,一个任务成功执行完后才能执行下一个任务,则前一个任务是后一个人物的前驱任务,后一个任务是前一个任务的后继任务。如a、b、c三个任务是任务start的后继任务,d、e任务为a、b两个任务的后继任务,f任务是c任务的后继任务,g任务是d、e、f的后继任务,d、e、f任务又是g任务的前驱任务。start任务没有前驱任务,end任务没有后继任务。图5所示的批量作业的任务关系如表1所示。表1某一批量作业的任务关系当前任务名前驱任务后继任务start无a、b、castartd、ebstartd、ecstartfda、bgea、bgfd、e、fggd、e、fendendg无表1中所示的每个任务具有6种状态:0-空闲状态,1-正在执行状态,2-成功完成状态,3-警告状态,4-失败状态,5-准备就绪状态;则表1所示的批量作业具有5种状态:0-空闲状态,1-正在执行状态,2-成功完成状态,3-警告状态,4-失败状态。在具体实施时,可以为每个job设置一个启动时刻,可精确到秒。批量调度框架扫描每个job的启动时刻,到启动时刻则启动相应的job。job的初始状态为0,启动后的状态为1,成功完成后状态为2,job执行完成后有错误但不影响时状态为3,job执行过程中失败时状态为4。task的初始状态为0,job启动后初始化所有task的状态为5,task启动后状态为1,成功完成时状态为2,成功有错误但不影响时状态为3,失败退出时状态为4。在设计时,可将原子task存放在一张表中,不包含状态字段;每个job具有两张表,一张表存放job的定义信息,另一张表存放job包含的task定义信息,两张表中都可包含状态字段。本发明实施例中提供的大数据批量作业任务调度可以实现但不限于如下几个功能:①参数设置:支持设置的参数包括但不限于工作日、受限日、省机构号、条线、流量控制。工作日:在上线第一次设置后,正常情况下,每个省的所有批量跑完后,该省的工作日自动跳到下一日。不按天跑批情况下,需要将工作日增加n天到下一个执行时间。工作日跟省走,即每个省都有自己的工作日。受限日:法定节假日、周六周日。如果9月29日/30日为周六周日,10月1日、2日、3日、4日、5日、6日、7日放假。因此将9月29日和30日和10月4日、5日互调,即29日和30日正常上班,4日和5日放假。此时,9月29日和30日不应为受限日。省机构号:可以增、删、改、查。条线:可以开启和关闭某个条线。流量控制:可以设置每类交易的最大并发量。交易类别分为:缺省交易,即这类交易的流量不做控制;短交易;这类交易比较简单,响应时间较快,对资源消耗较少,但流量还是需要进行控制;中等交易:比短交易复杂,需要流量控制;长交易:最复杂的交易,响应时间较长,消耗资源较多。按缺省交易、短交易、中等交易、长交易顺序,流量控制阀值由大变小。②监控功能:支持的监控功能包括但不限于:显示作业是禁用还是启用状态,上次作业是否执行成功,作业运行的开始时间及结束时间等。显示当前任务状态及执行情况。用户可以查看作业的运行日志及错误日志。图6所示为本发明实施例中提供的一种批量调度应用的监控画面示意图,以方便运维监控人员进行作业状态监控。考虑强制执行和跳过执行两种情况。强制执行是在需要重跑时需要的功能;跳过执行是某类数据在异常情况下没有到达时可以跳过这类数据处理时需要的。可选地,在主画面上,可采用不同的颜色或其他标记不同执行状态的任务,例如,采用绿色标记成功执行完成的任务,采用黄色标记执行完成且有错误但无影响的任务,采用红色标记执行失败的任务。每个job名称是一个链接,可以弹出对话框显示该job所有的task运行情况。并附带有表1所示的任务关系表。还可提供一些其他监控服务,例如,930启停和状态显示、ciss状态显示、第三资讯状态显示和短信服务状态显示服务等。③维护功能:支持的维护功能包括批量作业的定义、修改、删除和添加任务,以及任务的定义、删除;在定义批量作业时可设置省机构号和工作日、作业执行频率等批量参数信息。添加任务时可设置受限日和任务执行频率(例如,每月几日)。工作日和省机构号作为参数由作业带入并传递给存储过程。不按省份定义,不限制任务被添加的次数。在添加任务时可按照例如表1所示的便于操作人员理解的方式进行添加。④日志分析功能:记录的日志信息包括但不限于错误日志和监控日志两种。其中,监控日志主要是一些状态信息,例如,执行时长、运行状态等。错误日志主要是批量作业或任务执行过程发生错误时记录的日志。⑤数据备份功能:自动备份:批量框架按照备份策略每日自动启动备份脚本,进行数据库分层备份。手工备份:登录调度系统,手动选择要备份的数据库。如果备份失败,批量框架会发出提示,以便人工干预重新启动备份。本发明实施例中,可支持日志信息的查询和删除,在查询时,可以根据时间、类型等条件进行查询。日志收集:由于日志分散在各层数据库中,所以要将这些日志信息收集到一起;日志类型:分为错误日志和监控日志。监控日志主要是一些状态信息,如执行时间、运行状态等。错误日志为task或job发生错误时的日志。基于同一发明构思,本发明实施例中还提供了一种大数据批量作业任务调度装置,如下面的实施例所述。由于该装置解决问题的原理与上述大数据批量作业任务调度方法相似,因此该装置的实施可以参见上述大数据批量作业任务调度方法的实施,重复之处不再赘述。图7为本发明实施例中提供的一种大数据批量作业任务调度装置示意图,如图7所示,该装置包括:批量作业定义模块71、批量参数配置模块72、批量任务执行模块73、执行状态监控模块74和任务调度模块75。其中,批量作业定义模块71,用于定义对大数据执行批处理的批量作业,批量作业中包含:多个任务;批量参数配置模块72,用于配置批量作业的批量参数信息;批量任务执行模块73,用于根据配置的批量参数信息,执行批量作业中的各个任务;执行状态监控模块74,用于监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态;任务调度模块75,用于根据监控结果,对批量作业的各个任务进行调度。可选地,本发明实施例中提供的大数据批量作业任务调度装置可以应用但不限于对大规模并行分析mpp数据库的批处理任务进行调度需要说明的是,本发明实施例通过批量作业定义模块71定义的批量作业中包含的任务类型包括:开始任务、过程任务和结束任务,开始任务为批量作业中仅具有后继任务的任务,过程任务为批量作业中同时具有前驱任务和后继任务的任务,结束任务为批量作业中仅具有前驱任务的任务。在一个实施例中,上述任务调度模块75可以用于重新启动批量作业;和/或,跳过批量作业中的执行完成的任务,继续执行批量作业。在一个实施例中,如图8所示,本发明实施例中提供的大数据批量作业任务调度装置还可以包括:执行状态定义模块76,用于定义批量作业的作业执行状态和批量作业中各个任务的任务执行状态。在一个实施例中,如图8所示,本发明实施例中提供的大数据批量作业任务调度装置还可以包括:日志记录模块77,用于记录批量作业在执行过程中的日志信息,以及对记录的日志信息进行分类存储。进一步地,上述日志记录模块77还可以用于:记录报错日志的错误码;根据报错日志的错误码,提取报错日志的日志信息;输出报错日志的日志信息。在一个实施例中,如图8所示,本发明实施例中提供的大数据批量作业任务调度装置还可以包括:系统资源使用信息监控模块78,用于采集批量作业在执行过程中的系统资源使用信息,以及输出采集的系统资源使用信息。在一个实施例中,如图8所示,本发明实施例中提供的大数据批量作业任务调度装置还可以包括:告警模块79,用于根据监控结果,生成告警信息,以及采用邮件或短信方式,发送告警信息。基于同一发明构思,本发明实施例中还提供了一种计算机设备,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述大数据批量作业任务调度方法。基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,用以解决现有技术中尚未出现基于java开发的大数据批量作业任务调度机制的技术问题,该计算机可读存储介质存储有执行上述大数据批量作业任务调度方法的计算机程序。综上所述,本发明实施例中提供了一种大数据批量作业任务调度方法、装置、计算机设备及计算机可读存储介质,通过定义对大数据执行批处理的包含多个任务的批量作业,在配置该批量作业的批量参数信息后,根据配置的批量参数信息,执行该批量作业中的各个任务,通过监控批量作业的作业执行状态和批量作业中各个任务的任务执行状态,进而根据监控结果,对批量作业的各个任务进行调度,能够实现基于java技术开发的大数据批量作业任务调度机制,以实现对mpp数据库的批处理任务进行调度。本发明实施例中提供的大数据批量作业任务调度方法,使得运维人员能够方便实现批量作业的状态监控,提高运维工作效率;使得开发人员只需要进行简单的参数配置,文件导入维护字段映射关系,存储过程维护前驱后继关系,即可实现大数据批量作业任务调度的开发。通过本发明实施例,能够实现但不限于如下技术效果:①实现基于java技术开发的大数据批量程序调度机制,以负责调起和控制mpp数据库gbase8a的批处理调度任务,以及其它一些系统总控的功能,包括但不限于:作业的维护(新建,修改,删除,手工启动),作业实时信息的查询,任务跑批受限日的设定,以及一些其它的监控功能(例如,930服务,短信服务,批量备份历史数据参数设置)。将本发明实施例中提供的大数据批量作业任务调度方法应用于mpp数据库,能够使得mpp数据库的维护成本大大降低,调度简洁,无论是调度软件本身的安装、维护、使用、操作难度等都很小。②高可定制性:由于java技术开发的调度界面,具有强大的定制功能,能够满足运维人员的个性化需求。③实时进程监控:实时监控cpu、内存、虚拟内存和磁盘i/o等实时性能状态,以便快速分析服务器性能问题并予以解决。④开发成本低:对于mpp数据库的文件加载、存储过程配置、生成文件等操作都是可配置的。调度顺序关系只需要配置作业和任务。⑤部署简单,上手容易。及时有效的告警通知,以邮件、短信等形式通知运维人员。⑥应用报错会写特定的错误码和日志在日志文件中,可以通过查看各个模块的错误代码准确定位问题。错误处理也可以struts的标准方式处理,从module层返回到controller层是错误代码。在controller层根据错误代码从properties资源文件提取错误信息返回到页面。详细的错误明细信息通过log4j写入日志。错误警示信息、操作提示信息和页面元素信息保存在properties文件中。用户及运维人员不用关心错误码,调度系统会将错误码对应的错误警示信息展示在前台页面。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1