携程风控系统
Kevin
Senor Architect Manager
Ctrip
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
摘要
a) 案例简述
c) 遇到的问题
d) 最终的结果
e) 未来展望
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
个人简介
Kevin Wang,Senor Architect Manager @Ctrip
负责携程的CRM,Payment,Insurance,Fraud Detection等系统的架构,专注于互联网, E-Commence, 互联网安全等领域
目前在携程R&D Center 软件架构部,担任公共服务研发部的Arch Lead,曾在IBM,eBay等公司任职
携程R&D Center目前有超过1400名工程师
软件架构部也有超过40人的规模,专注于提升携程网站的架构
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
携程风控系统简介
外卡拒付损失率在千分之一以下,国内支付损失率在更低的水平
保持了非常高的交易成功率
根据一家非常著名的风控服务提供商的数据,行业平均水平在百分之一左右
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
案例简述
现有风控系统已经成了公司业务发展的阻力。当携程订单量超过5笔/s,就会出现瓶颈,影响订单的处理,进而导致用户购物体验的下降
由于历史的原因,系统和业务订单系统的耦合度太高
架构不合理,系统无法横向扩展,满足不了订单增长的要求
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
怎么做到的
业务和数据分离
业务梳理,分类,纵向切分
职责切分,责任单一
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
实践 赢得改造时间
由于系统已达瓶颈,开发人员为解决频繁的生产问题疲于奔命
措施:
分析线上的瓶颈点
针对数据库进行调优
把部分负载大的SQL转换成逻辑
把稳定的数据(如:黑名单)移至缓存,降低数据库的计算量
结果:
数据库服务器的性能提升的6-7倍
解放了开发人员,团队有余力进行改造
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
实践 制定改造策略
放弃原有系统的改造,构建全新系统
系统陈旧,修改成本太高
如何保证新系统和原有系统一致?
新系统和旧系统
如何渐进的从旧系统过渡到新系统
旧系统数据转换到新系统
新旧系统同时处理,对比结果
新系统结果稳定后再废弃旧系统
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
实践 系统切分
根据风控系统所处的位置,为风控系统重新定位,减少与周边系统的交互
根据风控系统的内在规律,对系统内部进行切分,使各部分职责尽量单一
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
实践 对数据处理的优化
问题
风控数据目前主要依赖于订单
对订单的数据的在校验的时候即时读取,计算量大,导致性能低下
原始数据量太大,只能保持用户最近的行为数据
解决方案
对各数据源的数据,基于风控的要求做规格化,提前计算好。这样在计算结果时,只需要把所需要的数据简单的汇总就可以达到要求,进而满足快速响应的要求
用户访问数据缓存在应用系统中,减少对DB的读写
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
实践 数据规格化的困难
问题
大量的distinct count的计算
同一用户,一天内,不同IP>=xx
同一IP,一天内, 不同用户数>=xx
最新行为数据如何快速的反应在缓存中
解决方案
采用Bitmap来预处理distinct count问题
Select count(*) from … where ip = ‘’ and uid =‘’ and 24hcount > 0
b) 采用Cache server,在用户登入时预加载,在注销时销毁,确保cache的命中率
UID IP 24h count 7 Days Count
431287651234 0001000101001 0101001
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
未来规划
目前风控的数据源还比较局限,未来会把用户的非购买行为也纳入指标
现在的风控只在最后关头挡住用户的购买,导致数据计算量太大,未来会把这些计算分布在用户的购买行为链上,更早的发现问题用户
引入CEP的处理方法,合理的布局规则处理
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
案例ROI分析
新的风控系统在经过3个月左右的开发后,已经发布到生产环境上,目前运行正常。每笔订单的处理时间,由原先的分钟级,降低到了100ms以内。
并发有原来的5笔/s,提升到超过100笔/s,并且可以横向扩展
在系统切分后,和各业务线的跨团队沟通也下降了很多
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
案例启示
系统的边界要清晰
谋定而后动,为你的变革做好铺垫
利用好数据,不要重复计算
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
Online/offline
各类订单预定
白名单
黑名单
风控规则校验
风控规则
后端案件工作流
订单录入
案件处理
规则分析
风险订单处理
风险等级审核
风险订单分配
规则设定
黑名单规则
风控规则
规则模拟
风控平台健康度监控
各类监控报表及查询
订单接收接口
校验结果输出接口
相关系统
收银/支付平台
信用卡授权
订单处理系统
数据采集
国内机票订单
国际机票订单
设备数据
信用等级历史数据
案件相关系统
预定系统
外部系统
银行系统
�
风控系统�
第三方
BI
收银系统
各产品线
支付平台
定期提供历史统计信息
提供信息
【订单信息】
【支付信息】
返回校验结果
分值
提供订单相关信息
【代理IP信息】
【真实IP信息】
【浏览器信息】
【设备信息】
提供校验结果
分值
风控订单操作人员
规则制定人员
提供规则定义
处理风险订单
外部产品线
提供信息
【订单信息】
【支付信息】
返回校验结果
分值