文 / 本刊记者 马俊

新技术浪潮的推动下,在客户需求多样化、跨界竞争加剧的复杂金融环境影响下,近年来金融业又掀起了新一轮的核心系统建设热潮,着力打造数字化时代的“智慧型金融”成为各金融机构的重要目标。

核心系统升级换代是一项庞大而复杂的系统工程,不仅建设成本高、周期长,且涉及因素点多面广、事无巨细。本期专题将从各家金融机构项目启动前的技术路线、方案论证,到项目启动后的系统开发、软件测试等层面进行多角度的剖析,试图通过原味披露这些个案实施过程背后的故事及场景,为后来者建设新核心项目提供思想启迪,从而进一步提升金融企业的核心系统建设水平,推动金融业信息化建设高质量发展。精彩内容将陆续呈现,请您持续关注!

本期为该系列专题第六篇:与时俱进实施新一代核心系统。


长沙银行新核心系统建设工程自2017年9月6日正式启动,于2018年10月12日进行切换,历时401天。新系统上线后能够完美支撑双亿(亿级客户、亿级交易量)的场景,满足银行未来5~10年的生产经营目标,是长沙银行金融科技创新的重要成果,为转型发展产生积极而又深远的影响。

新核心系统采用分布式架构部署

从2009年开始,长沙银行对原核心系统持续进行了架构部署优化、数据库存储过程优化、容量优化,并启动老核心瘦身工作,将支付、信贷、现金管理、中间代理等业务剥离至相应的外围业务系统,逐步在全行推广开放平台、开源技术、分布式架构。

到2016年,除了核心系统,长沙银行的渠道、中台、主要业务系统均已按照此技术路线顺利完成改造。同时也开始成立专项团队进行新核心分布式架构的技术预研工作,通过近一年的技术攻关,对系统原型的各环节的技术框架进行了分布式技术的有效探索,并通过实现核心系统的八大典型场景进行验证,也邀请了第三方测试机构进行了有效测评。

“在这个过程中,我们进行了大量的调研工作,包括平安银行、中信银行、南京银行、微众银行等同业,也包括阿里、腾讯等互联网企业,充分听取其他银行的实施经验。”长沙银行IT规划部总经理邬胜说,“技术决策时,我们提出了分布式、集中式两个方案。”

众所周知,传统架构优点在于成熟可靠,不用过多地关注底层技术,而分布式架构优点是采用开源软件,基于x86平台和PCServer来构建开放的分布式平台,具有成本低、易扩展、自主可控等优势。但也有比较难攻克的技术难题,特别是数据一致性问题,当时国内主流合作厂商均没有成熟的案例。

“为了节约成本、做到自主可控,顺应互联网金融发展趋势,我们在2017年上半年向行领导汇报时提出想做基于分布式数据库核心系统的想法,并制定了具体的实施路径。”邬胜透露,“当时行领导对我们实施基于分布式架构核心系统的把握表示担心,并直言是否值得冒这个风险?”

在综合评估了内部需要和能力水平、充分借鉴吸收同业经验、项目整体的实施风险后,长沙银行决定数据库采用Or-aclerac+ADG的传统商用数据库高可用集群化部署,应用服务采用X86服务器的分布式部署,按应用类型搭建应用集群,各类服务多节点负载均衡,便于横向扩展。按照四大技术目标:低风险、高可用、高性能和自主可控,打造核心基础平台,提升基础产品和服务能力。

谈到信息技术自主可控,邬胜认为,自主可控不能简单理解为国产化替代,也不是机械地用本行自主研发替代供应商服务。“自主可控”应是在遵照国家政策和监管要求的基础上,通过对本行科技体系的顶层规划,加强自主设计、强化过程管理,达到过程可控、质量可控、成果可控、运维可控及风险可控。

一是抓好顶层设计。建立健全信息科技治理机制,持续提升核心技术自主研发能力。自主可控的关键是建立合适的信息科技治理机制,整体把控信息科技体系架构。从业务发展战略的全局出发,通过管理和技术两个层面的顶层设计,实现对整体信息科技架构自上而下的自主把控,打破“拿来就用”的观念,深刻认识到自主开发、安全可控的重要性,大力培养一批既懂技术又懂业务的复合型人才,持续提升自主可控的研发能力。

二是主动防控信息科技外包风险。制定外包战略,建立有效的运行机制,实现外包服务及风险事前可管理、事中可监控、事后可审计。行内员工应全程参与外包项目管理,主动防控过度依赖外包可能带来的风险。

三是坚持内练外修两手抓,师他人之长技为我所用。为实现信息科技自主可控,除了提升自主研发能力,扩大自主可控技术和产品的应用范围外,应保持与监管机构和同业的密切沟通交流,借鉴宝贵经验。

四是树立“科技兴行”理念,大力支持科技人才队伍建设。信息科技自主可控,科技人才最珍贵。建立科技专项激励机制,鼓励金融科技创新和自主研发。

多措并举保障系统开发

“系统开发是新核心项目实施的关键环节”,邬胜介绍说,为提升软件开发质量和控制项目建设进度,长沙银行核心建设项目采取了两种措施。

一是通过各种工具辅助开发过程管理。自主研发全行的系统管理和服务治理工具,对全行架构中系统的定位和分类进行清晰有效的管理,这对于系统繁多、调用关系复杂的新核心项目发挥了巨大的作用。

基于开源组件和各类功能插件搭建的持续集成体系能够实现代码提取、代码静态扫描、编译打包、环境部署和自动化测试工作。“在新一代的几个关键时期,我们能够做到每日版本的敏捷交付、对问题的快速识别。”邬胜说,本次新一代项目涉及全行11套测试环境、105个系统,在联调测试过程中的版本发布也是一个工作量大、成本高的环节,我们将各系统进行命令脚本化后集成至一键部署模块、能够帮助我们的配置人员在统一的管理入口快速发布版本,并且在出现版本问题时能够及时回退、现场还原。

基于行内开发平台自主开发自动化测试平台,将测试案例集导入至平台后,可以实现“人工+自动”“白天+晚上”的测试强度。白天主要是开发测试人员的人工测试,晚上由机器自动来跑,成本低效率高地解决了全场景、全流程的回归验证问题。

基于开源组件开发一套测试覆盖率检测的工具。由于全行绝大部分系统都是J2EE的技术路线,我们能够通过JVM的监控工具准实时地分析出整个项目在程序包、程序类、程序分支以及代码行等不同颗粒度的测试执行情况。通过用数据说话的方式,让开发团队和测试团队能够非常友好地方式进行沟通和协作。

二是管理上通过各种管理创新方式保障开发质量。组织对原有资产进行了多轮次的“回头看”工作,将各系统的业务资产、技术资产进行梳理更新、完善造册。对旧核心系统进行代码级和表级的全盘分析,识别出多年来特色处理逻辑和数据字典,从科技视角对项目的需求资产进行有益的补充和完善。

在新增资产方面,累计整理出软需材料100多册,技术上提炼出思维导图、处理规则100多册,便于科技和业务、系统和系统之间的理解,避免“背靠背”工作出现认知偏差的风险降至最低。

在过程质量保证的措施中,从各职能小组中抽调专人成立全局质控小组,联合办公联合管理,建立可量化、可落地的关键质量指标,并定期进行监控和报告,提升品控技能、做好品控管理。

在组织架构上,成立专项的TMO团队,整体把控常规系统测试的过程管理和工作推进,并根据不同侧重点,召集相关资源建立专项测试团队。比如单元测试、要求行方开发、厂商开发分别从开发视角针对系统的薄弱环节或潜在风险进行测试,并将单元测试工作要求贯穿始终。比如,业务连续性测试,要求业务人员从业务视角盘点家底,从数据迁移、端到端全流程测试、产品全生命周期等方面作出部署,给出结论。此外在架构、性能、参数、合作方特色业务方面也进行了专项部署,确保每个专项任务测试到位,并配合日常测试工作发挥横纵协同的效应。

培训工作采取以测代训的做法。前期从所有分支行抽调专职的人员参与整体的测试工作,通过端到端的测试环境熟悉系统的新特性,操作的差异点。编写培训课程18门、管理办法5个以及12项标准化的操作,做到有课可学,有章可循。在相关的产出物成熟以后,组织8轮次共计600多人次的培训、上机和考试工作,覆盖全行所有网点,使得柜员操作不断提升趋于熟练。

数据迁移对于项目的重要性毋庸置疑,怎样保证数据迁移的完整性和一致性。最简单的做法,就是请分支行业务人员进行核验,逐条核验。这个方法,是过去几十年核心系统改造过程中的常用方法。而现在时代不同了,再使用这样的方法就不行了,数据量让人难以承受,复杂度也不是一般业务人员能够胜任的。项目组使用大量的大数据分析、精确匹配、多版本校验的多方法,进行全量验证,确保不多不少、完整准确。

为了验证投产过程在组织、流程、方案以及应急方面的合理性和有效性。我们制定了四轮整体演练+六轮技术演练的工作安排。根据演练过程的成熟度,分别在参与机构、业务范围和技术方案方面循序渐进。此外,通过投产上线指挥系统将1000多条投产指令进行统一管理、统一下发和实时跟踪,最终按照投产真实情况进行全仿真模拟,确保投产过程可控、过程数据可视、客户体验平稳。

定制化测试方案打通“最后一公里”

我们知道,不同测试阶段测试工作的重点有较大差异,单元测试中开发组基本关注的是接口的联通性和接口程序对接口文档的符合性;系统测试阶段中测试组则根据交付的各系统程序,按需求进行本系统全流程的联调,部分系统还会进行全业务流程的测试;验收测试则是业务组针对系统对需求实现的符合程度以及功能实现的友好度易用性进行测试。

“根据项目内容安排,我们采取了定制化测试方案实现项目落地。”谈及测试阶段长沙银行的思路和做法,邬胜如是说。

一是对新核心(含柜面)多个维度(凭证、存款产品、银行卡、发生业务渠道、科目、账务类型等)的测试覆盖率进行统计分析。统计测试覆盖情况并输出测试覆盖率文档,进行对比分析。后续测试轮次增加了几套测试环境,对几套测试环境的测试维度都进行了统计汇总并进行各轮次之间的对比分析。并要求核心各组及外围对覆盖不足的地方进行分析并反馈。从最后一轮的统计来看,测试覆盖率基本已经满足要求。累计对核心、柜面、外围16个大维度34个小维度的测试覆盖情况检查。

二是对核心各模块新老系统差异化需求比对分析,检查并追踪测试覆盖情况。直至差异化需求中描述的已全部覆盖测试。每轮SIT测试对核心各模块变更需求的案例补充情况检查,上一轮的阻塞案例本轮测试范围覆盖情况跟踪检查,以确保测试范围和测试功能没有遗漏。

三是根据柜面系统本次同步升级改造的实际情况,将升级前后核心及外围系统测试覆盖情况进行差异分析,并对未测交易实行督办跟踪,直至所有柜面交易覆盖完全。

四是专项安排生产存量数据的测试,检查核心系统各功能点的存量数据覆盖测试情况,建立持续多维度跟踪台账,如存量数据的证件类型覆盖、凭证种类覆盖、各种挂失解挂状态覆盖、存款产品覆盖等,最终实现所有存量数据测试全覆盖。

具备8000TPS高并发能力的新一代核心系统,能够完美支撑双亿(亿级客户、亿级交易量)的场景。系统上线后,平稳地完成了双十一的交易处理。邬胜满怀信心地表示,系统能够满足银行未来5年的生产经营目标。

未来,长沙银行将以新一代核心系统建设成果为基础,主动创新,不断超越,完善治理体系,健全创新机制,全面提升产品创新能力,促进客户服务优化的持续改进,实现“以客户为中心”的全面金融服务。

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。