风险管控 | 变更风险可视化平台的建设与实践

风险管控 | 变更风险可视化平台的建设与实践
2024年06月13日 11:16 金融电子化

文 / 交通银行软件开发中心 刘杰  王曼丽

当前,金融科技全面迈入“积厚成势”的新阶段,交通银行紧跟国家科技创新发展战略,不断推进数字化转型走深走实。同时,银行信息系统作为国家重要金融基础设施,在转型过程中既要完成项目快速落地实施,又要保障系统安全可靠稳定运行。如何能在频繁的版本变更中,规避应用变更引发的生产风险,确保系统的稳定性和安全性,是数字化转型过程中需要关注的重要问题。为解决此类问题,交通银行软件开发中心规划建设了变更风险可视化平台,以风险预测模型量化风险,实现风险的精细化管理和预测。

建设背景

在数字化转型不断推进的背景下,频繁的系统升级与变更随之而来。变更在推动交通银行业务发展的同时,也带来了实施变更的风险。无论是应用发布导致的变更,还是架构优化导致的变更,都可能对正常运行的系统和服务带来未知的风险。

系统变更在数字化转型过程中是频繁且不可避免的。频繁的变更通常会给业务系统稳定运行带来不可预知的风险,常见的以人工走查和经验判断的方式识别变更风险,会出现错查漏查的情况。因此,全面的变更评审和管理是不可或缺的。

建设实践

在数字化转型战略指引下,为进一步提升全行业务连续性保障水平,做好全面的变更风险管理,交通银行软件开发中心依靠技术创新,借助数字化手段,成功打造了变更风险可视化平台(如图1所示)。

图1  平台核心处理流程

1.数据准备。变更风险的数据是构成多指标综合模型构建风险评估模型的基础。数据主要是提取Git中的代码、脚本变更记录,逐条分析出变更记录中的文件、代码、需求、提交人等基础要素。

2.数据处理。数据处理包括三方面内容。一是利用AST分析技术,对代码精细化分析提取变更方法。将代码转化为抽象语法树,通过对抽象语法树的处理,精准定位到声明语句、方法定义语句等,实现对代码的分析、优化和变更。基于数据准备阶段解析出每个文件修改的具体代码行,可以定位文件具体修改方法。二是根据变更方法,推导业务影响范围。将系统全量代码的链路调用关系存入二维数据库表中,按照变更方法提取步骤定位到的具体修改方法,以深度遍历的方式,查询出任意方法向前的调用链路,进而分析出修改代码的影响范围。三是根据配置项,完成数据匹配。根据在平台配置维护的审核项关键词信息以静态代码扫描的方式,匹配到对应的关键词。平台支持的配置项包括压测接口配置、高频交易配置、百万级数据库表配置、动账类批量脚本配置等。

3.数据建模。具体介绍如下两方面。

(1)代码特征化分析。通过对近五年生产问题的分析和理解,创建生产变更风险经验库。利用风险分析评估矩阵,将变更风险因素分类排序,总结为以下四类。

第一类代码基本属性,从需求规模、文件修改数量、代码改动行数、脚本改动行数等四个划分维度宏观量化整体变更规模。参照历史经验,变更涉及的需求规模大,代码、脚本改动量越多,整体变更风险就会越大。

第二类接口特征属性,从接口调用频率、接口属性、接口调用渠道、接口影响范围四个划分维度描述变更影响的业务范围。接口调用频率、接口属性是根据生产运行情况,将接口配置到平台中。接口调用渠道、接口影响范围是将代码特点或标志预配置在平台中,平台自动扫描后,匹配到预配置项,则识别为对应属性。参照历史经验,变更涉及的高频接口、交易提交接口、调用第三方接口、公共接口影响范围越大,整体变更风险就会越大。

第三类是场景特征属性,从代码实现的特定场景作为划分维度,描述变更涉及的复杂场景。将业务场景特征对应的代码特点或标志预配置在平台中,平台自动扫描后,匹配到预配置项,则识别为对应属性,如涉及分页、兼容性、异常处理等。参照历史经验,变更涉及的分页、兼容性、异常处理场景越多,整体变更风险就会越大。

第四类是通用技术属性,从代码涉及的中间件作为划分维度,描述变更涉及与中间件交互的场景。将与中间件交互的代码特点或标志预配置在平台中,平台自动扫描后,匹配到预配置项,则识别为对应属性。例如涉及分布式缓存、消息中间件、配置中心、数据库等情况。参照历史经验,变更涉及分布式缓存、消息中间件、数据库等接口越多,整体变更风险就会越大。

(2)变更风险评估模型计算。因变更风险是难以定量的相对复杂问题,团队结合项目特点,安排专业人员对近五年来的生产问题分析、归纳和总结,包括对风险优先级的排序、风险应对措施的对比分析。最后确定采用AHP层次分析法,由专家打分的方式,得到各风险变更要素对变更风险的影响情况,得分越高,指标权重越大。各类影响因素权重确定好后,参照多指标综合风险评估模型,实现对变更风险的精确量化(如图2所示)。

图2  变更风险管理评估模型

平台特色

变更风险可视化平台以可视化、可量化、自动化、智能化的方式识别和评估变更风险、制定风险应对措施,将变更风险识别与风险管理活动相结合,实现了风险的精准预测和管理。

1.变更风险管理可视化。构建代码全景画像,提高代码变更风险可视化。通过对代码、脚本进行特征化分析,抽象出变更代码的全景画像,多维度刻画出代码的特征。在质量风险评估和风险拦截层面做到更加精准,提升质量防御能力。

2.变更风险管理可量化。将难以定量的变更风险问题分解,搭建生产变更风险经验库,利用代码的特征化分析结果,辅助AHP层次分析法,构建变更风险评估模型,计算得出变更风险值,提升风险管理的精细化程度。

3.变更风险预警自动化。利用自动化的平台,实现对变更风险的实时识别与评估,确保风险识别的准确度和实时性。平台支持设置风险阈值,超过阈值系统自动触发预警机制,将重点变更风险发送相关人员,并生成对应待办任务,引导开发人员关注风险,及时完成风险应对措施,降低风险发生可能性。

4.变更风险管理智能化。基于风险识别与评估的结果,平台的智能化体现在根据项目的具体情况和风险特点,为项目团队提供个性化的风险应对待办任务推荐,推动变更风险量化数据与风险管理活动相结合。

赋能成效

目前,变更风险可视化平台已成为交通银行软件开发中心评估变更风险的重要参考依据,平台在风险管理、质量管理方面带来以下两方面的能力提升。

1.变更风险闭环管理能力。平台通过引入风险评估模型,实现了变更风险的量化计算。在变更风险的识别、评估和应对过程中,形成一个闭环的管理过程,有效降低变更风险。

2.变更风险智能检测与预警能力。平台通过自动扫描代码库,实现了风险的智能检测与预警,有助于风险的提前发现与应对。有效地确保版本的质量,保证软件产品高质量交付。

未来,交通银行软件开发中心将进一步加强变更管理数字化能力挖掘,通过丰富和完善指标数据不断优化风险识别、评估和应对的算法模型,进一步提高风险管理的准确性和效率。通过技术创新和引入AI能力,进一步促进变更管理的数字化变革和创新再造。

(此文刊发于《金融电子化》2024年5月上半月刊)

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部