设为首页 | 收藏本站 | 关于我们 | 广告服务
 
 
当前位置:首页 > 中国金融电脑 > 2016年8月
流数据处理技术的探索与实践

  中国工商银行软件开发中心上海开发一部副总经理 夏知渊

  自2012年起,“大数据”的概念被广泛宣讲和传播,且随着阿里、百度、腾讯等国内互联公司在该领域内的一些实践案例分享,“大数据”相关理论、技术等都受到高度关注。

  大数据究竟是什么?较为常见的定义是4+1个V,Volume(容量)、Velocity(速度)、Variety(多样性)、Veracity(真实性),以及Value(价值)——能够“快速”“收集”、“存储”以及“处理”“大量”的多种“不同来源和类型”的“真实”数据,并能够在不同层面加以应用,进而创造“价值”。因此“大数据”不仅仅具有“大”这一个特征。

  一、流数据处理技术的兴起

  经过近几年的发展,大数据已不再仅仅是一个流行概念,它在各个行业的细分领域中都已经有了具体实践。例如,金融行业通过“大数据”建设,不仅在反洗钱、风险控制、客户关系管理、客户行为分析、公司经营状况分析等传统数据分析能力上得到了有效提高,并且正在逐步延伸至外部互联网信息,用于满足实时欺诈风险控制、品牌管理、舆情监测等需求。这些“大数据”能力从外部特征上略有不同,有些是嵌入交易过程中的“实时”处理能力,例如,在信用卡交易过程中实现伪冒卡识别和交易阻断;有些是事件发生后需要分钟级“准实时”响应的,例如,对金融市场突然出现的黑天鹅事件快速侦测和响应;还有些是整合各类信息进行反复演算的模型分析和学习,例如,人工智能客服的日常训练与学习。因此,在繁荣的大数据技术生态体系中进化出种类繁多、应对不同特征需要的技术组件,其中流式数据处理技术(或者称为实时计算技术)是针对“实时”、“准实时”的大数据需求逐步发展和壮大起来的一个重要分支,以下是流式数据处理技术(实时计算技术)的定义以及几种常用的技术组件和框架。

  1.流数据处理技术定义及逻辑框架

  流数据处理技术即面向一组顺序、大量、快速、连续到达的数据序列进行快速的实时计算的技术,主要由数据快速收集、实时计算和数据存储/访问三部分构成,数据通过数据快速收集模块接入,然后进行实时计算,计算过程中读取或者持久化所需数据。流数据处理逻辑框架如图1所示。

  2.常用技术组件

  常用技术组件包括队列技术(为整个技术框架提供异步队列服务)(见表1);分布式实时计算(见表2);数据存储与访问的NoSQL数据库(见表3);资源控制与内部调度(见表4)。

 

  二、工商银行流式数据处理平台的建设

  为了满足越来越多的流式数据实时、准实时计算的业务场景需要,流式数据处理技术及相关平台建设工作被纳入了工商银行“IT架构转型”工作中。

  1.平台定位

  该平台与传统的批量服务模式的大数据平台并列,面向流式数据的准实时、实时计算的大数据服务,丰富大数据服务手段,被命名为“流处理平台”(如图2所示)。

  2.平台总体架构

  平台主要由信息接收集群、信息队列集群、模型计算集群、数据存储集群构成;各集群都采用了分布式架构实现,避免平台内出现性能瓶颈和单点;信息在上下游处理模块之间通过轮询方式实现负载均衡,并以异步方式为主进行通信。其中信息接收集群主要负责流式数据和高频日志文件的接收,并将数据装载至异步处理队列中;内存数据库负责存储静态数据,并提供给模型计算使用;模型计算集群负责各类复杂计算和处理,并将结果进行输出;HDFS集群主要负责数据持久化以及内部日志数据存储;资源管理集群用于监控系统内各进程的健康度。平台总体架构如图3所示。

  3.关键技术选型与设计

  (1)NoSQL数据库选型

  在流式数据处理框架中,需要一个支持高并发读写请求的数据库。传统的RDBMS类型数据库在横向扩展能力上存在一定局限性,影响了其吞吐能力的提升,因此在流平台搭建时工商银行对业内主流的开源NoSQL数据库技术进行了评估和选型,主要包括MongoDB、Redis、Tair、Hbase等。按优先级自高到低,从吞吐能力、高可用、事务能力等角度,选择了基于内存的Redis。Redis是业内普遍使用的内存数据库,其吞吐能力、扩展能力、高可用性均较为优秀,目前Cluster版本基本进入稳定期,可以在底层更好地实现分布式集群。

  (2)日志诊断设计

  由于流平台总体采用分布式架构,集群内负责各类功能的设备数量较多,各进程的运行日志分散在集群内各个角落,需要有一套完整的日志收集和高效的日志分析工具来提升系统的可维护性。平台采用了Flume、Spark技术进行日志收集和分析,其中在集群各设备上部署Flume客户端,将设备上产生的日志定时传输至HDFS上,然后通过Spark以批量5分钟分析一次的方式对日志中的信息进行分析,判断集群的运行状况。

  (3)资源管理模块

  为了确保集群的正常工作,平台通过资源管理模块进行集群管理,该模块借助开源的ZooKeeper实现,主要包含ZooKeeper、Manager、Restorer,可以实现包括平台内进程高可用和灰度发布功能。

  高可用方面,由于在平台中通常会部署成百上千个进程,若以每个进程每年出现一次故障来计算,整合集群中每天可能会有数个进程发生单点故障,因此将平台中的每个进程均纳入资源管理模块(RMP)进行进程高可用管理,集群内各个进程均会在ZooKeeper指定的目录下创建一个会话节点,并与ZooKeeper建立心跳。另一个Manager进程则会对整个目录进行监控,当某个组件发生故障时,它与ZooKeeper之间的心跳会超时,ZooKeeper会自动清除由该组件创建的会话节点,此时监控着整个目录的Manager进程则会收到ZooKeeper的通知,并将故障信息写入进程状态信息表(数据库内)。Restorer进程负责定时扫描状态信息表,比对出发生故障的组件信息,并通过SSH协议重新恢复故障组件。整个故障检测和恢复均为自动化过程,无需人工干预。

  灰度发布能力方面,通过在进程状态信息表中新增和修改进程信息,Restorer进程定时扫描后,通过SSH部署新的功能组件以及停止旧的功能组件。平台具备该能力后,发布过程可以实现不断放量模式,借此让产品新功能逐步上线,问题逐渐暴露,同时又不影响全部用户,通过产品的不断改进,最终使产品最大程度地稳定、符合用户要求。

  (4)灾备设计

  由于流平台自身采用分布式架构,其通过资源管理模块较好做到了资源的隔离与分配、服务调度、灰度发布等功能,并通过数据异步增量复制方式确保低延时的数据最终得到一致性保障,因此其可根据需要灵活配置主备或者双(多)活的灾备方案。

  三、工商银行流式数据处理平台的应用

  工商银行流平台建立了一种新的信息服务模式,为客户营销、风险监控、客户服务、交易监控等业务领域提供异步准实时信息处理和推送功能,可提高各业务领域的服务时效和用户体验。

  (1)对客消息通知:日均处理上亿笔个人交易信息,实现了0.5亿条个人余额提醒短信发送,平均处理时效在1秒内,较主机处理时效缩短一半以上,大大提升了客户用户体验。

  (2)全行系统交易监控:日均对工商银行几亿笔各类交易进行运行情况监控,实现了分钟级的交易系统瞬时交易量、累计交易量、交易成功率等各类分析、诊断类指标监控,丰富了监控指标的范围和种类,很好地提升了现有监控体系性能,降低了相关设备成本投入。

  (3)交易风险监控:基于名单布控、交易模型筛选等方式,实现了个人活期账户、信用卡账户的资金交易监控。通过抓取贷款客户交易行为特征,快速应对资金流向异常、交叉逾期、异常还款等风险行为,及时通过授信降额等手段进行干预,实现不良率压降,最大限度保障工商银行资金安全。

  (4)客户营销及关系维护:通过事件触发捕捉客户交易行为,为客户事件式营销、客户维系和挽留、客户风险监控等领域提供快速信息服务,快速应对不断变化的市场场景。

  随着全球信息化高速发展,以及未来社会“互联网+”模式的不断深化,实时地、更智能地向客户提供各类服务的能力将成为金融服务企业基本竞争力的重要组成部分。可以预见,流数据处理技术将在各行业得到广泛的使用,工商银行将在该技术领域做好持续建设,搭建起流数据服务的云平台,为客户和自身创造更大的价值。

 
过刊查询
2022年03月 2022年02月 2022年01月
2021年12月 2021年11月 2021年10月
2021年09月 2021年08月 2021年07月
2021年06月 2021年06月 2021年05月
查看所有过刊
本期精选
《中国金融电脑》2016年8月目录
流数据处理技术的探索与实践
银行大数据体系建设的思考和实践
基于大数据技术的机器人投资顾问模式探讨..
商业银行大数据的应用现状与发展研究
 
企业简介 | 版权声明 | 免责声明 | 频道介绍 | 安全提示 | 法律顾问 | 网上投稿 | 客服电话 | RSS订阅
Copyright © 2005 Fcc.Com.Cn, All Rights Reserved. ,《中国金融电脑》杂志社版权所有
电话:010-51915111-805 传真:010-51915236,网络出版服务许可证(署)网出证(京)字第337号
京ICP备14024077号-1 京公安网备:11010802025321 技术支持:站多多