vlambda博客
学习文章列表

一文理解流式计算平台在银行业的应用

1 流式计算平台




大数据3.0时代下,流式处理已经成为一种趋势。以Spark、Flink、Beam为代表的流式计算框架已成为业界计算服务的优先选择。


大部分数据的产生过程都是随时间生成的流。这些数据通常都是一些事件的积累,比如支付、将商品放入购物车,网页浏览采样输出等。将过去的历史数据看作是有前后截止日期的有限流,或是将实时处理看作是从某一个时刻开始准备处理未来到达的数据,直至停止时刻从而形成有限流,这就是流式计算的思想。


1.1 流式计算平台业务架构



流处理平台提供基础的数据采集、接收、过滤解析、实时规则计算、存储和分析挖掘功能,以此为基础构建实时营销平台、实时风险预警平台进行业务逻辑加工,行内的各个渠道系统、信贷系统、IT运营监控系统、运营风险监测通过订阅方式获得实时处理后的数据,满足IT运营实时监控、客户行为分析、交易反欺诈、授信评审与贷后预警、运营风险监测等方面的业务需求。



根据“集中采集、集中计算处理、集中发布订阅”决策的优势和正确性,同一份渠道系统交易数据可以用于运维监控,可以用于用户行为分析,可以用于交易反欺诈核验,可以放在此用户的贷后预警模型里,将数据同源系统解耦,不同的业务只需要响应增加逻辑规则配置即可,而不是像原有模式分别在源系统里面增加业务,增加开发和投产任务。


1.2 流式计算平台系统架构



流式计算是一种专门针对流数据处理的实时计算模型。该计算模型具备了对海量、流式、实时大数据进行瞬时捕获、处理与计算的能力。流式计算通过对海量流式大数据的实时采集与实时计算,来协助业务系统平台实时感知外界变化,包括从事件流驱动数据流的产生、从数据流的输入感知到变化、到最后输出计算结果并主动推送展示,整个过程可以在毫秒级内完成。


一文理解流式计算平台在银行业的应用


1.3 流式计算平台处理流程



●数据采集:节点多;网络结构复杂,横跨多中心所有网段;采集功能覆盖性强,能够满足日志、进程资源信息、接口服务信息、库表信息、外部爬虫数据实时采集,在日志采集方面覆盖所有日志打印方式,最大支持同时维护三百个日志文件;任务调度和监控方便,所有任务统一配置,实时更新,支持客户端自动批量发版,客户端运行状态监控完善。


一文理解流式计算平台在银行业的应用


●数据接收和预处理:基于规则引擎和流式处理框架实现,提供可视化规则配置页面和拖拽式流程配置,业务人员可以直接配置,不需要编程开发,支持复杂规则逻辑,支持弹性扩容,绝大多数基于流数据的逻辑处理时间小于100ms。


●流计算:基于规则引擎和流式处理框架实现,提供可视化规则配置页面和拖拽式流程配置,业务人员可以直接配置,不需要编程开发,支持复杂规则逻辑,支持弹性扩容,绝大多数基于流数据的逻辑处理时间小于100ms。


●数据存储和检索:接收和存储采取异步处理,在多个存储节点条件下支持接近100M/S写入速度,通过自动分表,当月日志元数据结合全文检索检索皆在3秒以内。



 2 流式计算应用场景




2.1 智能经营决策支持



流式计算能够有力推动信用卡业务经营决策支持进一步向实时化、精细化、智能化方向发展,具体表现在以下几个方面:


第一,新产品发行的后评价。流式计算平台能够从客户申请流数据中实时统计新产品发行后各个渠道的累计对应申请量、申请客户的结构与质量等,便于决策者能够及时优化、调整新产品的申请渠道、产品宣传的策略以及产品后续的升级方向等。


第二,市场营销活动开展的后评价。流式计算平台能够从客户交易流数据中实时筛选并统计出参与营销活动签约商户的对应交易量 笔数和金额等,便于决策者能够及时评估营销策略、调整营销活动部署并将数据统计情况与相关营销活动签约商户进行反馈与沟通。


第三,更细粒度地收集一般系统未考虑、也很难进行保存的客户行为类数据。流式计算平台可以实时收集并统计客户与发卡银行的掌银 APP 之间的行为交互数据。例如,客户对页面上放置的哪类产品或营销活动介绍的关注度高、点击次数多,哪些页面功能的使用率高,客户在掌银 APP 内的平均访问路径长度,哪些配色和哪种图片风格的页面更容易受到客户的点击浏览等。这些数据对于发卡银行后续调整掌银 APP 的频道菜单设置与页面布局、风格设计、图片搭配,营销活动的推送顺序及热门营销活动的页面摆放位置、受客户欢迎的实用功能访问的路径长度设计等,均具有关键性的参考意义。


第四,日常业务运营情况实时汇总。流式计算平台可以实时采集客户使用掌银 APP、网银等银行与客户间主要线上交互渠道的具体情况并进行分类汇总统计,包括日新增 APP 下载量、日新增用户量、日活跃用户量、页面日访问量、用户日均登陆次数、用户日均在线时长、最高在线客户数、日均在线客户数、日金融性交易笔数、日金融性交易额等指标。通过每日的实时运营数据的汇总展示,可以让决策者掌握最新的客户行为动向,为后续进一步策划出针对客户引流、促活与促销的不同形式的促销活动提供决策依据。


2.2 理财产品的精准营销



通过运用大数据分析技术分析用户上网行为特征,并在合适的时间、合适的地点向用户推荐合适的内容,从而提升用户感知、增加用户粘性。通过对用户的行为数据进行分析,建立用户标签库,对用户进行画像。通过数据挖掘算法发现目标用户群以及用户的触点事件,建立相应的营销规则,当事件发生时触发实时营销动作。这是一个需要不断更新和完善的过程,通过建立正确的营销反馈体系和良好的反馈机制,使实时营销更加精准。


2.3 实时风控及实时反欺诈



在线支付平台都会引入一套基于规则的线上决策平台,配合以线下的数据分析结果,实现实时的在线支付的风险检查。能够针对于每一笔交易,通过平台所拥有的与用户或者交易相关的数据,运用线下的模型和线上的规则,能够在毫秒的时间之内发现和定位可疑的交易。但是与此同时,分布式平台是否稳定,规则的制定是否与预期相符,或者在单一的交易样本中无法发现的更深层的原因,这些是摆在在线支付风险控制平台面前的一个大难题。在此情况下,基于在线支付风险控制领域海量数据下基于流计算的实时的分析和监控系统应运而生。其原理是通过采集分布式风险控制平台上的每一台服务器的相关日志文件,在流处理中进行解析和分析,再将分析的结果通过 web 或者告警的方式展现给终端用户。


一文理解流式计算平台在银行业的应用


2.4 安全监控



网络安全中的用户行为分析是指通过分析用户数据(例如交易数据,用户登录数据),找出异常行为以检测外部及内部人士的攻击活动。外部攻击通常是由外部黑客通过破解 VPN 密码并夺取员工帐户的方式实现,内部攻击则往往表现为心存不满的或者即将离职的员工对敏感信息的窃取。分析的源数据通常表现为多种数据类型,例如服务器数据、网络数据、数据库数据、应用程序数据、安全数据等。这些数据被送入用户行为分析系统,输出用户正常行为和异常行为(内 / 外部攻击)。


2.5 银行实时存贷款规模系统



银行的业务主要是围绕存贷款来展开,资产负债的资本管理、流动性管理、定价管理、规模管理、错配管理、利率风险管理等是银行面临的重大课题。及时准确地掌握资金的进出和当前存贷款规模的变化情况对资产负债管理具有重大的意义。因此,对资金变化的跟踪,尤其是大额资金的变动情况,需要较高的时效性,最好能够实时地监控各项存贷款规模指标的变化情况。银行实时存贷款规模系统利用大数据实时处理技术实现了银行存贷款规模的秒级实时计算与展示,为有关决策提供了强有力的数据支持。


一文理解流式计算平台在银行业的应用


3 流式计算框架技术选型




大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)等,分别适用于不同的大数据应用场景。对于先存储后计算,实时性要求不高,同时数据规模大、计算模型复杂的应用场景,更适合使用批量计算。对于无需先存储,可以直接进行数据计算,实时性要求严格,但单次计算涉及数据量相对较小的应用场景,流式计算具有明显优势。与传统批量计算相比,流式计算的特点主要有以下几方面:


无边界:数据到达、处理和向后传递均是持续不断的。


瞬时性和有限持久性:通常情况下,原始数据单遍扫描,只有计算结果和部分中间数据在有限时间内被保存和向后传递。


价值的时间偏倚性:随着时间的流逝,数据中所蕴含的知识价值往往也在衰减,即流中数据项的重要程度是不同的,最近到达的数据往往比早先到达的数据更有价值。



不同的流式计算框架及其特点




目前主流的流式计算框架有Storm、Spark Streaming、Flink三种,其基本原理如下:


3.1  Apache Storm



以单事件来处理数据流(所有记录一个接一个处理),延迟性低(毫秒级),但消息保障能力弱,消息传输可能重复但不会丢失,Storm在运行中可分为spout与bolt两个组件,Spout是Stream的消息产生源,Bolt类接收由Spout或者其他上游Bolt类发来的消息,对其进行处理,以实现业务逻辑。Storm运行的应用程序叫做拓扑(Topology),拓扑中定义了Spout和Bolt的组合关系。


一文理解流式计算平台在银行业的应用


3.2  Apache Spark Streaming



属于Spark API的扩展,以设定的时间间隔(如几秒种)处理一段段的批处理作业(即“微批处理”)。这种框架的延迟性较高(秒级),但能够保证消息传输既不会丢失也不会重复,spark程序是使用一个spark应用实例一次性对一批历史数据进行处理,spark streaming是将持续不断输入的数据流转换成多个batch分片,使用一批spark应用实例进行处理。


一文理解流式计算平台在银行业的应用


3.3  Apache Flink



针对流数据+批数据的计算框架。把批数据看作流数据的一种特例,延迟性较低(毫秒级),且能够保证消息传输不丢失不重复,Flink创造性的统一了流处理和批处理,作为流处理看待时输入数据流是无界的,而批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。Flink程序由Stream和Transformation这两个基本构建块组成,其中Stream是一个中间结果数据,而Transformation是一个操作,它对一个或多个输入Stream进行计算处理,输出一个或多个结果Stream。


一文理解流式计算平台在银行业的应用


4 三种计算框架对比




三种实时计算框架的对比如下:


一文理解流式计算平台在银行业的应用


从上述指标对比可以看出,Flink作为流式处理框架中的新兴之秀,兼具了storm的低延迟和spark的高吞吐、高消息保障特性。随着框架成熟度和社区活跃度越来越高,目前Flink已在国内外各大企业中有很多成功应用,很多企业纷纷将原有基于storm、spark streaming框架的流式计算系统转投为基于Flink,Flink成为当下流式计算框架的首选。




作者介绍


臧爽,2010年毕业于青岛科技大学,现任职于北银金融科技有限责任公司大数据开发部。主要擅长海量数据离线/实时处理及性能调优,精研基于Hadoop生态圈的金融大数据实践。


吴长波,2018年毕业于哈尔滨信息工程学院,现任职于北银金融科技有限责任公司大数据开发部。主要擅长基于Flink的大数据流式计算技术,金融领域大数据模型分析、加工和应用。


一文理解流式计算平台在银行业的应用



招聘启示



北银金融科技有限责任公司根植于北京银行,是一家致力于大数据、人工智能、云计算、区块链、物联网等新技术创新与金融科技应用的科技企业,公司充分发挥北京银行企业文化和技术积淀先天优势,通过对技术、场景、生态的完美融合,输出科技创新产品和技术服务


现诚邀优秀人才加盟,共享金融科技时代硕果


扫描此二维码

期待您的加入