高并发风控技术解密(上)

风控在任何一个公司都是比较神秘的存在,不仅线上很少分享,从安全角度讲也很少对外披露它的架构及设计。本人将就参与的风控建设谈谈风控的技术。(本文来源于本人内部分享PPT,仅从技术角度探讨风控体系建设,不涉及公司内部机密,限于篇幅,一些细节没能交待完整)

风控架构演进

  经过1年多风控系统的建设,已经将公司内部风控系统从业务代码为主的风控架构改造为了平台化为主的2代架构,进而改造成为动态化及离线数据模型化的2.5代架构,正在向深度学习,在线数据模型的3代架构上演变。

  不得不说,与阿里,腾讯,京东等大厂相比,公司的风控体系还相对比较薄弱,但在有限的资源下将整个体系建设推进到目前的程度已经比较满意。

 技术架构

首先来看目前风控的技术架构,从业务及架构层面将风控划分为五大体系:分别是存储体系,识别体系,支撑体系,运营体系,数据计算体系。

  其中存储体系包括hbase,mysql,redis,es,hive,实际上都利用了现有的框架或开源项目。

  识别体系包括控制平台(控制系统,批处理系统,决策系统,总线系统),处罚平台(处罚系统),分析平台(规则系统,模型系统), 数据平台(数据系统,运营数据系统)。

  支撑体系主要是指后台配置系统。

  运营体系主要是指风控运营系统,kibana报表系统。

  数据计算体系主要指大数据及离线计算平台及基于其上的数据分析业务。

  其调用关系如下图:

 业务架构

其次,来看整个系统的业务架构。目前已经初步具备的

  业务能力有,营销作弊,交易欺诈,登录注册防控,内容防控

  数据模型能力有,用户画像及风险评级,关联反查,风险大盘,各类报表等

  运营能力有,用户预警,商户预警,案件审核,综合信息查询

  并且基于现有的数据,分类整理并形成了自身的数据资产,分别为名单类,用户类,设备类,环境类,位置类。

风控系统的性能表现

  下图是生产环境压测效果,采用12000用户并发压测得到约8w TPS,平均响应时间为141ms,错误率在万分之五。

  其中积累的有效请求达到1.7亿,数据量达8TB

风控系统建设的难点

灵活高效的接入:通常只有1周甚至更短时间,业务复杂多样;如何减少发版失误和事故

极短的响应时间:业务通常只给100ms,最多200ms的超时

并发吞吐要求高:接入业务较多,调用量大;有的业务用风控抵挡攻击

大量数据处理:数据量相对较大,如何有效利用;数据查询回溯要求较高

对抗升级:攻击者不停猜测内部规则;数据如何为对抗服务

大促稳定性:如何保证调用量增加后不宕机;如何在出问题情况下依然服务

  下篇将针对这些难点一一详细描述如何去解决。

What else?

多租户及开放平台服务

由于公司内部有多个子公司都想通过风控系统去自行控制,因而将数据隔离的多租户就尤为重要了,对于不同的租户而言,使用的是同一个平台同一套系统,但是所有的界面,数据计算,报表都只会看到本租户下的数据,而不能越权到其他租户,多租户本质上是一种权限控制,但是相比权限,其隔离更深更彻底。

另外,由于风控积累数据及服务已经较多,许多外部系统都想共享风控的数据和服务,将风控的部分业务作为开放平台提供服务也是深化风控改造的重要步骤。

规则效能分析

对于规则的设定只能凭经验,规则到底定得好不好也需要有数据衡量,规则效能分析就是用来衡量规则有效性的手段。

基于神经网络的反欺诈

基于这篇论文,将每次session的点击序列输入RNN,提供适当风险样本,让其识别风险session《Session Based Fraud Detection》反欺诈这方面可以做得更多,但是神经网络在可解释性方面太差,这种场合被控了申述时毫无反驳理由。不过不失为一个判断依据。

智能运维

对于线上系统,从智能运维到智能决策,从熔断到自愈,寄往于系统可以做到自动决策,某些问题自动修复。

TimeWheel算法

  对于风控这种时效要求较高的应用,需要在请求时控制超时。通常,这种控制超时的方式是新起一个线程,通过控制线程的执行时间来控制超时,在大压力时,大量线程会给整个系统的CPU切换带来负担,能否只用一个线程控制所有超时的计算,这样一来,将大大减小线程数量,将CPU负载降低。

  如下是一种称为Timewheel的算法,实际上是模仿TCP发送包之后用来计算超时的算法,试想,如果操作系统底层对每个tcp包都新建一个线程来计时,那操作系统早挂了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏陈树义

如何写出别人看得懂的技术文章?

说起写博客,我从 2014 年毕业开始就有写博客的习惯,只不过当时写的博文更多是像记笔记,读者看下来迷迷糊糊的。我开始真正意义上的写博客应该是从 2017 年 ...

922
来自专栏鹅厂网事

弹性服务器架构-连接一切的力量

一颗芯片,寄存器通过总线向运算器输送数据。一台服务器,内存通过DDR总线与处理器完成数据互动。一个数据中心,存储集群通过以太网与计算集群形成对数据流的处理和加工...

7.5K11
来自专栏ThoughtWorks

业务分析实践:10个常见问题 | TW洞见

今日洞见 本文作者:ThoughtWorks-亢江妹。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人...

3359
来自专栏程序人生

在多维数据分析模型的路上越走越远

数据分析和可视化一直是大数据时代的热门话题。如今这一个数据为王的时代,当你使用某个产品,划划手指,动动鼠标,甚至一颦一笑都会被记录下来,送至服务器。然而,大量的...

3586
来自专栏大数据文摘

你应该了解的数据分析入门知识

1636
来自专栏青枫的专栏

day48_项目管理学习笔记

532
来自专栏崔庆才的专栏

GitHub 最大更新:直接运行代码;人工智能凉了?年度报告揭示真相

很简单,以后你不光能在 GitHub 上存储和搜索代码,而且还能直接运行部分代码。这个期待已久的更新获得一致好评。详情如何,下面我们会仔细说。

531
来自专栏互联网杂技

如何做出优雅的搜索功能?

前言 搜索从宏观上来看有两种,一种是搜索引擎,另一种是垂直搜索。搜索引擎有 Google,Bing,百度,搜狗等等,而垂直搜索则是在大多数产品内置的对内容的检...

2836
来自专栏JAVA高级架构

【干货】阿里资深无线技术专家孙兵谈闲鱼社区技术架构演进

近期在ArchSummit北京会议上,阿里巴巴资深无线技术专家孙兵(花名酒丐)发表了《网格社区-闲鱼技术架构演讲》主题演讲。孙兵2011年加入阿里巴巴,先后在B...

814
来自专栏PPV课数据科学社区

【方法】电商数据分析方法:分拆,跟着用户走

在理解了要选择怎样的指标来衡量各项业务之后,我们可以对业务有一个客观和全面的把握,可是数字本身无法告诉我们发生了什么事情,怎样可以改进。为了得到更深入的信息,我...

2793

扫码关注云+社区