CN103197960B - 用于批量作业系统的调度方法及系统 - Google Patents

用于批量作业系统的调度方法及系统 Download PDF

Info

Publication number
CN103197960B
CN103197960B CN201310127752.XA CN201310127752A CN103197960B CN 103197960 B CN103197960 B CN 103197960B CN 201310127752 A CN201310127752 A CN 201310127752A CN 103197960 B CN103197960 B CN 103197960B
Authority
CN
China
Prior art keywords
job
batch job
batch
current work
scheduling
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
CN201310127752.XA
Other languages
English (en)
Other versions
CN103197960A (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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201310127752.XA priority Critical patent/CN103197960B/zh
Publication of CN103197960A publication Critical patent/CN103197960A/zh
Application granted granted Critical
Publication of CN103197960B publication Critical patent/CN103197960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种用于批量作业系统的调度方法,包括采用预设的调度机制,按照设定好的驱动关系调度批量作业系统中的各作业以实现数据的提取、转换和加载过程,其中,预设的调度机制包括核心调度机制:在当前作业的所有前导作业在对应的区域全部运行成功,并且当前区域的决定区域上与当前作业功能相同的作业的运行指令已经全部执行成功的条件下,执行当前作业的运行指令。本发明还公开了一种用于批量作业系统的调度系统。本发明的用于批量作业系统的调度方法及系统,能够简单高效的进行批量作业系统的配置和监控管理,满足在集群架构环境下分布式运行作业步骤,提高批量业务系统的扩展性等方面的要求。

Description

用于批量作业系统的调度方法及系统
技术领域
本发明涉及开放平台系统下基于数据库的批量调度产品领域,尤其涉及一种用于批量作业系统的调度方法及工具。
背景技术
在大型应用系统,特别是金融、电信等具有海量数据特征的数据处理系统中,为了处理业务交易系统日间所记录的大量数据,往往存在数据批量加工的需求,而随着信息技术的发展,这种数据批量加工的复杂度也越来越高;为了满足大型数据处理系统的各项需求,通常要求数据批量处理程序能够具备以下特点:定时启动停止、多作业并发执行、多个区域并发执行、作业步骤间复杂的网络形式的驱动关系、多服务器节点并发执行、远程终端统一监控管理、快速高效开发配置、B/S架构(浏览器/服务器架构)高效管理、多级管理用户权限等。
现有技术中业界有部分工具可实现部分类似功能,例如一些作业调度功能的产品有OWB、DataStage、OracleJobScheduler、AIXJobControl、AIXCrontab等,以及公开的专利文献中,例如公布号为“CN102012840A”和公布号为“CN102393822A”的专利文献,均没有涉及在上述应用环境特点下的应用,未能满足大型数据处理系统的各项需求。
发明内容
本发明所要解决的技术问题是提供一种用于批量作业系统的调度方法及工具,解决在复杂的数据处理系统中,实现作业步间多对一和一对多的逻辑关系,满足高并发高效率的执行作业步骤,简单高效的进行系统批量配置,方便统一的对批量作业执行情况进行监控管理,满足在集群架构环境下分布式运行作业步骤,在业务快速发展的情况下提高批量业务系统的扩展性等方面的问题。
为了解决上述技术问题,本发明提供了一种用于批量作业系统的调度方法,所述调度方法包括采用预设的调度机制,按照设定好的驱动关系调度所述批量作业系统中的各作业以实现数据的提取、转换和加载过程,其中,所述预设的调度机制包括核心调度机制,所述核心调度机制为:
在当前作业的所有前导作业在对应的区域全部运行成功,并且当前区域的决定区域上与当前作业功能相同的作业的运行指令已经全部执行成功的条件下,执行当前作业的运行指令。
作为优选,所述预设的调度机制还包括第一调度机制,所述第一调度机制为:
在当前作业的驱动类型为时间驱动类型时,则在到达指定时间点时,将当前作业运行指令直接置为执行成功状态。
作为优选,所述预设的调度机制还包括第二调度机制,所述第二调度机制为:
在当前作业的驱动类型为时间文件混合驱动类型时,则当到达指定时间点时或者当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
作为优选,所述预设的调度机制还包括第三调度机制,所述第三调度机制为:
在当前作业的驱动类型为作业文件混合驱动类型时,则当满足所述核心调度机制条件时并且当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
作为优选,所述预设的调度机制还包括第四调度机制,所述第四调度机制为:
在当前作业的驱动类型为文件驱动类型时,则当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
作为优选,所述预设的调度机制还包括第五调度机制,所述第五调度机制为:
在当前运行指令的周期设置与当前批量作业系统加工日期不相符时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
作为优选,所述预设的调度机制还包括第六调度机制,所述第六调度机制为:
在当前批量作业系统加工日期为假日时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
作为优选,所述预设的调度机制还包括第七调度机制,所述第七调度机制为:
在当前作业运行指令为虚拟运行指令时,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
作为优选,所述预设的调度机制还包括第八调度机制,所述第八调度机制为:
在当前作业为虚拟作业时,在当前批量作业系统首次运行时即直接把所有区域对应的当前作业全都置为执行成功状态。
作为优选,通过使所有批量作业系统中被调度的作业提供返回值的方式进行作业调度。
本发明还提供了一种用于批量作业系统的调度系统,包括:
包括:
核心调度子系统,所述核心调度子系统采用本发明的调度方法调度所述批量作业系统;
控制和维护子系统,用于所述调度系统的功能设计开发,配置批量作业系统参数、创建作业并维护驱动关系,并且用于批量作业系统的启动/停止,以及对批量作业系统运行情况进行实时监控;
所述核心调度子系统与控制和维护子系统通过驱动关系数据库参数表及文件系统参数文件作为接口进行通讯。
作为优选,所述控制和维护子系统包括前端维护子系统和后台控制子系统,其中,
所述前端维护子系统包括:
批量作业系统以及作业步骤定义和维护模块,用于新增批量作业系统及所需调度的作业,并配置和维护驱动关系;
所述后台控制子系统包括:
批量作业系统监控与控制模块,用于在完成批量作业系统和作业信息配置后,启动/停止批量作业系统,并监控批量作业系统。
作为优选,所述前端维护子系统还包括:
批量作业系统日志查询模块,用于对批量作业系统日志进行查询;
作业信息查询模块,用于查询作业信息;
作业信息维护模块,其与所述批量作业系统以及作业步骤定义和维护模块相关联,并用于对作业信息进行维护,包括删除、修改作业信息;
作业关系图查询模块,用于查询作业关系并展示作业关系网络图;
作业信息校验模块,用于针对配置的作业信息按照驱动关系进行校验,向所述作业信息维护模块返回存在问题的作业信息以确保作业信息无误后启动批量作业系统;
作业运行情况监控模块,用于根据作业各项参数查询作业的运行详细日志、运行时间、出错作业的错误类型等信息,并用于查看选择的作业;
假日信息配置模块,用于针对每个作业步骤配置假日信息;
驱动关系导入导出模块,用于为批量作业系统及作业信息的配置而提供驱动关系文件导入导出功能。
作为优选,所述批量作业系统监控与控制模块包括批量作业系统信息监控单元和批量作业系统运行状态监控单元,其中:
所述批量作业系统信息监控单元,用于监控展示文件系统剩余空间和各个需要监控的表空间信息,以及各批量作业系统的概要信息;
所述批量作业系统运行状态监控单元,用于通过内置的集群批量作业系统监控子单元和本机批量作业系统监控子单元分别监控当前集群及本机环境下运行指令的执行状态。
作为优选,所述调度系统采用开放平台AIX系统下基于Oracle数据库架构实现。
作为优选,所述核心调度子系统使用C语言及ProC语言实现;所述前端维护子系统使用J2EE及B/S架构实现;所述后台控制子系统使用Shell及C语言实现。
与现有技术相比,本发明的用于批量作业系统的调度方法及系统的有益效果在于:通过提供了一套批量作业系统的调度方法(包含多作业步骤间并行、多区域间并行、作业之间多对一及一对多的驱动方式、区域之间多对一及一对多的驱动方式、文件驱动、时间驱动、作业驱动、文件时间混合驱动、文件作业混合驱动、集群环境下多服务器节点部署、多个批量作业系统间并行等功能),并围绕调度机制提供了相应的批量作业系统配置、批量状态统一监控、系统用户角色权限控制等功能,专注于解决在复杂的数据处理系统中,如何实现作业步骤间多对一和一对多的逻辑关系、如何满足高并发高效率的执行作业步骤、如何简单高效的进行系统批量配置、如何方便统一的对批量作业执行情况进行监控管理、如何满足在集群架构环境下分布式运行作业步骤、如何在业务快速发展的情况下提高批量业务系统的扩展性等方面的问题,具备多并发、多批量作业系统、多种作业驱动方式、简单配置和高效管理等独特特点,可最大程度的提高数据批量加工效率,减轻开发及维护工作量。
附图说明
图1为本发明的实施例的用于批量作业系统的调度方法的调度机制流程示意图;
图2为表示本发明的实施例的用于批量作业系统的调度方法的一个驱动关系实例的示意图一。
图3为表示本发明的实施例的用于批量作业系统的调度方法的一个驱动关系实例的示意图二。
图4为本发明的实施例的用于批量作业系统的调度方法的应用实例一作业之间先后逻辑关系示意图。
图5为本发明的实施例的用于批量作业系统的调度方法的应用实例一作业信息示意图。
图6为本发明的实施例的用于批量作业系统的调度方法的应用实例二作业信息示意图。
图7为本发明的实施例的用于批量作业系统的调度系统的系统架构示意图。
图8为本发明的实施例的用于批量作业系统的调度系统的前端维护子系统用户角色权限维护界面示意图。
图9为本发明的实施例的用于批量作业系统的调度系统监控批量作业系统的示意图。
具体实施方式
下面结合附图和具体实施例对本发明的实施例的用于批量作业系统的调度方法及工具作进一步详细描述,但不作为对本发明的限定。
在说明本发明的实施例的用于批量作业系统的调度方法及工具之前,先对本发明涉及到的相关专业术语,结合现有公知常识作详细说明。
用于批量作业系统的调度系统:数据仓库ETL(即,数据仓库的提取、转换和加载过程)工具,按照设定好的驱动关系调度批量作业系统所属作业以及JOB以实现ETL过程。
作业:指所有可以被用于批量作业系统的调度系统调度的作为批量作业步骤的应用程序。
JOB:被用于批量作业系统的调度系统进行调度的每一个最小单元,例如本发明的实施例中指作业在某一区域的运行指令。
驱动关系:作业间的前导和后继关系。
作业类型:按作业是否需要真正运行分为R、V两种类型,分别表示“实作业”、“虚作业”。
驱动类型:作业被调度的方式叫做“驱动类型”,包含时间驱动、作业驱动、文件驱动、时间文件混合驱动、作业文件混合驱动。
时间驱动(T):到达某一时刻,作业可以不必满足驱动关系,直接置为成功状态(SUC),时间驱动作业必须为根结点作业。
作业驱动(J):按照前导作业成功进而驱动作业的驱动方式。
文件驱动(F):需要的下传文件到达指定状态时进而驱动作业的驱动方式。
时间文件混合驱动(B):满足时间驱动关系或满足文件驱动关系时,驱动作业;必须为根结点作业。
作业文件混合驱动(A):满足作业驱动并且满足文件驱动关系时,驱动作业。
前导作业:必须先于某个作业执行的作业,即叫做这个作业的前导作业。
期数:指每个批量作业系统运行的数据加工日期。
根结点作业:没有前导作业的作业。
虚拟JOB:为了满足JOB内区域间的驱动关系逻辑而定义的不需要实际运行的JOB。
虚拟作业:为了满足作业间驱动关系逻辑而定义的不需要实际运行的作业;虚拟作业必须为根节点作业。
运行脚本:用于批量作业系统的调度系统执行时生成的JOB执行脚本列表文件;据此可把JOB抛到后台执行。
时效性:作业运行的滞后时间;如JOB1与JOB2的时效性相同,则意味着同一时间点,JOB1的期数与JOB2的期数相同。
批量作业系统:逻辑上相关,时效性一致的一组作业;用于批量作业系统的调度系统支持多个批量作业系统并行。
公用作业:若不同批量作业系统的JOB之间存在驱动关系,则前导JOB叫做公用JOB;如批量作业系统A的JOBA为批量作业系统B的JOBB的前导,则JOBA就是两个批量作业系统的公用JOB。
决定区域:某一个作业区域之间也可以互相驱动,其中用作前导的区域叫做决定区域;即,仅有当前作业在其决定区域运行成功后,方可以在本区域运行。当决定区域只有一个时,可以是当前区域自身,表示不需要依赖于其他区域;当决定区域有多个时,不能包含当前区域自身;否则将会出现异常。
图1为本发明的实施例的用于批量作业系统的调度方法的调度机制流程示意图。参考图1所示,本发明的实施例的用于批量作业系统的调度方法包括采用预设的调度机制,按照设定好的驱动关系调度所述批量作业系统中的各作业以实现数据的提取、转换和加载过程,其中,所述预设的调度机制包括核心调度机制,所述核心调度机制为:在当前作业的所有前导作业在对应的区域全部运行成功,并且当前区域的决定区域上与当前作业功能相同的作业的运行指令已经全部执行成功的条件下,执行当前作业的运行指令。
举例说明:区域40142的“J”类驱动作业Job_J1,其前导作业为Job_F1|Job_T1|Job_V1|Job_B1|,决定区域为40004,则当且仅当Job_F1(40142)、Job_T1(40142)、Job_B1(40142)、Job_V1(40142)、Job_J1(40004)的作业状态为“SUC”时,本作业Job_J1(40142)才符合调度条件,具备运行条件。
所述预设的调度机制还包括第一调度机制,所述第一调度机制为:在当前作业的驱动类型为时间驱动类型时,则在到达指定时间点时,将当前作业运行指令直接置为执行成功状态。即,当前作业为时间驱动作业时,若到达指定时间点,则可不等待满足驱动关系,直接置为“SUC”。
举例说明:区域40142的“T”类驱动作业job_t01,驱动时间=18:30(HH24:MI),当系统时间>=18:30时,job_t01(40142)设置为成功。
所述预设的调度机制还包括第二调度机制,所述第二调度机制为:在当前作业的驱动类型为时间文件混合驱动类型时,则当到达指定时间点时或者当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
举例说明:区域40142的“B”类驱动作业job_b01,驱动时间=19:00(HH24:MI),前导文件为‘ACTCUS’,决定区域为40142。到达驱动时间,或者当文件控制信息表sys_ftpfilect区域40142对应的文件‘ACTCUS’的文件状态filesta为‘5000’(参数设定为指定状态,下同)时,job_b01(40142)设置为成功。
所述预设的调度机制还包括第三调度机制,所述第三调度机制为:在当前作业的驱动类型为作业文件混合驱动类型时,则当满足所述核心调度机制条件时并且当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
举例说明:区域40142的“A”类驱动作业Job_A1,其前导文件为FILE03|,前导作业为Job_J1|,决定区域为40142。则当且仅当文件控制信息表sys_ftpfilect区域40142对应的文件40142FILE03的文件状态filesta为‘5000’,并且Job_J1(40142)的作业状态为“SUC”时,本作业Job_A1(40142)才置为“SUC”,符合调度条件,具备运行条件。
所述预设的调度机制还包括第四调度机制,所述第四调度机制为:在当前作业的驱动类型为文件驱动类型时,则当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
举例说明:区域40142的“F”类驱动作业Job_F1,前导文件为‘FILE01|’,决定区域为40142,当文件控制信息表sys_ftpfilect区域40142对应的文件40142FILE01|的文件状态filesta为‘5000’时,Job_F1(40142)置为成功状态,符合调度条件。
所述预设的调度机制还包括第五调度机制,所述第五调度机制为:在当前运行指令的周期设置与当前批量作业系统加工日期不相符时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
在实际应用中,可以通过以下具体方式定义,系统运行状态表SYS_JOBRUNSTA中字段JOBRUNCYCSET(JOB运行周期)提供用户设置单个job的周期的功能,当作业满足核心驱动关系时,将比较运行周期与批量日期,是否符合周期,如果非周期的情况下,job不会被实际调起而直接设置为成功。
可以设置的单个周期代码为:
D0:每日;
W1:每周1运行,最多支持1~7;
依次类推支持W3-W7为每周3-每周日运行;
T1:每旬第1天运行;
依次类推支持T3~T10;
M1:每月第1天运行;
依次类推支持M1~月末日;
Qn:n=1为季度初,n最多支持1~月末日;
Hn:n=1为半年初,n最多支持1~月末日;
Yn:n=1为年初,n最多支持1~月末日。
可以对单个周期代码做取反定义,代表相应的周期不运行。也可以通过设定组合周期为将单个周期代码拼接起来,拼接时单个周期之间使用特定符号加最后截止符号,以定义周期组合的逻辑运行式。如‘M1|W1|’代表每月第一天并且是周一是满足周期等。通过这样的逻辑运行式定义,便于批量作业系统的调度和作业的运行。
第五调度机制举例说明:
根节点作业举例:
区域40004的“F”类驱动作业Job_F1,其前导文件为FILE_01,决定区域为40004,运行周期为W1|,即Job_F1(40004)每周一运行。当本期批量日期不为周一时,Job_F1(40004)即不满足运行周期条件,此时,在批量的初始化过程中,Job_F1(40004)的作业状态直接由‘INI’(初始状态)更新为‘SUC’。该情况下,不考虑job的驱动类型与驱动关系,直接置为‘SUC’。
非根节点作业举例:
区域40142的“A”类驱动作业Job_A1,其前导文件为FILE_03,前导作业为Job_J01,决定区域为40004,运行周期为W1|,即Job_A1(40142)每周一运行。当本期批量日期不为周一时,Job_A1(40142)即不满足运行周期,此时,在批量的初始化过程中,不会设置Job_A1(40142)的作业状态。不检查前导文件FILE_03的状态,当前导作业Job_J1(40142)、决定区域作业Job_A1(40004)的作业状态为‘SUC’,即满足核心驱动关系的条件下,Job_A1(40142)的作业状态由‘INI’更新为‘SUC’。
所述预设的调度机制还包括第六调度机制,所述第六调度机制为:在当前批量作业系统加工日期为假日时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
在实际应用中,可以通过以下具体方式定义,定义假日表SYS_JOBHOLIDAY,使用户可以将任何一个job设置为假日,当此作业满足核心驱动关系时,此job不会被实际调起,而直接设置为成功。
第六调度机制举例说明:
根节点作业举例:
区域40142的“F”类驱动作业job_f03,其前导文件为FILE_03,决定区域为40004,运行周期为D1|(满足周期)。将job_f03(40142)在假日表中设置本次批量日期为假日,此时,在批量的初始化过程中,job_f03(40142)的作业状态直接由‘INI’更新为‘SUC’。该情况下,不考虑job的驱动类型与驱动关系,直接置为‘SUC’。
非根节点作业举例:
区域40142的“A”类驱动作业job_a01,其前导文件为FILE_01,前导作业为job_j01,决定区域为40004,运行周期为D1|(满足周期)。将job_a01(40142)在假日表中设置本次批量日期为假日,此时,在批量的初始化过程中,不会设置job_a01(40142)的作业状态。运行过程中不检查前导文件FILE_03的状态,当前导作业job_j01(40142)、决定区域作业job_a01(40004)的作业状态为‘SUC’,即满足核心驱动关系的条件下,job_a01(40142)的作业状态由‘INI’更新为‘SUC’。
所述预设的调度机制还包括第七调度机制,所述第七调度机制为:在当前作业运行指令为虚拟运行指令时,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。如前所述,虚拟job对应的作业在系统中具有现实功能,但虚拟job本身不运行,当满足核心驱动关系时,在JOB循环中设置成功。虚拟job用来满足JOB内区域间的核心驱动关系逻辑。
举例说明:当前批量作业系统STTEST01中作业Job_F1(90004),Job_B1(90004),Job_A1(90004)为虚拟job,当决定区域40004,40142,40202下对应的JOB成功时,将虚拟job设置为成功。
所述预设的调度机制还包括第八调度机制,所述第八调度机制为:在当前作业为虚拟作业时,在当前批量作业系统首次运行时即直接把所有区域对应的当前作业全都置为执行成功状态。如前所述,虚拟作业在运行系统中作为起始根作业,没有前导作业,不判断决定区域作业状态,不考虑周期与假日,在系统初始化的时候被置成功,本身不运行,仅用来驱动其他作业。
举例说明:当前批量作业系统STTEST01中虚拟作业Job_V1,进行作业初始化jobinit时,将所有区域对应的job_v1设置为成功。
作为改进,通过使所有批量作业系统中被调度的作业提供返回值的方式进行作业调度。被调度的作业仅需要提供返回值即可,对实现语言及运行方式没有要求,确保适用于绝大多数系统。
图2为表示本发明的实施例的用于批量作业系统的调度方法的一个驱动关系实例的示意图。参考图2所示,以该实例进一步说明:
1)区域90004的决定区域为40004|40142|40202|,即90004的job需要等到区域40004|40142|40202|对应的job全部完成后才能就绪;
2)Job_F1(40142),Job_F1(40202)的决定区域为40004;
3)Job_B1(40004),Job_A1(40004)加工期数非运行周期;
4)Job_A1(40142)加工期数为假日;
5)Job_V1为虚作业,
Job_F1(90004),Job_B1(90004),Job_A1(90004)为虚JOB。
从图2中可以看出,该实例基于批量作业系统STTEST01和STTEST02对驱动关系进行了展示,图中囊括了上述本发明的实施例的用于批量作业系统的调度方法的调度机制,涵盖了包括几种包括加工期数为非周期、加工期数为假日以及虚拟作业、虚拟JOB等类型的调度机制。体现了多作业步骤间并行、多区域间并行、作业之间多对一及一对多的驱动方式、区域之间多对一及一对多的驱动方式、文件驱动、时间驱动、作业驱动、文件时间混合驱动、文件作业混合驱动、集群环境下多服务器节点部署、多个批量作业系统间并行等功能。
其中,ALL_SUC类作业为一个标志作业,标志某个区域的作业是否全部完成,设置时每个区域需要有一个对应的ALL_SUC类job,只有两个状态‘INI’和‘SUC’。作业的命名规则为“ALL_SUC_系统名称”。例如,参考图3为表示本发明的实施例的用于批量作业系统的调度方法的一个驱动关系实例的示意图二,系统STTEST01的ALL_SUC类作业为ALL_SUC_STTEST01,当区域40004中除ALL_SUC_STTEST01(40004)以外全部job都成功时,ALL_SUC_STTEST01(40004)被设置为‘SUC’。
以下通过两个应用实例更深入具体的说明本发明的实施例的用于批量作业系统的调度方法。
应用实例一:
图4为本发明的实施例的用于批量作业系统的调度方法的应用实例一作业之间先后逻辑关系示意图;图5为本发明的实施例的用于批量作业系统的调度方法的应用实例一作业信息示意图。为满足业务要求,需要新开发一个在某区域内所有分支机构运行的应用系统,通过数据下传平台(DCDS)从三个业务系统S1、S2、S3接收数据并进行加工最终产出报表;报表时效性有T+3、T+5两种。经过分析发现,S1、S2系统T+1日即可向DCDS下发数据,而S3系统T+3日方可下发;针对三个系统分别需要开发三个程序A1、A2、A3处理各系统数据;需要开发两个程序B12、B13处理两系统之间进行关联的数据;最后需开发两个程序RPT1、RPT2分别加工T+3、T+5两种类别的报表。使用本发明的实施例的用于批量作业系统的调度方法,设立BAT1、BAT2、BAT3、BAT4四个批量作业系统,具体:BAT1:A1、A2、B12,所有区域运行,T+1日批量完成;BAT2:A3、B23,所有区域运行,T+3日批量完成;BAT3:RPT1,所有区域运行,T+3日批量完成;BAT4:RPT2,所有区域运行,T+5日批量完成。通过图4和图5可以看出,这样的调度方法可以使得数据下发较早的系统尽早处理,不需等待下发较晚的系统处理完毕,所有分支机构间并行最大程度保证并发性。
应用实例二:
图6为本发明的实施例的用于批量作业系统的调度方法的应用实例二作业信息示意图。为满足业务要求,需要新开发一个在某区域内所有分支机构的应用系统,通过数据下传平台(T+1日)接收数据并进行加工最终产出报表。报表时效性T+1。经分析,基于多时区问题的影响,若等待所有分行数据到齐后再加工报表,将无法保证按时产出报表;针对S1系统需要开发程序A1处理数据;开发程序RPT1加工报表。使用本发明的实施例的用于批量作业系统的调度方法,针对三个程序例的特点,设立BAT1、BAT2、BAT3三个批量作业系统:BAT1:A11、RPT11,仅运行程序例一覆盖的分支机构,T+1日批量完成;BAT2:A12、RPT12,仅运行程序例二覆盖的分支机构,T+1日批量完成;BAT3:A13、RPT13,仅运行程序例三覆盖的分支机构,T+1日批量完成。由于根据程序例部署特点,三个批量作业系统运行进度可能不同,各个分支机构之间数据处理不会因时区问题互相等待,通过设置JOB实际或虚拟解决多时区问题,从国内系统改造工作量较小。
图7为本发明的实施例的用于批量作业系统的调度系统的系统架构示意图。如图7所示,本发明还提供了一种用于批量作业系统的调度系统,包括:核心调度子系统,所述核心调度系统采用如前所述预设的调度机制,用于按照设定好的驱动关系调度所述批量作业系统以实现数据的提取、转换和加载过程;控制和维护子系统,用于所述调度系统的功能设计开发,配置批量作业系统参数、创建作业并维护驱动关系,并且用于批量作业系统的启动/停止,以及对批量作业系统运行情况进行实时监控;所述核心调度子系统、控制和维护子系统通过驱动关系数据库参数表及文件系统参数文件作为接口进行通讯。
本发明的实施例的用于批量作业系统的调度系统可提供时间点驱动、前导作业驱动、下传文件驱动、混合驱动等多种业界通用及创新的驱动模式;并可按照各系统不同的需要按照区域、机构等维度进行并发。
作为本实施例的优选方案,所述控制和维护子系统包括前端维护子系统和后台控制子系统,其中,所述前端维护子系统包括批量作业系统以及作业步骤定义和维护模块,用于新增批量作业系统及所需调度的作业,并配置和维护驱动关系;所述后台控制子系统包括批量作业系统监控与控制模块,用于在完成批量作业系统和作业信息配置后,启动/停止批量作业系统,并监控批量作业系统。在实际安装部署时,可将前端维护子系统、驱动关系数据库、核心调度子系统分别部署,也可以将所有子系统和数据库部署在同一个服务器上,具体方式可根据应用环境确定。
使用本发明的实施例的用于批量作业系统的调度系统时,开发测试人员一般使用前端维护子系统进行批量作业系统参数的配置及调试;运行维护人员一般使用后台控制子系统进行批量的启动停止及其他的高级维护操作。在实际应用中,前端维护子系统为可选模块,可仅安装使用核心调度子系统与后台控制子系统,以简化操作和二次开发,利用系统运行效率。若仅安装核心调度子系统与后台控制子系统,则可不必部署WAS等前端应用所需环境。
作为优选,所述前端维护子系统可包括:
批量作业系统日志查询模块,用于对批量作业系统日志进行查询,可根据日志内容、日志开始或结束时间进行查询;作业信息查询模块,用于查询作业信息,提供按作业名称、驱动类型、前导文件、开发人员、作业类型、作业所属系统、前导文件集合等项目查询作业信息;作业信息维护模块,其与所述批量作业系统以及作业步骤定义和维护模块相关联,用于对作业信息进行维护,包括删除、修改作业信息;作业关系图查询模块,用于查询作业关系并展示作业关系网络图,可根据配置好的作业关系查询并展示作业关系网络图,并可基于网络图对作业信息进行修改;作业信息校验模块,用于针对配置的作业信息按照驱动关系进行校验,向所述作业信息维护模块返回存在问题的作业信息以确保作业信息无误后启动批量作业系统;作业运行情况监控模块,用于根据作业各项参数查询作业的运行详细日志、运行时间、出错作业的错误类型等信息,并用于查看选择的作业,例如可根据作业各项参数查询作业的运行详细日志、运行时间、出错作业的错误类型等信息,并可选择查看运行时间排在前几位的作业;假日信息配置模块,用于针对每个作业步骤配置假日信息,假日内作业将不会实际运行;驱动关系导入导出模块,用于为批量作业系统及作业信息的配置而提供驱动关系文件导入导出功能,可提供Excel、CSV格式的文件导入导出功能,以最大程度方便批量子系统及作业信息的配置。
作为进一步的改进,所述批量作业系统监控与控制模块包括批量作业系统信息监控单元和批量作业系统运行状态监控单元,其中,所述批量作业系统信息监控单元,用于监控展示文件系统剩余空间和各个需要监控的表空间信息,以及各批量作业系统的概要信息;所述批量作业系统运行状态监控单元,用于通过内置的集群批量作业系统监控子单元和本机批量作业系统监控子单元分别监控当前集群及本机环境下运行指令的执行状态。
用户使用前端维护子系统配置批量作业系统、创建作业并维护驱动关系,使用后台控制系统启动批量作业系统,并对批量运行情况进行实时监控。管理员通过前端维护子系统用户管理功能创建角色、用户及之间的关系,如图8所示,图8为本发明的实施例的用于批量作业系统的调度系统的前端维护子系统用户角色权限维护界面示意图。在创建完毕用户后,相应开发人员使用具有驱动关系维护权限的用户登录系统,使用批量作业系统维护功能新增批量作业系统,再使用作业信息维护功能增加所需调度的作业,并为其配置驱动关系。在创建批量作业系统时,可以对其名称、运行周期、最大并发JOB个数、菜单中顺序等信息进行配置。创建完毕后,使用作业信息校验功能对驱动关系进行检查,确认无误后,可使用后台控制子系统启动批量。在完成批量系统作业信息配置后,可以使用后台控制界面启动批量子系统。启动批量作业系统时将会根据当前系统运行状况判断是否正常启动或者异常中断后重新启动。
批量作业系统信息监控单元进行监控时,展示文件系统剩余空间和各个需要监控的表空间信息,以及各批量作业系统的运行主机、系统名称、当前期数、系统状态等概要信息。批量作业系统运行状态如图9所示,图9为本发明的实施例的用于批量作业系统的调度系统监控批量作业系统的示意图。使用停止功能停止某一个批量作业系统时,可以选择是否同时停止掉所属JOB以及其对应的数据库的对话。批量作业系统运行状态监控单元通过内置的集群批量作业系统监控子单元和本机批量作业系统监控子单元,可以选择“集群批量监控”和“本机批量监控”监控程序可分别查看当前集群及本机环境job执行状态。
作为优选,所述用于批量作业系统的调度系统采用开放平台AIX系统下基于Oracle数据库架构实现,适用于有批量数据处理要求的应用系统,特别适用于数据仓库类系统的ETL过程(数据仓库的提取、转换和加载过程)。所述核心调度子系统使用C语言及ProC语言实现,提高程序稳定性及运行效率;所述前端维护子系统使用J2EE及B/S架构实现,方便开发及测试人员使用;所述后台控制子系统使用Shell及C语言实现,最大程度的便利维护人员使用及二次开发。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (16)

1.一种用于批量作业系统的调度方法,其特征在于,所述调度方法包括采用预设的调度机制,按照设定好的驱动关系调度所述批量作业系统中的各作业以实现数据的提取、转换和加载过程,其中,所述预设的调度机制包括核心调度机制,所述核心调度机制为:
在当前作业的所有前导作业在对应的区域全部运行成功,并且当前作业对应的区域的决定区域上与当前作业功能相同的作业的运行指令已经全部执行成功的条件下,执行当前作业的运行指令;
其中,所述决定区域是用作前导的区域。
2.根据权利要求1所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第一调度机制,所述第一调度机制为:
在当前作业的驱动类型为时间驱动类型时,则在到达指定时间点时,将当前作业运行指令直接置为执行成功状态。
3.根据权利要求2所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第二调度机制,所述第二调度机制为:
在当前作业的驱动类型为时间文件混合驱动类型时,则当到达指定时间点时或者当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
4.根据权利要求3所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第三调度机制,所述第三调度机制为:
在当前作业的驱动类型为作业文件混合驱动类型时,则当满足所述核心调度机制条件时并且当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
5.根据权利要求4所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第四调度机制,所述第四调度机制为:
在当前作业的驱动类型为文件驱动类型时,则当需要的下传文件到达指定状态时,将当前作业运行指令直接置为执行成功状态。
6.根据权利要求5所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第五调度机制,所述第五调度机制为:
在当前运行指令的周期设置与当前批量作业系统加工日期不相符时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
7.根据权利要求6所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第六调度机制,所述第六调度机制为:
在当前批量作业系统加工日期为假日时,如果当前作业为根节点作业,则将当前作业运行指令直接置为执行成功状态;如果当前作业不为根节点作业,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
8.根据权利要求7所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第七调度机制,所述第七调度机制为:
在当前作业运行指令为虚拟运行指令时,则在满足所述核心调度机制后,将当前作业运行指令置为执行成功状态。
9.根据权利要求8所述的用于批量作业系统的调度方法,其特征在于,所述预设的调度机制还包括第八调度机制,所述第八调度机制为:
在当前作业为虚拟作业时,在当前批量作业系统首次运行时即直接把所有区域对应的当前作业全都置为执行成功状态。
10.根据权利要求9所述的用于批量作业系统的调度方法,其特征在于,通过使所有批量作业系统中被调度的作业提供返回值的方式进行作业调度。
11.一种用于批量作业系统的调度系统,其特征在于,包括:
核心调度子系统,所述核心调度子系统采用如权利要求1至10中任一项所述的调度方法调度所述批量作业系统中的各作业;
控制和维护子系统,用于所述调度系统的功能设计开发,配置批量作业系统参数、创建作业并维护驱动关系,并且用于批量作业系统的启动/停止,以及对批量作业系统运行情况进行实时监控;
所述核心调度子系统与控制和维护子系统通过驱动关系数据库参数表及文件系统参数文件作为接口进行通讯。
12.根据权利要求11所述的用于批量作业系统的调度系统,其特征在于,所述控制和维护子系统包括前端维护子系统和后台控制子系统,其中,
所述前端维护子系统包括:
批量作业系统以及作业步骤定义和维护模块,用于新增批量作业系统及所需调度的作业,并配置和维护驱动关系;
所述后台控制子系统包括:
批量作业系统监控与控制模块,用于在完成批量作业系统和作业信息配置后,启动/停止批量作业系统,并监控批量作业系统。
13.根据权利要求12所述的用于批量作业系统的调度系统,其特征在于,所述前端维护子系统还包括:
批量作业系统日志查询模块,用于对批量作业系统日志进行查询;
作业信息查询模块,用于查询作业信息;
作业信息维护模块,其与所述批量作业系统以及作业步骤定义和维护模块相关联,并用于对作业信息进行维护,包括删除、修改作业信息;
作业关系图查询模块,用于查询作业关系并展示作业关系网络图;
作业信息校验模块,用于针对配置的作业信息按照驱动关系进行校验,向所述作业信息维护模块返回存在问题的作业信息以确保作业信息无误后启动批量作业系统;
作业运行情况监控模块,用于根据作业各项参数查询包括作业的运行详细日志、运行时间、出错作业的错误类型在内的信息,并用于查看选择的作业;
假日信息配置模块,用于针对每个作业步骤配置假日信息;
驱动关系导入导出模块,用于为批量作业系统及作业信息的配置而提供驱动关系文件导入导出功能。
14.根据权利要求13所述的用于批量作业系统的调度系统,其特征在于,所述批量作业系统监控与控制模块包括批量作业系统信息监控单元和批量作业系统运行状态监控单元,其中:
所述批量作业系统信息监控单元,用于监控展示文件系统剩余空间和各个需要监控的表空间信息,以及各批量作业系统的概要信息;
所述批量作业系统运行状态监控单元,用于通过内置的集群批量作业系统监控子单元和本机批量作业系统监控子单元分别监控当前集群及本机环境下运行指令的执行状态。
15.根据权利要求11所述的用于批量作业系统的调度系统,其特征在于,采用开放平台AIX系统下基于Oracle数据库架构实现。
16.根据权利要求12所述的用于批量作业系统的调度系统,其特征在于,所述核心调度子系统使用C语言及ProC语言实现;所述前端维护子系统使用J2EE及B/S架构实现;所述后台控制子系统使用Shell及C语言实现。
CN201310127752.XA 2013-04-12 2013-04-12 用于批量作业系统的调度方法及系统 Active CN103197960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310127752.XA CN103197960B (zh) 2013-04-12 2013-04-12 用于批量作业系统的调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310127752.XA CN103197960B (zh) 2013-04-12 2013-04-12 用于批量作业系统的调度方法及系统

Publications (2)

Publication Number Publication Date
CN103197960A CN103197960A (zh) 2013-07-10
CN103197960B true CN103197960B (zh) 2016-06-22

Family

ID=48720550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310127752.XA Active CN103197960B (zh) 2013-04-12 2013-04-12 用于批量作业系统的调度方法及系统

Country Status (1)

Country Link
CN (1) CN103197960B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407919A (zh) * 2014-12-15 2015-03-11 浪潮软件股份有限公司 一种数据处理任务调度系统及方法
CN104933618B (zh) * 2015-06-03 2018-05-11 中国银行股份有限公司 核心银行系统批量作业运行数据的监控方法及装置
CN105677465B (zh) * 2015-12-31 2019-04-26 中国建设银行股份有限公司 应用于银行跑批处理的数据处理方法及装置
CN109379400A (zh) * 2018-09-04 2019-02-22 中国建设银行股份有限公司 批量作业调度处理系统、方法、装置和存储介质
US10812619B2 (en) * 2019-02-19 2020-10-20 Ingram Micro Inc. System and method for bulk user service assignment using CSV
CN109960708A (zh) * 2019-03-22 2019-07-02 蔷薇智慧科技有限公司 数据处理方法、装置、电子设备及存储介质
CN110365775B (zh) * 2019-07-17 2022-05-20 中国银行股份有限公司 业务数据上传方法、装置及存储介质
CN110633914A (zh) * 2019-09-20 2019-12-31 中国银行股份有限公司 批量作业调度处理方法及装置
CN110764910A (zh) * 2019-10-23 2020-02-07 中国银行股份有限公司 批量作业调度处理方法及装置
CN112181619A (zh) * 2020-09-23 2021-01-05 中国建设银行股份有限公司 批量业务的调度方法、装置、设备及介质
CN112363983A (zh) * 2020-11-10 2021-02-12 北京思特奇信息技术股份有限公司 一种集群主机的文件核查方法和系统
CN113434360B (zh) * 2021-06-23 2024-04-19 中国建设银行股份有限公司 一种作业运行监控的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012840A (zh) * 2010-12-23 2011-04-13 中国农业银行股份有限公司 一种数据的批量调度方法和系统
CN102393822A (zh) * 2011-11-30 2012-03-28 中国工商银行股份有限公司 批量调度系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012840A (zh) * 2010-12-23 2011-04-13 中国农业银行股份有限公司 一种数据的批量调度方法和系统
CN102393822A (zh) * 2011-11-30 2012-03-28 中国工商银行股份有限公司 批量调度系统及方法

Also Published As

Publication number Publication date
CN103197960A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103197960B (zh) 用于批量作业系统的调度方法及系统
CN104778124B (zh) 一种软件应用自动化测试方法
US8880591B2 (en) Workflow management in distributed systems
US20130085587A1 (en) System and method for controlling the operations of a manufacturing facility
US20100049568A1 (en) System and Method for an Extensible Workflow Management
CN1862491A (zh) 用于时控程序执行的系统和方法
CN105260248B (zh) 一种可动态调整的任务调度系统和调度方法
CN102117306A (zh) Etl数据处理过程的监控方法及其系统
CN103425778A (zh) 一种数据库应用系统的智能化开发平台
CN102663543A (zh) 一种用于企业数据统一平台的调度系统
US20110264251A1 (en) Electronic work instruction configured for isa-95 standard
CN101770605A (zh) 一种研发项目计划管理方法与系统
CN101751288A (zh) 应用进程调度的方法、设备及系统
CN104407919A (zh) 一种数据处理任务调度系统及方法
CN103810555A (zh) 一种定期维护项目的排程方法及系统
CN113641483A (zh) 一种基于人工智能的机器人流程自动化系统
US10996983B1 (en) Job scheduler for remote maintenance of servers and workstations
CN115719207A (zh) 超自动化平台系统
US7127307B2 (en) Generation/management apparatus of production processing structure in factory production management system
CN101436136A (zh) 自动执行预先安装软件元件系统及其执行方法
CN107808198A (zh) 自动化工程指令创建
US20130167051A1 (en) Method and system for customizing a graphic user interface of a manfuacturing execution system screen
CN103631594A (zh) 通用流程异步调度方法及系统
US20120203587A1 (en) Integrated engineering and workflow system for engineering and executing workflows of mechatronic objects
EP4209912A1 (en) Method for enhancing the debugging capability for a software program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant