项目背景及目标
核心日终批量作业是银行核心业务系统中的极为重要组成部分,是否在指定的窗口时间内正常结束,对整个银行的正常运营至关重要。而很长时间以来,核心系统的日终批处理采取的是较为落后的人工作业调度方式,存在调度任务多、处理时间长和容易出错等多方面的问题。为了优化日终批处理的效率和稳定性、简化日终批处理日常运维管理的复杂度和工作量,同时满足未来业务扩展对批处理作业增加的带来的性能、效率和安全性等各方面要求,有必要考虑采用自动化的方式,通过科学的作业管理机制,提高作业效率、降低管理成本和规避作业失败的风险。
为此广东农信决定建设核心系统批量调度项目,经过调研和评估,最终决定引入BMC公司的CONTROL-M调度工具,并全面优化现有的日终作业任务。结合目前的现状,本项目的具体建设目标为:实现包括存款、贷款、总账等全部核心日终批量作业调度的集中管理、集中配置、集中操作、自动化、标准化、规范化,降低人为操作差错,提升核心系统运行操作整体的管理水平;同时,在本项目中全面梳理日终作业内容,通过功能和时序的优化,进一步降低日终处理耗时,保障以核心系统为主的整个银行系统群稳定可靠运行。
项目方案
核心日终批量调度系统引入了BMC的批量调度软件Control-M工具,在该工具的支持下,完成了核心日终作业和优化重组。该工具包括了一系列组件:Control-M/EM Client管理客户端系统、Control-M/EM Server管理子系统、Control-M/Server调度子系统、Control-M/Agent调度客户端、Control-M/Report Facility报表工具、Configuration Agent代理数据库管理组件等,组件化的产品设计,可以支持更为灵活的软件部署,本项目中采用的是C/S模式和HA双机热备模式,客户端与服务器分离部署。
1、系统逻辑架构
Control-M是一款跨平台的批量作业调度管理软件,采用C/S模式,在服务器上安装EM和Server,在被控主机上安装Agent。Agent可以在主机上提交由Control-M定义好的作业流,并返回结果。在EM,则可以全面监视所有批量作业的运行情况,可以有多种方式控制JOB的运行条件和过程干预。
Control-M作为企业级集中作业调度管理解决方案,它集中地管理跨平台、跨应用的生产控制调度过程,该解决方案的核心是:按照业务逻辑自动调度和提交作业;实时监控和分析作业运行状态、运行结果;基于运行结果自行进行作业的后续处理。
核心批量调度系统架构如下图所示:
整体架构主要分为四大模块:
1.Control-M/EM
2.Control-M/Server
3.Control-M/Agent
4.Control-M/GUI
Control-M/Client可视化图形终端,C/S架构,有服务端与客户端,服务端是指Control-M/Server和Control-M/EM,客户端是指Control-M/Client;
EM是Enterprise Manager的简称,主要提供用户可视化界面的服务,如job的设计、管理、监控界面,具有独立的数据库,部署在独立的服务器上,具有标准图形化接口GUI,跨平台统一管理;
调度服务架构Control-M/Serve是作业调度引擎,任何作业的调度都是从Control-M/Server提交到Agent(业务系统),部署在独立的服务器上,具有独立的数据库,主要完成作业实例化,提供依赖关系的触发,支持多平台;
Control-M/Agent部署在核心系统,具有独立的文件系统,建立Control-M/Server与业务系统间的信息交互,管理、提交、监控、控制和管理作业。
2、系统网络拓扑
系统网络拓扑图如下:
调度系统的入口是通过生产区指定的PC机,由特权系统进行访问权限控制,各个组件的服务器全部部署在核心网络区,便于管理。
3、物理部署架构
在物理部署上,采用了HA双机热备模式,以满足系统异常时快速、可靠的切换。
物理架构图如下图所示:
4,核心客户化改造
针对核心系统,项目组花费了大量精力梳理了日终所有作业的依赖关系,聚类分析,划分了5大模块,并优化各大模块中耗时瓶颈的作业,调整时序,提高并发度,主要优化工作如下:
1),归集重空模块的处理;
2),优化日夜环境的SOD;
3),优化存、贷、CTA、内部账的逻辑处理,提高并发度;
4),启用压缩每日账户计提分录功能;
5),优化账务处理;
6),优化机构撤并功能;
7),改善清理规则和优化数据库联邦访问机制;
项目创新点
项目建设的创新点主要体现在:
(一) 作业模块化和高并发设计
梳理了核心日终1000多个作业,重编制了规范的作业名,利用数据库技术梳理各个作业的业务依赖关系,所有作业按不同的模块重新编排,当前编排了五大模块:日终准备、EOD处理、日终账务、SOD处理、日终结束。
充分考虑现有软硬件资源,在保证模块独立性的前提下,提高输入和输出数据文件的重用性,模块内部作业按业务关系并发执行,从而使各日终作业模块更加充分地利用系统资源,有序地通过调度工具快速完成。
(二)自动监控和孤悬检查
通过接入运维自动监控平台,支持对各个作业实时监控报警,根据业务和系统影响,对报警分类登记,在紧急情况下,可以“一键停止日终”。为了提高系统的容错性,实现了部分作业重跑机制。
引入了孤悬检查机制,该检查设计了多进程处理模式,分布式部署,孤悬检查进程作为被监控作业的影子进程,与被监控进程同步启动和结束,其本身执行出错不会影响调度任务的继续,若被监控作业运行异常报错,可通过该机制提前报警,为后续应急处理预留更多的处理时间窗口。
(三)智能记录和机器学习
对整个调度任务,引入了机器学习的功能。当每个批次的作业运行完成后,会自动登记作业的运行结果,将作业信息、开始时间、结束时间等数据记录到数据库,待系统自学习一段时间,采用贝叶斯算法预估整个调度和关键作业的完成时间。
技术实现特点
本项目充分利用了目前有限的软硬件资源,完成了目前核心日终1000多个步骤的作业依赖关系调整,不但提升了日终效率、降低了日终运维成本,也加强了监控和容错处理,从而实现了日终各批量作业调度的集中管理、集中配置、集中操作、自动化、标准化、规范化,降低人为操作差错,提升核心系统日终运行操作整体的管理水平是本次项目的总体建设目标。
以下为本系统的主要技术实现特点:
(一) 简化了繁杂的日终运维操作
通过引入BMC的批量调度软件Control-M工具,并进行客户化改造,在该工具的支持下,使得整个日终作业调度实现了“一键跑批”,并具备重跑、暂停、跳过等功能,简化了之前繁杂的日终步骤调度管理,实现了核心日终1000多个作业的自动调度管理和可视化操作,提升了行内的运维管理能力。
(二)优化了核心日终作业
梳理了核心日终1000多个作业,重编制了规范的作业名,梳理了各个作业的业务依赖关系,所有作业按不同的模块重新编排。通过对作业的优化,进一步提高了日终的处理效率和健壮性。
(三)支持灵活的参数化配置
通过内置的规则引擎为调度系统提供了规则配置管理、参数化管理、规则监控报警的相关功能,便于运维人员快速的调整作业时序和工作状态。还引入了参数控制,使作业可以根据日期时间、特殊日子、特定情境进行调度。
项目过程管理
项目实施的关键里程碑阶段如下:
1、需求分析和概要设计阶段
此阶段时间段为2016年5月至2016年8月,期间主要完成了调度工具客户化设计、核心日终时序的并发调整和技术架构的高层设计。提交了软件规格需求说明书、核心日终作业依赖关系时序图、技术架构和接口的高层设计等文档,确定了操作系统、数据的选型以及工具的HA方案。
2、系统详细设计阶段
此阶段的起始时间为2016年9月到12月,期间主要完成了系统详细设计工作,提交了系统详细设计说明书等文档。
3、系统编码测试阶段
此阶段起始时间为2017年1月至2017年6月份,期间完成了系统编码、系统测试、性能测试,提交了系统测试报告、性能测试报告。
4、并行测试阶段
此阶段起始时间为2017年7月至2017年12月份,期间完成了与生产环境的并行对比测试,提交了对比测试报告
5、系统投产和运行阶段
此阶段起始时间为2018年1月至2018年2月份,期间完成了项目的投产,分别验证了核心日终、机构撤并等功能,确认了账务的正确性,提交了上线方案、系统应急手册、运维手册等文档。
项目运营情况
一、系统运行体验
(一)界面体验。该系统监控界面友好直观,各作业模块划分明晰,功能设置合理,易于用户管理操作。可以快速捕捉系统运行情况,可以制定各种运行报表,实现了监控报警和预评估功能。在运行速度及稳定性方面,系统登陆、重启、时序的定制生效,系统运行较为稳定,无崩溃、卡死、响应超时等异常现象出现。
(二)功能体验。该系统实现了核心日终的自动化,达到了“一键跑批”的目标,提高了作业处理效率、节约了管理成本、规避了作业失败的风险,更合理的利用系统资源根据各个作业的依赖关系运行日终,保证了账务的正确性;实现了预评估功能,该系统带有自学习功能,运行若干天,可以评估到各个作业和整个日终的完成时间,提高了运维人员的工作效率;可以预定制各种报表,有利于核心日终的调优。
(三)安全体验。该系统接入统一监控平台,自身带有报警功能,一旦系统异常,可以第一时间通知运维人员;能根据工作需要对不同角色进行灵活配置操作权限;该系统可以设置集中输出屏显的日志,方便运维人员调查问题。另外,系统自动记录操作员操作信息,同时加强外部监控,大大降低操作风险,有效保障客户信息安全。
项目运营情况
在投产后的几个月运行中,核心日终运行时间减少了1小时之多,机构撤并模块减少了1小时之多,保障了大集中核心系统“保开门”的基本要求;杜绝了运维人员的操作错误,系统使用率100%;可以灵活设置特殊的作业任务,在特殊日子,可以关闭历史清理、卡年费收取等作业;
加快了历史清理,大大减少了联机交易流水表的数据量,提高了联机交易的处理效率。
通过核心批量调度系统的建设,推进了广东农信各个系统管理工作的水平,逐步走向标准化、规范化,大大提高系统运行的稳定性,提升了用户的体验,帮助农合机构树立了良好的声誉和形象,市场竞争力持续提升。
项目成效
核心批量调度系统的建立,提高了核心系统日终的安全性和稳定性,节约了人力成本,规避了操作风险,减少了核心日终跑批时间,保障了核心系统“保开门”的基本要求,也为我中心其它系统接入该调度工具提供有力的支持。
一、 经济效益
通过已投产的核心批量调度系统,有效防范核心日终各种操作风险,降低了系统监控和运维管理的成本,一定程度上弥补了运维人数的不足;增加了各种报错机制,更好的监控了核心系统账务的情况,能够更快更及时处理账务问题,一定程度上减少了由于系统异常而带来的经济损失。
二、 社会效益
建设核心批量调度系统,提高了核心系统日终的安全性和稳定性,减少了核心日终的运行时间,进一步保障了大集中核心系统“保开门”的基本要求,同时,核心业务数据尽早提供给ODS报表系统,为我中心其它系统运行和监管报送提供了保证,使网点柜员体验到系统的稳定性,提升社会公共服务水平,保障高水平金融服务质量,起着重要的影响。
当今社会,科技是第一生产力,金融业尤其如此,科技就是生命力。核心批量调度系统的建设,给我中心其它系统的监控和运维管理树立了典范,为其它系统引入调度工具提供了有力的支持。在二期规划中,在核心批量调度平台上,引进了自主开发,使得特殊任务可以定时、保质的完成,为扩展广东农信特色业务提供了技术保证。通过运用新思维、新方式和新技术研发出功能丰富、特色的理财产品,丰富了我省农合机构的金融服务方式,增强了机构的服务综合竞争力,提升了机构的金融品牌和形象。
经验总结
核心批量调度系统,属于关键业务系统内部运行效能的重大优化改进范畴,也是基础运维管理工作的优化。由于项目的复杂度和重要性,项目实施历时一年之长,项目组投入了近半年的时间,通过搭建与生产环境近为近似的软硬件环境,模拟过去日终出现的各类场景(存贷结息日、月末、季末和年结等),并与生产环境进行了大量的并行测试验证,通过科学的测试方法和严谨的工作态度,最终保证了项目顺利完成投产。
项目涉及核心整个日终各个业务模块的功能优化,涉及各个开发团队的协同配合,在投产前,通过会议沟通,落实具体责任人,制定了详细的并行测试方案和对比方案,为后期的投产工作执行提供了清晰思路,保证了项目的正式投产上线的质量。在项目组成员和各部门领导同事的积极配合下,核心批量调度项目顺利完成投产,完成了项目既定目标。
本文由2018年度农村金融科技创新优秀案例评选组委会授权发表,转载请注明出处和本文链接。
领取专属 10元无门槛券
私享最新 技术干货