Spark & Flink我是程序员阿里云

基于Flink和规则引擎的实时风控解决方案

2019-09-26  本文已影响0人  阿里云云栖号

案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总

对一个互联网产品来说,典型的风控场景包括:注册风控、登陆风控、交易风控、活动风控等,而风控的最佳效果是防患于未然,所以事前事中和事后三种实现方案中,又以事前预警和事中控制最好。

这要求风控系统一定要有实时性。

本文就介绍一种实时风控解决方案。

1.总体架构

风控是业务场景的产物,风控系统直接服务于业务系统,与之相关的还有惩罚系统和分析系统,各系统关系与角色如下:

其中风控系统分析系统是本文讨论的重点,而为了方便讨论,我们假设业务场景如下:

2.风控系统

风控系统有规则模型两种技术路线,规则的优点是简单直观、可解释性强、灵活,所以长期活跃在风控系统之中,但缺点是容易被攻破,一但被黑产猜到里面就会失效,于是在实际的风控系统中,往往再结合上基于模型的风控环节来增加健壮性。但限于篇幅,本文中我们只重点讨论一种基于规则的风控系统架构,当然如果有模型风控的诉求,该架构也完全支持。

规则就是针对事物的条件判断,我们针对注册、登陆、交易、活动分别假设几条规则,比如:

规则可以组合成规则组,为了简单起见,我们这里只讨论规则。

规则其实包括三个部分:

规则可由运营专家凭经验填写,也可由数据分析师根据历史数据发掘,但因为规则在与黑产的攻防之中会被猜中导致失效,所以无一例外都需要动态调整。

基于上边的讨论,我们设计一个风控系统方案如下:

该系统有三条数据流向:

本节先介绍前两部分,分析系统在下一节介绍。

2.1 实时风控

实时风控是整个系统的核心,被业务系统同步调用,完成对应的风控判断。

前面提到规则往往由人编写并且需要动态调整,所以我们会把风控判断部分与规则管理部分拆开。规则管理后台为运营服务,由运营人员去进行相关操作:

讲完管理后台,那规则判断部分的逻辑也就十分清晰了,分别包括前置过滤、事实数据准备、规则判断三个环节。

2.1.1 前置过滤

业务系统在特定事件(如注册、登陆、下单、参加活动等)被触发后同步调用风控系统,附带相关上下文,比如IP地址,事件标识等,规则判断部分会根据管理后台的配置决定是否进行判断,如果是,接着进行黑白名单过滤,都通过后进入下一个环节。

这部分逻辑非常简单。

2.1.2 实时数据准备

在进行判断之前,系统必须要准备一些事实数据,比如:

redis/hbase的数据产出我们会在第2.2节准实时数据流中进行介绍。

2.2.3 规则判断

在得到事实数据之后,系统会根据规则和阈值进行判断,然后返回结果,整个过程便结束了。

整个过程逻辑上是清晰的,我们常说的规则引擎主要在这部分起作用,一般来说这个过程有两种实现方式:

这两种方案都支持规则的动态更新。

2.2 准实时数据流

这部分属于后台逻辑,为风控系统服务,准备事实数据。

把数据准备与逻辑判断拆分,是出于系统的性能/可扩展性的角度考虑的。

前边提到,做规则判断需要事实的相关指标,比如最近一小时登陆次数,最近一小时注册账号数等等,这些指标通常有一段时间跨度,是某种状态或聚合,很难在实时风控过程中根据原始数据进行计算,因为风控的规则引擎往往是无状态的,不会记录前面的结果。

同时,这部分原始数据量很大,因为用户活动的原始数据都要传过来进行计算,所以这部分往往由一个流式大数据系统来完成。在这里我们选择Flink,Flink是当今流计算领域无可争议的No.1,不管是性能还是功能,都能很好的完成这部分工作。

这部分数据流非常简单:

通过把数据计算和逻辑判断拆分开来并引入Flink,我们的风控系统可以应对极大的用户规模。

3.分析系统

前面的东西静态来看是一个完整的风控系统,但动态来看就有缺失了,这种缺失不体现在功能性上,而是体现在演进上。即如果从动态的角度来看一个风控系统的话,我们至少还需要两部分,一是衡量系统的整体效果,一是为系统提供规则/逻辑升级的依据。

在衡量整体效果方面,我们需要:

在为系统提供规则/逻辑升级依据方面,我们需要:

这便是分析系统的角色定位,在他的工作中有部分是确定性的,也有部分是探索性的,为了完成这种工作,该系统需要尽可能多的数据支持,如:

这是一个典型的大数据分析场景,架构也比较灵活,我仅仅给出一种建议的方式。

相对来说这个系统是最开放的,既有固定的指标分析,也可以使用机器学习/数据分析技术发现更多新的规则或模式,限于篇幅,这里就不详细展开了。

4.参考资料

1.从 Drools 规则引擎到风控反洗钱
2.基于Groovy的规则脚本引擎实战
3.基于规则的风控系统
4.网易严选风控实践
5.网易考拉规则引擎平台架构设计与实践
6.一个开源java风控系统



本文作者:付空

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

上一篇下一篇

猜你喜欢

热点阅读