写点什么

“飞行中换引擎”,建行信用卡核心系统的国产化改造

  • 2021-01-08
  • 本文字数:2306 字

    阅读完需:约 8 分钟

“飞行中换引擎”,建行信用卡核心系统的国产化改造

国产化替代是国内企业 IT 变革的重要使命和议题。2020 年 12 月 25 日,建信金融科技信用卡及开放银行负责人彭云在 openEuler Summit 2020 会议上发表了《“飞行中换引擎”,建行信用卡核心系统创新实践》的主题演讲,分享了建行信用卡核心系统的国产化之旅。


演讲实录如下

 

众所周知,一个生态的繁荣离不开“产、学、研、用”四方面的发力。


我比较笃信随机性对世界的影响,软件生态这些年一直走的是演化的路。自上而下的规划和指令可能不如自下而上的试错、创新对生态的繁荣和发展更为有利。


从一个用户角度,我会分享建信金融科技为建行信用卡核心业务系统做一个应用国产化软硬件平台的实践。


建行信用卡核心业务系统的特点


最初,建信金融科技是建行的研发部门。作为一个国有大行,建行的核心业务系统现在主要由建信金融科技的各个事业群负责研发。


虽然,现在很多业务都已经搬到线上,但我先花点时间介绍一下这个业务的特点。


首先,客户基数特别大。与对公业务不一样,作为对私业务,它需要面向超过 1 亿用户提供 7X24 小时或 365x24 小时的服务。所以,它对业务一致性的要求是非常高的。并且,信用卡业务也是银行公认的最复杂的业务之一。



大家使用信用卡,有查询、刷卡、还款等,大家可能还知道信用卡业务不仅涉及还款,还有利息费用的计算,包括什么时间还、是否免息、延期费用等等。


这些对业务的一致性要求很高,并且对系统运行的稳定性要求也很高。有些过程是不可逆的,如果一旦发生错误,回滚是一个解决方案。但是,回滚的时间窗口非常短,不像银行自己有灾备,如果出现问题,切到备用系统就可以了。


想象一下,如果所有系统使用的平台都不可靠,不管是分布式还是集中式,在比较致命的错误面前都会面临很大的业务风险。这对一个国有大行是不可接受的。


业务规模方面,无论是客户数量和信贷规模,包括不良率等核心指标上,建行在整个业界排名第一。并且,所有业务指标在六大国有银行里也是排名第一。


这些年在软硬件平台演进之路上,我们做过多次选择。我们的硬件平台、软件平台的选择往往不是一个规划的结果。20 年前,没有人知道现在金融银行业的硬件软件平台使用什么技术栈。同样,往后看二十年,也很难看清楚。


现在,我们为了 openEuler 生态的演进齐聚一堂,在一起往前走,在试错、创新的过程中,用大体量的用户反过来推动基础硬件和基础软件的完善,推动这个平台迭代和优化,让它更具有生命力。


建行软硬件平台的发展历程


第一张信用卡发出来,那是 2002 年。那时,用的是 IBM Mainframe(大型机),操作系统是 ZOS,它是集中式的平台,它的特点表现为资源很集约,跑一个业务可能要占一个机房,很多服务器堆在若干个机架上。它只有一个 BOX,像双门冰箱那么大,里面有 CPU、主板和内存,磁盘挂在外面。当时,其可扩展性比较差。在发展过程中,我们遇到的计算瓶颈来自于这个 BOX 能插的 CPU 的核数非常有限,因此最终的计算能力也很有限。


随着业务的发展,我们需要扩展,怎么办?


那也是分布式计算开始的年代,IBM 自己也开始走出这一步,所以发明了并行耦合体的东西,叫 sysplex,保证数据一致性耦合处理的机制。2018 年,在回顾这个市场时,我们发现一个惊人数据:2018 年,全球 95%的金融业、航空业、核能等这些关系到国计民生重要经济命脉的行业,它们的核心主机还是跑在 IBM 这个平台上。


这样的背景下,我们走出很重要的一步。现在,作为用户,最深切的感受就是我们需要用的软硬件平台越来越复杂。为了使用分布式,我们的技术栈越来越复杂,模块设计也越来越复杂。



上图左边是基于分布式,底层是 X86;右边还有一部分,还是在主机上,我们经历了向鲲鹏迁移的这样一个过程。


为什么要这么做?前面提到我们的业务量非常大,是金融业务,是对私业务,面向 1 亿多客户提供服务。所以,我们必须做到一件事,迁移必须要非常平稳。


我们用了一种并轨运行的方式,用大机+X86 并行的机制。到 2020 年,我们做了一件事,这个项目也是工信部“核高基项目”,简称核心电子器件、高端通用芯片及基础软件产品,它代表了中国 IT 人的一种情怀和使命,即把国产硬件平台和软件平台放到金融领域做的应用。我们也有幸作为金融领域唯一的参与者来做了这件事。


现在,我们的信用卡核心系统已经运行在两个平台上,是在并轨运行,其中一部分基于鲲鹏平台,用的是麒麟 A10,麒麟操作系统内核是 openEuler。当时做了切换,技术栈有一个变化,同时,用了飞腾服务器,以及用了华为高斯数据库,这在业界也是一个创举,也会引领产业化的道路。



国产化成效

 

对于实时的金融业务来说,交易响应时间是比较有代表性的指标。我们用了鲲鹏+openEuler 技术栈之后的成效,上图标黄用的是麒麟+高斯的技术栈,标蓝是传统的,原来基于 X86 的技术栈。在硬件水平稍有优势的情况下,麒麟技术栈交易响应时间有比较显著的提高,大概提高 13%左右。综合来看,稳定性、高可用性还是不错的。


当然,在生产系统还要经历更长时间的验证。换一个视角,我们虽然只是使用者,但是某种意义上,我们也是生态发展的先头部队,属于前锋。


一个生态得以繁荣往往来自于这些用户从使用的角度,从一线的角度反馈到底哪里有问题、有哪些值得改进的地方。国外技术平台在进入我们国家,进入金融行业的过程中,最开始也不是一帆风顺,也面临着各种各样的考验,恰恰中国有着人口红利的巨大市场,依靠这些数以亿计的用户给它提供实验室完全没办法拥有的样本才能一路走到今天。


只要我们选对了路,我相信这个生态一定会越来越繁荣。我们就走在这个一条演进之路上。作为一名金融科技人士,作为一个中国的 IT 人,我觉得非常有幸参与到国产化软硬件平台的产业之路上。


(以上内容由 InfoQ 编辑根据现场演讲内容进行整理,未经本人确认)


2021-01-08 10:306363
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 355.6 次阅读, 收获喜欢 1799 次。

关注

评论

发布
暂无评论
发现更多内容

数的奥秘之幂数与完全平方数

未见花闻

6月月更

循环结构语句

Jason199

js 循环语句 6月月更

很流行的状态管理库 MobX 是怎么回事?

岛上码农

flutter ios 安卓开发 跨平台开发 6月月更

Sealem Finance-基于Web3的全新去中心化金融平台

小哈区块

Android原生TabLayout使用全解析,看这篇就够了

yechaoa

android TabLayout 6月月更 material design

细数十大信息安全原则

阿泽🧸

信息安全 6月月更

为什么使用 Golang 进行 Web 开发

宇宙之一粟

golang 6月月更

Java—基础容器

武师叔

6月月更

【Spring 学习笔记(九)】Spring IoC/DI注解开发之纯注解开发

倔强的牛角

Java spring Java EE 6月月更

vue指令-6

小恺

6月月更

快手处置超过5.4万个违规账号:如何打击平台上的违规账号

石头IT视角

Tornado简介&&本专栏搭建tornado项目简介

孤寒者

Python tornado 6月月更

线程池的创建

急需上岸的小谢

6月月更

Redis stream Java API实践

FunTester

Sealem Finance打造Web3去中心化金融平台基础设施

BlockChain先知

锁机制

卢卡多多

锁机制 6月月更

Sealem Finance打造Web3去中心化金融平台基础设施

股市老人

leetcode 130. Surrounded Regions 被围绕的区域(中等)

okokabcd

LeetCode 搜索 数据结构与算法

盲盒商城APP系统开发的软件特点和盲盒功能介绍

WDL22119

盲盒商城 盲盒开发 盲盒源码 盲盒H5开发 盲盒APP系统开发

数据库每日一题---第8天:超过5名学生的课

知心宝贝

数据库 程序员 前端 后端 6月月更

curl导入postman报错小记

红毛丹

Postman 6月月更

【sql语句基础】——增(insert)

写代码两年半

数据库 sql MySQL 数据库 6月月更

自动化测试系列

IT蜗壳-Tango

6月日更 6月月更

存储引擎分析

工程师日月

6月月更

云数据中心中的SDN/NFV应用

穿过生命散发芬芳

SDN网络 6月月更

react管理渲染问题详解【王道react】

恒山其若陋兮

React 6月月更

学习笔记:插件化Activity之Hook点位

北洋

插件化 Andriod 6月月更

Web3生态去中心化金融平台——Sealem Finance

西柚子

ConcurrentHashMap 源码分析-ConcurrentHashMap与HashMap的异同

zarmnosaj

6月月更

了解 Vue 生命周期钩子

devpoint

Vue Vue3 钩子函数 vue2 InfoQ极客传媒15周年庆

“飞行中换引擎”,建行信用卡核心系统的国产化改造_行业深度_万佳_InfoQ精选文章