zoukankan      html  css  js  c++  java
  • 作为大众熟知的电商应用,京东如何构建风控体系架构?

    作为大众熟知的电商应用,京东是如何构建坚挺的风控体系架构?如何优化数据的计算和存储?如何基于设备做智能识别的?本文由京东技术专家王美青对以上问题进行解读。

    风控技术体系介绍

    风控技术架构

    风控技术架构

     上图是风控技术架构图,包括安全模块、风险决策平台、风险数据洞察模块、风险运营平台。其中,安全模块跟用户的接触是最紧密的,其包含设备指纹、移动端加固、设备证书、虚拟机识别以及代理检测。

    风险决策平台根据场景进行管控和实时决策,同时支持策略计算和模型计算。指标库中囊括了所有的指标、策略、模型数据。下层是实时计算、流计算和图计算。另外,风险决策平台还包括机器学习训练模块和准实时模型训练场。

    风险数据洞察模块对风险进行实时监控,统计分析,并形成报告。

    风险运营平台相对来说是比较滞后的一个平台,实时场景生成后,提供一个运营审核的平台;在案件处理平台,通过人工介入为线上模型提供真实案例;风险搜索平台,提供成功交易之后的风险分析详情。

    风险管控方案架构

     风险管控方案架构

     风险管控包括三个方面:事前准备、事中处理、事后打击。

    1、事前准备

    搜集设备端的环境信息,包括指纹、行为序列和业务上的事件通知,不包含用户的敏感信息。

    2、事中处理

    实时决策引擎部署了很多策略和模型,通过实时分析、实时计算、图计算进行处理。

    3、事后打击

    发现风险后对案件进行还原,此时会介入人工审核,经过比对历史案件、分析行为特征等,确认后再回流到数据集市中。下层是一些计算工具,设置了几层向上的数据推送,包括T加一个月、T加一周、T加一天。

    数据计算与存储技术

    数据处理架构--Lambda架构

    image

     上图是数据处理架构Lambda,在输入数据后,数据流一部分进入不变数据仓,经过批处理进入存储视图中,供对外的查询服务使用。另一部分进行实时计算,计算完后数据便废弃了。

    数据计算架构

    image

     公司内部大多使用JMQ消息模式,将JMQ 消息集中收集后分发,通过Kafka进入计算平台,使用JSTORM进入存储,分别存入Hbase和Cache。其中供线上毫秒级响应时所做的存储全部放入Cache中。

    实时计算框架

    image

    1、特点

    • 响应式架构
    • 时间滑动窗口
    • 定义了类SQL的特定领域语言
    • 内置多种函数
    • Java+scala

    2、Flink应用

    使用多个流相互链接,这些流都不是同时的,但他们互相间有线索,可以将多个流串联起来。

    数据可靠性保障

    image

     如上图中的数据集,数据集包含三个数据中心。将每一份数据分别在多个机房进行存储,然后将每一组机器划分到一个机房。当某个机房出现问题后,可获取到DataSet。

    数据治理方案

    image

    1、原始数据层

    原始数据层数据是未经加工、杂乱无章的。

    2、数据原子化层

    通过数据加工将数据分门别类,例如分为帐户级别、交易级别、订单,使数据原子化。

    3、数据的抽象层

    将原子层的数据拼装,为数据建模准备。

    4、数据模型层

    将数据抽象层归纳好的数据,再抽象出一层,供业务场景使用。

    *数据纵向层级越高,数据的复用度就越大,横向越多,覆盖度就越高

    移动安全及应用

    image

    在安全链路方面集成FIDO协议,链路安全由软实现和FIDO共同支撑。FIDO包括:指纹、免密、人脸和一些数据的采集。采集的数据并非用户敏感数据,而是用户使用手机时在传感器方面的表现。

    流程步骤

    用户使用时首先有一个签约认证的Server。第二步是,证书服务,生成一个证书;第三步是Key工厂,在其中缓冲了很多序列,可以直接拿到公钥、私钥,然后通过指纹免密Server做认证。

    风控指纹设备

    image

     如图通过SSL实现CDN与客户端的交互作为前提,将客户端收集的浏览器环境软信息放到Fingerprint Server中,并将所有搜集过来的设备数据在后台进行设备画像的制作。

    智能化风控建设

    怎样进行人机识别?

    1、基于设备的智能识别

    通过设备状态识别:设备状态的运动包含几个维度,不同的运动在传感器和陀螺仪的表现是不一样,通过设备运动状态可以进行人机识别。

    通过充放电识别:机器和普通用户在使用设备时的充放电状态是不一样的,普通用户的手机不会一直处于充电状态中。

    通过借贷软件识别:经过用户授权,获取用户使用的借款软件相关数据。

    通过这几个识别指征,输出识别安全指数评测,可通过后台或服务器检测出使用设备的信息。

    2、通过生物识别

    用户进行同一操作时的使用习惯也是不一样的,通过传感器和陀螺仪的感应数据,可以判断使用设备的是否是本人。

    智能化风控建设

    无监督学习——社区发现

    image

     如图确定IP、手机号、地址、坐标、设备、wifi等多维权重计算;通过多维计算出“度”—[0-1],通过模型确定阈值;A-B达到阈值即产生边,顶点是账户。

    社区发现对团伙作案、突发事件、潜在风险都能够有效识别。

    机器学习平台

    机器学习平台包括指标自动加工平台、模型智能训练平台、模型智能评估平台、模型管理运行平台。通过四大平台的协作,能有效地提高数据处理的效率、降低复杂度、增加产出,有利于统一进行管理。

    指标自动加工平台:通过指标自动加工平台,实现对线上数据、线下数据的统一管理。

    模型智能训练平台:实现模型的并行化训练,配置化训练。

    模型智能评估平台:实现对样本数据的实时加工,配置化管理。

    模型管理运行平台:实现对模型的生命周期管理,支持Python、Spark-MLIB、SCIKIT-learn、Tensorflow等算法库

    数据迁移特征

    image

    支持断点续传、流量的调节、多数据源、容灾、弹性、多活。

    分布调度中心

    1、Job生命周期

    Job生命周期包括:Open—Load——Lock——Execute——Finish——End——Reset。

    Open:每次调度被触发都生成唯一的一次作业,在调度方保存该作业的每个状态并更新至ZK。进行事件通知。

    Execute:执行任务是异步化的。open阶段和lock阶段都是同步执行,lock和Execute都是在集群上完成分片。

    Finish:本次作业完成后等待下次调度被触发,生命周期重新开始。进行事件本地通知。

    2、核心角色

    image

    借鉴JT的思路,由Master将这些任务分配到不同的JT中去。

    3、通讯实现

    image

    4、内部设计

    image

    机器学习平台

    image

    在数据层中,实时数据和批量处理数据进行指标配置后,通过数据处理框架进入到向量库中,然后进入到向量集中,通过WOE统一转化将数据全部放入到模型计算引擎中,最后通过决策引擎直接产生结果。

    计算机视觉——人脸识别

    人脸检测

    基于深度学习算法模型,模型能准确检测人脸,精确定位人脸框,并且准确标记人脸轮廓、眼、口、鼻、眉毛等关键点。

    活体检测

    动作活体通过唇语、摇头、眨眼等动作识别活体;静默活体基于人脸特征、双目立体视觉等方式实现活体检测。

    人脸比对

    基于深度学习算法模型,通过提取人脸特征,计算两张人脸相似度,从而判断是否同一个人,并给出相似度评分。

    人脸检索

    基于深度学习算法模型,算法模型对给定的一张照片,与指定人脸库中的N个人脸进行检索,找出最相似的一张脸或多张人脸,即1:N人脸检索。

    人脸防伪

    有效防止照片、仿生脸、视频等攻击行为,并且对复杂背景的攻击和真人能进行有效识别,实现安全可靠的人脸识别应用。

    本文根据安卓绿色联盟讲师王美青在技术沙龙上的分享整理而成。首发于安卓绿色联盟微信公众号。

  • 相关阅读:
    unbuntu下安装flash插件
    ssh命令:使用密钥文件进行登陆
    eclipse关掉jsp,js的语法验证
    spring源码学习之:xml标签扩展配置例子
    spring源码学习之:xml配置文件标签自定义
    java多线程之:线程对象一些api
    java多线程之:Java中的ReentrantLock和synchronized两种锁定机制的对比 (转载)
    Spring Cloud(十):服务网关zuul(转)
    数据库连接池dbcp和c3po的区别
    springboot数据库连接池使用策略
  • 原文地址:https://www.cnblogs.com/androidga/p/10191081.html
Copyright © 2011-2022 走看看