爱玩科技网
您的当前位置:首页银行核心系统的技术创新优化实践

银行核心系统的技术创新优化实践

来源:爱玩科技网
Focus|专家视点2019年·第2期

栏目编辑:叶纯青 E-mail:yecq66@21cn.com

银行核心系统的技术创新优化实践

■ 重庆银行 秦 斌 何 敏

摘 要:借着建设新一代核心系统的契机,重庆银行全面规划、梳理行内IT系统结构,引入分布式技术平台,同时,采用相应的技术策略在同城双活集群的基础架构之上,完整搭建集中与分布式相融合的核心架构体系。本文将详细介绍此系统的架构创新,并总结出其具有软硬件无关性、无三方依赖性等技术特色。

关键词:核心系统;同城双活;分布式;融合架构

长期以来,银行的核心业务系统一直是安全、稳定、可靠运行的代表。近年来,随着移动互联网、线上支付、网上借贷等业务的迅速发展,银行传统核心业务规模急剧扩大,其所支持的业务交易模式也日趋复杂,对数据处理的要求越来越高,系统处理瓶颈日益凸显。为此,重庆银行在进行核心系统建设过程中,以业内主流厂商产品原型为基础,结合行内业务发展需求进行了架构模式、部署模式等的创新与优化,并于2018年9月底正式投产。

署的模式。即在任意一个同城数据中心首先完成本地应用的集群部署,然后在同城双数据中心实现应用的双活部署。在部署同城双数据中心双活应用系统时,采用F5负载均衡设备作为其主要调度和业务分配、分流设备,实现应用的自动负载,并提供健康状态检测功能。当应用节点发生异常时,F5会自动隔离故障节点,保障系统运行的高可用性和稳定性。两个数据中心都实时承载业务,同时也分别作为对方相同应用的灾备。每个服务器节点安全运行,互不影响,可以实现节点的热插拔功能,方便系统维护调整。当某个

一、架构创新与实践

(一)同城双活集群的基础架构

按照行内两地三中心建设的实施规划,重庆银行采用核心系统在同城双数据中心之间实现双活集群部

数据中心出现故障时,只需3秒即可由同城数据中心完成整体业务的接管。该部署模式极大地提高了应用系统的可用性,满足了业务连续性的监管要求。新核心系统逻辑拓扑如图1所示。

作者简介:秦 斌(1973-),男,重庆人,会计师,供职于重庆银行,科技部总经理,研究方向:IT架构;     何 敏(1976-),女,重庆人,工程师,供职于重庆银行,研究方向:IT架构。

8

2019年·第2期

栏目编辑:叶纯青 E-mail:yecq66@21cn.com

Focus|专家视点图1 新核心系统逻辑拓扑

(二)双融合集中+分布式架构

针对目前及未来一段时期行内业务发展对核心系统采用分布式计算平台,引入多级并行的计算系统的性能要求,在部署核心数据库方面要跟应用一理念,有效满足了银行业务高并发、高浪涌、高业务量致,即交易数据库与核算数据库分库、交易数据库与处理的需求。

历史数据分库、交易数据库与大数据量的合作类贷款1. 应用的分布部署

分库。在部署数据访问层时,对于核心实时提交类数重庆银行结合业界优秀的微服务创新理念,构建据的访问以不构成数据库资源争抢为原则,从而提高了存贷核心、核算核心、合作贷款三位一体的应用架核心系统实时交易数据库的访问效率,以及核心系统构部署模式。低耦合高内聚的设计方式使得各模块之对外实时交易处理的性能,满足行内业务发展对核心间既相对,又可通过RPC远程服务的灵活调用完系统的性能要求。同时,在单中心数据库部署上采用成跨模块的服务访问。同时,每台服务器同构部署,采Oracle RAC作为本地高可用的部署策略。

用zookeeper服务的自动注册及发现、负载均衡、集群为应对海量数据存储和访问的要求,提高数据的容错、动态路由、流量等功能,以提高系统的可用性、访问效率,重庆银行将合作贷款的业务数据与存贷核横向伸缩性及可维护性。

心的业务数据进行了分库、分表的数据分布式存储。2. 数据的分布存储

对于合作贷款的业务数据,重庆银行通过客户号取模核心系统数据库主要提供运行数据的持久化功的算法,将其水平切分成垂直库和多个水平库,从容能,存储客户、账户、账务等银行关键性生产数据。所应对海量数据的读写要求。合作贷款模块使用的数据以,在部署核心系统数据库时,必须充分考虑目前及库主要包括以下几个部分:一是合作贷款自身的垂直未来一段时间内核心系统对数据库稳定高效的数据库,用于保存合作贷款模块自身的批量业务中间表、访问要求,以及在数据库部署规划上灵活可扩展的运批处理及联机业务服务定义、共享的序列等信息;二维部署要求。

是合作贷款多个水平库,用于存储按指定条件分库保

9

Focus|专家视点2019年·第2期

栏目编辑:叶纯青 E-mail:yecq66@21cn.com

存的业务数据。存储方式如图2所示。

3. 数据计算分布

对于需要大批量计算的数据,重庆银行采用了分布式计算进行处理,如日终跑批节点、日间批量执行任务等计算复杂度高、计算量大的任务,通过分段和zookeeper服务的配置注册,将其以化整为零的方式均匀地分布在两个数据中心的多台应用服务器上进行统一调度,极大地提升了计算效率,缩短了执行时间。

4. 缓存分布

对于密集访问的共享信息,为提高其交易的可用性,防止在大交易量时对读取锁表带来的大规模等待,重庆银行引入了Redis分布式缓存技术,对跨交易的共享数据、系统级的参数、业务热点数据、Session级共享数据等进行缓存处理,通过提高数据的读取效率缩短整个交易的处理时间。

务系统内部,实现了真正的组件化,使其不仅具备SOA自身的横向扩展特性,而且降低了应用系统的复杂度,实现了业务开发的快速迭代。其具备以下特色。

(一)软硬件无关性

整个技术体系采用Java语言开发,采用Java系统中标准的、轻量级的Spring-IOC框架,具有软硬件平台无关性。硬件既能在小机上运行,也可以在X86架构或者云平台上高效运行;软件支持传统关系型数据如Oracle,DB2,MySQL,也支持NoSQL的分布式数据库。

(二)技术架构

最上层是具体的业务实现层,用于实现具体的业务处理;金融业务基础框架(如核心业务框架、支付业务框架)主要完成业务和技术平台的衔接,采用Stria业务流程实现对金融业务流程的组装和控制;开发平台和运行监控平台实现了可视化的开发流程和系统运行的监控;基础组件主要为具体的业务场景提供支

二、平台技术特色

重庆银行新一代核心业务系统基于Java技术,遵循J2EE标准规范,不仅符合SOA的设计理念,而且还引入了微服务的架构理念,将SOA的思想应用到单个业

服务请求F5*2持,包含数据库的访问、报文映射、通信接入、任务调度等功能;分布式服务运行平台是整个架构中最核心的部分,为系统提供应用级的分布式技术支撑,为内部提供高性能的RPC调用,以及服务的自动注册及发

ZK集群核心通讯适配器1核心通讯适配器2核心通讯适配器3ZK1ZK2ZK3传统核心交易/核算App1传统核心交易/核算App2传统核心交易/核算App3传统核心交易/核算App4消费贷款交易App1消费贷款交易App2传统交易数据库(集群)历史流水数据库(集群)核心核算数据库(集群)垂直库垂直库水平库1水平库2水平库3水平库4水平库5消费类贷款数据库

图2 单中心数据库部署

10

2019年·第2期

栏目编辑:叶纯青 E-mail:yecq66@21cn.com

现、负载均衡、集群容错、动态路由等功能。平台技术架构如图3所示。

应用1

应用2

应用3

应用…

金融业务基础平台

基行发础组数据访问数据交换任务调度

通讯接入

监平件

控台

平台

RPC框架

分注册中心安全中心布式注册发现负载均衡集群容错服务认证服务运服务分组

流量控制

动态路由

令牌验证

行平台

IOC框架

(Hardware+OS+JVM)/PAAS图3 技术平台架构

(三)无三方依赖性

系统不依赖第三方Web中间件,不绑定特定数据库,降低了客户的投入成本。系统具有完备的金融业务场景的支撑:对金融机构常用的联机、批量及日终的业务场景提供全面的支持。同时,提供完整的技术体系支持,覆盖从开发、运行、测试、部署到运维的各阶段,为企业级应用系统的设计、开发和维护提供了全方位的技术支持。

(四)流量控制

流量控制是保证系统稳定运行,降低潮涌风险的有效手段。一是交易并发数控制。设定平台并行运行服务的上限,当监测到请求数达到上限时将拒绝交易请求,也可以更加精细地设置某个服务的上限,同样,在服务的并发数达到上限时将拒绝请求。二是数据库连接控制。核心系统不可避免要访问数据库,数据库作为核心应用的下游,也需要进行必要的流量控制,以降低数据库的风险。核心系统一般通过数据库连接池的方式进行控制,可设定数据库连接的上限,以控制到数据库的连接数。三是交易优先级控制。对交易进行优先级设定,将其分为高级、普通两种级别。默认

Focus|专家视点为普通,大部分交易的优先级也为普通,对于非常关键的交易则设定为高级。例如,存、取、转等金融类交易,对于高优先级的采用专用通道,对于普通的交易采用共享通道。可以对两种不同的通道分别设定并发

上限,只是专用通道的服务相对较少,可以保证关键交易的服务质量,类似于机场安检的VIP通道。

三、结语

重庆银行新一代核心系统引入分布式技术平台并搭建了同城双活集群架构部署模式,采用双层F5的配置对分支行及渠道业务进行分流处理。在单中心每台应用服务器上,为保证传统业务交易访问的事务一致

性及运维的简便性,对其进行无差别部署。整体交易与核算分离,传统核心业务与合作类贷款业务分离,跨模块访问采用RPC调用,并使用分布式处理机制以及业务对账及差错处理等方式保证跨模块的事务一致性。数据库采用了RAC集群部署,同城使用Oracle 12C 的ADG达到数据的秒级同步。交易库与核算库分离,交易库与历史库分离,读写库与只读库分离,合作类贷款数据采用分布存储的方式,使垂直库切割成水平库以支撑海量数据的存储和访问,从而完整地搭建具有分布式底层技术架构的集中与分布相融合的应用架构,为后期向开放开源的架构转型做好准备。FTT参考文献:

[1]刘玉成,张帝. 开放式平台银行核心系统可行性分析[J]. 中国金融电脑,2012(1):25-27.

[2]金磐石. 分布式架构在银行核心业务系统的应用[J]. 计算机系统应用,2017(6):46-52.

[3]老木. 银行核心业务系统采用互联网分布式架构替代主机集中式架构的研究[J]. 金融电子化,2015(6):58-60.

[4]陈波. 分布式架构关键设计与实践探索[J]. 金融电子化,2016(12):22-23.

11

因篇幅问题不能全部显示,请点此查看更多更全内容