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