Tapdata 技术博客
Tapdata 技术博客

Tapdata 的 ∞ 实践:实时数据赋能电商资源分配,快速落地敏捷、可复用的库存数据服务

2023-05-09 20:24 Tapdata

Tapdata LDP V3 发布会


在不断提升的信息技术和数据分析能力的推动下,客户360 已然成为企业管理中不可或缺的一部分。


如今,客户接触渠道正在变得愈加多样化和复杂化,客户信息的获取也变得更加容易和全面。同时,竞争环境也日趋激烈,企业需要不断提高服务质量、满足客户需求,才有望在市场中抢占先机。


在这样的成长环境中,客户360 的重要性也就日益凸显了出来,因为它恰恰满足了企业的这些诉求——可以综合各种渠道和业务中的客户信息,包括客户的基本信息、购买历史、偏好、行为习惯等等,对客户进行深入分析和了解,帮助企业精准把握客户需求和心理,提供个性化、定制化的服务,增强客户黏性和忠诚度。同时,客户 360 还能够帮助企业优化营销策略,提高市场营销效率,从而提高企业的盈利能力。


但在当前快速发展的市场环境中,客户需求和市场变化往往又会非常迅速,因此客户360 需要具备敏捷性,能够快速适应并响应这些变化。此外,鉴于客户360 涉及到多个业务场景和渠道,例如销售、客服、营销等等,还需要具备可复用性,才能够适用于多个业务场景和渠道,避免重复建设和数据冗余。不仅如此,客户360 还需要综合多种数据源,例如客户的基本信息、交易记录、行为习惯等,数据的复杂性和多样性又对客户360 提出了灵活性的要求,需要能够处理多种数据类型和格式。与此同时,随着技术的不断发展和更新,客户360 也需要具备可扩展性和灵活性,有能力快速更新迭代,以满足新的需求和业务场景……


这些要求背后,其实是要求解“如何快速搭建敏捷、可复用的客户 360”。下面我们就以跨境电商库存信息一致性的需求为例,展示如何建立可复用的库存信息服务,保障其数据一致性、实时性与灵活性。


一、抓住问题核心:如何确保商品销售库存与实际库存一致,避免错单、废单


核心挑战:准确获取并更新库存变化


从市场销售角度定义市场客户360的4个实体


以电商业务为例,先定义一个广义上的市场客户360 的业务主题,在该业务主题下,主要主要包括四个实体——客户、商品、库存和订单。其中,客户是核心实体,与其他三个实体共同配合,最终完成了市场客户销售过程和行为的落地。


为了确保这些实体之间在销售过程中的准确协作,业务上需要处理很多具体的问题。以库存商品和订单的协同关系问题为例,这里主要涉及以下三组关系:

  • 商品和库存:在销售商品之前,必须确保商品已进入库存,并且库存数量足够满足需求。

  • 客户和订单:在客户下订单之前,必须获取其基本信息,例如姓名、地址、联系方式等。以便客户下单后选择就近位置对订购商品进行出库。

  • 订单和库存:订单被确认后,需要从库存中减去相应的商品数量,通过实时匹配避免因库存不足或库存不准确导致的订单处理错误或取消。

由此可见,针对这一问题的核心挑战是:如何根据业务逻辑对库存数量的实际变化进行准确的获取和更新


实际业务场景故事:跨境电商库存数量一致性


根据已经提炼出的核心问题,再来看一个实际的业务场景,为了方便讲解说明,我们对案例整体做了如下简化处理:


场景角色

  • L:跨境电商,需要第三方平台拓展产品销售渠道

  • M:第三方平台,可以在平台上购买电商 L 的产品

  • N:第三方平台,可以在平台上购买电商 L 的产品

  • Robert:平台 M 的注册用户

  • Scott:平台 N 的注册用户

场景故事


跨境电商 L 需要借助第三方的平台 M 和 N,来拓展自己的产品销售渠道,需要随时保持第三方平台售卖商品时显示的销售库存数量和该商品的实际库存数量一致,从而保证用户订单的有效性,防止错单和废单。以上是主要背景。


电商 L 的商品分布在自营、M 平台和 N 平台的库存中,而这三个库存都是独立的仓库系统,用户在不同渠道下采购时,需要及时更新并同步相关商品的库存数量。如果现在 M 平台的用户 Robert 在平台上下单采购 1 件商品 A,他看到的库存总数应该是这三方的库存数量的总和,而在他提交订单后,商品 A 库存总数 -1 的同时,变化后的库存总数会实时更新到各系统,同时体现在 M 平台和 N 平台上。此时 N 平台用户 Scott 如果打开商品 A 的查询页,显示的库存总数应该是更新后的数量,即与 M 平台一致,这也是该场景的核心点。


二、场景重定义:将业务核心挑战翻译为数据需求


库存数据实施和业务使用的过程图


根据这个场景的定义,可以绘制一张数据实施和业务使用的过程图。整个过程共主要分为四个步骤:


首先,第一步是将属于 L、M、N 三个独立业务的库存表合并成一张完整的库存信息表,并且完成对三个独立平台库存数量的汇总运算。


第二步,将产品库存发布为数据 API,以便业务应用调用时使用,也就是要把这张表变成一个接口。


第三步是从业务角度,M 平台用户使用 App 查询商品信息并完成下单,触发库存数量变化的业务逻辑。


同时,需要确认 N 平台用户使用 App 查询新的商品信息之后,检查到的库存数量变化是否准确。


本质上是对库存数据服务提出的灵活可复用,以及实时性等方面的需求。


Tapdata LDP:在敏捷和可复用等特性上表现出色


基于库存数据的属性与要求,Tapdata LDP 凭借服务化的内核,展示了自身在敏捷性与可复用性上的能力特征,主要体现在以下几点上:


通过泳道的呈现方式体现数据模型分层逻辑


其一,LDP 通过泳道的呈现方式,直观准确地体现了 DaaS 构建过程中的数据模型分层逻辑。


Tapdata 支持以托拉拽方式完成 API 发布,支持重复使用


其二,使用者可以通过在泳道之间拖动数据表的方式,完成数据分层处理逻辑的定义和 API 发布。一次定义和发布可以支持多次的重复使用。


提供平台缓存层对业务端数据进行缓存,一次复制永久使用


其三, LDP 专门提供了一个数据缓存层,也就是上图中显示的“平台缓存层”,对业务端的数据进行缓存。该缓存层的概念类似于数仓建设过程中的 ODS。将业务数据在平台测以 1:1 的方式缓存一份,做到一次复制,永久使用。


如此一来,既提高了数据的复用性,又有效降低了后续处理过程对业务系统可能造成的影响。


基于 LDP 功能实现场景落地


库存数据服务场景落地


如上图所示,虚线框中的部分即为该场景下 Tapdata 负责完成的实施内容。


我们将整个实施过程定义为两个阶段:第一个阶段是 LDP 的部分,即使用 LDP 完成商品库存 API 的发布;接下来第二个阶段,就是要确认这个 API 在业务场景中得到了正常、正确的使用,相关数据是能够被实时获取并更新的。


三、业务效果检测


最后,再来通过模拟 App 环境,检验下 API 发布成功之后的实际业务效果:






如演示视频所示,先在 M 平台上,查询到某款蓝牙耳机的库存剩余量为 9,同时可见 N 平台上库存也是 9。然后尝试在 M 平台上下单,选择数量为 1 并提交订单。订单提交后,M 平台库存数量减一,变成了 8。此时再来看 N 平台的库存数量,也已经如预期般产生变化,同样显示为 8。代表发布的实时接口已经在被这两个应用正常使用,提供的数据也是实时更新的状态。


想要完整了解该库存数量一致性场景的落地细节,清楚使用 LDP 完成库存数量 API 发布的详细过程,收获更多有关现代数据栈工具 Tapdata LDP 的技术详解,Get 更多行业案例?欢迎锁定将于 5 月 10 日举办的直播活动——如何成功搭建“连接 1 次孤岛,服务 N 个场景”数据服务平台。届时,Tapdata 还将发布最新的云数据服务平台,告别数百万级数据中台,数万元包括产品+咨询,帮助您搭建敏捷型企业级数字化底座。详情请关注我们的发布会特别 Offer!点击这里,即可预约参会

推荐阅读