首页 > 金融科技 > 正文

FinTech 时代商业银行分布式核心系统研究与实践

2018-08-31 10:44:21  来源:《中国金融电脑》2018年第 7 期

摘要:目前国内商业银行的核心系统多数采用集中式的技术架构,随着互联网业务的蓬勃发展,集中式架构在应对海量客户的互联网金融应用场景和总拥有成本(Total Cost of Ownership,TCO)等方面的劣势越发明显。在自主可控思想的指导下,中国民生银行启动了分布式技术架构的研究工作,基于互联网成熟的开源技术和国产X86服务器建设分布式技术平台,并且基于分布式技术平台实现了核心系统的建设,成功完成了直销银行电子账户的迁入。
关键词: 金融
 
本文结合商业银行核心系统的技术架构演进路线与发展趋势,介绍了中国民生银行基于分布式技术架构的核心系统建设历程,并就分布式核心系统的架构设计以及建设过程中遇到的关键问题和解决方案进行归纳与总结,供金融同业参考借鉴,以期推动商业银行在FinTech时代下核心技术的布局和综合竞争力的提升。
 
一、商业银行核心系统技术架构转型趋势
 
国内商业银行核心系统大多数采用基于IOE技术的集中式架构,该架构在银行的IT系统建设中发挥着至关重要的作用,目前仍是各家银行核心系统的主要设计方案,但随着“互联网+”时代的发展,银行在应对海量客户数据处理时,该架构的缺点日益显现,并对传统核心系统带来了诸多挑战。
 
一是集中式架构普遍缺乏弹性伸缩的能力,随着交易量和数据量的增长,系统支持的容量容易遇到硬件或技术的瓶颈。尤其在支持面向互联网海量客户相关业务时,不能有效处理瞬时爆发的海量交易,严重制约了海量客户的获取以及大规模业务营销。
 
二是集中式架构采用单体应用设计,软件开发和运行管理的最小单元是应用,管理力度较粗,容易“牵一发而动全身”,应用的开发过程不易践行轻量化敏捷开发理念,系统在运行过程中容易出现单点故障,难以有效进行故障隔离。
 
三是基于集中式架构的核心系统基础设施使用小型机或大型机,硬件和软件采购成本高,开发和运维主要依赖于服务厂商,服务成本高,也无法做到完全自主掌控。
 
四是IOE技术体系封闭,技术的发展高度依赖于厂商,特别是依赖国外厂商,商业银行的IT团队缺乏自主可控能力,在一定程度上存在信息安全风险。
 
反观互联网行业,随着移动互联网的迅猛发展,分布式架构在互联网IT技术领域广泛应用并积累了大量实践经验,开源技术与软件日益成熟。在互联网金融快速发展和利率市场化的大环境下,建设能够支持海量客户、具有弹性扩展能力、高效灵活的核心系统已成为国内商业银行必然且迫切的需要,而基于传统系统架构的核心系统无法完成这种颠覆性改造。
 
商业银行的核心系统经历了从总分行数据分离,到全国数据大集中,再到SOA架构服务化等发展阶段后,未来将向适应云计算技术的分布式架构发展(如图1所示)。
 
 
 
近年来,监管部门对分布式架构、人工智能等新兴技术提出了明确的发展规划要求。2016年人民银行发布了《金融业信息化“十三五”发展规划》,明确提出“以安全、可靠、高效、弹性为重点目标实施架构转型、探索分布式架构和成熟开源技术应用,逐步减少或摆脱对单一技术产品的依赖”。无论从技术发展还是监管要求来看,商业银行的核心系统技术架构面临着方向性转变,朝着分布式架构、云计算方向发展已成为必然趋势。
 
二、中国民生银行分布式核心系统
建设背景与历程
 
中国民生银行于2005年开始启动基于SAP平台的核心系统建设,在SAP的BPP平台上实现了存款管理、卡管理、客户信息管理、凭证管理等功能模块,基于SAP平台的核心系统于2013年成功上线,成为亚太地区首家使用SAP“银行业核心产品”的银行。基于SAP的核心系统运行在IBM、EMC硬件设备上,在硬件采购方面投入了大量资金,每年还需向SAP公司支付软件维护费用;SAP的技术平台相对封闭,国内没有具备维护能力的原厂工程师,市场上从事SAP ABAP语言的开发人员也较少,无法满足中国民生银行对核心系统故障快速响应、快速处理的维护要求,目前主要依靠民生银行在SAP核心系统建设期间培养的十几人团队负责开发和运维,存在投入高、产率低、行内运行维护压力大等问题。
 
从运行情况看,基于SAP的核心系统投产后每年账户增长速度和日均交易量远超预期,核心系统的处理能力将很快接近性能瓶颈,联机交易平均响应时间和结息、计提日终作业处理时间给业务带来的压力也越来越大,同时高并发交易时容易发生大量超时交易,生产的性能压力日益增大。
 
正是看到了SAP核心系统日益凸显的问题,同时结合对于未来核心系统技术方向的前瞻,中国民生银行根据自身整体战略目标,按照去IOE、自主掌控核心技术的指导思想,在借鉴互联网公司分布式架构经验的同时,结合民生银行核心系统业务需求,启动了基于开源软件分布式架构平台的设计与建设,并在民生银行核心系统中实施应用。
 
2014年在发改委、财政部、工信部和科技部组织实施的云计算工程中,中国民生银行科技部申报的《金融云通用解决方案与分布式核心业务系统研发及推广》项目通过了立项评审,并被列入国家战略性新兴产业专项资金补助计划。分布式核心系统建设的目标是应对“互联网+金融”以及利率市场化冲击,快速响应海量客户需求,提供全面的金融产品和服务,降低IT成本,提高市场竞争力,实现核心技术的信息安全可控,满足监管部门对银行信息科技的发展规划与监管要求。
 
基于新技术的核心系统架构转型项目建设规模庞大,结合中国民生银行的实际情况,分布式核心系统建设采取“分步实施、小步快走”的建设策略。
 
第一阶段:分布式架构技术预研及技术平台建设
2014年下半年启动了项目技术可行性分析和总体方案设计工作,调研分析了多家互联网公司的分布式架构,结合中国民生银行核心系统的需求,考察商业与开源方案和软件,完成关键技术点的验证,最终形成了分布式核心系统的技术方案和实施方案。由于整个项目属于技术前沿领域(“互联网技术架构+银行核心交易”),缺少可借鉴的成功案例和成熟商用产品,最终确定项目实施采用自主研发的方式。2015年项目实施正式启动,并于年底完成了分布式技术平台建设和性能验证;同时作为技术验证,完成了基于分布式技术平台的客户信息和活期存款应用,首先上线和迁入了全量客户信息,完成分布式技术平台实践检验,为分布式核心系统的上线推广奠定了坚实基础。
 
第二阶段:中国民生银行直销银行电子账户迁入分布式核心系统
2016年下半年,结合直销银行快速发展的业务需要,分布式核心系统接入直销银行业务产品,经过一年的时间不断完善、反复论证和全面验证,分布式核心系统于2018年1月成功迁入超过2000万直销银行电子账户,账户迁入后分布式核心系统运行平稳,日均交易量和响应时间满足设计的预期,业务处理性能较SAP核心系统提升3倍以上。
 
第三阶段:SAP核心系统的账户迁入分布式核心系统
在夯实第二阶段工作的基础上,采取分步骤、分批次的方案,逐步将核心业务从SAP系统全部迁移至分布式核心系统,实现统一的中国民生银行分布式核心系统,替代现有的SAP核心产品,最终完成中国民生银行核心系统技术架构的转型升级。
 
三、中国民生银行分布式核心系统
关键设计
 
中国民生银行分布式核心系统建设的关键在于如何设计满足要求的基于分布式架构的技术平台,以自主可控、“去IOE”为总指导思想,以基于互联网主流的开源技术和国产X86服务器为技术选型策略,技术上“先难后易”、业务上“先简后繁”是建设实施的总路线。
 
分布式技术平台遵循分布式架构设计原则,基于成熟开源技术加自主创新扩展设计,满足核心系统功能和非功能需求,为核心系统应用提供平台级的设计、开发、测试和运行支撑,主要包括分布式中间件平台和开发运维一体化(DevOps)平台两大部分。分布式中间件平台是应用开发和运行的平台,提供对核心系统联机交易和批量作业的支持;在设计过程中采用分层设计,解耦各层的关注点,分为服务接入层、应用层和数据层,各层可以独立进行弹性扩展,从而整体上提升系统的处理能力。开发运维一体化平台实现从应用代码编译、单元测试、打包、部署和运维的全流程管理,包含对日志处理、服务跟踪、健康检查、实时监控的支持,以及运维需要的管理控制台。
 
分布式核心应用所实现的民生银行核心业务功能,包括客户管理、账户管理、卡管理以及支付、结算等功能。得益于分布式技术平台技术支撑,分布式核心应用采用微服务架构设计,在应用和数据层面实现分布式部署,可弹性扩展。
 
中国民生银行分布式核心系统的主要特点与关键设计点包括以下四个方面:
 
(1)基于开源技术实现分布式技术平台,支持微服务架构与云计算平台。分布式技术平台包含微服务框架、配置中心、消息中心、分布式批处理框架、分布式缓存和分布式数据访问等技术组件(如图2所示)。基于该平台应用开发人员无需关注分布式技术底层细节,开发的应用能够在分布式环境下部署、运行,支持弹性扩容;支持微服务架构;支持核心系统联机交易和批量作业;支持X86服务器、虚拟机、Docker容器等多种不同的基础设施部署环境。
 
(2)基于分布式架构设计并实现核心业务系统,实现核心数据的分布式存储与水平扩展。分布式核心系统采用分布式技术架构和基于客户ID分区技术,解决了银行核心数据水平扩展问题;采用读写分离和分库分表等方式的数据分布式处理,结合使用分布式缓存和支撑异步处理的消息中心,有效提升系统响应速度和吞吐量;通过采用分布式批处理框架,大幅提升批处理效率,支持海量账户的日终批量处理,分布式核心应用架构如图3所示。
 
(3)基于DevOps实现面向大规模分布式应用的开发运维一体化管理平台,实现数据化运营。引入面向大规模分布式应用的开发运维一体化管理平台(如图4所示),主要解决应用的自动构建、持续集成、自动化部署、运行和维护管理等问题,用以填补基础资源与应用系统间的技术鸿沟,提升分布式架构下应用开发生命周期效率与质量。
 
应用发布平台具有并行可视化应用部署、负载集群均衡等能力,可以一键化构建应用及其相关运行环境与基础设施的映射关系;能够与监控平台协同工作,及时发现基础设施、应用的失效,并采用补偿等机制进行修复,保障银行业务系统的高可靠运行。
 
监控平台采用分布式采集、集中处理和展示的方式对分布式核心系统进行实时监测、预警和告警,具备事前预警和事后告警功能,结合大数据技术实现监控信息收集和日志收集,根据集群的配置信息,对分布式核心架构组件进行集群监控关联分析;底层平台实现链路访问的全程跟踪,访问日志统一收集,随时随地展现应用全程访问关系,及时发现基础设施、应用的失效,实现系统故障一目了然。
 
(4)基于逻辑分区的理念,实现双活和灾备的多机房部署体系,保障业务连续性。核心系统采用两地多机房的部署架构,同城两个机房同时对外提供服务,核心账务数据按照客户号进行逻辑分区,每个机房包含多个逻辑分区,逻辑分区之间相互隔离,外部交易请求通过全局路由技术组件,根据路由规则路由到相应的机房和相应的逻辑分区。
 
这种方式改变了同城机房传统上只作为热备而不对外提供服务的使用方式,有效提升了机房资源利用率;同时可以在同城两个机房分别服务于不同的客户,在机房出现故障时能够降低客户影响范围,同城机房实现秒级切换,更有效地保障业务连续性,分布式核心系统双活部署架构如图5所示。
 
实践证明在自主可控、“去IOE”思想的指导下,基于互联网主流的开源技术和国产x86服务器,商业银行分布式核心系统建设是可行的,中国民生银行通过开源软件和分布式技术在银行核心系统的成功应用,为传统商业银行在核心系统领域使用分布式架构相关技术进行了探索实践。
 
分布式架构技术在自主安全可控、可扩展性、敏捷开发、灰度发布和总拥有成本等方面,相对传统基于IOE的集中式架构具有明显的优势,核心系统未来发展必然是朝着分布式架构、云计算方向演进。集中式架构目前仍然是各家商业银行核心系统的主流架构形式,分布式架构作为一种新兴的技术架构,受限于CAP理论,还需要攻克在事务一致性、数据实时性、高可靠性等方面的技术难关,以满足银行核心系统极高的标准与要求,集中式架构与分布式架构在未来一段时间内将在各家商业银行中并存发展。
 

第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:content

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。