【行业应用】阿里云实时计算 Flink 版物流行业解决方案

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 物流行业,特别是跨境进出口是非常复杂的业务,链路长、环节多、业务场景复杂。在物流履行时效不断加快的当下,物流服务一步步向次日达甚至当日达迈进,离线日报的日更频率早已无法满足业务需求。

行业挑战

物流行业,特别是跨境进出口是非常复杂的业务,链路长、环节多、业务场景复杂。在物流履行时效不断加快的当下,物流服务一步步向次日达甚至当日达迈进,离线日报的日更频率早已无法满足业务需求。而实时监控、实时展示履行进度及节奏,及时发现各环节异常情况变得至关重要。把实时数据做好,将有助于业务同学及时作出判断,调配相关资源,从而实现精细化控制

由于物流行业本身业务特点,在构建实时数仓时会遇到如下问题:

  1. 业务模式多,数据模型扩展难度高:物流业务模式有 GFC 模式、集货模式、保税模式、大贸模式等,每种业务模式差异大,导致数据模型扩展困难。
  2. 履行数据链路长:物流履行链路,特别是进口物流履行链路,涉及系统多、履行链路长、订单周期多变,给实时数据开发带来了较大困难。
  3. 统计指标依赖明细:类似于“晚点超时指标”(例如:出库超 12 小时未揽收的物流订单量),在基于明细表计算的方案下,每次查询都要涉及到全表扫描,对数据库会造成巨大压力,尤其是在大促期间需要重点关注超时尾单,频繁的查询极易拖垮数据库。

解决方案

基于实时计算 Flink 版构建物流行业实时数仓,通过梳理物流数据模型架构,结合 Flink 特点及应用技巧,可完美解决以上问题。

整体架构

物流行业实时数仓建设的整体架构依然离不开最基础的架构模型:

image.png

从数据通道中读取物流订单信息,并与外部系统交互,构建实时 ETL 部分。与其他行业相比,难点在于如何将不同业务模式抽象成统一的数据模型,并且与 Flink 特性相结合,在满足业务需求的情况下,减少重复计算,节省成本。

业务梳理

建立统一数据模型

只有在概念上对履行链路进行统一,才能实现数据模型上的真正统一。首先需要对物流领域不同模式的履行要素进行拆解并重组,用一条最复杂的可能的履行链路,涵盖当前所有业务模式,并尽可能适配未来可能产生的业务模式,最终形成贯穿一笔订单的全生命周期、适用于物流行业所有业务模式的逻辑履行链路。

数仓模型分层

数据模型分层架构:

  • 第一层是数据采集,支持多种数据库中的数据采集,同时将采集到的数据放入消息中间件中;
  • 第二层是事实明细层,基于消息通道的实时消息产生事实明细表,然后再写入消息通道中,通过发布订阅的方式汇总到第三、四层,分别是轻度汇总层和高度汇总层。
  • 第三层轻度汇总层,适合数据维度、指标信息比较多的情况,如大促统计分析的场景,该层的数据一般写入 OLAP 系统,用户可以根据自己的需求筛选出目标指标进行聚合;
  • 第四层高度汇总层,沉淀了一些公共粒度的指标,并将其写入 HBase 中,支持大屏的实时数据显示场景,如媒体大屏、物流大屏等。

物流场景中,很多功能需求非常类似,构建公共数据中间层,可大大减少资源的浪费,抽象出横向的公共数据中间层(左侧蓝色),然后各个业务线在此基础上分流自己的业务数据中间层(右侧黄色)。

image.png

Flink 特性

建立逻辑履行链路后,需要结合 Flink 计算引擎的特性及实时计算 Flink 版的商业功能来解决整个实时数仓构建过程中的难点。

· 难点一:履行重算
*

当物流订单的上游某个节点延迟时,履行系统会自动重算该笔订单下游所有节点的预计时间。小数据量情况下,可以通过 OLAP 数据库来解决这类场景,然而在大数据量场景中,OLAP 方案的成本、性能都是很大的问题。

解决方案:使用 Flink Retraction 机制,解决变 Key 统计类问题。

· 难点二:维表关联

供应链业务的实体角色非常多(仓、配、分拨、站点、小件员、货主、行业、地区等),实体繁多,这意味着我们在建设实时明细中间层时,会使用大量的维表关联,这对 Flink 在维表关联的性能上提出了更高的要求。

解决方案:实时计算 Flink 版在维表关联性能上做了 Async IO / 缓存 / Distribute by 等大量优化,大大提高维表关联效率,减轻维表系统查询压力,降低业务延时。

· 难点三:超时统计

物流场景中有这样一类特殊指标:“晚点超时指标”(例如:出库超 6 小时未揽收的订单量),这类指标对实操有着重要指导意义,可预警订单积压等异常现象。对于这类超时指标的统计一直是物流履行场景的一大难点。

解决方案:使用 Flink 的 ProcessFunction,操作 Flink State,控制超时消息下发的时机。

成功案例

菜鸟是一家互联网科技公司,专注于搭建四通八达的物流网络,打通物流骨干网和毛细血管,提供智慧供应链服务。通过技术创新和高效协同,菜鸟与合作伙伴一起提高物流效率,降低社会物流成本,提升消费者的物流体验,为制造业创造更大利润空间。

菜鸟的目标是与物流合作伙伴一道,加快实现“全国 24 小时,全球 72 小时必达”。为此,我们正在推进“一横两纵”战略,建设整个物流行业的数字化基础设施,搭建面向未来的、基于新零售的智慧物流供应链解决方案,打造一张全球化的物流网络。

经过三年的建设,菜鸟网络基于实时计算 Flink 版构建了实时数仓,目前效果:

  • 准确:实时数据准确度提升到了 99.99% 以上;以极低的成本避免了时序、乱序等诸多过程性数据问题;
  • 全面:当前实时数仓覆盖的业务范围,已经覆盖进口所有业务线、所有物流模式(包括大贸、中心仓及外单等)的实时数据;
  • 高效:与离线数仓相同,采用逻辑链路的设计方案,新增物流模式也会非常高效;
  • 降本: 经过不断迭代,最新版本基于 Flink 的实时数仓计算成本下降 60%,降低 80% 的服务压力;
  • 快速: 0 点起跳由 1 分钟多压缩到了 15S 内,数据接入成本低,新场景接入仅需 1 天。

实时计算 Flink 版产品交流群

test

阿里云实时计算Flink - 解决方案:
https://developer.aliyun.com/article/765097
阿里云实时计算Flink - 场景案例:
https://ververica.cn/corporate-practice
阿里云实时计算Flink - 产品详情页:
https://www.aliyun.com/product/bigdata/product/sc

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
17天前
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
281 0
|
27天前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110678 82
阿里云实时计算Flink的产品化思考与实践【下】
|
8天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
45 0
|
13天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
23天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
16 0
|
1月前
|
弹性计算 人工智能 物联网
挖掘阿里云ECS的潜力:创意应用和未来可能性
在云厂商中,我觉得开发者更信赖阿里云的云产品,而且随着阿里云最近宣布云产品降价的消息,会有更多的开发者和企业选择阿里云的云产品。这里拿阿里云的云服务器来做说明,阿里云的云服务器ECS为用户提供了强大的计算资源和灵活的扩展性,使其成为搭建各种有趣和创意应用的理想平台。除了已知的小游戏、小程序和个人网盘等应用案例之外,本文还会进一步探讨ECS在特定场景下的实践经验,并挖掘其在其他领域的潜力,为大家带来更多创意和启发。
556 3
挖掘阿里云ECS的潜力:创意应用和未来可能性
|
2月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
482 5
|
1月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1344 1
官宣|Apache Flink 1.19 发布公告
|
1月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
142 3
|
1月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
152 0

相关产品

  • 实时计算 Flink版