首页 > 其他分享 >风控系统之事件溯源,决策流程记录与版本控制

风控系统之事件溯源,决策流程记录与版本控制

时间:2024-08-29 13:52:55浏览次数:10  
标签:版本控制 name version 控系统 规则 主表 type id 溯源

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


背景

一天,小明在风控管理台查看事件数据时,发现一笔决策结果为“拒绝”❌的交易事件,小明点开事件详情发现其触发了一条“24小时内向不同陌生账户转账超过30w”的规则,规则设置的处置方式是“拒绝”❌。小明通过策略规则却查不到那条“24小时内向不同陌生账户转账超过30w”的规则,经确认原来是这条规则在此交易触发后一段时间内被修改了,已经不知道当时是如何配置的!?

这该怎么办?

我们要知道风控等其他系统都需要对于配置实时生效,所以使用了规则引擎,规则引擎具有实时生效优雅热刷新的特性,但也因此,如果规则设置有问题而没有回滚/溯源/复现的机制,将是很大的问题!!!

所以本质上就是要在规则引擎应用之上打造完善的版本控制,能够对规则历史进行溯源。

事件记录

之前的文章风控系统建设,指标策略规则流程设计,LiteFlow隐式子流程,构造EL和Chain,提到了最终存储在es中大概有哪些数据。以下仅供参考,有部分还没做。

这里再次梳理一下:

1、基础数据,保留所有事件字段。

2、事件处理流程,也就是输入的数据经历了哪些流程和组件处理!

3、策略集结果,包括策略集、策略、规则的所有决策结果。还要加上特殊配置的策略执行流程。

4、指标数据,本次事件计算的所有指标数据。

{
  "result": {
    "name": "手机登录策略",
    "code": "phone_login",
    "disposalName": "通过",
    "disposalCode": "pass",
    "policyResults": [
      {
        "name": "手机登录最坏",
        "code": "phone_login_worst",
        "mode": "worst",
        "disposalName": "通过",
        "disposalCode": "pass",
        "ruleResults": [
          {
            "name": "测试规则03",
            "code": "352452",
            "disposalName": "通过",
            "disposalCode": "pass",
            "score": 0
          }
        ],
        "mockRuleResults": [

        ]
      },
      {
        "name": "手机登录顺序",
        "code": "phone_login_order",
        "mode": "order",
        "disposalName": "通过",
        "disposalCode": "pass",
        "ruleResults": [

        ],
        "mockRuleResults": [

        ]
      }
    ]
  },
  "zbs": [{"id":"1","name":"24小时交易金额之和","type":"sum","version":0,"value":"1413.07938"},{"id":"3","name":"选必于","type":"sum","version":0,"value":"436864.3324399999"},{"id":"4","name":"24小时交易金额大于10万求和","type":"sum","version":0,"value":"1413.07938"},{"id":"5","name":"规支才公照还","type":"ass","version":0,"value":"1.0"},{"id":"6","name":"且者矿","type":"max","version":0,"value":"988.56238"},{"id":"7","name":"北在文地","type":"min","version":0,"value":"424.517"},{"id":"8","name":"看活历地许","type":"avg","version":0,"value":"706.53969"},{"id":"9","name":"情性特问写养八","type":"sum","version":0,"value":"1413.07938"},{"id":"10","name":"其断子把酸","type":"count","version":0,"value":"2.0"}],
  "fields": {
    "N_S_ipCity": "南昌市",
    "N_S_lonAndLat": "98.63974,12.4825",
    "N_S_payerType": "关在那边员",
    "N_S_idCardCity": "未知",
    "N_S_payeeIDNumber": "640000198102131788",
    "N_S_ipProvince": "江西省",
    "N_S_payeeIDCountryRegion": "US",
    "N_F_transAmount": 424.517,
    "N_S_payerAddress": "其它区 山西省 承德市",
    "N_S_seqId": "c678bfbfb4c544eaaeb52373702a0aca",
    "N_S_payeePhoneNumber": "18643006812",
    "N_S_transSerialNo": "809bbad3-1c81-4b59-9e42-fa0b028d1448",
    "N_S_payerAccount": "1234567890",
    "N_S_payeeAccount": "1234567880",
    "N_S_ip": "106.230.80.158",
    "N_S_policyCode": "phone_login_worst",
    "N_S_payeeType": "济常准属适",
    "N_S_payerIDNumber": "420000199805245558",
    "N_S_payeeBankName": "ABC Bank",
    "N_S_phoneNumberProvince": "未知",
    "N_S_ipIsp": "电信",
    "N_S_payerIDCountryRegion": "US",
    "N_D_transTime": "2013-06-21 16:30:09",
    "N_S_phoneNumberCity": "成都",
    "N_S_phoneNumberIsp": "中国电信",
    "N_S_payeeAddress": "- 福建省 抚州市",
    "N_S_payeeRiskRating": "HIGH",
    "N_S_policySetCode": "phone_login",
    "N_S_payerBankName": "XYZ Bank",
    "N_S_idCardDistrict": "未知",
    "N_S_appName": "phone",
    "N_S_idCardProvince": "湖北省",
    "N_S_ipCountry": "中国",
    "N_S_payeeName": "范明",
    "N_S_payerName": "石娜",
    "N_S_payerPhoneNumber": "18123341918",
    "N_S_payerRiskRating": "HIGH"
  }
}

以下仅是示例,表示一笔事件要记录当时处理流程,示例是线性简单的流程,但实际上怎么样,不知道呢

标签:版本控制,name,version,控系统,规则,主表,type,id,溯源
From: https://www.cnblogs.com/wnhyang/p/18386520

相关文章

  • 版本控制与Scratch:创意编程的有序之旅
    版本控制与Scratch:创意编程的有序之旅在编程的世界里,版本控制是一种记录和协调代码变更的系统,它对于团队协作和项目管理至关重要。Scratch,作为一款面向儿童和青少年的图形化编程工具,其设计初衷是简化编程学习过程,让编程变得生动有趣。本文将探讨Scratch的编程环境是否具备......
  • ZoneMinder视频监控系统SQL注入
    0x01漏洞描述:ZoneMinder(简称ZM)是一套基于Linux操作系统的摄像机的视像数据监控的应用软件(大家可以简单理解为网络摄像机)。ZoneMinder支持单一或多台视像镜头应用,包括摄取、分析、记录(包括移动侦测功能)、和监视来源。index.php接口处存在sql注入,未经身份验证的远程攻击者除......
  • 使用VScode的Git版本控制功能(图文版)
    ☁️前言今天让我来手把手教你简单入门VScode自带的Git版本控制。......
  • 深度解析:视频监控系统部署前的技术选型与需求分析
    视频监控系统在日常生活与企业运营中扮演着至关重要的角色,广泛应用于办公室、工地、写字楼、库房及工厂等场所。为确保系统部署的精准与高效,以下是在选型评估前必须掌握的几项关键信息:一、摄像头布局与数量数量规划:基于监控区域的具体需求,结合建筑物图纸或现场勘查,初步确定摄像......
  • .NET 开源实时监控系统 - WatchDog
    前言在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要。实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间。本文将介绍一个名为WatchDog的.NET开源实时应用监控系统,它可以帮助我们轻松实现对.NET应用的实......
  • java+vue计算机毕设四川工商学院疫情防控系统的设计与实现【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球疫情的持续演变,高校作为人员密集、流动性大的场所,其疫情防控工作显得尤为重要。四川工商学院作为一所培养未来社会栋梁的高等学府,面对疫情挑......
  • 系统架构设计(以飞控系统、航电系统、机电管理系统、电子电气架构为例)
    架构的定义系统架构涉及对系统的结构和行为进行高层次的描述。它包括系统的组成部分、这些部分之间的关系、与外部环境的交互方式,以及满足特定功能和非功能性需求的方法。系统架构定义了系统的总体设计蓝图,指导系统的开发、集成、部署和维护。系统架构的核心要素组成部分......
  • Java计算机毕业设计校园疫情防控系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在全球新冠疫情持续影响的背景下,校园作为知识传播与人才培养的重要场所,其疫情防控工作显得尤为重要。随着复学复课的逐步推进,如何科学、高效地管理校......
  • springboot+vue高校疫情防控系统的设计与实现【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景近年来,全球公共卫生安全面临着前所未有的挑战,尤其是新冠疫情的爆发,对各行各业,尤其是教育领域产生了深远影响。高校作为人员密集、流动性大的场所,其疫情防控工作尤为重要且复杂。传统的人工管理方式已难以满足当前高效、精准、全面的疫......
  • springboot+vue高校疫情防控系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景在全球新冠疫情持续蔓延的背景下,高校作为人员密集、流动性强的特殊场所,其疫情防控工作显得尤为重要。随着疫情形势的不断变化,传统的人工管理方式已难以满足高效、精准、全面的防控需求。因此,构建一套智能化、集成化的高校疫情防控系统......