安徽省联社:分布式在线交易查询平台

Connor bitop交易所 2024-05-07 21 0

来源:2023第七届农村中小金融机构科技创新优秀案例评选

获奖单位:安徽省联社

荣获奖项:十大网络影响力优秀案例

一、项目背景

(一)项目背景

近年来,随着互联网经济的崛起,金融机构交易数据量和用户访问压力呈指数级增长,用户对数据访问速度和数据分析效率的要求也越来越高,传统架构所采用的集中式关系型数据库难以适应海量数据以及高并发环境下对数据处理能力的要求。

分布式关系型数据库具有可扩展、高可用、高可靠等特征,因此,为了优化系统结构、降低总成本,最大化提高资源利用率与对外服务能力,为未来互联网金融应用面向微服务、敏捷开发、快速部署、高效存储以及快速迭代等领域探索出一条切实可行的道路,安徽省联社立足长远规划,对基于弹性多层次的分布式数据库进行实践,建设了分布式在线交易查询平台。

(二)项目目标

通过建设分布式在线交易查询平台,采用分布式架构满足多系统历史数据整合,长周期历史数据查询,海量数据在线实时查询等场景需求,逐步完善历史数据管理功能,提高数据使用效率,提升业务创新能力并改善客户体验。

二、项目方案

分布式在线交易查询平台采用IJEP技术平台加分布式数据库架构,使用国产服务器、中间件及数据库。系统与核心业务系统、手机银行等重要信息系统对接,将业务系统历史数据迁移至分布式数据库,实现账户核算历史交易明细、内部账明细、核心总账历史、流水明细、会计流水、现金凭证明细等海量数据在线实时查询及分析功能。

(一)技术架构

分布式在线交易查询平台以分布式技术平台为底座,采用国产分布式数据库GoldenDB,通过企业服务总线(ESB)系统与渠道系统对接,实现在线实时查询功能。

安徽省联社:分布式在线交易查询平台

展开全文

分布式技术平台的能力包括管控中心、序列中心、配置中心、缓存中心、消息中心、日志中心等。

1、管控中心:管理技术平台各组件的配置信息、系统的调度触发、运行维护等。

2、序列中心:提供序号生成服务,面对高并发交易,系统需具备快速生成流水号的能力,通过集成序列中心提供的SDK,从序列中心服务端获取号段存放至内存,可快速获取序号。序列中心提供设计器功能,具有多种序号的生成规则,支持固定字符串、枚举、日期、数字等类型。

3、配置中心:简化本地配置,通过配置中心下发配置信息的能力,可以实时更新本地配置信息。同时分布式系统部署在多个计算节点,由配置中心统一下发配置,保障所有节点能及时更新配置。

4、缓存中心:提供缓存服务,大幅度提升核心查询性能。缓存中心实现了对缓存组件操作的标准化、工具化、简单化、智能化,支持多种数据源及集群模式。同时支持在线数据迁移,可保证业务的延续性。

5、消息中心:提供异步消息服务。消息中心集群本身具备高可用、高可靠和持久化的架构设计,可有效保障系统的消息传输。

6、统一日志平台:提供日志运维信息采集、分析、查询及监控服务。

(二)业务功能

目前分布式在线交易查询平台的主要业务功能包括历史明细查询、历史销户数据查询等。

1、历史明细查询功能:与核心业务系统、司法查询历史库等业务系统建立历史数据同步机制、离线数据恢复等机制,支持近10年以内历史明细查询功能。

2、历史销户数据查询功能:通过离线数据恢复方式,将上一代核心业务系统销户数据同步至分布式数据库,支持销户数据查询功能。

3、历史总账、流水查询功能:与核心业务系统等业务系统建立历史数据同步机制、离线数据恢复等机制,支持近3年以内历史总账流水查询。

4、核心业务系统运行数据存储与实时分析功能:通过同步核心业务系统运行日志,实时分析核心业务系统响应时间、组件调用信息、交易成功率等运行指标,并进行图形化展示。

(三)关键技术

分布式在线交易查询平台采用主流的微服务架构,通过使用流程服务编排框架、分布式批量调度框架、分布式技术平台组件等关键技术,实现了系统高可靠性、高可用性及安全性的目标。

1、流程服务编排框架

主要解决微服务架构下服务管控、服务设计、服务编排、服务发布及分布式事务处理等问题。流程服务编排技术提供了一套服务设计的理念,采用框架指导原子服务的设计,通过服务编排对多个原子服务进行组装,形成最终提供的对外组合服务。服务编排的优势在于可以快速应对外围需求的变更,通过设计器进行简单的编排、发布即可满足需求,大大缩短了开发的周期。分布式事务处理是服务流程编排的另一项关键技术。在服务进行拆分后,原子服务为本地事务,通过引入分布式事务框架模型,可解决系统的数据一致性问题。

安徽省联社:分布式在线交易查询平台

2、分布式批量调度框架

主要解决系统日终批处理效率问题,在资源充足的情况,可最大程度节约日终处理时间。银行的日终批量分很多种处理。在每一个处理阶段均有大量的业务进行集中处理,尤其在计提日、结息日,会面对海量的数据处理。同时,批量作业之间会存在一定的依赖关系。因此,批处理框架需要能充分监控、利用系统空闲资源,按照约定的依赖关系分组执行作业任务。

分布式批量调度框架采用了去中心化设计,各个批量作业执行节点平行化。批量作业组、作业支持互斥、依赖、并行等模式控制,可手工、定时、接口调用。批量作业采用平均分配分片策略、哈希值分片策略、机器轮转分片等多种策略,支持弹性扩容缩容,可动态增加机器节点、节点损坏时可重新调整任务执行节点。同时,批量调度框架内置节点故障转移、幂等、重跑等多种容错模式,可支持银行日终批量作业的暂停、重提等功能。批量调度提供了丰富的调度监控界面,可查看当前运行的作业数量、占用的系统资源情况、作业执行路径图、日终运行进度等,可实时监控查看整个批量运行的状态,使得日终运行变得更加友好。

3、分布式技术平台组件

对业务功能进行抽象封装,包括依赖业务实体而衍生出来的各种具体的业务数据操作组件、通用业务逻辑处理组件以及通用查询、业务计算、数据校验等组件和技术类组件等。组件只能存在于子系统内部,系统内不会存在跨系统组件调用情况,组件内部允许调用组件。

组件化架构清晰的划分了不同组件,从整体架构上来约束开发人员进行组件化开发,避免产生组件间的耦合,破坏整体架构。假设以后某个业务发生大的改变,需要对相关代码进行重构,可以在单个组件进行重构。组件化架构降低了重构的风险,保证了代码的健壮性。

(四)建设规划

目前,核心业务系统已经积累了大量的业务历史数据,并且历史数据呈现加速增长趋势。在数字化转型的大背景下,客户对查询历史明细时间跨度和客户体验要求日益提高,传统IT架构无法有效满足,因此分两阶段建设分布式在线交易查询平台。

第一阶段:建设分布式在线交易查询平台,通过分布式架构解决多系统历史数据整合,长周期历史数据查询,海量数据在线实时查询等问题。平台基于弹性多层次的分布式数据库进行实践,解决关系型数据库海量数据存储和海量数据处理的性能瓶颈问题,充分发挥分布式数据库技术的成熟性、先进性、可用性。同时,选取核心业务系统内部账明细数据进行下移验证,使用该数据作为验证对象具有较强的代表性。

第二阶段:根据第一阶段实施成果,将核心业务系统账户核算历史交易明细、核心总账历史、流水明细、会计流水、现金凭证明细等海量数据下移,并提供在线实时查询及分析,逐步完善历史数据管理功能,提高数据使用效率,提升客户体验。未来,将全行其他系统的历史数据及查询功能迁移至分布式在线交易查询平台,搭建全行统一的业务明细数据查询平台。

三、创新点

(一)可扩展的分布式技术平台

分布式技术平台具备互联网应用架构必备的高可用性、高性能、可管理性、技术成熟度高、可移植等特性,以满足快速发展的互联网业务需求。通过硬件纵向和横向扩展,可满足海量数据查询需求。

(二)统一的在线交易查询平台

以银行核心业务系统历史数据为试点,重点实施核心业务系统的存款核算交易明细、内部账明细、交易流水、会计流水等数据同步并提供查询功能。同时,逐步将信贷、资金、票据等业务系统的历史数据及查询交易迁移至分布式在线交易查询平台,大幅减少业务系统在线数据存储量,搭建全行统一的业务明细数据查询平台。

四、技术实现特点及优势

(一)技术实现特点

1、完备的流程编排标准:建设完备的流程规则,结合图形化的流程编排工具,可快速生产基于微服务 API 或技术组件的流程编排文件。提供流程编排引擎,实现对流程编排文件的驱动。

2、完全解耦的服务框架:通过适配器的方式实现了对不同微服务技术体系的支持,可做到诸如SpringCloud、Dubbo、SOFARPC、TSF等市场主流微服务框架体系的完美兼容,底层微服务技术体系的替换,完全不会影响到上层业务应用。

3、SAGA模型的分布式事务支持:建设标准的基于SAGA模型的分布式事务能力,与流程编排的图形化工具结合,通过拖拉拽的方式实现对多个远程调用服务的业务一致性的配置。设计和开发人员无需进行代码层面的开发,平台运行时,执行引擎会根据编排的结果,完成基于SAGA模型的分布式事务处理过程,同时,可实现重试配置以及带分布式锁的事务隔离。

(二)能力优势

1、软件设计与开发资产管理能力

通过架构资产的多版本设计能力,实现从业务资产建设时间轴的角度对软件开发资产进行管理,同时,可观测软件开发生命周期的任意节点的资产形态,解决资产沉淀问题。提供各种研发过程支持功能,诸如数据建模、接口文档生成、服务测试等标准化的工具支持软件设计过程,减少相关工作量。提供工作台的产品使用模式,以人为本,提供个人视角的开发平台,支持设计开发过程。

2、基于微服务的配置化能力

(1)微服务框架的使用,平台提供配置化的方式,完成流程策略、通讯规则、数据映射关系的处理。

(2)事务管理与流程编排,开发人员无需关心事务的传播机制、分布式事务的处理过程,根据交易流程的业务一致性范围,通过拖拽的方式即可实现本地事务及分布式事务的规则处理,平台通过流程引擎实现相对应的能力处理。

五、项目过程管理

根据年度信息科技工作计划,省联社于2022年11月启动了分布式在线交易查询平台项目建设。项目采用迭代生命周期模型,分两阶段实施。第一阶段于2023年1月投产,第二阶段于2023年6月投产,目前系统运行稳定,平均交易响应时间78毫秒。

(一)需求阶段:项目组按照招标要求整理业务需求说明书,于2022年11月17日完成业务需求评审。

(二)编码与自测阶段:第一阶段编码与单元测试于2022年11月29日完成,第二阶段编码与单元测试于2023年3月1日完成。

(三)集成测试阶段:第一阶段系统集成测试于2022年12月3日完成,第二阶段系统集成测试于2023年3月15日完成。

(四)用户验收测试阶段:第一阶段用户验收测试于2022年12月14日完成,第二阶段用户验收测试于2023年4月28日完成。

(五)投产发布阶段:第一阶段于2023年1月13日完成投产发布,第二阶段于2023年6月28日完成投产发布。

六、运营情况

分布式在线交易查询平台于2023年6月28日完成投产,系统运行稳定,日在线用户约4000人,日平均交易量约40万笔,平均响应时间78毫秒。存储历史周期表约172张,总数据量约100T,总记录近879.5亿条。同步实施核心业务系统历史数据下移工作,全面满足了安徽全省农商银行的历史数据查询要求。

七、项目成效

(一)经济效益:从系统存储的硬件成本上考虑,在IBM AS400主机上加存储与分布式查询平台存储对比,硬件成本节约1000万。分布式在线交易查询平台在业务上解决了数据全生命周期查询的痛点问题,为核心业务系统整体下移和国产化实践积累了宝贵经验,更有效缓解了核心业务系统生产存储压力。

(二)社会效益:分布式在线交易查询平台提供历史数据查询功能,提高了全省农商银行的数据查询服务效率和质量,有效节省了客户和农商银行的时间成本。

八、经验总结

分布式在线交易查询平台是分布式数据库和分布式架构方向的探索和实践,解决了多系统历史数据整合、长周期历史数据查询以及海量数据在线实时查询等问题,项目实施过程中积累了丰富的技术经验和国产化建设经验。一是充分了解分布式数据库的技术特性,制定合理的数据分片策略及不同数据库间的同步策略,发挥分布式数据库的最大性能;二是加快推进其他业务系统的历史数据及查询功能迁移至分布式在线交易查询平台,搭建全行统一的业务明细数据查询平台。

更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。

评论