大数跨境
0
0

携程 x NebulaGraph|业务增益 32%,NebulaGraph 在携程风控场景下的落地实践

携程 x NebulaGraph|业务增益 32%,NebulaGraph 在携程风控场景下的落地实践 NebulaGraph
2024-09-05
1
导读:携程使用 NebulaGraph 实现业务增益32%

作者


周伟诚,来自携程风控研发团队,专注于风控系统及特征平台领域。 2021年开始深入探索图数据,并在风控场景下进行多次落地实践,取得了显著的业务增益。



前言

携程作为在线旅游代理(OTA)行业中的一家头部企业,处理着海量的在线实时交易订单。然而,随着订单数量的增加,潜在的欺诈风险也随之上升。为了更有效地识别团伙欺诈和黑产攻击,同时确保实时风控系统的高响应性,携程风控研发团队对多个图数据库进行了调研和试用,最终选择了 NebulaGraph 数据库,并成功将其投入线上使用,从而实现业务增益 32%。


业务需求

在某些业务场景中,风控系统需要对业务事件进行补充,以丰富其风险画像,从而更有效地识别风险和防范欺诈。


然而,常规技术手段,在识别新客的业务行为时存在一定的局限性。主要原因在于,新客的历史数据较少 ,其业务风险的背景信息往往不够完善,这增加了欺诈的可能性。统计数据显示,相较于存量用户的业务行为,新客业务行为的欺诈风险高达数倍。为应对这一挑战,携程风控团队提出了利用图数据库构建实时动态图的设想,以丰富新客业务行为的风险画像,从而提高欺诈识别率。



一笔新客的业务行为通常包含多个维度的信息 ,如下图中的U,V,W 这 3 种元素。通过这些相同的元素 ,我们可以关联出一阶邻居和二阶邻居。如下图的例子所示,通过相同的元素 V1 可以关联出当前业务事件的一阶邻居,再通过相同的元素 U3 可以关联到二阶邻居的 W2。这样,我们可以从新客业务的单一信息中关联出其多阶邻居,并综合这些关联信息,更好地识别该业务行为的风险。



基于上述业务模型,我们将每个元素构建为一个节点,并使用该节点的维度作为其标签(tag)。节点的唯一标识符(vid)设置为具体的元素值。为了便于追溯,点上添加了该元素所属的业务事件号和请求时间。对于同一个业务事件中的元素,我们会创建边将这些代表元素的节点关联起来,表示它们之间存在关联关系。


在当前的业务场景中,还有个需求是保持一年内的实时关联图,对于超过一年时间的数据,将不再参与图的关联。因此,我们利用了 NebulaGraph 图数据库的一个特性,即它允许为时间戳类型的属性设置有效期(TTL)。根据业务要求,我们为所有节点的请求时间设置了一年的 TTL。一年之后,这些节点将自动过期,不再参与实时图的关联。这样可以确保当前订单的关联数据仅限于一年内的时间窗口。


查询逻辑

在实际的构建关联过程中,我们遇到了两个问题。第一个问题是查询存在热点问题。如下图所示,例如从 U1 元素开始,它关联查询到 N 个 W 元素的节点,然后每个 W 元素又各自关联到 N 个 V 元素。这样会导致关联查询的数量急剧膨胀,甚至可能导致超时和服务器宕机。


对于这样的热点问题,我们需要加以排除,因为其数据价值不高,并且会因为查询超时而降低整体的关联率,进而影响风险识别的最终结果。



第二个问题是,如下图所示。当某笔业务事件刚进入风控系统时,由于图数据的写入是通过消息队列推送的方式进行的,可能会出现以下情况:当该业务事件中包含的 3 个元素(U1、W1、V1)尚未被写入图数据库时,系统就要求查询 U1 的关联信息。这时,系统无法查询到 V2 和 U2 的信息。


为了解决这个问题,我们提出了一个解决方案,即将单个关联改为群组关联 。这样,即使这些元素尚未被关联写入图数据库,也能在同一笔业务事件中查找到这些元素的二阶关联邻居。


解决方案

以下是我们的解决方案。


首先,对于第一个热点问题,我们会根据节点的标签类型(tag)查询其关联节点。如果某类关联数据(例如 U 关联 W)超过了规定的阈值,我们将其舍弃,以确保实时风控的高响应速度。


如下图所示,如果 U1 查询到的 W 元素数量超过了规定的阈值 X,我们将这些 W 节点剔除,不再参与下一阶的关联过程。然后,我们将符合要求的一阶关联结果节点进行合并和去重,作为二阶关联的起始点。接下来,使用同样的策略查询二阶邻居,最后进行数据的整理和合并。这样可以用较小的代价剔除热点干扰。


针对上一节提到的第二个问题,即同一订单中的多个元素因关联写入延迟导致无法查询的情况,我们也提出了解决方案。具体而言,我们将同一订单中的多个元素(如 U1、W1、V1)作为一个整体,并行查询它们的关联邻居,然后将各自的结果去重合并,最终返回综合结果。此方案在下图中有所体现。



在上图所示的流程中,我们使用了一个关键的 nGQL 查询语句,如下图所示。该语句的作用是从一组起始点开始,根据它们的关联点的标签(tag)类别进行关联查询。对于超过热点阈值的某类关联数据,我们会进行过滤和剔除。


例如,在下图的例子中,起始点关联到的 W 元素数量已经超过了热点阈值,形成了一个热点,符合剔除过滤的条件。因此,W 元素将返回一个空列表,表示不再参与下一阶的关联查询过程,从而避免了热点对风控系统性能的影响。



业务收益

我们借助 NebulaGraph 在对此风控业务场景进行落地实践的过程中,构建了一个实时图特征平台的应用逻辑闭环,结构如下图所示。


当一笔业务行为事件进入风控系统时,会同时异步写入到图特征平台和大数据平台。 风控系统在对当笔事件进行风险评估时,会实时调用图特征平台进行关联信息的补充,从而提高资质评估的准确性。


大数据平台则会定期对图特征平台进行补数操作,确保图库数据的完整性和一致性。 同时提升图特征平台的健壮性,可以在较短时间内快速恢复缺失的数据。



业务上线后,我们额外获取了 55% 的关联业务信息,通过这些新增的特征信息,使得该场景下的覆盖率相对提升了32% 获得了良好的业务增益。



未来规划

图数据库是一个新兴的技术领域,因其天然的关联属性和查询优势,十分适合于风控场景,尤其是挖掘业务行为特征。携程集团在调研了多个图库之后,选定 NebulaGraph 作为主流支持的图数据库。


携程风控研发团队目前正在积极地挖掘 NebulaGraph 的使用场景,后续会探索在血缘关系,欺诈团伙识别等场景的落地实践。


在此特别感谢 NebulaGraph 团队和开源社区的技术赋能,愿未来一路同行!
































如果你觉得 NebulaGraph能帮到你,或者你只是单纯支持开源精神,可以在 GitHub 上为 NebulaGraph 点个 Star!每一个 Star 都是对我们的支持和鼓励✨

https://github.com/vesoft-inc/nebula



扫码添加

 可爱星云 

技术交流

资料分享




NebulaGraph 用户案例集



案例推荐:

信息图谱在携程酒店的应用

智联招聘的推荐实践分享

知识图谱案例

Nebula Graph 在企查查的应用

腾讯音乐知识图谱搜索实践

中科大脑知识图谱平台建设及业务实践

苏宁基于 NebulaGraph 构建知识图谱的大规模告警收敛和根因定位实践

金融风控案例:

图数据库在中国移动金融风控领域的落地应用

图数据库 Nebula Graph 在 BOSS 直聘的应用

360数科:基于 NebulaGraph 打造智能化的金融反欺诈系统

NebulaGraph 助力金蝶征信产业图谱深挖企业关系链,实现银行批量获客

智能运维案例:

58 同城基于 NebulaGraph 一键部署运维架构的实践

苏宁基于 NebulaGraph 构建知识图谱的大规模告警收敛和根因定位实践

大数据/图平台:

图DB在微信的 应用

OPPO:通过 NebulaGraph 建设全局图数据库平台

vivo 大规模特征存储实践

美团图数据库平台建设及业务实践

百度爱番番实时CDP建设实践

数据治理:

微众银行:利用 NebulaGraph 进行全局数据血缘治理的实践

BIGO 的数据管理与应用实践

安全:

百亿级图数据在快手安全情报的应用与挑战

基于图的下一代入侵检测系统

NebulaGraph 助力奇安信威胁图谱分析系统获赛迪顾问颁发“新一代信息技术创新产品”奖


【声明】内容源于网络
0
0
NebulaGraph
一个开源的分布式图数据库
内容 731
粉丝 0
NebulaGraph 一个开源的分布式图数据库
总阅读314
粉丝0
内容731