首页>华夏银行:基于分布式的多活数据处理平台探索

行业动态

华夏银行:基于分布式的多活数据处理平台探索

2017-05-17

  文/华夏银行信息技术部总经理吴永飞

  银行业传统集中式架构由于成本高昂、灵活扩展性差等因素已不能适应银行新兴业务的发展需要。各银行纷纷研究并逐步采用安全可控、低成本、易扩展、高可用的分布式架构替代传统集中式架构。在此背景下,华夏银行对分布式多活系统建设进行了积极的探索与实践。

  分布式多活数据处理平台建设实践

  根据CAP理论,在可用性、分区性与一致性三者之间,同时只能满足两个。大部分金融联机交易系统都涉及账务处理,需要重点保证账务数据强一致性。各银行在搭建强一致性分布式多活数据处理平台上不断尝试,但发现在追求可用性、分区性的分布式架构下,通过改造应用程序来解决数据强一致性问题难度极高且工程巨大,几乎不可行。

  银行业在联机账务交易强一致性系统的多活实现上无法取得突破的情况下,纷纷转向将大数据处理、非结构化数据处理、数据分析与挖掘等弱一致性要求的信息系统实现分布式数据处理。

  如何搭建一个可行的分布式多活数据处理平台,使银行联机账务交易强一致性系统不经改造或轻微改造就能平滑的迁移到该平台,实现业务系统多活成为了关键需求。华夏银行以此为突破点,按照先构建分布式多活数据存储平台,再搭建分布式强一致性多活数据处理平台,最后将业务系统轻微改造后平滑迁移到该平台,实现了银行联机账务交易系统多活。

  1.构建分布式多活数据存储平台

  传统银行业务数据均存储两份或多份拷贝,但受存储与数据跨机房远程复制技术限制,仅有一份业务数据处于可读写状态,其他拷贝数据只能处于脱机状态或只读状态。多活的关键要素是信息系统的业务数据实现多副本存储,且多副本数据同时处于可读写状态,即实现业务数据多活。

  华夏银行利用分布式存储、虚拟化、高速数据交换网络、数据库集群等技术实现了同一个信息系统数据库跨机房部署、多副本存储以及业务数据跨机房多活。

  在硬件层面,整个架构中的数据库服务层计算节点、存储服务层存储节点均采用国产X86服务器实现,均实现虚拟化资源动态管理。两机房间抛弃传统的以太网络通信架构,改用高速的IB数据交换网络实现业务数据跨机房多副本冗余存储、快速读取、传输、同步及多活。在软件层面,通过存储管理软件,对整个架构中X86服务器组成的分布式存储集群进行动态资源池管理。数据库软件部署在分布式存储之上,账务数据强一致性由数据库软件实现,所有数据库节点同时对外提供服务,在单一机房整体故障时,数据对外存取服务不会中断。

  该分布式数据存储平台与云计算、大数据处理等分布式计算平台最大的不同点在于对银行的联机账务交易系统完全透明,交易系统的数据库无需任何改造可直接部署到该平台上,实现业务数据跨机房分布式存储与多活。通过不改造原联机交易系统数据库,规避了分布式架构下交易系统应用程序的数据存取操作、业务逻辑一致性与数据强一致性等改造难题,适用于银行传统联机账务交易系统。在控制好IB交换网络数据传输延时的情况下,该平台具有优异的数据处理性能。

  2.构建分布式强一致性多活数据处理平台

  在分布式多活数据存储平台基础之上,华夏银行构建了分布式强一致性跨楼宇多活数据处理平台(如图所示)。

  文/华夏银行信息技术部总经理吴永飞

  银行业传统集中式架构由于成本高昂、灵活扩展性差等因素已不能适应银行新兴业务的发展需要。各银行纷纷研究并逐步采用安全可控、低成本、易扩展、高可用的分布式架构替代传统集中式架构。在此背景下,华夏银行对分布式多活系统建设进行了积极的探索与实践。

  分布式多活数据处理平台建设实践

  根据CAP理论,在可用性、分区性与一致性三者之间,同时只能满足两个。大部分金融联机交易系统都涉及账务处理,需要重点保证账务数据强一致性。各银行在搭建强一致性分布式多活数据处理平台上不断尝试,但发现在追求可用性、分区性的分布式架构下,通过改造应用程序来解决数据强一致性问题难度极高且工程巨大,几乎不可行。

  银行业在联机账务交易强一致性系统的多活实现上无法取得突破的情况下,纷纷转向将大数据处理、非结构化数据处理、数据分析与挖掘等弱一致性要求的信息系统实现分布式数据处理。

  如何搭建一个可行的分布式多活数据处理平台,使银行联机账务交易强一致性系统不经改造或轻微改造就能平滑的迁移到该平台,实现业务系统多活成为了关键需求。华夏银行以此为突破点,按照先构建分布式多活数据存储平台,再搭建分布式强一致性多活数据处理平台,最后将业务系统轻微改造后平滑迁移到该平台,实现了银行联机账务交易系统多活。

  1.构建分布式多活数据存储平台

  传统银行业务数据均存储两份或多份拷贝,但受存储与数据跨机房远程复制技术限制,仅有一份业务数据处于可读写状态,其他拷贝数据只能处于脱机状态或只读状态。多活的关键要素是信息系统的业务数据实现多副本存储,且多副本数据同时处于可读写状态,即实现业务数据多活。

  华夏银行利用分布式存储、虚拟化、高速数据交换网络、数据库集群等技术实现了同一个信息系统数据库跨机房部署、多副本存储以及业务数据跨机房多活。

  在硬件层面,整个架构中的数据库服务层计算节点、存储服务层存储节点均采用国产X86服务器实现,均实现虚拟化资源动态管理。两机房间抛弃传统的以太网络通信架构,改用高速的IB数据交换网络实现业务数据跨机房多副本冗余存储、快速读取、传输、同步及多活。在软件层面,通过存储管理软件,对整个架构中X86服务器组成的分布式存储集群进行动态资源池管理。数据库软件部署在分布式存储之上,账务数据强一致性由数据库软件实现,所有数据库节点同时对外提供服务,在单一机房整体故障时,数据对外存取服务不会中断。

  该分布式数据存储平台与云计算、大数据处理等分布式计算平台最大的不同点在于对银行的联机账务交易系统完全透明,交易系统的数据库无需任何改造可直接部署到该平台上,实现业务数据跨机房分布式存储与多活。通过不改造原联机交易系统数据库,规避了分布式架构下交易系统应用程序的数据存取操作、业务逻辑一致性与数据强一致性等改造难题,适用于银行传统联机账务交易系统。在控制好IB交换网络数据传输延时的情况下,该平台具有优异的数据处理性能。

  2.构建分布式强一致性多活数据处理平台

  在分布式多活数据存储平台基础之上,华夏银行构建了分布式强一致性跨楼宇多活数据处理平台(如图所示)。

  该平台主要技术突破点:一是通过同一数据中心双楼宇基础设施冗余,包括机房水、暖、电、空调、通道等实现基础硬件双活保障。二是通过联通和电信双运营商通路接入,双楼宇网络大二层技术改造实现网络双活。三是摒弃传统集中式存储,采用X86服务器构建分布式多活数据存储平台,实现双楼宇分布式存储双活。四是采用X86服务器集群和虚拟化技术,实现双楼宇服务器双活与服务器资源动态部署。五是采用信息系统跨楼宇集群部署、应用服务双楼宇双活均衡接入,实现业务交易自动在双活平台均衡负载。六是采用数据库集群技术,同一个信息系统数据库跨楼宇双活,实现业务数据多副本保存,且所有数据副本同时处于可读写模式。通过该分布式数据处理平台,信息系统的应用接入层、应用处理层、数据处理层、基础硬件层均实现跨楼宇级别真正双活。

  3.业务系统平滑迁移到多活数据处理平台

  华夏银行构建的跨楼宇分布式强一致性多活数据处理平台与银行联机账务交易系统完全兼容,应用系统轻微改造后即可迁移到该平台,实现业务系统跨楼宇多活。应用程序主要的技术改造要点:一是通过应用集群化、模块化、无状态化改造,实现应用系统与服务器、操作系统、数据库等基础软硬件解耦。二是通过对应用接入层、应用服务层改造,实现分布式部署。应用接入层负责前端客户访问的统一接入、交易分发和负载均衡处理;应用服务层进行应用逻辑的处理,实现前端接入层对后端数据处理层的透明访问;应用集群中的所有服务器节点功能对等、运行状态相互独立,均能够依据业务量和系统性能变化按需快速横向扩展,均具备相应的故障判断和自动隔离机制。三是应用接入层与应用服务层硬件全部采用X86服务器,基于虚拟化技术实现资源弹性部署。四是信息系统采用同一数据中心跨楼宇部署实现双活或多活,实现信息系统同类型联机交易负载在双活中心灵活平滑调度。

  4.信息系统的分布式多活实践总结

  华夏银行运用虚拟化、分布式、高速通信网络等技术搭建了跨楼宇分布式多活数据处理平台,实现了信息系统跨楼宇业务多活,探索出了一种适合传统银行业。并以自主可控的分布式业务多活实现模式,确保银行联机账务系统不经改造或轻微改造就能实现跨楼宇业务多活,实现降本增效,对银行业数据中心多活建设具有示范效应。

  下一步发展方向

  虽然华夏银行近年来在分布式业务多活架构上做了一些研究和实践,但仍有许多提升空间。下一步将努力依靠虚拟化、分布式、云计算等技术进一步提升分布式业务多活架构在多数据中心的应用,在银行联机交易账务系统实现同一数据中心跨楼宇分布式业务多活的基础之上,努力拓展,力争实现跨数据中心分布式业务多活。打破传统银行“两地三中心”或“一主一备”模式灾备体系,构建起银行信息系统“两地三中心真正全方位多活”的灾备体系。

  该平台主要技术突破点:一是通过同一数据中心双楼宇基础设施冗余,包括机房水、暖、电、空调、通道等实现基础硬件双活保障。二是通过联通和电信双运营商通路接入,双楼宇网络大二层技术改造实现网络双活。三是摒弃传统集中式存储,采用X86服务器构建分布式多活数据存储平台,实现双楼宇分布式存储双活。四是采用X86服务器集群和虚拟化技术,实现双楼宇服务器双活与服务器资源动态部署。五是采用信息系统跨楼宇集群部署、应用服务双楼宇双活均衡接入,实现业务交易自动在双活平台均衡负载。六是采用数据库集群技术,同一个信息系统数据库跨楼宇双活,实现业务数据多副本保存,且所有数据副本同时处于可读写模式。通过该分布式数据处理平台,信息系统的应用接入层、应用处理层、数据处理层、基础硬件层均实现跨楼宇级别真正双活。

  3.业务系统平滑迁移到多活数据处理平台

  华夏银行构建的跨楼宇分布式强一致性多活数据处理平台与银行联机账务交易系统完全兼容,应用系统轻微改造后即可迁移到该平台,实现业务系统跨楼宇多活。应用程序主要的技术改造要点:一是通过应用集群化、模块化、无状态化改造,实现应用系统与服务器、操作系统、数据库等基础软硬件解耦。二是通过对应用接入层、应用服务层改造,实现分布式部署。应用接入层负责前端客户访问的统一接入、交易分发和负载均衡处理;应用服务层进行应用逻辑的处理,实现前端接入层对后端数据处理层的透明访问;应用集群中的所有服务器节点功能对等、运行状态相互独立,均能够依据业务量和系统性能变化按需快速横向扩展,均具备相应的故障判断和自动隔离机制。三是应用接入层与应用服务层硬件全部采用X86服务器,基于虚拟化技术实现资源弹性部署。四是信息系统采用同一数据中心跨楼宇部署实现双活或多活,实现信息系统同类型联机交易负载在双活中心灵活平滑调度。

  4.信息系统的分布式多活实践总结

  华夏银行运用虚拟化、分布式、高速通信网络等技术搭建了跨楼宇分布式多活数据处理平台,实现了信息系统跨楼宇业务多活,探索出了一种适合传统银行业。并以自主可控的分布式业务多活实现模式,确保银行联机账务系统不经改造或轻微改造就能实现跨楼宇业务多活,实现降本增效,对银行业数据中心多活建设具有示范效应。

  下一步发展方向

  虽然华夏银行近年来在分布式业务多活架构上做了一些研究和实践,但仍有许多提升空间。下一步将努力依靠虚拟化、分布式、云计算等技术进一步提升分布式业务多活架构在多数据中心的应用,在银行联机交易账务系统实现同一数据中心跨楼宇分布式业务多活的基础之上,努力拓展,力争实现跨数据中心分布式业务多活。打破传统银行“两地三中心”或“一主一备”模式灾备体系,构建起银行信息系统“两地三中心真正全方位多活”的灾备体系。

分享至微信 分享至微博

Connecting The World

每周精选

神州信息助上海华瑞银行"1+1+N"实践落地
麦肯锡发布报告称"大数据"成零售银行制胜之道
高盛报告:中国金融科技崛起——作为生态系统入口的支付
银监会:正在起草 《商业银行破产风险处置条例》
2017中国银行业发展报告:银行业稳健发展 未来将保持10%增速