金融企业灾备管控系统软件设计

known 发布于 2025-08-24 阅读(454)

张展程

(广西大学 计算机与电子信息学院,广西 南宁 530004)

0 引 言

随着我国金融体系的不断改革和发展,金融企业的信息化程度越来越高,金融企业对金融系统的依赖程度越来越深,同时各大金融单位都形成以数据中心为核心的数据机构。但是数据中心级别的数据机构,依然面临着系统灾难风险。金融行业的系统灾难,一般是核心交易业务信息系统发生中断或者故障,导致无法对外提供服务。引起灾难的因素很多,可能是硬件故障,或者自然灾害造成系统设备损坏,最终导致系统无法连续对外提供金融服务,导致大量财产损失和金融混乱,因此对金融行业的系统进行灾难的防范是分有必要的。

同时银保监会都要求实施数据集中的银行业金融机构应同步规划、同步建设、同步运行信息系统灾难恢复系统。各大中小银行和金融机构都纷纷建立多数据中心,形成跨地区级的灾难备份数据中心,保障当一个金融数据中心发生灾难问题时,能够在满足监管指标的要求下,对金融系统进行快速恢复,保障系统的业务连续性和可靠性。银保监会对金融企业的业务连续性的监管要求不断的细化和严格,迫使金融企业的灾备体系建设迫在眉睫。

但是金融企业所涉及的系统多,对各个系统的对接和可靠性要求高,当灾难真实来临时,如何保障被影响的系统能够快速准确地切换到备份端,并通过备份端,对外继续提供服务就显得十分重要。此时需要一套灾备管控系统,将日常灾备建设过程中的资源和数据管理起来,并进行日常模拟切换,当灾难真实来临时,才能够保障,一键式的灾难切换和系统服务的快速恢复,持续对外提供金融服务能力。

本人作为非全日制研究生,很有幸参与该系统的设计和开发工作。本软件采用微服务的开发架构,MySQL作为后台的主要数据库,Redis作为缓存数据库。开发框架为SpringBoot+SpringCloud+React,通过nacos作为配置中心和微服务管理中心。

1 需求分析

金融灾备系统一键式切换的建设,一般分为四个阶段:规划阶段、建设阶段、日常演练阶段、常态化运维阶段。

规划阶段:规划整个金融企业中所有需要建设灾备的重点金融系统的整体架构,为金融灾备体系的建设提供架构支持和理论支撑,是整个金融灾备体系建设的重点环节。

建设阶段:是准备建设生产上,金融系统灾备端环境的建设和准备阶段,需要建设备端的机房、网络,并配置和主生产端对应的灾备端资源比例,依托灾备端的资源,保障主生产端完全发生故障时,灾备端的资源和部署的服务,能在一段时间内,对外提供与生产端同样服务能力的各种资源的准备过程。

日常演练阶段:是配置主生产端到灾备端切换,及灾备端到主生产端回切的切换流程,并支持日常的仿真模拟演练。仿真模拟演练指,在没有发生生产故障的日常情况下,可以使用配置好的可视化切换流程,调整部分参数,实现真实模拟灾难发生时的切换流程。当真实发生灾难时,日常演练的流程只需调整少量参数,就能够对真实的金融生产系统进行一键式切换到备用端系统。

常态化运维:日常对生产端、灾备端的金融系统灾备信息,进行维护。包括但不限于:系统相关参数信息、数据库信息、防火墙信息、网络设备信息、服务注册信息、切换脚本信息、灾备流程信息的维护等。

本系统软件的核心业务是:管理和维护各个灾备阶段的金融系统的运维信息,可视化地展示各个阶段的灾备流程及数据,日常通过模拟脚本和数据,在本系统上实现不同程度的灾难切换仿真测试。通过日常不断地进行灾难切换仿真,完善金融系统的灾备运维数据,和相关切换的准备工作,实现在金融系统真实灾难时,能够按照预期流程,进程可视化的快速切换,将生产端的金融灾备系统切换到灾备端的应用系统,对外提供持续的金融服务能力。

2 系统分析2.1 功能分析

本系统软件为了满足金融灾备系统的业务,需要对灾备系统的切换各阶段,开发相应功能,以满足灾备切换的业务需求。在规划阶段,需要管理规划方案,查看生产上现存所有金融系统的架构信息,资源信息和运行情况;在建设阶段,需要计算建设灾备端系统,所需要的设备资源并维护建设信息,建设完成之后,需要对生产端和灾备端的系统的环境和服务参数,做相应的资源检查,保障生产和灾备端运行环境一致,避免系统差异性风险。此外,为了实现生产端,各个金融系统的各项服务模块顺利进行切换,需要编写和储存相关对象的切换脚本。目标脚本需要通过代理客户端对目标的机器进行纳管后,下发执行,并返回特定格式的执行结果,通过对执行结果判断,对生产端或者灾备端的模块切换成功进行判断;在日常演练阶段,支持编排和配置建设阶段,所需要进行切换的机器或模块对象,对系统涉及的各组件,按照一定的流程进行编排,并支持一个流程、两套参数,一套为日常演练使用,另一套为真实灾难使用。当切换流程执行完成后,需要自动执行提前配置的交易业务验证案例,只有保障金融的核心业务验证通过,才能保障最终的金融业务系统切换成功,提供和原来一致的服务能力;常态化运维模块是灾备管控系统日常运维管理时,对所涉及的机器进行管理,查看各灾难切换流程环节的日志、开关参数的配置,定时执行的调度任务。

2.2 性能分析

由于金融类相关系统涉及的业务重要性程度高,故障风险大,性能分析成为金融类系统分析的重中之重。本系统是针对金融业务类系统进行灾难切换的工具,主要的性能分析为:(1)安全性:本系统管理着金融系统的生产端和灾备端的所有机器信息和基本信息,因此必须将切换工具系统部署在内网环境下,通过代码漏洞扫描,设置密码安全策略,通过堡垒机登录,通过专业机构的安全扫描,以保障系统的安全。(2)数据准确性:通过对传输的报文数据进行防篡改加密,对请求的url地址进行请求源校验,对操作的数据进行日志记录,保障数据的准确性和一致性。(3)可用性:可用性要求本系统在各种灾难场景发生时系统可用。在区域性故障时,大量金融系统需要通过本系统进行灾难切换,因此本系统的切换流程调度执行模块通过分布式部署,支持服务弹性扩容,以按需扩容,提供更多性能。(4)可靠性:系统本身的各个微服务模块支持异地部署,统一管理,当一个模块故障时,该服务请求能被其他正常的模块响应,能稳定的对外提供灾备切换能力。在灾难切换过程的每个环节,如果出现步骤异常,支持中断、跳过、回滚操作,保障每个环节顺利完成灾难切换。

2.3 数据需求分析

本系统内数据主要分为:金融系统信息、机器信息、规划的方案信息、切换流程信息、脚本信息、用户信息和权限信息。系统的数据主要为关系型数据库和非关系型数据库。其中金融系统信息主要包括金融系统的运维基础信息、配置信息、生产和灾备端的标识信息、运行信息、配比信息、检查信息、业务案例信息。

3 系统设计3.1 系统功能结构

本系统软件的功能结构图如图1所示。

图1 软件功能结构

它分为以下五大模块:

(1)统认证模块:本模块包含用户管理模块和权限管理模块。

(2)规划管理模块:本模块包括方案管理、架构管理、计划管理三个子模块用于管理建设准备前的相关架构,方案和计划。

(3)建设模块:本模块包含机器纳管、系统资源、模块管理、脚本管理、环境比对五个子模块。机器纳管是将生产端和灾备端的服务器机器,进行纳管,方便调度管理。系统资源模块,是对所有金融系统的资源进行管理,并维护灾备切换所需要的系统信息。模块管理是按照金融系统的服务模块进行管理,配置,针对每个模块,准备切换的脚本和参数。脚本管理,是本系统管理所有切换动作的脚本管理模块。环境比对模块,是比对生产端和灾备端,运行环境,系统配置,系统状态的模块,保障生产端和灾备端环境完全一致,对外提供的服务能力一致。

(4)切换流程模块:本模块包含节点配置、流程编排、模拟演练、灾难切换、业务验证五个子模块。节点配置是日常情况下,提前配置流程节点的生产和灾备端的机器信息,切换信息等参数信息。流程编排模块是在针对具体金融系统进行灾备流程编排时,通过可视化流程编排,将配置好的节点串联起来,形成灾难切换的工作流程。模拟演练模块,是通过日常配置模拟参数,在准生产环境下,对金融系统的灾备切换流程进行模拟切换,找出其中各个环节的不足和问题,并及时优化调整。灾备切换模块,是当实际灾难发生时,一键式快速切换的执行模块。业务验证模块,是系统从生产端切换到灾备端,或者回切后,通过金融业务案例,对切换后的系统进行验证,只有金融业务验证通过,才标志着灾难切换完成。

(5)系统运维模块:是灾备管控系统本身的运维模块,包括参数配置、系统监控、操作日志、定时任务四个子模块。参数配置是配置不同的参数以适应不同的部署环境。系统监控模块,是为了监控被管理的机器及系统的健康状况,配置相关策略进行告警和提醒。操作日志模块,是记录本系统上所有操作变更的数据记录,方便管理员追溯问题和责任人。定时任务模块,是配置系统中流程调度,通知发送任务的定时任务管理模块。

本系统的核心功能,是对金融系统的灾备资源进行建设、创建维护灾难切换的流程,通过日常进行不断的演练,运维再演练的闭环过程,不断发现灾难切换流程各个环节的瓶颈和问题,进行不断改进和优化。最终实现灾难真实发生时,能够按照规定的目标时间进行一键式快速切换,保障金融业务的连续性和金融系统的稳定性,减少金融行业的风险。

3.2 系统的架构

系统的架构图如图2所示。通过统一的F5网关入口对系统进行访问,nginx作为负载均衡转发到Web集群。三个Web服务集群分别访问用户管理后端服务、灾备核心服务群后端服务,数据同步服务群后端服务。三个后端服务将公共的需要调用的服务抽象成四个公共服务集群:资源池服务集群、定时调度服务集群、流程引擎服务集群、第三方调用服务集群。Nacos实现配置集中管理和微服务调用,Redis保存缓存数据,MySQL保存持久化数据,同时提供统一的网关对后端访问第三方平台应用和服务进行控制。

图2 灾备系统架构图

4 软件实施效果

以下为本系统部分关键代码。图3为核心代码截图,图4为灾难切换流程界面。

图3 灾备管控系统代码图

图4 灾备切换流程图

5 结 论

对金融系统进行灾备建设,不仅是监管要求,也是针对日益信息化程度不断加深的金融行业里,规避风险最有保障的措施。但金融系统的灾备建设和灾难下一键式切换的能力是很难快速形成的,需要一个长期规划、多方协调、系统管理、日常运维、不断演练、反复确认金融业务不受影响的过程。因此为提高金融系统灾备体系的建设,必须构建符合金融行业的灾备管控系统,给金融系统的运维保障人员,以降低系统故障,避免金融风险,减少国家和人民的财产损失。

标签:  系统 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor