SIM-BAT
介绍
任务(作业)调度工具SIM-BAT,基于DAG(有向无环图)设计的所见即所得的作业调度工具,支持分布式服务集群,操作简单开箱即用;
具有完善的作业设计、调度、监控等功能;
支持超大规模批量作业(百万级)。
SIM-BAT由设计器、调度器、监控器三个部件组成,架构如下图:

软件特色
SIM-BAT的特点是简单、稳定、高效。
- 非侵入式接口设计,支持各种类型作业(SHELL、JAVA、GO、PYTHON等)
- 监控/设计图形化,操作便捷,所见即所得
- 内置高可用机制,支持主从式集群,确保任务进度安全
- 分布式调度;支持超大规模批量
- 超高调度性能,全部由C++原生开发
- 不依赖其他开源软件包,便于移植到各种平台
- 成熟稳定,已在多家大型企业成功应用
功能说明
作业接口
SIM-BAT采用非侵入式接口支持各种类型的作业,对应用编程语言没有特殊要求。
主要有两类接口,一类是SHELL中可执行的命令,支持所有SHELL的语法,比如环境变量等;
另外一类是HTTP POST报文接口,报文格式是可配置的,支持JSON和XML格式报文。
报文接口支持作业在APP SERVER(比如TOMCAT)中执行,应用只要配置作业启动报文和作业查询报文即可。
设计与监控
SIM-BAT提供所见即所得的图形化设计与监控工具,可方便地设计作业之间的分组和串并行关系。
也可在运行期直观地看到作业执行情况并可在作业出错时方便地进行人工干预。
服务器集群
SIM-BAT支持主从式集群,可将作业分散到服务器集群运行。架构如下图:

发行版(以64位LINUX系统为例)
- 下载 “SIM-BAT 2_9_3 Community Edition.zip” 并解压
- 将 server/linux64 目录上传到服务端
- 在服务端的linux64目录执行 chmod +x simbat_install;./simbat_install

- 前两个问题直接回车,第三个问题回答 y
- 退出重新登录使得profile中的环境变量生效
- 执行 simbat_ctl start
- 修改client/bin/simbat.cfg,将其中的IP_ADDR标签的值改成服务器的IP地址。端口缺省是9010,要确保该端口是通畅的,没有防火墙的阻拦
- 在client/bin,双击simbat_designer.exe图标,进入设计器
- 打开c1001.sbt并上传到服务端,操作员ID和密码均是 simbat

- 在client/bin,双击simbat_monitor.exe图标,进入监控器
- 在SAMPLE图标上鼠标右键菜单选择“启动批量”,操作员ID和密码均是 simbat

- 在SAMPLE图标上鼠标右键菜单选择“进入该批量”。批量运行中,各个组的颜色会发生变化。过10秒左右,G1组会变成红色并告警

- 在G1组图标上鼠标右键可以选择“进入该组”
- 在JOB_1作业图标上鼠标右键可以选择“查看日志”
- 在JOB_1作业图标上鼠标右键选择“跳过”(也可创建~/aaa文件然后选择“重跑”)
- 过10秒左右,批量正常完成
- 恭喜!到这里您已经成功完成了第一个批量例子!
- doc目录下的用户手册有SIM-BAT使用的详细文档,您可以通过该文档学习到SIM-BAT的各种复杂功能
源码编译
- cd server/src
- chmod +x configure
- ./configure --platform=linux64
- make
- make install
server端目前支持的平台是 linux、linux64、aix、aix64、hp、solaris,由configure命令的参数指定,缺省是linux64。
生成的安装包位于release目录,执行其中的simbat_install命令安装。
client端编译需要 C++ Builder XE7,designer和monitor目录下的工程文件均为ProjectGroup1.groupproj。
成功案例
SIM-BAT已经成功在很多大企业应用。下图是其中一些:

联系我们
- 支持邮箱 support@simjie.com
- 作者微信 YJ13828895512