返回列表 返回
列表

批量调度工具


产品简介

Product introduction


高阳批量调度工具( JOB GROUP)是一款作业调度工具软件。本软件所定义的“作业”,是指一切能够在UNIX SHELL中运行的程序,包括可执行程序、shell脚本、perl脚本、JAVA程序(用java命令执行)、存储过程等等。



产品功能

Product Features


批量设计

作业支持 

设计批量过程是很直观的,主要是放置组件、连接组件和配置组件参数。

Job-group目前支持调度各种UNIX平台(AIX、SOLARIS、HP-UNIX、LINUX等)上的作业。一切能够在UNIX SHELL中执行的命令和运行的程序,都可以作为批量作业。


变量池var_pool

事件(event)

作业的命令中可以包含环境变量(遵循SHELL的语法)。当JOB GROUP server端启动的时候(jgpctl start),当时的环境信息被装载进server端。如果当时有$HOME之类的定义,所有的作业都可以使用这样的环境变量。

在批量过程中,可以使用jgp_setvar命令修改环境变量。jgp_setvar命令有两个参数,第一个是变量名,第二个是变量值。jgp_setvar命令会刷新调度器的环境,以后运行的作业就会访问到新的变量值了。jgp_setvar设置的变量长期有效,该变量值是永久保存在var_pool文件中的。所以调度工具重新启动或者启动不同的批量,曾经设置过的变量仍然会存在。

对于每个特殊日期(比如MONTH_END),需要定义一个状态变量,其值为Y表示今天是该日期(月底)。变量名为日期名_IND,比如MONTH_END_IND。通常在整个批量的开始会有一个特殊作业,该作业反复调用jgp_setvar设置很多IND变量和其他环境变量。

事件是用来做一些特殊的同步(或者说依赖关系)。比如:某个作业依赖操作员准备好某个磁带,而操作员的这个动作并不是一个job,所以不能用job的依赖关系来描述这种依赖。这种情况就可以让该作业依赖一个特殊的event_wait作业,该作业等待指定的事件,事件到来就会成功结束,后面的作业就可以执行了。操作员做好相应的准备后,通过批量监控界面可以触发该事件从而完成人与批量的同步过程。事件还可以实现多台机器的批量协同。比如,一台机器的批量某个作业要等待另外一台机器传送一个文件,就可以让该作业等待一个event_wait作业,而另外一台机器传送文件作业后面紧跟一个event_fire作业,即可完成这种复杂的跨机器批量协同。


作业分区并发

在某些特殊情况下(通常是出于效率方面的考虑),调度图上面的一个作业,在实际运行的时候会并发多个进程,每个进程处理一个“分区”(partition)。分区的个数是批量运行时确定的,不能在调度图上静态画出。比如银行的计算利息处理,需要对每一个活期储蓄账户做处理。而银行的活期储蓄账户数量可能非常多,比如有一亿条记录。那这个计息处理的作业就可能成为整个批量的性能瓶颈。为了解决这个性能瓶颈,需要将该作业并发执行,每个进程处理一个分区(比如以1000万记录为一个分区,或者按照账户所在机构编码分区等方案)的数据。由于分区的数量与数据量(或者机构表)有关,是每次批量可能变化的,所以不能静态在调度图上画出。

调度器在第一次执行作业的时候,会查找并装载该作业的分区表。如果有分区,则会并发多个进程执行该作业。通常批量开始需要一个初始化作业,用来生成各个作业的分区表文件。

在监控画面的作业分区页签内,会显示各个分区的情况(运行状态等),并可对某个单个分区进行查看日志、停止、跳过等操作。如果像普通作业一样,在作业图标上用鼠标右键做停止、跳过等操作,表示对该作业的所有可以操作的分区一并做该动作。比如停止表示对所有状态是RUNNING的作业分区发出停止命令;跳过表示对所有失败作业分区发出跳过命令等。


批量监控

监控工具可以做各种批量的控制。包括批量启停、批量状态监控、出错作业处理、查看作业日志、事件触发等。



典型案例

Typical Case


北京银行海外分行系统

中国银行澳门分行CAP 系统

国开银行海外分行系统

民生银行海外分行系统

浙商银行海外分行系统

平安银行批量调度

大新银行批量调度

微众银行批量调度

苏州银行批量调度

--------