Migrated repository
Go to file
feihu.wang f9edb8a834 更新框架描叙信息
Signed-off-by: feihu.wang <wfh45678@163.com>
2019-10-11 17:29:28 +08:00
radar-admin 补充注释信息. 2019-09-29 16:15:01 +08:00
radar-commons 代码优化 2019-09-27 15:49:29 +08:00
radar-dal 代码优化 2019-09-27 17:31:57 +08:00
radar-dao add source code 2019-09-12 18:03:12 +08:00
radar-engine 代码优化 2019-09-27 17:31:57 +08:00
radar-service add source code 2019-09-12 18:03:12 +08:00
radar-service-impl 代码优化 2019-09-27 17:31:57 +08:00
resources 更新架构图 2019-09-27 11:05:50 +08:00
sql add source code 2019-09-12 18:03:12 +08:00
webapp 前端源码 2019-09-23 18:01:53 +08:00
.gitignore 更新框架描叙信息 2019-10-11 17:29:28 +08:00
LICENSE Initial commit 2019-09-12 14:27:09 +08:00
pom.xml 升级 fastjson, 修复转义 \x 时候会出现OOM 的BUG. 2019-10-08 10:08:32 +08:00
README.md 更新框架描叙信息 2019-10-11 17:29:28 +08:00

风控引擎Radar

项目介绍

实时风控引擎,可视化编辑,规则配置即时生效。 开箱即用!!!开箱即用!!!开箱即用!!!
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.

背景

伴随着移动互联网的高速发展,羊毛党快速崛起,从一平台到另一个平台,所过之处一地鸡毛,这还不是最可怕的, 随之而来的黑产令大部分互联网应用为之胆寒通常新上线的APP的福利比较大风控系统不完善BUG 被发现的频率也比较高, 黑产利用BUG短时间给平台带来了巨大的损失某多多的100元测试优惠券一夜损失上百万W就是一例。 针对这一现象, 拥有一款实时的风控引擎是所有带有金融性质的APP 的当务之急, Radar 应景而生Radar本来是笔者前公司的一个内部项目公司现在不复存在考虑到项目本身的价值 现在使用Springboot进行改造并删除了很多本地化功能只保留风控引擎核心更具通用型二次开发成本低。

项目架构

前后端分离架构

后端技术框架: SpringBoot + Mybatis + tkMapper + Mysql + MongoDB + Redis + Groovy + Swagger

前端技术框架: React(SPA)

架构图

系统模块

技术选型

  • Springboot笔者是java 出生, 选择 Springboot 理所当然,方便自己, 也方便其他Java使用者进行扩展。

  • Mybatis + tkMapper 持久层框架, tkMapper 提供mapper 通用模板功能,减少重复代码的生成。

  • Mysql 本项目中关系数据库的作用不大,主要用于存放 风险模型的元信息。

  • MongoDB 用于存放事件JSON 提供基本统计学计算例如max, min, sum, avg, 复杂的统计学概念sd,variance, etc...)在内存中计算。

  • Redis 提供缓存支持,利用发布订阅特性监听配置更新

  • Groovy 脚本引擎,风控规则最后都生成 groovy 脚本, 可以动态配置,即时生效。

  • Swagger: Rest API 管理

名词解释

Model: 模型

用户行为事件, 例如:注册,登录,购买,提现。。。

模型三要素

也就是事件行为三要素风控系统的核心定义事件流水ID(例如:交易流水号)实体ID例如userId事件发生时间例如交易时间, 简单来说就是谁什么时候做了什么事。

PreItem: 预处理

像IP手机号码段等事件属性可能无法直接计算通过预处理插件 转换成 其他格式, 例如:ip 可以通过IP 插件变成位置和地址

Abstraction: 特征

特征工程例如用户小时交易次数IP 一天交易金额,设备一小时交易次数。。。

Adaptation: 机器学习模型适配器

使用训练好的机器学习模型,进行检测

Activation: 激活点

概念类似于机器学习里面的 (Activation Function) 一个模型可以定义多个 activation相当于不同维度的检测报告,每个activation都可以独立配置规则单独打分。 例如,用户注册行为, 可以定义:异常注册, 垃圾注册, 可以输出多个activation。

Rule: 规则

在计算 abstraction 和 activation 之前需要先检查数据是否正常检查就是按照rule 配置进行检测。


演示入口

演示Demo只提供管理端配置功能暂时不提供引擎计算功能。

Demo URL http://radar.pgmmer.top admin/123456

帮助手册

https://github.com/wfh45678/radar/wiki/manual

未完待续

小迭代

  • 集成嵌入式redis版本本地调试的时候就不用再单独部署redis
  • 集成 JWT(JSON WEB TOKEN),前后端分离标准化

重大特性

  • 支持机器学习
  • 数据分析平台

Contact to

Copyright by XWF, mail to wfh45678@163.com , QQ 240159429