NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

天盾风控 3.0 系统剖析及 618 总结

  • 2020-03-22
  • 本文字数:2213 字

    阅读完需:约 7 分钟

天盾风控3.0系统剖析及618总结

天盾风控系统简介

天盾是保障京东商城及金融主要业务安全运行的风控系统,已接入业务场景达 200 多个,主要接入场景类型如下:


  • 授信安全

  • 支付业务

  • 营销系统

  • 账户安全

  • 支持各种验证方式


1、天盾风控系统架构


接入的业务系统调用天盾时,天盾实时获取指标,指标通过指标加工系统生成,系统根据指标实时计算风险结果,返回上游系统。



2、天盾内部系统


  • 设备指纹


针对京东 PC 及 H5 页面采集设备信息报送天盾。


  • 食蚁兽系统


食蚁兽系统是风控实时统计平台,适用于各种流式计算,可进行高密集,多维度,可伸缩,配置灵活的复杂计算的统一平台。


  • 天盾引擎


天盾风控实时计算引擎,实时收集计算指标,并根据指标执行规则和模型,生成实时风险结果返回上游系统 。

天盾系统历史版本

1、天盾 1.0 系统


前身为京东白条风控,2015 年初上线,主要覆盖 10+种业务场景。使用 Groovy 语言,原子规则,规则包,试用设备指纹。


  • 规则决策关系


原子规则:原子规则是最小粒度的规则单位,是基本指标计算。



规则包(决策):不同原子规则的组合,根据规则包(决策)的命中情况返回上游结果。



  • 内部结构


上游系统调用天盾引擎后,引擎获取该业务的规则包,并解析规则,并行运行原子规则,最终获取结果返回收银台。



2、天盾 2.0 系统


  • 2.0 系统特点:

  • 规则改用 java 语言,2015 年底试运行,2016 年初上线

  • 加入维度概念,所有规则都被放在固定的维度中,所有决策围绕维度进行配置

  • 接入京东金融多种支付方式;多种不同订单业务;近 200 个业务场景

  • 全场景使用设备指纹

  • 加入食蚁兽

  • 入模型,模型与规则并行

  • 密码支付,指纹支付,无密支付,短信支付

  • 规则决策关系


2.0 系统添加了维度的概念,规则脚本是原子规则的组合,通过维度与得分来表示一个规则脚本。




决策是维度得分的组合,其实就是脚本的组合,根据决策的命中结果返回上游系统。



  • 天盾 2.0 内部结构



3、天盾 2.0 系统存在问题


  • 维度问题:系统中的维度未起到实质性作用,无谓消耗了系统运行时间并增加了配置复杂度

  • 原子规则配置混乱:针对重复性原子规则,不同场景参数要重新配置,参数配置问题查找困难,原子规则重用配置性比较差

  • 随着规则的不断增多,系统运行时间不断增加,难以达到业务的需求,急需设计新系统,提高系统的性能,降低系统响应时间

  • 2.0 系统性能问题


随着规则的不断增加,主要交易场景性能已经无法满足业务需求



  • 往年大促前的准备工作


和业务方一起梳理规则,主要方法如下:



为应对大促的到来,保证系统的响应时间,需减少一半以上规则。带来问题主要是规则的覆盖度更粗,影响的范围更大,增高了加验率和拦截率,误命中或漏命中的概率更大。

天盾 3.0 系统

1、天盾 3.0 系统


  • 针对原有天盾 2.0 系统配置复杂,规则数量迅速增加导致的系统性能过慢的问题,制作天盾 3.0 系统,解决性能问题和易用性问题

  • 2017 年 1 月开始开发,3 月底试运行,4 月下旬正式上线


2、设计前思考及实现


思考: 如何构建快捷高效的系统?


  • 流程上是否可简化?

  • 系统内部组件关系设计是否合理?

  • 可否减少系统内部的无谓损耗?

  • 系统是否简单易用?


从以上几点考虑着手设计实现天盾 3.0 系统


  • 天盾 2.0 系统流程上是否可以简化?



针对原子规则的获取可以提前计算并预热保存,针对获取决策结果可在单个原子规则执行完毕后提前获取,下图为 3.0 系统简化流程后的新流程:



  • 系统内部组件关系设计是否合理?


2.0 系统内部组件关系



在天盾 2.0 系统中,维度和维度得分未起到实质作用,只是增加了配置和运行复杂度,在 3.0 系统中去除了维度,重新定义原子规则,规则脚本,与决策的配置关系,下图为天盾 3.0 决策配置关系



使用脚本 id 代替维度及维度得分,决策只支持”与”的逻辑关系,上图中根据优先级获得的原子规则为 4,5,1,2,3。


另外从执行完所有原子规则后生成决策结果,变为根据原子规则结果实时生成决策结果。若原子规则 1,2,3,4,5 的取值如下图,则生成决策结果如下



根据决策优先级,决策 2 命中返回结果。


  • 可否减少系统内部的无谓消耗?



在 2.0 系统中,上面几个原子规则会并行执行,并对 jsfA,hbaseA,redisA,jsfB 重复调用多次,产生了无谓消耗,在 3.0 系统中,保证对重复性的查询只查一次



另外在 3.0 系统中,根据规则查询数据的情况,对简单内存计算同步执行,减少多线程执行的消耗,上图中 ruleE 没有查询远程数据,因此只会同步执行


  • 系统是否简单易用?


系统实现对客户要具有良好的使用体验和较小的学习成本。


3、3.0 系统上线后的实际性能情况


同场景同策略条件下天盾 3.0 性能比 2.0 提升近 200ms,如下:


升级前天盾 2.0 主要场景性能



升级后天盾 3.0 主要场景性能


天盾 3.0 系统 618 大促

1、618 大促前准备工作


  • 迁移天盾最主要场景到天盾 3.0 系统


天盾 3.0 上线后系统性能有显著的提升,为保证天盾最主要业务的性能,在已接入的 200 多个业务场景中,选择最重要的业务场景策略迁移至天盾 3.0 系统。


  • 对迁移场景后的天盾 3.0 进行压测

  • 对单一业务压测:


对天盾系统中调用量最高,规则数量及复杂度最高的场景分别进行压测:



  • 对以上业务进行同时组合压测:



以上压测均按最大策略数量进行,系统性能良好,按压测情况 618 无需再像往年大促需要下线规则。


2、618 期间系统实际运行情况



  • 618 零点主要支付场景 1 性能


策略数量是去年双 11 的 2.5 倍以上,性能依然有所提升




  • 618 零点主要支付场景 2 性能


策略数量是去年双 11 的 3 倍以上,性能依然有所提升




从 1.0 到 2.0,再到 3.0,天盾的版本更新见证了京东的飞速发展,相信随着业务进一步高速发展,天盾系统也将不断的迭代优化以满足需求,我们将继续努力,做好京东的保护盾。


2020-03-22 21:061340

评论

发布
暂无评论
发现更多内容

GitHub上连夜被下架!阿里巴巴2021版JDK源码笔记(2月第三版)

Java架构追梦

Java 阿里巴巴 面试 jdk源码 金三银四

普本毕业,阿里五面成功斩下offer,名校出身的我究竟输在哪?

Java架构之路

Java 程序员 架构 面试 编程语言

“他者”德意志(二):“走稳路”的德国半导体

脑极体

Nginx入门的基本使用和配置详解

数据库 架构 运维

第五周笔记

Ashley.

观点 | 破解云管理平台在数据中心管理体系中定位模糊的困局

BoCloud博云

云计算 PaaS 服务目录 多云管理平台 数据中心管理

日记 2021年2月27日(周六)

Changing Lin

2月春节不断更

基于matlab的控制系统与仿真6-PID控制模型

AXYZdong

matlab 2月春节不断更

安卓开发环境!一份字节跳动面试官给你的Android技术面试指南,终获offer

欢喜学安卓

android 程序员 面试 移动开发

Enterprise Tech30(2021)

行人23

Tech ET30

成为阿里P7移动架构师到底有多难?带你快速通过字节跳动面试,讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

2021突击金三银四必备:BAT1000Java面试真题合集!

比伯

Java 编程 架构 面试 计算机

推荐程序员平时使用最多的绘图软件!!!

秦怀杂货店

软件 流程图 绘图

程序员成长第十四篇:做好时间管理(二)

石云升

程序员 时间管理 28天写作 2月春节不断更

金融数字化转型浪潮呼啸而来 大数据区块链落地场景全面开花

CECBC

金融

公链,区块链的未来和归宿

CECBC

区块链

紧急寻人,还缺75万!区块链产业为何“一才难求”?

CECBC

区块链人才

三年Java开发,年底跳槽挂了阿里和字节,却收获美团offer,分享大厂面试心得

Java架构之路

Java 程序员 架构 面试 编程语言

Newbe.Claptrap 框架入门,第一步 —— 开发环境准备

newbe36524

Docker 云计算 分布式 微服务 .net core

架构设计篇之微服务实战笔记(八)

小诚信驿站

架构 刘晓成 小诚信驿站 28天写作

2021年金三银四Java面试突击大全,吃透这套Java真题合集,突破BAT面试官这道“防线”

Java 架构 面试

最新“美团+字节+腾讯”三面面经,你能撑到哪一面?

Java架构之路

Java 程序员 架构 面试 编程语言

2021最全iOS面试题及底层视频分享专栏

ios 面试 音视频 iOS底层 iOS逆向

诊所数字化:实施私域,诊所店员的赋能路径

boshi

数字化医疗 私域运营 七日更 28天写作

神操:凭借“阿里Java脑图”,成功斩获腾讯、蚂蚁、B站、字节、滴滴等5个Offer

Java架构师迁哥

第五周 第一课笔记

Geek_娴子

第五周作业

Ashley.

涨薪50%,从小厂逆袭快手 - 附面经

haxianhe

面试

Newbe.Claptrap 框架入门,第二步 —— 创建项目

newbe36524

Docker 云计算 分布式 微服务 .net core

2021最新华为面经分享:Java高分面试指南(25分类1000题50w字解析)

比伯

Java 编程 架构 面试 计算机

《华为技术认证HCNA网络技术实验指南》参考配置Ⅰ

依旧廖凯

华为 网络 交换机

天盾风控3.0系统剖析及618总结_文化 & 方法_京东数字科技产业AI中心_InfoQ精选文章