极验决策引擎如何凭借独特优势,弯道超车传统风控?
前言
市场上的规则决策引擎产品众多,但大多局限于IP、设备、账号等层面,提供的是现成的风控标签和规则。然而,真正的风控,需要的不仅仅是标签和规则。
极验的业务规则决策引擎与众不同,这款决策引擎以界面流程编排为优先设计,为核心,对各种外部数据进行计算、查询、阈值比较和规则触发通知的整体编排。它不仅仅能做到市场上其他产品能做到的,还能做到市场上其他产品做不到的,并协助客户完成初期的规则搭建工作,逐步引导客户熟悉运营流程,直至他们能够轻松驾驭并自主运营。
我们将从以下几个角度来展示它的特点。
别人做到的,我们可以做
目前绝大部分市场上的规则决策引擎产品,都是从IP、设备、账号等层面输出风控标签、画像和已经设置好的聚合运算规则。
而要想做好风控,通常要根据业务场景、历史数据和风险容忍度进行定制化。毕竟规则再多,也可以穷尽,而当下的业务在变、技术在变、对手在变。风控从来都是持续的对抗,持续的变化,而不是一劳永逸的过程。
我们的流程编排系统能够实现任意参数的访问控制,可以非常具体、灵活地描述在什么情况下规则应当被触发(例如,表达式可以定义设备关联账号数的具体数值,或者特定时间段内的行为模式)。
如果把黑产对抗比作战场,这就相当于别人卖你的是各式各样的武器,而我们给你的是一个武器制作工厂,不仅能生成出各式各样的武器,你还可以根据你的需要,去定制生产你所需要的装备。
为了更好地说明以上情况,我们对市面上常见的规则决策引擎规则进行了盘点:
某规则决策引擎的风控规则合集
这些规则大致分为三类:
-
使用滑动窗口统计某一种模式(键)出现的频率。
-
使用滑动窗口统计某个分组键下另外某个维度去重的计数。
-
请求参数表达式逻辑判定。
以“使用滑动窗口统计某一种模式(键)出现的频率”为例,例如同设备 1天内关联账号数过多,其实就是典型的分组去重逻辑。系统会根据设备的唯一标识来进行分组,然后统计在 1天的时间窗口内与此设备关联的不同账号数量。如果同一账号多次尝试登录,通常只会计作一次。
我们很容易在我们的流程编排上去实现这个需求:
Step1、拖拽自定义模组至流程
拖拽需要的模块进入流程
Step2、编辑参数形成规则
可以应用任何参数进入频率计算
Step3、编辑完成
一个账号、IP、设备ID,在某段时间内出现频次规则
Step4、开始运行
应用在整个规则判断流程
别人做不到的,我们可以做
在业务决策引擎的流程中,都离不开输入、计算、输出这三个环节,想象一下,你是一家快递分拣中心的负责人,你的任务是确保每个包裹从到达的那一刻起,就立刻被分类并送往正确的目的地。包裹(数据)一到达(输入),就立刻被处理并送往下一个目的地(输出结果)。
在这三个流程中,为了满足更多客户的需求,我们在各个环节都做了相当多的创新。
规则决策抽象出来的三要素
一)在输入环节
我们支持多样化的自定义数据接入方式。不仅限于传统的本地数据库,我们还扩展了对外部API调用的支持。例如,金融行业可以通过外部征信查询接口获取数据,电商公司则可以接入物流公司的API来实时追踪包裹状态。此外,我们还能够高效处理实时数据流,如Kafka、RabbitMQ等消息队列系统,确保数据的即时性和准确性。
二)在计算环节
我们采用了硬实时处理机制,确保数据一经输入便立即进行运算并输出结果,以满足特定行业和场景对系统响应速度的极高要求。
常规的流式计算框架,如Spark Streaming和Flink,虽然能够处理实时数据,但在维持计算状态时可能导致程序不稳定,恢复困难。此外,这些框架通常需要将计算结果与数据库进行周期性同步,导致结果呈现异步性。这对于业务规则决策引擎(BRDE)来说是一个重大缺陷,因为它需要实时同步计算结果以参与流程编排,而异步结果会造成语义上的损失。
与此同时,另一种常见的流式计算方法是通过消息队列消费数据,并利用Redis保存状态(如HyperLogLog或Set),这种方法减轻了流程序的状态管理负担,提高了系统的稳定性和可恢复性。然而,这种方式在面对黑产等不确定请求时,可能会因热点数据难以预测而给Redis数据库带来极大的不稳定性。
举个例子,这就像一个自动传送带系统,厨师做好菜后放在传送带上,直接送到顾客手中。这个系统减轻了厨师的工作量,但如果很多顾客同时点同一道菜,传送带可能会因为某道菜(热点数据)过多而卡住,影响整个餐厅的运作。
正因如此,许多决策引擎产品未能将计算过程直观展示于界面。我们的决策引擎则不同,我们强调计算的透明度和可监控性,特别设计了计算过程的可视化功能。这样,用户能够更深入地理解、监控和管理计算活动,不仅提升了用户体验,还增强了系统的可维护性和可解释性。
计算过程的可视化
我们采用的BRDE在线计算方案,通过haproxy的stick table实现了滑动窗口的去重运算。此运算基于当前事件时间,例如,若当前时间为2024-11-11T22:49:00,则统计周期为2024-11-10T22:49:00至2024-11-11T22:49:00,以此完成去重运算,并与流程编排相结合,实现实时计算结果的返回,以供后续运算使用。
以一个具体场景为例,假设我们设定一个电商平台的预警条件为最近10分钟内订单量超过1000笔。传统的统计方法可能会在17:50至18:00这个固定时间窗口内进行计算。然而,如果订单激增实际上发生在17:55至18:05这一时段,那么依赖固定时间窗口的传统大数据统计将会出现明显的边界效应,分开看17:50至18:00和18:00至18:10,散落在2个时间窗口,都是正常的, 但实际最近17:55至18:05这10分钟的窗口是异常的,但逃离了这个频率项制定的范围。
相较之下,我们的实时数据处理技术采用动态的、连续滚动的时间范围来进行数据聚合,通过多次覆盖数据,有效减少了边界效应,并能捕捉到更细微的变化。一旦达到预警阈值便迅速采取行动。正如常言所说,预防优于治疗,实时止损的效果远优于事后的补救措施。
以某电子商务平台为例,若商品价格设置失误导致偏低,可能会引发消费者在极短时间内的大量抢购,瞬间销量可能高达数万件。但是,传统的预警系统只能在统计周期结束后才发出警报,这意味着我们只能在获取统计结果后才开始采取止损措施,从而错过了最佳干预时机。相较之下,极验业务决策引擎提供一体化的流程编排,还提供了高性能的实时算子。因此,一旦损失濒临预警阈值,系统即可迅速触发警报,显著提升了风险管理的效率和有效性。
同时,极验业务决策引擎提供了极高的灵活性,允许在计算前后进行按需过滤和实时计算。同时,haproxy作为计算引擎,在我们极验的基准测试中,在8核16GB的机器上展现出了高达20万QPS的计算性能,确保了系统的高效运行。
三)在输出环节
在规则触发后,相较于其他规则引擎仅输出风险标签(如高信用风险、低欺诈风险等),我们的系统更加注重实际业务场景的后续处理。虽然标签是风险处理的一个重要指标,但它并不代表风险的完全解决。
因此,我们的业务决策引擎允许用户采取进一步行动,如要求用户进行二次验证或直接限制设备登录,以防范账户盗用和欺诈行为,确保风险得到有效控制。
发邮件或者短信通知
请求、节点和响应
我们助力客户平滑过渡
当然,规则设置并非没有成本。它不仅需要人力运营,而且对专业知识有较高的门槛。
然而,极验凭借十二年的安全SaaS服务经验和成熟的客户成功团队,我们拥有对各行各业业务风控场景的深入理解。基于这些理解,我们不仅能够提供标准化接入售后服务,还能根据客户的具体需求设置定制化的风控规则。这不仅能够帮助客户更好地适应和应对各种业务挑战,还能减少他们的运营成本,降低知识门槛,使他们能够更专注于自己的核心业务。
立即注册试用:https://www.geetest.com/brde
相关文章:
极验决策引擎如何凭借独特优势,弯道超车传统风控?
前言 市场上的规则决策引擎产品众多,但大多局限于IP、设备、账号等层面,提供的是现成的风控标签和规则。然而,真正的风控,需要的不仅仅是标签和规则。 极验的业务规则决策引擎与众不同,这款决策引擎以界面流程编排为…...
Spring Boot集成Knife4j文档工具
Knife4j 搭建 Knife4j环境的的搭建和Swagger一样都比较简单,只需要极简的配置即可。 maven依赖 我使用的是较高版本的基于openapi规范的依赖包,OpenAPI2(Swagger)规范是Knife4j之前一直提供支持的版本,底层依赖框架为Springfox。 此次在4…...
html|本地实现浏览器m3u8播放器,告别网络视频卡顿
前言 网络上经常是以m3u8文件传输视频流的 ,但是有时网络慢往往导致视频播放卡顿。于是我在想能不能先下载然后再播放呢?于是尝试下载然后实现本地播放m3u8视频。 正文 1.找到网络视频流的m3u8连接 一般在浏览器按F12就可以看到有请求视频流的连接。 …...
vue3监听横向滚动条的位置;鼠标滚轮滑动控制滚动条滚动;监听滚动条到顶端
1.横向取值scrollLeft 竖向取值scrollTop 2.可以监听到最左最右侧 3.鼠标滚轮滑动控制滚动条滚动 效果 <template><div><div class"scrollable" ref"scrollableRef"><!-- 内容 --><div style"width: 2000px; height: 100…...
JSON
文章目录 一、概念1.json官网2.json的概念3.序列化方案:xml、json 二、json的数据类型1.json的键:必须是带双引号的字符串2.json的值:6种数据类型(1)对象 { }(2)数组 [ ] 三、Python中的json1.序列化:Python对象 转 json2.反序列化…...
前端常用的方法
时间处理 moment时间处理函数 // 时间日期相关常用的方法变量 import moment from moment;// 获取当前时间 moment export const nowDateMoment moment(new Date()); export const nowDateY moment(new Date()).format(YYYY); export const nowDateM moment(new Date()).f…...
JavaScript 对话框的魔法与艺术
在Web开发的世界里,JavaScript 对话框是用户与网页互动的重要桥梁。它们不仅能够提供即时反馈,还能收集用户的输入信息,从而增强用户体验。本文将深入探讨JavaScript对话框的各种类型、用法及其背后的原理,并通过丰富的实例展示如…...
java+springboot+mysql私人会所管理系统
项目介绍: 使用javaspringbootmysql开发的私人会所管理系统,系统包含管理员、技师、用户角色,功能如下: 管理员:用户管理;服务项目;技师管理;房间管理;预约管理&#x…...
Scrapy 爬虫框架全解析
一、Scrapy 框架概述 基本定义 Scrapy 是一个用 Python 编写的开源网络爬虫框架。它旨在快速、高效地抓取网页数据,可处理大规模的数据抓取任务。基于 Twisted 异步网络库构建,能够并发地处理多个请求,大大提高了数据抓取的速度。遵循 “请求…...
Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000
Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000 01 前言 大数据系列,学到了Hive,搭建环境的时候,因为使用的是本机WSL2(别问为啥不用VMware,问就是条件有限,而且WS…...
【跨库查询、多库查询】.NET开源 ORM 框架 SqlSugar 系列
文章目录 一、跨库方式1:跨库导航二、手动跨库查询三、同服务器:自动查询跨库查询3.1 Mysql和SqlServer自动3.2 自动: PgSql跨Scheme查询3.3 其他库同服务器 四、跨服务器:自动跨库查询4.1 配置SqlServer dblink4.2 配置 Oracle dblink4.3 配…...
【JAVA】Java项目实战—Java 数据库应用项目:学生信息管理系统
本项目将实现一个简单的学生信息管理系统,功能包括学生信息的录入、查询、修改和删除。通过本项目,读者将深入理解Java与数据库交互的基本原理,掌握JDBC(Java Database Connectivity)技术,以及如何构建一个…...
中电金信携手中远海科,共启贸易金融数智新篇章
在数智化转型成为驱动经济社会高质量发展的新引擎背景下,“数智方案”栏目聚焦金融等国计民生重点行业场景,依托中电金信“源启筑基咨询引领应用重构”的产品及服务体系,输出市场洞察和行业解决方案、应用案例,旨在全面推动行业IT…...
有没有办法让爬虫更加高效,比如多线程处理?
要让Python爬虫更加高效,确实可以采用多线程处理。多线程可以显著提高爬虫的效率,因为它允许程序同时执行多个任务,从而减少等待时间。以下是一些提高爬虫效率的方法,特别是通过多线程技术: 1. 多线程爬虫 多线程爬虫…...
Android历史版本主要更新说明
Android 15 Android 15 继续致力于构建注重隐私和安全保护的平台,助您提高效率,同时还引入了多项新功能,帮您打造精美应用、卓越的媒体和相机体验,并提供直观的用户体验。在平板电脑和可折叠设备上更能凸显出这些优势。 Android…...
测试岗位应该学什么
以下是测试岗位需要学习的一些关键内容: 1. 测试理论和方法 - 了解不同类型的测试,如功能测试、性能测试、压力测试、安全测试、兼容性测试等。 - 掌握测试策略和测试计划的制定。 2. 编程语言 - 至少熟悉一种编程语言,如 Python、Java…...
华为HarmonyOS NEXT 原生应用开发: 数据持久化存储(用户首选项)的使用 token令牌存储鉴权!
Preferences 数据持久化存储 用户首选项(Preferences) 1. 封装 仓库工具类 ● 这里可以选择将 数据字段 key 抽取为一个静态方法,这里选择让用户传参,看起来较容易理解! /*** 首选项 preferences - 实现数据持久化…...
【AIStarter】告别复杂转换 - MinerU整合包实现PDF到Markdown的无缝转变
在数字化时代,信息的传递与共享变得愈发重要。文档格式之间的转换成为了日常工作中不可或缺的一部分。为了满足用户对高效工作流程的需求,新版MinerU整合包应运而生,它不仅简化了从PDF到Markdown的转换过程,还为用户带来了前所未有…...
Jenkins参数化构建详解(This project is parameterized)
本文详细介绍了Jenkins中不同类型的参数化构建方法,包括字符串、选项、多行文本、布尔值和git分支参数的配置,以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…...
服务器批量清理redis keys,无法适用客户端必须直连的情况
在 Redis 中,批量清理指定模式的键(例如 memberCardData:*)可以通过多种方法来实现。需要注意的是,Redis 的命令执行是单线程的,因此对大量键进行操作时可能会阻塞服务器。以下是几种常见的方法: shell K…...
单元测试SpringBoot
添加测试专用属性 加载测试专用bean Web环境模拟测试 数据层测试回滚 测试用例数据设定...
牛客网刷题 | BC126 小乐乐查找数字
😁博客主页😁:🚀从0至1-CSDN博客🚀 🤑博客内容🤑:🍭C语言、C、数据结构、嵌入式、Linux🍭 😎本文内容🤣:🍭BC1…...
Node一、fs 模块、path 模块、端口号、 http 模块、
一、Node.js了解 Node.js是一个跨平台JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序。 概念:使用 Node.js 编写后端程序 / 支持前端工程化 ✓ 后端程序:提供接口和数据,网页资源等 ✓ 前端工程化 &#x…...
k8s service 配置AWS nlb load_balancing.cross_zone.enabled
在Kubernetes中配置NLB(Network Load Balancer)的跨区域负载均衡(cross-zone load balancing),需要使用服务注解(service annotations)来实现。根据AWS官方文档,以下是配置NLB跨区域…...
[分布式即时通讯系统] 注册类完善
我们在qss里添加err_tip样式,根据不同的状态做字体显示 #err_tip[statenormal]{color: green; } #err_tip[stateerr]{color: red; } 接下来项目中添加global.h和global.cpp文件,global.h声明repolish函数,global.cpp用来定义这个函数。 .h…...
C#使用HttpWebRequest下载文件
public static bool HttpDownloadFile(string downloadUrl, string localPath, log4net.ILog log) { bool bFlagDownloadFile false; //log.Debug(“HttpDownloadFile–准备以HTTP的方式下载文件,url:[” downloadUrl “]本地文件:【” localPath “…...
CentOS7环境安装php
直接安装 yum -y install php CentOS7默认安装是php5,现在php已有8.3版本 先查看php -v 版本 如果是低版本,可以删除 yum remove php yum remove php-fpm yum remove php-common 一、添加REMI存储库 yum install epel-release yum install -y …...
【Excel学习记录】04-排序和筛选
1.排序 (1)简单排序 不建议选中某列后进行排序 可以选中一个单元格或者整个表格→开始→编辑→排序和筛选→升序/降序 (2)多条件排序 可以选中一个单元格或者整个表格→开始→编辑→排序和筛选→自定义排序→指定关键字、比较内…...
Python轻松获取抖音视频播放量
现在在gpt的加持下写一些简单的代码还是很容易的,效率高,但是要有一点基础,不然有时候发现不了问题,这些都需要经验积累和实战,最好能和工作结合起来,不然很快一段时间就忘的干干净净了,下面就是…...
恢复删除的文件:6个免费Windows电脑数据恢复软件
数据恢复软件可帮助您从众多存储设备中恢复损坏或删除的数据。您可以使用这些文件恢复软件来检索文件、文档、视频、图片等。这些应用程序支持多种标准文件格式,如 PNG、RTF、PDF、HTML、JPG、MP3 等。 经过超过 75 小时的研究,我分析了 25 最佳免费数据…...
Go的Gin比java的Springboot更加的开箱即用?
前言 隔壁组的云计算零零后女同事,后文简称 云女士 ,非说 Go 的 Gin 框架比 Springboot 更加的开箱即用,我心想在 Java 里面 Springboot 已经打遍天下无敌手,这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗,非我要…...
Java 中枚举的 toString 方法及其字段信息展示
在 Java 编程中,枚举(enum)是一种特殊的数据类型,用于定义一组固定的常量。枚举类型不仅限于简单的常量定义,还可以包含字段、方法以及构造函数,从而使其具备更强的表达能力。toString 方法是 Java 中所有对…...
Python数据分析(OpenCV视频处理)
处理视频我们引入的还是numpy 和 OpenCV 的包 引入方式如下: import numpy as np import cv2 我们使用OpenCV来加载本地视频,参数就是你视频的路径就可以 #加载视频 cap cv2.VideoCapture(./1.mp4) 下面我们进行读取视频 #读取视频 flag,frame cap.re…...
DocFlow票据AI自动化处理工具:出色的文档解析+抽取能力,提升企业文档数字化管理效能
目录 财务应付 金融信贷业务 近期,DocFlow票据自动化产品正式上线。DocFlow是一款票据AI自动化处理工具,支持不同版式单据智能分类扩展,可选功能插件配置流程,满足多样业务场景。 随着全球化与信息化进程,企业的文件…...
python编程Day15-UnitTest框架的介绍
框架 framework为了解决一类事情的功能集合 Unittest 框架 是 Python 自带的单元测试框架 自带的, 可以直接使用, 不需要单外安装 测试人员 用来做自动化测试, 作为自动化测试的执行框架, 即 管理和执行用例的 使用原因 能够组织多个用例去执行提供丰富的断言方法能够生成测试报…...
Linux——进程控制模拟shell
1.进程创建 我们在之前的文章中介绍过进程创建的方法,可以通过系统调用接口fork来创建新的进程。 fork在创建完新的子进程之后,返回值是一个pid,对于父进程返回子进程的pid,对于子进程返回0。fork函数后父子进程共享代码ÿ…...
OpenCV的图像矫正
一、原理 图像矫正的原理是透视变换,下面来介绍一下透视变换的概念。 透视变换(Perspective Transform)基于一个4对点的映射关系(4个源点到4个目标点),通过这些点之间的映射,可以计算一个变换…...
基于php求职招聘系统设计
摘要 随着社会信息化时代的到来,如今人们社会的生活节奏普遍加快,人们对于工作效率的要求也越来越高,企业 举办招聘会耗时耗财,个人参加招聘会漫无目的寻找不到“方向”,网络搜索工作量目的性不强,信息量繁…...
并行口的基本概念
单片机的并行口结构包括多个并行I/O端口,用于与外部设备进行并行数据传输。这些端口能够直接读写外部存储器、显示设备、打印机等外设的数据,是单片机与外界交互的重要通道。在深入探讨之前,我们先简要了解下单片机的基本概念。 单片机&…...
(六)机器学习 - 正态数据分布
正态数据分布,也称为高斯分布(Gaussian distribution),是一种在统计学中非常重要的概率分布。它描述了自然和社会科学中许多现象的分布情况,如人的身高、体重、智商等。正态分布的图形特征是中间高、两边低,…...
电脑系统报错找不到d3dcompiler_47.dll怎么修复?怎么预防“d3dcompiler_47.dll”文件缺失?
“d3dcompiler_47.dll”文件缺失的修复与预防策略 在日常使用电脑软件,尤其是运行大型游戏或图形密集型应用时,我们可能会遇到一些令人困惑的系统报错。其中之一便是“找不到d3dcompiler_47.dll”的错误提示。这个错误不仅影响软件的正常运行࿰…...
Github 2024-12-12 Go开源项目日报Top10
根据Github Trendings的统计,今日(2024-12-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Go Ethereum: 以太坊Go语言官方实现 创建周期:3717 天开发语言:Go协议类型:GNU Lesser General Public License v3.0Star数量:4504…...
RIP协议
介绍 路由信息协议RIP(Routing Information Protocol)是基于距离矢量(Distance-Vector)算法的路由协议,它是一种较为简单的内部网关协议IGP(Interior Gateway Protocol)。它的主要功能是帮助路…...
vue-router查漏补缺
一、动态路由匹配 1.带参数的动态路由匹配 import User from ./User.vue// 这些都会传递给 createRouter const routes [// 动态字段以冒号开始{ path: /users/:efg, component: User }, ]这种方式的路由会匹配到/users/abc或者/users/123,路径参数用冒号:表示,并…...
使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作
使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作,包括开启日志归档和用户授权。 flink官方参考资料: https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/oracle-cdc/ 操作步骤: 1.启用…...
mqtt.js 客户端封装
mqtt.js 客户端封装 没封装前使用 const client mqtt.connect(ws://10.10.20.9:9001) onMounted(() > {const topicList []const channelCount 12for(let i 0; i < channelCount; i) {topicList.push(/test/sendImage${i 1})}client.on(connect, () > {console…...
www.aws.training网站的账户密码如何修改
www.aws.training网站的账户密码如何修改 参加aws考试后, 账号密码如何修改呢? 是不是找了好久都找不到. 右上角, 我的账户, 点击注销. 然后会跳到页面: 点击那个网址链接, 进入新的页面,点安全: 右上角: 更改密码. 按提示来就好....
使用Python实现高性能数据存储
在数据驱动的时代,处理和存储海量数据已成为关键需求。高性能数据存储不仅能够确保数据的快速读写,还能提升系统的整体性能。Python作为一种灵活且功能强大的编程语言,提供了多种高效的数据存储解决方案。本文将详细介绍如何使用Python实现高…...
[已解决]nvm安装node.js 报错 拒绝访问此应用无法在你电脑上运行
报错如下: 出错背景: 心血来潮把node删掉重新安装,想用nvm来进行管理node 出错原因: npm下载失败、下载不完整 不完整的npm展示: 出错根本原因: 可能因为镜像源或者网络波动,导致node下载…...
图文检索(36):Decomposing Semantic Shifts for Composed Image Retrieval
Decomposing Semantic Shifts for Composed Image Retrieval 摘要方法3.1 前期准备3.2 视觉语言表示3.3 降级过程3.4 升级过程3.5 训练和推理 结论 发布时间(2024 AAAI) 标题:分解语义转换以实现组合图像检索 摘要 语义转换网络 (SSN)&…...