2019-09-12 15:04:21 +08:00
|
|
|
|
# 风控引擎(Radar)
|
|
|
|
|
## 项目介绍
|
2019-09-27 14:10:13 +08:00
|
|
|
|
实时风控引擎,可视化编辑,规则配置即时生效。 开箱即用!!!开箱即用!!!开箱即用!!!
|
2019-09-19 09:46:44 +08:00
|
|
|
|
A real-time risk analysis engine,which can update risk rule in real-time and make it effective immediately.
|
|
|
|
|
It admirably applies to the anti-fraud application.
|
|
|
|
|
The project code called Radar, like the code, monitor the transaction at the back.
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
|
|
|
|
## 背景
|
|
|
|
|
伴随着移动互联网的高速发展,羊毛党快速崛起,从一平台到另一个平台,所过之处一地鸡毛,这还不是最可怕的,
|
|
|
|
|
随之而来的黑产令大部分互联网应用为之胆寒,通常新上线的APP的福利比较大,风控系统不完善,BUG 被发现的频率也比较高,
|
|
|
|
|
黑产利用BUG短时间给平台带来了巨大的损失,某多多的(100元测试优惠券,一夜损失上百万W)就是一例。
|
|
|
|
|
针对这一现象, 拥有一款实时的风控引擎是所有带有金融性质的APP 的当务之急,
|
|
|
|
|
Radar 应景而生,Radar本来是笔者前公司的一个内部项目,公司现在不复存在,考虑到项目本身的价值,
|
2019-09-20 09:57:55 +08:00
|
|
|
|
现在使用Springboot进行改造,并删除了很多本地化功能,只保留风控引擎核心,更具通用型,二次开发成本低。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
|
|
|
|
## 项目架构
|
2019-09-12 18:03:11 +08:00
|
|
|
|
|
|
|
|
|
前后端分离架构
|
2019-09-12 18:07:41 +08:00
|
|
|
|
|
2019-10-11 17:29:28 +08:00
|
|
|
|
后端技术框架: SpringBoot + Mybatis + tkMapper + Mysql + MongoDB + Redis + Groovy + Swagger
|
2019-09-12 18:07:41 +08:00
|
|
|
|
|
|
|
|
|
前端技术框架: React(SPA)
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-09-26 16:22:46 +08:00
|
|
|
|
### 架构图
|
2019-09-27 18:36:00 +08:00
|
|
|
|
![系统模块](http://www.pgmmer.top/radar/sys_model_arch.png)
|
2019-09-26 16:22:46 +08:00
|
|
|
|
|
2019-09-12 15:04:21 +08:00
|
|
|
|
## 技术选型
|
2019-09-19 11:22:31 +08:00
|
|
|
|
* Springboot:笔者是java 出生, 选择 Springboot 理所当然,方便自己, 也方便其他Java使用者进行扩展。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-10-11 17:29:28 +08:00
|
|
|
|
* Mybatis + tkMapper: 持久层框架, tkMapper 提供mapper 通用模板功能,减少重复代码的生成。
|
|
|
|
|
|
2019-09-19 11:22:31 +08:00
|
|
|
|
* Mysql : 本项目中关系数据库的作用不大,主要用于存放 风险模型的元信息。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-09-19 11:22:31 +08:00
|
|
|
|
* MongoDB: 用于存放事件JSON, 提供基本统计学计算(例如:max, min, sum, avg, ),
|
2019-09-12 15:04:21 +08:00
|
|
|
|
复杂的统计学概念(sd,variance, etc...)在内存中计算。
|
|
|
|
|
|
2019-09-19 11:22:31 +08:00
|
|
|
|
* Redis: 提供缓存支持,利用发布订阅特性监听配置更新
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-09-19 11:22:31 +08:00
|
|
|
|
* Groovy: 脚本引擎,风控规则最后都生成 groovy 脚本, 可以动态配置,即时生效。
|
|
|
|
|
|
|
|
|
|
* Swagger: Rest API 管理
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-09-12 15:26:50 +08:00
|
|
|
|
## 名词解释
|
2019-09-12 15:04:21 +08:00
|
|
|
|
### Model: 模型
|
2019-09-27 14:10:13 +08:00
|
|
|
|
用户行为事件, 例如:注册,登录,购买,提现。。。
|
|
|
|
|
### 模型三要素
|
|
|
|
|
也就是事件行为三要素,风控系统的核心定义:事件流水ID(例如:交易流水号),实体ID(例如:userId),事件发生时间(例如:交易时间),
|
|
|
|
|
简单来说就是谁什么时候做了什么事。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
### PreItem: 预处理
|
|
|
|
|
像IP,手机号码段等事件属性,可能无法直接计算,通过预处理插件 转换成 其他格式,
|
|
|
|
|
例如:ip 可以通过IP 插件变成位置和地址
|
|
|
|
|
### Abstraction: 特征
|
|
|
|
|
特征工程,例如用户小时交易次数,IP 一天交易金额,设备一小时交易次数。。。
|
|
|
|
|
### Adaptation: 机器学习模型适配器
|
|
|
|
|
使用训练好的机器学习模型,进行检测
|
2019-09-20 09:57:55 +08:00
|
|
|
|
### Activation: 激活点
|
2019-09-20 14:31:37 +08:00
|
|
|
|
概念类似于机器学习里面的 (Activation Function), 一个模型可以定义多个 activation(相当于不同维度的检测报告),每个activation都可以独立配置规则,单独打分。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
例如,用户注册行为, 可以定义:异常注册, 垃圾注册, 可以输出多个activation。
|
|
|
|
|
### Rule: 规则
|
2019-09-20 09:57:55 +08:00
|
|
|
|
在计算 abstraction 和 activation 之前,需要先检查数据是否正常,检查就是按照rule 配置进行检测。
|
2019-09-12 15:04:21 +08:00
|
|
|
|
|
2019-09-12 18:03:11 +08:00
|
|
|
|
---
|
2019-09-20 14:31:37 +08:00
|
|
|
|
## 演示入口
|
|
|
|
|
演示Demo只提供管理端配置功能,暂时不提供引擎计算功能。
|
|
|
|
|
|
|
|
|
|
[Demo URL:](http://radar.pgmmer.top) http://radar.pgmmer.top
|
2019-09-16 17:03:39 +08:00
|
|
|
|
admin/123456
|
2019-09-20 14:31:37 +08:00
|
|
|
|
|
2019-09-25 13:35:15 +08:00
|
|
|
|
## [帮助手册](https://github.com/wfh45678/radar/wiki/manual)
|
|
|
|
|
https://github.com/wfh45678/radar/wiki/manual
|
2019-09-20 14:31:37 +08:00
|
|
|
|
|
2019-09-19 09:46:44 +08:00
|
|
|
|
## 未完待续
|
2019-09-25 13:35:15 +08:00
|
|
|
|
### 小迭代
|
2019-09-25 14:23:23 +08:00
|
|
|
|
* 集成嵌入式redis版本,本地调试的时候就不用再单独部署redis
|
2019-09-25 13:35:15 +08:00
|
|
|
|
* 集成 JWT(JSON WEB TOKEN),前后端分离标准化
|
|
|
|
|
### 重大特性
|
2019-09-27 14:10:13 +08:00
|
|
|
|
* 支持机器学习
|
|
|
|
|
* 数据分析平台
|
2019-09-12 18:03:11 +08:00
|
|
|
|
|
2019-09-12 15:04:21 +08:00
|
|
|
|
## Contact to
|
2019-09-12 18:24:10 +08:00
|
|
|
|
|
2019-10-14 10:09:04 +08:00
|
|
|
|
微信(nicedream7758)扫码加群一起交流
|
2019-10-14 16:16:11 +08:00
|
|
|
|
如果喜欢本项目,可以点一下star支持一下, 让更多人看到,谢谢!
|
2019-10-14 10:09:04 +08:00
|
|
|
|
![系统模块](http://www.pgmmer.top/radar/wx3.jpg)
|
|
|
|
|
|
|
|
|
|
Copyright by XWF
|