Spark的风控系统架构实践

  商家反刷单系统利用京东自建的大数据平台,从订单、商品、用户、物流等多个维度进行分析,分别计算每个维度下面的不同特征值。通过发现商品的历史价格和订单实际价格的差异、商品SKU销量异常、物流配送异常、评价异常、用户购买品类异常等上百个特性, 结合贝叶斯学习、数据挖掘、神经网络等多种智能算法进行精准定位。

  而被系统识别到的疑似刷单行为,系统会通过后台离线算法,结合订单和用户的信息调用存储在大数据集市中的数据进行离线的深度挖掘和计算,继续进行识别,让其无所遁形。而对于这些被识别到的刷单行为,商家反刷单系统将直接把关联商家信息告知运营方做出严厉惩罚,以保证消费者良好的用户体验。

  前端业务系统发展到今天,已经基本覆盖了交易环节的全流程,从各个维度打击各种侵害消费者利益的恶意行为。

  4.后台支撑系统

  天网作为京东的风控系统,每天都在应对不同特性的风险场景。它可能是每分钟数千万的恶意秒杀请求,也可能是遍布全球的黄牛新的刷单手段。天网是如何通过底层系统建设来解决这一个又一个的难题的呢?让我们来看一看天网的两大核心系统:风险信用服务(RCS)和风控数据支撑系统(RDSS)。

  1风险信用服务

  风险信用服务(RCS)是埋藏在各个业务系统下的风控核心引擎,它既支持动态规则引擎的高效在线识别,又是打通沉淀数据和业务系统的桥梁。它是风控数据层对外提供服务的唯一途径,重要程度和性能压力不言而喻。

物联网

  1.1 RCS的服务框架

  RCS作为天网对外提供风控服务的唯一出口,其调用方式依赖于京东自主研发的服务架构框架JSF,它帮助RCS在分布式架构下提供了高效RPC调用、高可用的注册中心和完备的容灾特性,同时支持黑白名单、负载均衡、Provider动态分组、动态切换调用分组等服务治理功能。

  面对每分钟千万级别的调用量,RCS结合JSF的负载均衡、动态分组等功能,依据业务特性部署多个分布式集群,按分组提供服务。每个分组都做了跨机房部署,最大程度保障系统的高可用性。

  1.2 RCS动态规则引擎的识别原理

  RCS内部实现了一套自主研发的规则动态配置和解析的引擎,用户可以实时提交或者修改在线识别模型。当实时请求过来时,系统会将实时请求的数据依据模型里的核心特性按时间分片在一个高性能中间件中进行高性能统计,一旦模型中特性统计超过阀值时,前端风控系统将立刻进行拦截。

  而前面我们所说的高性能中间件系统就是JIMDB,它同样是自主研发的,主要功能是基于Redis的分布式缓存与高速Key/Value存储服务,采用“Pre-Sharding”技术,将缓存数据分摊到多个分片(每个分片上具有相同的构成,比如:都是一主一从两个节点)上,从而可以创建出大容量的缓存。支持读写分离、双写等I/O策略,支持动态扩容,还支持异步复制。在RCS的在线识别过程中起到了至关重要的作用

  1.3 RCS的数据流转步骤

  风险库是RCS的核心组件,其中保存有各种维度的基础数据,下图是整个服务体系中的基本数据流转示意图:

物联网

  1) 各个前端业务风控系统针对各个业务场景进行风险识别,其结果数据将回流至风险库用户后续离线分析及风险值判定。

  2) 风险库针对业务风控识别进过数据进行清洗,人工验证,定义并抽取风控指标数据,经过此道工序风险库的元数据可以做到基本可用。

  3) 后台数据挖掘工具对各来源数据,依据算法对各类数据进行权重计算,计算结果将用于后续的风险值计算。

  4) 风险信用服务一旦接收到风险值查询调用,将通过在JIMDB缓存云中实时读取用户的风控指标数据,结合权重配置,使用欧式距离计算得出风险等级值,为各业务风控系统提供实时服务。

  1.4 RCS的技术革新与规划

  进入2015年以后,RCS系统面临了巨大的挑战。首先,随着数据量的不断增大,之前的处理框架已无法继续满足需求,与此同时不断更新的恶意行为手段对风控的要求也越来越高,这也就要求风控系统不断增加针对性规则,这同样带来不不小的业务压力。