国内某银行批量作业调度

项目背景

数据大集中后,某行在全国有两大数据中心,北中心以网上银行等业务为主,同时承担全行的测试和备份任务,南中心是核心业务的运行中心,另外还有专门的开发中心,承担全行系统升级、开发、改造等工作。

数据中心共有183套应用系统上线运行,其中有140套系统存在各种不同类型或方式的批量作业。承载应用系统的环境有windows、Sun Solaris、IBM AIX、Turbo Linux等几种,并且每种环境还有不同版本的操作系统。

北中心生产环境开放平台下的批量作业大约每天有3,000步左右;南中心是该行核心业务的运维支撑中心,开放平台下的批量作业大约每天有10,000步左右。

不完全统计,大部分批量作业都是以分钟为执行时间单位,个别批量作业以小时为执行时间单位,约有5、6个批量作业(月结类)执行时间达到几十个小时。而且,批量作业调度的方式也多种多样,包括Shell脚本、Java应用程序、C程序、VB程序、B/S的界面操作、存储过程、第三方扩展开发等等。

该行运维部门在两大数据中心配备了大约110名操作员,执行日常的批量操作,操作内容完全通过操作员手册传承,操作员每天都要按照当天操作手册的内容执行任务,大部分操作都是操作员倒班执勤时,通过远程登录到不同的服务器上手工执行,人为误操作、遗忘操作机率非常高,几乎每晚都有各种特殊情况发生,相关的高级工程师也需要倒班执勤,随时处理问题。

操作员的劳动强度非常大,不同的批量有不同的执行周期或启动时间,比如星期二晚8:50备份等等,而且批量步骤之间还有复杂的关联关系,如A步骤正常则执行B,A步骤异常则执行C,另外每个步骤执行周期可能很长,完全由人每隔几分钟查看进程的方式判断是否完成,闲置周期很长,而且严重浪费。

140个应用的批量操作程序,由500名开发工程师,在近10年的工作过程中积累完成,缺乏应用的规范,批量程序差异很大,不利于维护,更不利于操作员使用。

为了解决开放平台的上述问题,该行成立专门项目《开放平台集中管理》,重点解决批量作业调度存在的问题:

  集中操作与管理

  降低误操作和遗忘操作风险

  提高工作效率,降低闲置时间

  建立统一的规范

  项目收益

2007年2月项目正式启动。12月完成北中心全面推广工作。

2009年2月,南中心47个批量都已纳入Entegor管理。预计2009年内全国31个分行全面推广。

以北中心-网银-企业网银-数据库维护批量为例,传统方式手工执行,内容包含每天执行的统计处理、每周2和周5的备份操作以及数据清理,操作员不但要根据日期判断该如何操作,而且每一步操作的结果都通过控制台输出的日志进行分析,平均每天作业时间都在2小时左右。2007年7月采用Entegor实现集中操作管理后,完全不用人工参与,平台自动执行并跟踪管理批量执行情况,异常信息通过消息平台自动报警,每天执行时间缩短到37分钟。原操作员工作内容由操作变成监控,大大解放劳动力。

到目前为止,Entegor产品在该行的应用取得了非凡的收益,受到数据中心运维部门的高度赞扬。