栏目编辑:梁丽雯  E-mail:liven_01@163
77
主机在中型银行的应用实例、
挑战与解决方案
■ 江苏省农村信用社联合社 薛宝明 苑华伟
摘要:
文章首先介绍了IBM商用大型计算机的应用范围、操作系统、数据库和中间件,接着以南方某中型银行为例,详细描述了商用大型计算机在该行的应用场景以及部署的硬件架构和系统架构,随后简要分析了近些年商用大型计算机在国内银行业遇到的挑战并提出了解决方案:将核心业务系统的查询交易与账务交易分离;在基于PC服务器的分布式架构上开发部署核心业务查询平台,以处理原有核心业务系统的查询交易;部署在商用大型计算机上的核心业务系统仅处理账务类交易以减轻主机处理负载。最后,笔者在测试环境用实验数据来论证该方案的可行性。
关键词:
IBM;主机;中型银行;查询交易作者简介: 薛宝明(1979-),男,江苏扬州人,工程师,供职于江苏省农村信用社联合社,信息科技部系统团队负责人,研究方向:银     行IT 系统架构设计及优化;
     苑华伟(1985-),男,河南周口人,工程师,供职于江苏省农村信用社联合社,研究方向:大型机系统管理。收稿日期: 2020-01-13
一、主机概述
(一)应用范围
商用大型计算机(业内简称主机,Mainframe ),于1964年被IBM研制出第一代机型,使用专用的处理器指令集,有专用的操作系统和应用软件来配合硬件实现CPU运算、数据传送和内存管理等功能。经过几十年的不断升级,主机的稳定性和安全性在所有计算机中首屈一指,宕机概率远远低于小型机和PC服务器,并且其I/O能力强,擅长于超高并发的数据库访问。在国外,主机的应用领域非常广泛,从国际连锁超市、大型
钢企到商业银行,主机的地位是不可替代的。在国内,主机主要应用在几大国有银行及个别中型银行的总行级数据中心。例如,某国有大型银行的核心业务系统运行在6台主机上,该行在国内2 000多个县设
有网点,每个网点又配备了多个柜员终端和ATM等自助设备,另有全国范围内数百万的手机银行和网银移动终端接入。该行主机所处理的核心业务交易量每秒达到1万笔以上,交易平均响应时间在30毫秒以下。
(二)Z/OS
随着主机硬件的不断换代,操作系统也随之不断
栏目编辑:梁丽雯  E-mail:liven_01@163
78
升级,从最早的OS/360到OS/390再到目前普遍使用的是Z/OS 2.1。Z/OS操作系统的主要模块包括:TSO,RACF,WLM,JES2/JES3,Netview,USS等。其类似又不同于Unix/Linux中的process概念,主机中的进程被称为“address space”。Z/OS通过对address space的调度和管理来提供各种服务,登录Z/OS需要安装特有的软件“IBM Personal Communications”(PCOM)。Z/OS的操作风格是“半菜单半命令”式,完全不同于Unix/Linux,“OPTION”后输入菜单项的代码可以进入相应子菜单,如图1所示。
DBM1,MSTR,DIST和IRLM,其功能如下:DBM1负责SQL处理、Buffer管理和Bind;MSTR负责内部Thread管理、日志管理、Checkpoint管理等;IRLM负责资源锁定管理,即Lock Management。
CICS是主机最常用的一种交易中间件,介于Z/OS操作系统和处理交易的应用程序之间,帮助操作系统代为管理那些并发量高又对响应时间要求苛刻的应用程序。以某国有大型银行为例,即使夜间业务低谷时段,从外围系统发到主机上核心业务系统的ATM交易也至少有1 000笔/秒,每笔交易同时试图连接DB2以进行数百个SQL操作。如果没有中间件,由Z/OS直接为这1 000笔交易发起1 000个进程并直接调度和管理,那么不可能在毫秒级内将每笔交易处理完毕。而CICS 能够帮助Z/OS很好地解决这个问题。
二、应用实例
除了国有五大银行的总行级数据中心外,仅有个别中型银行在使用主机。本章以南方某中型银行为例,讲述主机的具体应用实例,包括硬件布局、系统整体架构以及业务处理的性能指标。
(一)硬件架构
某中型银行的主机共有4台,存放于主机专用机房区。外部人员参观时往往会误以为有5台主机,因为CF
(Coupe Facility,耦合器)与主机的外观一样。4台主机互为主备机,主机1号机内置一台CF,与外置CF互为主备。4台主机通过CF耦合成一套逻辑上统一的整体,以此对外提供服务。4台主机与CF通过InfiniBand线相连,如图2中粗实线所示。
因1号主机中内置有另一个CF,故2、3、4号机通过InfiniBand线又与1号机相连。
4台主机通过单模光纤与两台SAN交换机相连,如图2中的细实线所示,通过SAN交换机可以访问到集中的高端存储(IBM DS8000)。4台主机与2个CF作为一个整体与外围设备的信息交互是通过多模光纤与
图1 Z/OS登录主界面
用户对Z/OS进行管理主要通过JCL (Job Control Language)脚本来完成。Z/OS的文件系统和Unix/Linux差异很大,在创建文件的时候需要确定首次分配和每次扩展的空间大小,扩张次数是有限的。文件大小的计量单位是Track和Cylinder,1 Cylinder等于56 Track,1 Track相当于56 K。
(三)DB2和CICS
主机数据库DB2(DB2 for Z/OS )是一种关系型数据库,只能安装并运行在Z/OS操作系统上。DB2的数据库服务是通过4类address space来提供的,分别是
栏目编辑:梁丽雯  E-mail:liven_01@163
79
系统分别是CF1和CF2。其中,CF1系统在外置的CF机器上,而CF2系统在1号主机内置CF 上,以CF1为主CF2为辅。P101、P102、P103、P104为承载业务的子系统,分别部署在1号机、2号机器、3号机器、4号机器上,P1K1不承载业务,仅负责与整体PLEX相关的磁盘管理等工作。
子系统P101、P102、P103和P104上分别安装部署了DB2和CICS。每个子系统上的DB2作为一个数据
库member,即图4中的PB01、PB02、PB03和PB04通过2台CF构成整体,作为一套逻辑的数据库提供访问。
CF内保存有4个数据库member,需要协调Lock和数据缓存等信息。而每个子系统上的CICS member都有相同的应用程序定义,对该行来说就是核心业务系统所提供的交易服务子程序,如客户信息查询返回、银
行卡余额查询返回、ATM取款等。4台机器上的CICS member同样通过2台CF构成一套整体逻辑的CICS。
在整套PLEX体系中,4套操作系统子系统互为备份,2套CF系统也互为备份。假如有一套操作系统或CF系统出现异常,会被P1K1系统剔除PLEX,剩余子系统继续提供对外服务。CICS和DB2和操作系统也类似,假如一个子CICS、DB2的member出现故障,会被剔除整个CICS整体或DB2整体。主机单台机器本身的硬件冗余度非常高,配合PLEX架构能极大地提高整体核心业务系统的可靠性。
(三)性能分析
以2018年3月14日为例,4套主机子系统CPU使用
图4 主机系统架构
图2 硬件架构
PB01PB02PB03PB04
CICS member1CICS member2CICS member3CICS member4
整体数据库DB2整体CICS 操作系统P103主机专用机房内的分支交换机相连实现的,如图2中的虚线所示。分支交换机又接入核心网的主干交换机,可以使主机与外围设备进行信息交互。
(二)系统架构
所有外围系统如ATM系统、柜面系统、外汇系统、网银系统、信贷系统等通过企业服务总线进行交易的转发,由企业服务总线将交易转发给核心业务系统来完成账务信息查询和处理等业务。
核心业务系统运行在主机上,主机的系统架构如图4所示。
整体PLEX作为一个逻辑的操作系统提供对外服务,具体由5个子操作系统和2个CF系统组成。5个操作系统分别是P101、P102、P103、P104和P1K1,2个CF
栏目编辑:梁丽雯  E-mail:liven_01@163
80
率与每秒钟交易量(TPS )的对应关系,如图5所示。
早上07:30到晚上18:00为银行主营业务的营业时段,4套子系统的CPU使用率基本上和TPS的变化趋势保持一致。晚上19:00以后,该银行仍会有ATM、网银和手机银行业务,另外会进行一些批处理,比如和人民银行、银联等外部金融机构进行对账,以及一些代扣代缴业务,CPU会明显升高。但批处理时段处于该银行的业务低谷期,联机交易响应时间仍不会有明显的变化,故客户在夜间使用ATM、网银和手机银行办理业务时不会有交易卡顿的体验。对该银行来说,3月14日仅为普通的工作日,但在年度业务高峰期间,日交易量会增加一倍左右。例如,2018年“双十一”购物节,当日TPS峰值达到718笔/每秒,CPU在峰值时间点的使用率增加至73%。
三、面临的挑战
主机在国外应用的领域十分广泛,但在国内却十分狭窄。尤其近几年来,主机面临的挑战越来越大,主要分为3个方面。
(一)经济方面
1台主机在国内的售价高达数千万人民币,企业想
银行为什么用db2数据库搭建一套完整的主机Plex架构以支撑业务系统的运行至少需要购置4-6台主机,其建设成本高达数亿元。在完成主机Plex架构搭建后,客户并不能使用所购主机硬件的完全处理能力。以南方某银行为例,主机Plex 架构投产时能使用的处理能力为所购置硬件的60%。投产2年后,该银行因业务增长过快导致主机处理能力不足时,需要再花费数千万元才能将处理能力升级至90%。此外,由于主机的核心技术完全掌握在IBM公司手中,客户仅能每年从IBM公司购买维保服务,该笔费用也是以千万元计。
在欧美,IBM对主机的定价策略却相对比较温和,这也是主机能在欧美广泛使用的重要原因之一。但IBM在中国国内的一贯定价策略,无疑将很多领域排除在了主机的使用范围之外。对于已经应用主机的国内银行业来说,由于2013年后大量居民储蓄流入至支
付宝、等网络投资平台,导致大部分银行利润率下滑、盈利能力变弱,这也是近年来主机客户在国内银行业没有增加的主要原因之一。
(二)政治方面
早在2006年3月,中共中央办公厅、国务院办公厅就印发了《2006-2020年国家信息化发展战略》的通
图5 2018年3月14日
主机CPU随TPS变化情况
栏目编辑:梁丽雯  E-mail:liven_01@163
81
知,要求优先采购国产信息技术产品和服务以加快国内IT技术发展。2016年以后,随着中美两国在信息技术领域的竞争越来越激烈,《工业和信息化部关于印发软件和信息技术服务业发展规划(2016-2020年)》《国家网络空间安全战略》《战略性新兴产业重点产品和服务指导目录》等政策文件相继出台以支持国产服务器品牌的发展。服务器国产化已成为一个发展趋势,而主机作为IBM公司的主打服务器产品之一,未来在国内市场被国产品牌所替代也只是时间问题。
(三)技术方面
近年来,分布式架构和开源软件非常火热,主机Plex架构可以承载的业务处理能力,开源分布式架构通过横向扩展也可达到。以南方某中型银行为例,2019年业务高峰时的主机每秒钟交易量为971笔,而阿里巴巴采用开源分布式架构在2019年“双十一”购物节的业务处理峰值高达每秒钟数十万笔。此外,分布式架构采用的服务器是价格在10万元左右的PC服务器,开源软件亦可有效节约购买商业软件的版权费
用,故分布式架构和开源软件的性价比相对主机高很多。尽管单台PC服务器的故障率高,但开源分布式架构由于集内节点多,集整体的高可用性在个别节点出故障时仍能有效保证。
四、解决方案
主机面临的主要挑战因成本因素而起,但主机的核心技术与定价权在IBM公司手中。对于该中型银行而言,所考虑的解决方案主要是从技术层面入手。该银行每年日均核心系统交易量的增长幅度在25%左右,2019年核心业务系统最高TPS达到971,CPU使用率峰值达到86%,而高出75%的安全临界值之后会对核心业务系统的响应时间和稳定性造成一定影响。为保障核心业务系统的稳定运行,需要在2020年“双十一业务高峰期”前花费大量资金对主机处理能力进行扩容。
假如完全抛弃现有主机架构,重新开发基于分布式架构的新版核心业务系统,显然会增加更多时间和资金成本,导致现有价值上亿元的主机资源浪费。而且构建新一代核心业务系统,需要对众多的外围系统进行改造或重建,显然是不可取的。故只能着眼于将主机架构与分布式架构有机结合来解决此问题。
(一)业务分析
通过对该银行核心业务交易类别和性能进行分析,得出以下结论。
从交易类别来看,每日交易量中查询交易占71%,非查询交易占29%;从高峰时段的CPU消耗来看,查
询交易占总消耗的26%,而非查询交易占74%;从年日均交易量增长来看,增长来源主要由手机银行和网银的普及导致。例如,用户在登录手机银行或网银后,手机银行或网银系统会自动在手机App或网页的主页面上将用户的卡号、活期余额、定期存款信息、贷款信息、理财产品信息等进行展示,而这些信息需要从核心业务系统查询获得。
如果将这些查询交易从当前的核心业务系统中剥离出去,再基于分布式架构搭建专门的核心业务查询平台进行处理,则可以减轻原有核心业务系统相当一部分负载。并且分布式架构的查询应用程序部署在18台PC服务器上,既可以保障高可用性,又可以节约成
本。此外,由于核心业务查询平台的查询交易代码的开发逻辑与原有核心系统保持一致,开发成本也可以得到控制。
(二)架构设计
外围系统将交易发往企业服务总线的时候,企业服务总线根据交易的唯一代号来配置相应的队列管理器,并判断是否为查询交易。假如外围发来的是查询交易,如查询客户信息开户信息、查询银行卡活期余额、查询贷款余额等,企业服务总线就将该交易转发至核心业务查询平台进行处理,剩余的非查询交易仍旧发往原有的核心业务系统。数据从原有核心业务系