商业银行核心系统异地双活架构研究与实践

2020-11-09 07:29张勇
计算机时代 2020年10期

摘  要: 为强化业务连续服务能力,浦发银行重点解决智能松耦合化交易分流、延迟智能侦测与切换控制、双活长时接管架构等关键问题,成功地实现了核心系统异地双活运行,满足了移动互联网发展下对银行核心系统稳定、弹性、高效的需要。

关键词: 核心异地双活; 松耦合; 智能探测; 长时接管运行

中图分类号:TP309.3          文献标识码:B     文章编号:1006-8228(2020)10-60-04

Abstract: In order to enhance the business continuity ability, Shanghai Pudong Development Bank focus on solving the key technical issues in terms of intelligent loose coupling transaction diversion, delayed intelligent detection and switching control, dual-activity long-term takeover infrastructure, has finally realized the core system's remote dual-activity operation, which met the requirement of stability, flexibility and efficiency of the bank's core system under the development of mobile Internet.

Key words: remote dual-activity; loose coupling; intelligent detection; long-term takeover operation

0 引言

随着数字化技术的快速发展,信息技术已成为商业银行业务发展的核心支撑与推动力量,系统连续性能力成为保障银行业务持续运营的重要基础,通过实施双活建设提升抵御风险能力成为业界发展的共识和方向。

在此背景下,浦发银行积极推进异地双活关键技术研究,在智能松耦合化交易分流、延迟智能侦测与切换控制、双活长时接管架构等方面提出了建设性解决方案,完成核心系统异地双活架构设计与实践,为商业银行核心系统双活建设提供参考方案和实践依据。

1 设计目标

1.1 显著提高业务连续性

核心双活必须有能力应对各种紧急突发事故,达到恢复时间点目标(RTO)分钟级,恢复点目标(RPO)秒级或为0的连续性指标。

1.2 核心业务的弹性支撑

核心系统要具备应对大交易量、大并发量、大峰值的处理能力,有效利用双活站点分流生产的承载压力。

1.3 松耦合与紧耦合协调处理

双活中心在逻辑上需实现松耦合,单一中心故障不影响另一中心运行。在数据层上双活中心应具有紧耦合性,账户数据保证强一致,任一中心都要具备全业务的接管能力。

1.4 业务感知的有效消除与管理

要科学化评估因长距离通讯延时所造成数据差异对业务可能带来的影响,通过业务应用和基础架构等多层次手段协调解决。

2 关键技术研究

考虑到商业银行核心异地双活成功案例较少,浦发银行首先对项目主要难点问题进行预研,通过关键技术的递次分析,总结设计方法并给出针对性解决方案。

2.1 數据双活同步架构设计

保持不同中心数据的一致性是实现异地双活运行的重要基础,其直接关系到核心系统双活站点对外服务能力。数据双活同步技术方面主要有:数据库同步、存储同步和应用同步三类。各类技术有不同的适用场景,改造难度和成熟度也不尽相同。综合考虑银行核心系统的业务特点,建议优先考虑使用基于异步模式的数据库日志复制技术,在目标站点提供只读双活能力。而对于文件类数据,可结合存储异步复制技术,进一步提高系统接管能力。

2.2 数据延时智能侦测和切换设计

核心系统如何灵活高效智能的进行交易分流,在技术上有效控制延迟的影响,保证交易的服务承诺水平不降低,是核心双活是否能稳定运行的关键。通过对比各类监控手段,建议在数据库层新建交易延时探测表,以固定间隔更新时间戳记录,通过后台探测进程与系统时钟进行比较,从而得到精确的数据延时,进而根据与目标延时阀值比较的返回结果,实现延时智能侦测和交易分流自动切换。

2.3 异地双活长时接管架构设计

核心双活不仅要常态承载交易分流,更要具备计划内、外全场景切换和接管运行能力,在系统架构上要做针对性设计。一是要结合运用异步复制技术与传统存储复制架构,补足异步数据库复制可能会导致数据丢失的问题。二是双活站点应构建相同的基础架构及软硬件配置,确保在切换后能具备承接全量业务的能力。三是要使用网络加速等新技术建立可横向扩展的广域网高速传输通道,减少数据传输耗时,满足夜间批量海量数据同步需要。

3 浦发银行实践

结合核心系统异地双活的关键技术研究成果,浦发银行精心组织、细心准备,完成了上海、合肥两地四百公里的核心系统异地双活投产运行。

3.1 数据同步和零丢失架构实施

根据核心异地双活数据同步架构设计,数据库日志复制技术因其可靠性高,复杂度低,抗异地延迟及对源端干扰少等优势,在异地双活数据同步架构中具有明显优势。浦发银行结合现有核心系统数据库选型,采用基于INFORMIX数据库日志复制的异步复制模式构建数据同步架构,并对三类日志复制技术进行比较分析,具体如表1所示。

考虑到浦发银行异地双活架构是建立在相距四百公里的上海及合肥站点间,且双活两节点相互间的性能影响要尽可能降到最低,RSS技术更适合实际需要,因此选用INFORMIX RSS异步复制技术,在双活站点提供数据只读双活数据支持能力。

由于数据库复制提供交易双活能力采用异步模式,双活站点间存在着延迟及数据差,为应对在极端情况下的RPO不为零,同时考虑结合采用三点存储复制技术,构建同城到异地的三点环形存储复制网络,通过存储复制技术保障极端情况下,双活站点可实现RPO为0的目标。

3.2 数据延时智能侦测和切换

为了保证分流到合肥异地双活核心系统的分流交易的数据延时在可控范围内,浦发银行设计并实现了数据延时自动侦测,在延时超过指定时间(目前设定为7秒),交易自动切换回上海核心系统处理。在数据延时智能侦测和切换实践上进行了如下的设计实现:

通过数据库新建交易延时探测表,核心系统探测进程以每隔1秒钟更新延时探测表中记录的时间戳。企业服务总线系统以每2秒发起探测交易,合肥核心系统收到企业服务总线系统探测交易请求时读取合肥数据库的延时探测表的时间戳记录,并与系统时钟进行比较,从而得到具体的合肥数据库的数据延时,具体如图1所示。

企业服务总线系统根据核心系统返回的交易权重,在数据延时大于7秒时,将双活交易队列中的交易切回到上海核心系统;如果数据延时小于7秒,企业服务总线系统将自动将双活队列中的交易发合肥核心系统处理。

3.3 异地核心双活全对称架构

浦发银行核心系统长时接管架构,采用存储复制与数据库复制技术相结合的方式实现长时接管对称架构,构建对等的长时双活站点级接管能力。

通过构建上海漕河泾,上海东银同城,合肥数据中心,合肥同城中心四点对称架構,其中上海漕河泾与合肥综合中心为物理距离400KM的异地双活站点设计,上海东银,合肥同城分别为双活站点的同城存储同步站点。

⑴ 上海漕河泾数据中心:核心系统INFORMIX数据库通过构建RSS数据库异步复制技术与合肥数据中心数据库节点间形成准实时同步关系,形成双活对外服务能力。

⑵ 上海东银同城:与上海漕河泾中心存储保持存储同步关系,与合肥数据中心构成存储异步复制关系,提供SRDF三点环形存储复制关系,有力保障运行期间数据零丢失。

⑶ 合肥数据中心:核心数据库复制节点作为目标端与漕河泾数据中心存储保持INFORMIX RSS异步数据库复制关系,并作为异地双活站点查询对外服务。

⑷ 合肥同城中心:与合肥数据中心存储保持存储同步关系,与上海漕河泾中心构成存储异步复制关系,提供SRDF三点环形存储复制关系,形成接管后的存储对称架构。具体如图2所示。

3.4 引入广域网传输加速产品

除了构建交易分流及双活对称架构外,缓解异地双活中心网络延时影响也是异地双活运行的重要推进剂。目前浦发银行上海、合肥两个数据中心单词网络延时约10毫秒,在每日近亿级交易量冲击下,会对关键系统甚至整个交易链路产生重大影响。为解决广域网延时造成的系统联机、批量性能下降等问题,浦发银行积极开展了广域网加速技术研究。通过详细梳理上海、合肥间系统各种通讯需求,针对各类跨广域网应用开展了数据库复制、存储复制和FTP大文件传输等不同场景的应用试点,目标是在两地数据中心之间建立可横向扩展的广域网高速传输通道,从而减少跨广域网传输数据的耗时并降低双活系统传输延迟带来的RPO影响,同时减少数据文件跨广域网传输对线路带宽的占用并降低通信线路成本,为异地双中心均衡发展提供有利条件。

通过对存储复制、Informix RSS数据库日志复制和广域网FTP供数等三个核心双活数据同步应用场景开展试点的结果来看,整体优化率在47.6%-99.77%之间。具体如表2所示。

4 建设成效

4.1 全面建成核心系统异地双活系统

浦发银行核心异地双活于2017年末成功投产,并在2018年完成架构升级优化。通过实施主备库数据延迟的自动侦测与切换、交易场景松耦合化分流、交易按比例切换分流和交易封装等方式,实现核心交易两地均衡负载处理,并将数据差异量控制在SLA协议范围。同时利用传统存储三点复制技术确保了在同城双数据中心不同时中断服务情况下,始终保证数据零丢失能力。

4.2 稳步实现核心系统异地双活交易负载运行

按照业务评估与松耦合化交易分流实施策略,从双活架构投产初期分流的9个交易,结合系统的实际运行指标监控和业务部门满意度,逐步扩大核心分流交易数量和产品范围,从早期分流不到1%交易量到目前常态承接18类交易,约20%交易量,核心系统的弹性伸缩能力和整体承载能力有了明显提高。

4.3 圆满完成核心异地双活分钟切换和交替运行

为实战检验核心异地双活快速切换和长时接管能力,浦发银行在2018年成功实施核心双活分钟级切换,仅用时82.9秒即从上海切换至合肥运行。2019年浦发银行进一步完成核心双活超半年交替接管运行,合肥核心系统作为主站点连续运行7个多月,共处理116.41亿笔交易,平均耗时27毫秒,处理峰值(TPS)4594笔/秒,全部指标都符合预期。至此,浦发银行的核心异地双活系统已完全具备随时可切、切即能用的连续服务能力。

5 结束语

本文聚焦于当前数字化生态银行业核心系统业务连续性的最新发展方向,开展了核心系统异地双活架构设计和研究,重点聚焦松耦合智能交易分流、核心系统数据同步、异地双活长时接,一键式快速切换设计等异地双活关键技术,提出了两地四站点全对称双活架构,为银行业及其他行业核心系统双活研究与建设提供了有益的参考与借鉴。

随着数字化新金融浪潮的继续推进以及分布式开源技术的快速发展,业务连续性建设正向新的更高水平不断演进,未来银行核心系统向分布式弹性可伸缩多活架构发展的趋势日益加快,在现有同城异地双活架构成果上,如何进一步思考和构建新的核心系统两地三中心多活架构将是新的挑战与研究命题。

参考文献(References):

[1] GB/T 20988—2007.信息安全技术灾难恢复规范[S].

[2] GR/T 0044—2008.银行业信息系统灾难恢复管理规范[S].

[3] 中国银行业监督管理委员会,商业银行业务连续性监管指引[Z].2011-12-28

[4] 王晖,张勇.以环形架构设计为基础的“两地三中心”灾备建设[J].金融电子化,2013.12:53-55