梦应逍遥 发表于 2024-10-3 11:07:26

阿里云实时盘算Flink在多行业的应用和实践

摘要:本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时盘算在各行业的应用实践,对回归实时盘算的重点场景进行先容以及企业如何使用实时盘算技能,并且提供一些在技能架构上的参考建议。内容分为以下四个部分:

[*] 业务需求变化推动架构演进
[*] 实时盘算在各行业的应用与实践
[*] 从数据看实时盘算在各行业的趋势
[*] 总结
一、业务需求变化推动架构演进

任何技能的发展都是随着业务需求而推动。那么随着业务技能的需求推动,是如何发展到当前的技能形态呢?
https://i-blog.csdnimg.cn/blog_migrate/0960027b67a73cc10ba21f80098b8f84.jpeg
在早期,企业依赖数据分析和数据仓库检察到近来的数据,如昨天、一个月前以致三个月前的数据。很多企业的数据仓库是基于像 MySQL、Oracle、DB2 如许的传统单机数据库体系搭建的。随着时间推移,企业对历史数据的分析需求增长,需要分析的数据也越来越多,时间跨度也扩大到了三年、五年,甚至十年,导致单机架构在这种海量数据分析需求面前也显得力不从心。因此,分布式数据库如 Teradata、Greenplum (GP) 应运而生,帮助解决在海量数据情况下企业快速数据分析的需求,并且解决了第二个问题:“大”和“快”的问题。 从2006 年 Hadoop 成为开源社区的顶级项目开始,企业大规模使用 Hadoop 来做离线分析,标记着数据处理本事的一个重要进步。
随着互联网技能的发展,传统的数据仓库已经不仅限于关系数据,大概来自于互联网的行为日记数据,也大概来自差别设备的终端时序数据,这些数据在传统数据仓库中没有办法基于 SQL、存储过程来分析,而是需要基于 MapReduce、 Spark 以及 Python 方式对数据进行预处理和分析。在这种情况下就需要一种新的体系 Hadoop,目前大多数企业已经在这个阶段过渡。后来业务需求对实质性的要求越来越高,需要的不再是 T+1 的数据,而是需要根据前一个小时、前一分钟、前一秒的业务动态来判断下一个角色。所以对时效性要求越来越高,这促使着现在的流盘算技能发展,使 Flink 成为企业的一个在实时盘算的究竟标准。
二、实时盘算在各行业的应用与实践

接下来分享四个实时盘算使用比较多的行业,分别是金融、汽车,交通物流以及零售行业。分享一下在这些行业场景中是如何使用大数据实时盘算相干的技能,以及近几年实时盘算使用的比例变化。
1. 金融行业

https://i-blog.csdnimg.cn/blog_migrate/9021f761747b3cc95620a0088fb2deaf.png
金融业在实时盘算的应用里基本上处于百花齐放的状态。不仅可以收到实时推荐的消息、股票交易的动态变化等,而且除了这些情况外,金融机构还会做 To B 端企业服务和私募基金的相干服务。对大客营销需要针对性的监管报送,实时将企业、金融机构的风险提供给监管部门,这些都需要大量的实时盘算技能。
接下来举两个行业场景的例子,金融行业是如何使用相干大数据实时盘算技能的?下图是一个案例证券交易行为。
https://i-blog.csdnimg.cn/blog_migrate/ce813210419fc322e997034c66f5cb1a.jpeg
在当前股市中,对交易监控的实时性要求极高,主要是由于市场价格波动迅速,股民的交易行为需要得到即时的监管。比方,在实施注册制之前,假如股票的交易价格为 100 元,投资者可以挂出 110 元的买单。在极短的时间内,大概价格就会涨到 110 元,从而使投资者得到 10% 的收益。但注册制实验后,挂单价格的上限受到限制,不得超过当前卖出价格溢价的 2%,也就是说最高只能挂 102 元。如许的变化意味着对交易行为实施实时监控和告警,以及在必要时进行阻断变得更加重要。假如阻断措施延长,大概会引发数据合规性问题。因此,为了确保合规并保护投资者的利益,对于交易行为的监控体系必须做到快速反应。
举个例子,在股市交易监控方面,各种订单数据,如股票的买入量、当前报价及股票代码,以实时数据的形式流入体系并进入消息队列。除了这些流式数据,还需要引入与所购股票相干的基本信息,比如客户购买的财报数据、昨日的涨停价和开盘价等。这些基础数据存储于 Hologres 中,以维表的形式存在,用于与流式数据进行关联。数据关联之后,再利用 Flink 对这些信息进行加工和判断分析。假如检测到用户在近几分钟内挂出的订单价格超过了当下价格的 2%,体系会立即接纳阻断措施并发出告警。考虑到场景架构图中存在众多的风险和交易规则,我们采用基于复杂事件处理(CEP)的方法来实现风控规则,而上述只描述了其中一条规则。同时,还大概需要引入离线数据来补充用户信息。这些离线数据天天按照T+1模式更新,通太过析这些历史数据并将它们与实时数据联合,可以对交易情况做出更加细致的判断。
下面第二个案例是零售银行面向 c 端的用户推荐。
https://i-blog.csdnimg.cn/blog_migrate/337f08784c314b5fe415149234a248b7.png
银行和很多金融机构会定期发布各种促销活动,包罗针对股票和基金的活动。作为用户,当通过 APP 或 H5 页面点击到场活动时,就会天生一条实时触发的消息流。接下来,体系需要判断这个用户应该得到多少优惠券,并且通过积分奖励的方式鼓励用户完成购买,形成销售的闭环。为了处理这个流程,整个链路会使用 Flink+Hologres 来帮忙客户做处理。
2. 汽车行业

近年来,随着新能源汽车产业的快速发展,汽车行业对数据的依赖日益增长,数据量的增长速度非常迅猛。可以看到一个现象,在云上的多数企业 CPU 和内存的使用资本远远高于数据存储资本,在云上的来说存储相对便宜。然而,汽车行业的情况颇为独特,由于数据涌现速度极快,特殊是新能源汽车产生的数据已经在云平台上造成存储资本超过盘算资本的现象。
https://i-blog.csdnimg.cn/blog_migrate/b2c101b7071e9768cf97ca4ad6bc4a1f.png
汽车行业从初期的研发制造、供应链、销售、再到对外的服务,整个链路都包含了众多的实时场景与应用。包罗在研发阶段需要对研发过程的实时监控、研发参数的实时告警。在供应链环节,对零部件进行实时预警同样关键,每一个供应链环节都大概直接影响到一个企业的业务目标和销售业绩。在销售环节,针对C端用户的商品推荐和行为分析也极为重要。
另一个场景是在服务阶段,如何提供良好的汽车服务以促进二次销售也是企业需要关注的场景。下文将先容一个重要的行业应用:新能源汽车的车联网场景。随着车辆上装配的摄像头、传感器和雷达数量的增多,这背后收罗到的数据量也在相应增长。
https://i-blog.csdnimg.cn/blog_migrate/d28f98ae5948a4c1fab34c57987cbd4a.png我们有一个客户,天天要收罗大约 42 亿条数据,收罗频率是每秒一次。相比之下,在一年前他们大概是天天只收罗一次数据。随后这个频率进步到了每10分钟一次,继而由于业务需求,他们需要将收罗频率从原先的每 10 秒逐步过渡到每秒收罗。此外,我们尚有汽车行业的客户,现在已经需要到达每 500 毫秒收罗一次数据。以 30 万辆运行中的车为例,假如每秒收罗数据一次,就意味着每秒需要收罗 30 万条数据。然而,这些数据与其他行业的数据有所差别,一条数据就大概包含多达 3,000 到 4,000 个字段的信号数据
在车联网场景中,前端设备大概是 TBOX 或 TSB 如许的车载平台,它们通常收罗的是二进制数据。很多企业首要的工作是利用 Flink 将这些车载二进制信号数据转换成后续可进行分析的结构化数据,这是处理流程的第一步。接下来,他们大概会使用 Hologres 进行实时的在线分析服务。针对汽车行业高昂的存储资本问题,Hologres也推出了价格更低廉的存储产物,包罗低频访问的存储解决方案,帮助客户在处理海量数据时实现存储分层,从而帮助低沉团体资本。
下面是先容新能源汽车行业,联合刚才的实时数据可以做的哪些场景。
https://i-blog.csdnimg.cn/blog_migrate/a76e00b0242733081c7bbe814309d2a2.jpeg
在这一场景中,我们可以收罗到多种车辆数据,包罗车辆所处的车道、驾驶员是否双手握方向盘、车速以及车辆是左转还是右转等信息。通太过析这些数据,体系可以或许判断驾驶员是否存在危险驾驶行为。比方,假如一个驾驶员在五分钟内连续双手脱离方向盘,大概在高速公路上连续五分钟的速度超过 150 公里/小时,那么体系就会将其归类为危险驾驶,并大概接纳相应措施向客户发出预警。
同时,还可以根据这些数据对用户进行画像。假如数据显示用户偏好激烈的驾驶行为,那么在下一次购车时,体系大概会向该用户推荐性能更强的车型。如今,无论是传统主机厂还是排名前十的新能源汽车制造商,超过 70% 的车联网平台都在运行于阿里云上。联合这些企业的实践经验,阿里云推出了一套面向车联网行业的推荐参考架构。很多领先的汽车厂家都按照这套架构实施其车联网平台。
下图左侧是实时架构,右侧是离线架构。
https://i-blog.csdnimg.cn/blog_migrate/2a7ead7ce7a9cedccfcc9f4297ec3de6.png
实时数仓与实时盘算的主要区别在于数据的处理和管理方式。在传统的数仓中,数据通常会进行层次化处理,涉及到离线数据的差别层级,比如 DWD、DWS 和 ADS。然而,在实时盘算中,进行层次化分隔较为困难,由于它缺乏统一的存储层次。比方,ODS 层的数据大概存放在 Kafka 中,加工后的 DWD 层数据大概放在 RDS 中,这些数据难以统一管理。目前,阿里云通过整合 Flink 和 Hologres 技能,使接入的数据在消息队列中存储,并经过 Flink 的处理转化成宽表格式,之后统一存放在 Hologres 中,实现了数据流的实时处理与分析。
很多业务部门早期将数据存放在消息队列中,但如许做无法实验查询,也无法使用 SQL 语句进行数据操作。现在,可以将宽表格式的数据直接存储在 Hologres 中,并且借助 Flink 按照离线数仓的层次化架构,加工形成指标数据后统一存放入 Hologres 引擎。将 Hologres 界说为面向业务的唯一数据出口,避免了对其他关系数据库和 Key-Value 数据库的依赖。将全部数据集中存储在 Hologres 中后,前端应用、报表和各种数据产物都能基于 Hologres 实现数据的统一访问与输出,如许不仅简化了数据架构还提升了数据处理的效率。
3. 物盛行业

预计本年,很多物流企业采用实时盘算的比例将超过50%。
https://i-blog.csdnimg.cn/blog_migrate/0ea33c7901367456d7510391ff08ba79.jpeg
物盛行业在数据流转方面与零售行业相似,都是围绕着人、货和场所进行。一个明显特点是物盛行业对位置信息的要求日益增高。用户在下单之后会时刻关注快递的位置,因此,物流企业开始围绕位置信息展开实时盘算的数据加工与处理。数据的天生起始于用户通过手机APP下单或电话联系快递员上门如许的环节,从而形成一套订单信息。这些订单在物流企业内部经太过发处理后,转换为具体的运单信息。运单形成后,进一步贯穿于派送和签收等环节。在整个流程中,对链路时效性的要求越来越高,用户对数据更新的容忍度徐徐低沉,渴望可以或许实时、每秒钟都能看到最新的快递信息。
下面举几个简朴的场景,第一个场景是大件物流。与小件快递差别,大件物流主要是做快运。
https://i-blog.csdnimg.cn/blog_migrate/04affc9a506c6d2f19db437f4c2c01a1.jpeg
快运服务的一个特点是车辆类型的多样性,包罗大、中、小型车辆,此外尚有很多特定的标签,比如载重本事。比方,假如一个客户需要运输两吨重的物品,但是分配了一个能承载十吨重的车辆,这显然会有些浪费。背后的匹配逻辑相当复杂,由于有时两吨重的货物现实上大概因体积较大而需要更大的车辆。那么,该如何有用地进行车辆与货物间的匹配呢?这就需要通过数据对车辆和货物进行准确的标记,随后实时盘算技能便可以根据用户货物的变化和位置变化进行符合的匹配与推荐。
接下来看第二个场景:
https://i-blog.csdnimg.cn/blog_migrate/140f46ac19c2f67655251a44f84ee6f6.jpeg
疫情期间所带来的挑衅大概让人感受更为明显,比如一个企业负责从杭州到北京的大件物流运输。在这种情况下,大概会遇到运至某城市时发现该城市正处于疫情管控,无法通过。如许原本确定的物流单大概被迫取消,导致货主双方都面临一系列问题。为了解决这类问题,借助实时盘算技能,司机可以实时上报本身的位置和其他相干信息,这通常需要硬件的支持;同时,货主端也能实时监控货物的状态变化。通过这种方式,可以或许有用进步整个物流过程的效率和相应时效。
以下就是围绕刚才讲的两个场景,物盛行业场景的整个技能架构图。
https://i-blog.csdnimg.cn/blog_migrate/8227c3a0eb1a07a2ef45aa68f375ced8.jpeg
https://i-blog.csdnimg.cn/blog_migrate/1577e1c5bb094b943199bbe1a3612b4c.png
总体来看,涉及的数据包罗订单数据、货源数据、司机数据以及用户会员数据等。这些数据如何进行有用匹配呢?在如许的数据架构背后,不仅包罗了实时的流消息,还涉及到离线的用户标签数据、车辆的静态维度表数据等多种数据类型。利用 Flink 技能,可以综合处理这些差别泉源的流数据和静态维表数据进行必要的加工处理。加工后的数据可以应用于多种业务场景,比方智能匹配车辆与货物、实时监控门路以及提供最优门路推荐等,有用地优化物流配送的效率和服务质量。
针对这个场景,我们提出了一个参考架构。前端的埋点数据、用户端数据以及 APP 上报的数据将会统一推送到消息队列 Data Hub 中。数据一旦推送到 Data Hub,就会通过 Flink 进行实时的接入和加工处理。处理完成的数据随后会统一存储到 Hologres 中。前端应用大概直接从 Hologres 中实验 OLAP 分析,大概在这基础上进行实时决策支持。 Hologres 可以提供实时的运力匹配关系、供需动态以及实时轨迹分析等关键业务信息,这些功能在需要快速相应市场变化和用户需求的业务场景应用中特殊重要。在架构的右侧,主要针对的是离线场景,同样会将实时处理的数据写入离线的对象存储中,以便用于离线数据的进一步补充和处理。
4. 零售行业

零售行业是最早开始采用实时盘算的行业之一。阿里巴巴在最初开展双11大促活动时,就已经可以或许通过大屏实时展示当前的销售动态数据。企业的决策者们需要了解当前的销售情况,并依据这些实时数据进行相干的决策。接下来,我会举两个具体的例子来分析。
https://i-blog.csdnimg.cn/blog_migrate/b7baf37ca5f9bef569587be031d74602.jpeg
第一个例子是,在特殊是像双十一、双十二如许的大型促销中,很多零售企业会准备大量促销活动。假设企业需要准备 1,000 万优惠券,它们需要对这 1,000 万的优惠券的动向进行实时监控。接着,根据优惠券的发放情况,需要进举措态的调解。假如在最开始的五分钟内 1,000 万优惠券就被抢光了,企业需要立刻决策是否再追加 1,000 万以增长用户转化率?这些都是在营销的全过程中,包罗营销前、营销中、营销后,业务流程中需要考虑的因素。
在技能实现方面,离线场景涉及到大量的历史数据,包罗用户的行为、他们偏好的服装类型、年龄和性别等信息,这些都会被储存在历史数据平台上。当出现购买信息或潜在的点击行为时,基于 Flink 引擎可以帮助实时作出判断。它能推测用户是否大概在接下来的两分钟内下单,并且识别出哪种优惠券对用户来说更有吸引力。整个过程需要 Flink 利用技能手段来进行评估和决策。下图是实施营销的一个决策方案架构:
https://i-blog.csdnimg.cn/blog_migrate/f0f9d530b7b4dd748b8628eef01944d7.png
下面是第二个场景:
https://i-blog.csdnimg.cn/blog_migrate/b48ef8e9b9e699094dc6581484f8aea8.jpeg
很多企业依赖实时数据分析来强化其贸易决策,这需要可以或许迅速向企业决策者和各个业务部门提供关键信息。比方,准确追踪某个用户在特定页面的停留时间及其带来了多少转化率。基于一款提供相干查询和分析的平台,简而言之,用户需要进行查询,只管这背后大概涉及海量的数据,大概是几亿甚至几十亿条记录。那么如何解决这一挑衅呢?解决方案是通过 Hologres。我们可以看到,底层的数据被存储在 Hologres 中,并且大概存在各种检索条件。基于这些检索条件体系需要快速地给业务提供决策支持和相应本事。比如,大概需要查询特定品类、用户当前行为、某个商品占位信息或广告投放的效率等。基于多样的检索条件,Hologres 提供的 OLAP 查询本事可以满意这些需求,从而实现客户对于数据的快速查询。
下面是在线做电商的一个客户,基本上几十 TB 级的数据。自助分析的相应速度控制在 3 秒以内,基本上 99% 的查询都是在 3 秒以内相应,业务方认为如许的速度可以或许非常快捷地帮助他们进步决策效率。
https://i-blog.csdnimg.cn/blog_migrate/4cb2d60f6e527c26f50db69e8f4cce06.jpeg
零售行业也提出了一个参考架构。
https://i-blog.csdnimg.cn/blog_migrate/987b8228af2233e93498761f3577e7b2.png
在零售行业中,数据仓库通常包含了如商品、会员、销售、售后和运营等多个标准化范畴,这些分域和层次结构一样寻常来说都非常规范和通用。基于如许的架构,可以借助阿里云的 MaxCompute 来实验离线数据仓库的分层处理。对于实时盘算需求,则可以通过联合 Flink 和 Hologres 来实现实时数据仓库的操作,以及构建统一的架构。至于调度管理层,可以使用 DataWorks 来提供统一的工作流程调度和数据加工服务。这是一个在零售行业常见的推荐架构。上述四个方面是对实时盘算依赖性较高且使用效果良好的行业中的范例应用场景。
三、从数据看实时盘算在各行业的趋势

https://i-blog.csdnimg.cn/blog_migrate/697d8d65709322b030d28a430da6308b.jpeg
根据阿里云发布的公有云数据报告,中国大约有 50% 的大数据用户选择使用阿里云服务,拥有数万名大数据客户。从这些客户数据中做出的简朴分析显示,在四年前的 2020 年,实时盘算的普及率还相对较低,基本都在 10% 以内。大部分企业其时仍然主要依赖于 T+1 的小时级离线分析。然而,预计下一年,金融行业实时盘算的使用比例将超过 25%,物盛行业的比例大概会超过 50%。因此,实时盘算成为未来发展的一个关键考虑点。整个行业实时盘算的用例预计都会超过 30%,这表明实时盘算的普及率正处于一个迅速上升的阶段。
四、总结

作为阿里云盘算平台的成员之一,除了本日讨论的实时盘算技能之外,还基于服务数万+客户的经验,沉淀出了面向未来的一套云上数据仓库参考架构。这一架构的设计旨在为客户提供一套高效、可靠、可扩展的数据处理与分析平台,以支持大数据、人工智能和数据仓库等多种复杂应用场景。
在未来的交换和分享中,我们将基于这一推荐的参考架构,深入探讨如何有用地利用大数据技能、人工智能本事以及数据仓库功能,来帮助客户解锁数据价值,推动业务发展和创新。通过这些互动,我们渴望与客户共同探索和实践最佳的云盘算解决方案,以满意客户不断变化的业务需求。
https://i-blog.csdnimg.cn/blog_migrate/fc653638ed7c4cf5dcb5c032ac425688.jpeg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 阿里云实时盘算Flink在多行业的应用和实践