从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践

  • 时间:
  • 浏览:2

蚂蚁金服过去十五年,重塑支付改变生活,为全球超过十二亿人提供服务,哪几个头上离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。你是什么人将其中的优秀演讲采集成文并将陆续发布,本文为其中一篇。

今年 4 月,蚂蚁金服董事长兼 CEO 井贤栋在参与第二届一带一路国际合作者者高峰论坛时表示,通过九年的实践,蚂蚁金服改善了中小企业的融资渠道并形成了 310 模式,即 3 分钟在线申请、1 秒钟审核放款、0 人工干预。与此相对的是,仅仅在两年前,有相关人士表示,你是什么人出台的 310 模式却是 3 周申请,1 月审核,0 几率获贷。

那末,蚂蚁金服是怎么通过不断探索应用金融新技术,为中小企业提供融资便利,其中的 1 秒钟审核放款,又是怎么做到的呢?在这里,你是什么人来谈谈其中非常关键的一项核心技术,在线图计算技术。

在线图计算本来我将流式计算与图计算结合起来,能做到进行实时的图计算的技术。蚂蚁金服在一种方向上经越多年研发,在关键技术上做出了突破性的创建,并形成了面向金融场景的处里方案。

蚂蚁在线图计算的应用场景

蚂蚁研发在线图计算技术,愿因着金融场景须要曾经 的技术来处里哪几个的问提。

比如,在金融风控中的实时反套现场景。套现,指的是采用违法愿因着虚假的手段交换而获取现金利益的行为,一般多用于信用卡和公积金等场景。

花呗是另另1个 消费信贷类产品,用户都须要基于花呗的额度消费,并定期还款。花呗反套现是花呗整体风控中非常关键的另另1个 环节,怎么实时的、准确的识别套现行为则是花呗反套现的关键。

如图所示,套现的买家通过花呗进行一笔交易的支付,并通过一系列多样化的资金流动,最终通过转账回款进行资金的套现。

通过数据建模,将整体的资金流动抽象成资金关系网络,基于资金关系网络之上进行子图的识别和分析,从而有效的识别套现行为。

通过实时反套现的例子,你是什么人都须要得到在线图计算的另另1个 基本需求:

■首先,构建金融级的资金网络。基于在线的用户资金行为,实时构建高可靠的金融级资金网络;

■其次,基于实时子图的分析决策。基于实时构建的高可靠的金融级资金网络之上,都须要基于子图进行实时的分析和计算,并最终提供在线的决策;

■最后,是动态的子图网络构建。在子图的分析过程中,须要根据用户的资金网络行为,动态的进行子图的构建和扩展。

再得话你是什么人比较熟悉的蚂蚁森林场景。

蚂蚁森林中有 多种形式的好友互动,如支付宝好友之间都须要互相收取能量,以及好友、亲人之间都须要并肩合种一棵树。

在蚂蚁森林中有 人与人的关系,以及人与树的关系等。它不仅须要支持实时的关系数据构建,还须要支持高性能低延迟的关系数据查询和一致性的关系数据修改等需求。

通过蚂蚁森林的例子,你是什么人也都须要得到在线图计算你是什么另另1个 需求。

■首先,须要支持百万级的并发支持。蚂蚁森林当前有5亿+的用户,须要支持百万级的 QPS 的需求然后 满足毫秒级的响应支持;

■其次,是万亿级关系数据存储的需求。愿因着蚂蚁森林的数据规模庞大,包括用户关系、种树关系、合种关系等,关系非常多和多样化,然后 须要提供万亿级的图存储能力。

■最后,是一致性的需求。比如在好友之间进行绿色能力的偷取过程中,愿因着并发量非常大,须要保证实时更新过程中的强一致性的需求。

通过前面实时反套现和蚂蚁森林的例子,你是什么人对金融级的在线图计算的需求做一下简单的总结。

你是什么人将需求分成两每项,第一每项是功能需求:

■首先,须要提供海量的图数据存储的能力;

■其次,在海量的图数据存储之上提供低延迟 I/O 访问能力;

■最后,通欠缺延迟的 I/O 获取子图关系然后进行流计算和图计算等多种模态的融合计算。

第二每项是稳定性需求,愿因着金融场景的型态,你是什么你是什么稳定性显得尤为重要。这里主要列举两点:

■首先,须要支持金融级的容灾和高可靠性,如三地五中心的故障恢复等。

■其次,还须要支持低成本和弹性的扩缩容。

蚂蚁在线图计算整体架构

在介绍完蚂蚁金服在线图计算相关的场景和需求然后,你是什么人来并肩了解下蚂蚁金服在线图计算的核心关键技术及过程中的思考。

首先,你是什么人来并肩看下蚂蚁在线图计算的整体架构图。

在最上层,蚂蚁在线图计算提供一套统一的图开发平台。基于统一的图开发平台,用户都须要基于关系元数据和统一的 DSL 进行作业的开发。目前统一的 DSL 主要通过 SQL 和 Gremlin 融合的法律依据进行编程开发。并肩基于用户的 DSL,会实时的构建分布式的 DAG 进行运行。

构建完成后,分布式的任务会实时的对线上的日志数据和事件数据进行实时的处里。这里主要中有 两条链路,第一根链路会基于实时处里完成的日志数据和事件行为会写入到高性能的图数据库,并基于数据实时的构建高性能的图缓存,提供快速高效的子图抽取。

另外第一根链路则会基于实时处里的数据,来动态的决策是不是须要另另1个 图的 Traversal 和计算,并在计算的过程中,从高性能缓存快速的抽取子图进行计算,最后将计算的结果输出提供在线使用。

通过前面的架构图,都须要看过,蚂蚁的金融级在线图计算主要有另另1个 技术方向:

■首先,是流图融合的计算能力。须要在一套系统中,支持融合的计算能力,也能通过流计算和图计算的融合来实现在线图计算的全链路;

■其次,是高压缩比图缓存。通欠缺压缩来实现图数据都须要删改的所处在内存中,从而实现快速、高效的子图抽取;

■最后,是金融级的海量图数据库。通过金融级的海量图数据库来实现海量的关系数据存储和金融场景下的高可靠。

下面,你是什么人来分布分布介绍一下这三个多 方向的核心技术点。

在线图计算之流图融合计算

第另另1个 关键技术是:流图融合计算。

以花呗反套现的场景为例,一种每一笔交易或回款行为都须要进行套现行为的识别,须要先进行一定的规则的处里。比如,基于实时的统计交易的笔数愿因着回款的金额,在满足一定的条件后才刚结束了进行子图的迭代计算。最后,基于图的迭代计算的结果,在进行数据链路的处里后再提供给在线使用。然后 ,另另1个 场景在删改的计算链路中,须要流计算和图计算一种模态的融合计算。

在传统的计算法律依据中,则会通过流计算和图计算进行组合的法律依据来实现全链路,比如通过 Flink、GraphX、Neo4j 等多个系统进行串联。然后 通过传统的方案,用户须要学习多套系统,然后 须要维护多套系统进行衔接。然后 愿因着多套系统衔接,然后 会产生额外的数据存储和延迟。然后 ,在蚂蚁金服,你是什么人打破计算模态的边界,将流计算和图计算进行融合,提供流图融合的计算系统。用户都须要通过一套 API、一套计算系统来实现完成流图融合的链路,愿因着是一套系统,并肩能减少用户的运维成本。

动态DAG

同样以花呗反套现场景为例,在实现了流图融合的计算能力然后,愿因着是不是进行图计算,以及采用哪几个样的图计算算法也有由数据进行动态决策,无法预先设定。然后 ,传统的静态 DAG 无法满足当前的需求,这里,你是什么人通过将数据流和控制流相结合,并提供动态 DAG 的能力,从而实现按需计算,弹性的扩缩容。

在提供了融合计算和动态计算的能力然后,怎么让用户进行快速便捷的开发显得尤为重要。

这里你是什么人通过 SQL Plus(Gremlin)的法律依据进行融合计算的开发,用户都须要通过 SQL 来构建整体的 Pipeline 的流程,并肩,引入 GraphView 的概念,基于 SQL 都须要离线和实时的构建 Graph View。基于 GraphView 之上,都须要通过 SQL+Gremlin 实现基于数据驱动的在线图计算能力。

并肩,愿因着 SQL 大每项开发者都比较熟悉,都须要减低用户的学习、开发、调试的门槛,易学易用。目前蚂蚁金服也在关注最新的图查询语言国际标准 GQL,未来也会融入于此。

基于以上另另1个 型态,用户都须要快速的构建流图的一体化作业。

接着,用户在上线另另1个 算法策略的并肩,则须要对策略进行验证,这里用户须要针对流式的数据进行有效的仿真,来判定当前的算法是不是有效。

基于当前的在线图计算架构,你是什么人都须要通过模型的有效抽象,将历史的图数据和请求进行有效的回放来实现仿真和在线的一体化架构能力。

与此并肩,愿因着仿真的型态,会对历史版本的数据快照进行访问,从而会引起图数据存储的加速膨胀。愿因着这里采用流式回放的法律依据进行仿真,你是什么人都须要通过基于驱动的数据 GC 策略,从而处里数据的过量膨胀。并肩,基于多级缓存的策略,从而实现提升图仿真的吞吐能力。

以上本来我融合计算方向的六个关键技术,通过以上的六个型态,用户都须要高效、方便的进行任务的构建和计算。

接下来,会讨论怎么快速的进行子图构建。

在线图计算之高性能图缓存

这里重点介绍一下蚂蚁的高性能图缓存,基于完美 Hash 函数和专业的压缩能力,将数据缓所处内存中进行在线服务,从而实现子图场景下的低延迟和高吞吐。

针对高性能的图缓存,内存的占用显得尤为重要。这里重点看下蚂蚁图缓存和业界系统的压缩比对比图。这里采用的是基于 Twitter 的 User-Follow 的开放数据集。

都须要看过,愿因着图的关联型态,你是什么你是什么业界开源的系统在原始图的基础上,也有一定程度的放大,而业界做得比较好的 TigerGraph 做到了相对于原始大小的 40% 左右的内存使用。而蚂蚁的图缓存都须要实现 20% 的原始内存大小。比目前业界最佳,须要节省一半的内存使用。

通欠缺压缩比,你是什么人将图数据删改的存放进去去内存中,下面你是什么人都须要对比一下子图抽取的 RT 性能。

同样是基于 Twitter 的 UserFollow 的数据,都须要看过在 1 度、2 度、3 度的场景下,很糙是 1 度的场景,整体的时间延迟仅是 Tiger Graph 的 20% 左右。

通欠缺性能图缓存,针对子图的高性能查询,也能实现在线的实时链路计算。

在线图计算之金融级图数据库GeaBase

下面你是什么人来看下,怎么实现金融场景下的高可靠和一致性的能力需求,这里重点介绍下蚂蚁的金融级图数据库 GeaBase。

GeaBase 外部通过实现 Mirco Shards 的法律依据来实现数据分片。并基于 Mirco Shard 的数据分片实现 Cost-Base 的数据迁移和自动的负载均衡。并肩,借能助 蚂蚁的基础架构体系,实现了三地五中心的城市级容灾策略。

通过对比,你是什么人都须要看过,在单机、单副本和机房级故障时,GeaBase 的灾备能力均优于 HBase。与此并肩,在城市级容灾的场景下,GeaBase 都须要实现数据的恢复和不丢失。

与此并肩,GeaBase 还实现了一致性的能力,来满足金融场景的数据强一致性的需求。GeaBase 通过实现 Raft 协议来实现数据的一致性。然后 都须要让业务根据自身业务需求自由选泽,是最终一致性还是强一致性。

蚂蚁的在线图计算目前广泛应用于蚂蚁的多条业务线,支持了风控、社交和营销等 3000 多个业务场景。当前在蚂蚁外部有 30000 多台机器的集群规模 7*24 小时运行。

与此并肩,蚂蚁逐渐把哪几个能力输出给外部金融级客户,如常熟农商银行和泰隆银行。比如在常熟农商银行,蚂蚁金服与行方联合共研了蚁燕知识图谱项目,基于蚂蚁研发的在线图计算技术,在大数据量环境下,通过海量关联分析,提前进行担保关系预判,实现担保圈风险的秒级预判和风险提醒,有效管控风险的并肩,切实提高了信贷审批下行效率 。蚂蚁金服不仅买车人实现了 310,还通过合作者者输出给客户,为实现普惠金融而努力。

未来,蚂蚁金服会继续打磨在线图计算的技术能力,并向更多的合作者者伙伴开放,并肩将在线图计算推广到更多的场景中去。