【美团篇】美团O2O供应链系统架构设计解析

供应链美团

O2O业务产品技术那点事 · 2015-08-28 14:50

frameborder="0" scrolling="no" vspace="0" hspace="0" style="position:static;display:block;padding:0;margin:0;border:none;vertical-align:baseline;width: 100%; height: 112px;" allowtransparency="true">

问题:怎么才能每天都免费收到这种文章呢??

答案: 只需点击最上边的《O2O业务产品技术那点事》关注即可

导读

什么是供应链?

在风云变幻、寡头纷争的O2O战场,美团屡出重拳并步步为营,战绩不俗。这一切离不开背后的神秘技术团队——供应链供应链,简称 SCP(Supply Chain Process)。美团借助平台的优势与商家展开合作,将约定的合作方案落实到纸质契约。彼时用户还不能直接看到或购买这些契约上的合作方案,需要一个电子化的生产过程。这个过程完成两件重要的事情,一是将拟定的方案细化,让消费者能看到详尽的图文描述,价格,购买限制等等。二是审核这个方案,确保它在法律上有效,在财务上可靠。完成这个生产过程后,用户就可以到美团的C端,例如手机APP或美团主站上看这个方案并发起购买,产生一笔交易。到具体的门店进行消费时,就能得到方案中商家许诺的服务。这一系列的过程:合作,交易,消费都是紧紧围绕一个概念发生的,那就是项目。这个项目的生产过程,就是美团供应链。

frameborder="0" scrolling="no" vspace="0" hspace="0" style="position:static;display:block;padding:0;margin:0;border:none;vertical-align:baseline;width: 100%; height: 112px;" allowtransparency="true">

这个生产过程由哪些角色参与了哪些事,生产出来的项目又是什么呢?以传统团购为例,一个经典的上单过程由美团在城市端的BD(业务拓展人员)发起。BD和商家达成合作意向后签署一纸合同,再到美团的业务门户录入这次合作和详细方案,然后提交总部审核。审核人员根据审核手册做出判断,如果本次合作和方案可靠合法就将其审核通过。审核通过的方案再经过CMS(内容管理系统)完成标题图文的包装和各个C端渠道的适配,一单项目就生产完成了。可以看到,这个过程涉及多个业务环节和人员角色,如果能提高其中一些环节效率或减少人员投入,将成为公司的核心竞争力。

frameborder="0" scrolling="no" vspace="0" hspace="0" style="position:static;display:block;padding:0;margin:0;border:none;vertical-align:baseline;width: 100%; height: 112px;" allowtransparency="true">

frameborder="0" scrolling="no" vspace="0" hspace="0" style="position:static;display:block;padding:0;margin:0;border:none;vertical-align:baseline;width: 100%; height: 112px;" allowtransparency="true">

除了传统团购,美团在O2O的一些细分领域,比如酒店、旅游、外卖、早餐等等也逐步开花结果。这些新生的细分领域的项目标准化程度不一,如何支持这些细分领域的项目生产,如何让这个支持过程高效可靠,帮助美团把握住一个又一个的O2O风口,就成了美团供应链系统面临的挑战。

供应链系统的挑战

复杂数据细粒度结构化

在购买传统商品时,在淘宝、京东上,用户更关心的是产品规格、材质、物流方面的信息,比如一件红色T恤,用户会关心是纯棉的吗,是不是XL码,所在的省份支持哪些快递公司,快递费多少,而不太会关心商家所处的位置。而购买餐饮团购时,用户就非常关注这个商家的物理位置,需要具体到哪个城市哪个商圈哪个门店。即使同为团购单,餐饮和酒店又有很大不同。餐饮单需要关心几人餐,餐具是否免费,允不允许自带酒水,是川菜还是江浙菜系列等。酒店单需关注是大床房还是双人床房,是否免预约,工作日和周末是否价格不同等。

由此可以看出,在不同的细分领域,甚至同一领域下不同的品类,商品的标准化程度都有很大不同。以传统团购中餐饮品类下火锅子品类为例,一个细化的方案包括:方案信息(菜系、几人餐、套餐几选几、具体菜品等),购买须知(交易类型是美团券还是优惠码,项目有效期,美团券有效期等),还有商家自身文案描述等,大概涉及将近100个属性。那么问题就来了,为什么需要将粒度拆分得这么细呢?

背后有两个原因。

一,从大的方向上来讲,供应链连接了商家和用户,也就是需要同时对接到B端和C端。B端的利益相关人是地面销售人员,他们对供应链系统的需求是录入效率高。在不同细分领域以及不同品类之间有共同关注的属性,比如购买须知(也就是项目有效期这些概念)。我们从散落的属性中把这些可复用的属性抽出来,抽象为购买须知模块,帮助BD预填写很多默认值,可以有效提升BD的上单效率。同时对C端的消费者来讲,需要从很多维度进行搜索,方便的找到符合预期的商品,而搜索的前提就是内容的结构化。

二,美团C端的渠道也愈来愈多,各C端渠道对项目方案的属性维度要求不一且调整频繁。结构化是实现这些需求的必然路径。

售卖方式灵活多变

支持完品类繁多的餐饮单方案详情后,我们马上面临另外一个问题——复杂多变的售卖方式。酒店双人间,含早餐和不含早餐,双床还是大床房都对应不同价格。其实,线下的酒店售卖场景对应到线上,除了早餐和房型的差别,还面临节假日、不同时段等等规则,产生了多种多样组合售卖方式。并且每次交易后,商家都需要扣减指定一类房型的库存。此时又该如何应对呢。是否每多一个售卖方式,BD就要重复录一个方案?这必然会导致录单时长呈几何倍数增长。如果方案细节发生调整,关联的大量方案也需要同时修改,给BD带来的成本太高。这就对供应链系统提出了新的要求:只录一次,就能支持复杂多变的售卖方式。

品类和属性动态调整

团购做精做深的过程,反应在产品层面,就是品类的扩充和拆分。例如自助餐品类需要新增字段,表达是否含WiFi、是否含停车位。例如火锅品类拆分为成都火锅、重庆火锅。每次品类的扩充与拆分都意味着产品录入界面调整,后台存储改变。体现在开发上面,需要前后端同时支持,烦不胜烦。这对供应链又提出了新要求:品类和属性调整零开发量。

审核流程可配置

不同的业务渠道对上单审核的卡控要求不一。以今年的新业务形态买单为例,从产品运营层面就已经决定毛利、敏感词等方面的可靠性,只需要总部的编审人员审核方案数据一致性。而团购渠道历史悠久,方案覆盖的场景复杂多变,需要城市端做出初审,再交由总部的中台人员代运营。但这些审核过程又不是静态不变的,一旦线下上单场景发生调整,线上的审核也需要立即跟进调整。这对供应链系统提出的要求就是:审核过程可配置。

直面挑战

构建 O2O 生活服务模型

实现上面这些高大上的要求,美团供应链系统其实也不是一蹴而就的。从糙快猛的作坊式开发,到今天搞架构搞模式搞生态,供应链系统的进化是一部可歌可泣的血泪史。在经历品类猛调,渠道猛扩之后,技术一路小跑却依然跟不上产品的迭代速度。当时系统已经积攒了历久弥陈的代码和逻辑,在新需求面前难于招架、步履维艰。这时我们意识到出了问题。飞速行驶的火车就无法优雅地换轮子吗,业务多次迭代后系统就必然动态不得了?答案必然是否定的。供应链技术团队在痛定思痛之后选择了一条最难但也是彻底解决这个问题的道路:给O2O行业的各业务生态建模,抽象出产品中心。

我们以多售卖方式的酒店为例来看看产品中心的映射关系。对商家而言,能提供的服务单元包括大床房,酒水,早餐,WiFi。这些服务按照商家的销售意愿组装成销售单元进行售卖,如大床房+早餐、大床房+WIFI、大床房。对C端用户而言,感知到的就是销售单元,享受到的是销售单元内涵盖的服务单元。需要销售端感知的限制被抽象为销售规则,需要消费端感知的限制被抽象为消费规则,售卖方式被抽象为价格规则。这些规则可以被统称为SKU属性。销售单元适配上不同的SKU属性,就成为不同的C端产品。

事件驱动,过程解耦

针对审核过程动态可配置的目标,我们引入了工作流。为不同的业务渠道设计不同的审核流程:有哪些审核节点,每个审核节点由哪些人员角色操作,每个审核节点在通过或驳回后的流向,都可以动态配置,分分钟搞定。业务系统不再关心工作台的概念,供应链系统的信息流和事件流推动完全交由了工作流系统。不仅于此,原先累积在供应链系统之上,针对上单时长、等待时长等数据分析的工作用到的过程数据,都从业务系统解耦出来,由工作流的流程数据提供原生支持。从过程数据记录,挖掘分析等需求解放出来,供应链系统就更能腾出精力来专注于提升自身核心竞争力——更强更快。

自动化一切

908

在上单量飙升时,压缩供应链的上单成本能为公司带来直接收益。压缩成本就意味着在保证上单质量的同时尽可能缩短上单时长、降低人工参与度。我们将供应链生产过程化整为零,切分为多段,每一段采用定制的自动化策略,精细运营。在审核环节引入免审,在撰写环节引入免写,目标为“单均成本降低90%,效率提升8倍”,因此公司内部将这个项目称之为908。


还在继续

发展到后来,908已经不再是一个项目的名字,而是自动化一切的思路。到今天供应链系统也还在一点点雕琢,例如针对重复审单的情况引入工作流,针对品类动态扩展的情况引入属性中心。以属性中心为例,之前品类和属性调整往往意味着几天的重复开发和臃肿的代码,现在只需要业务人员在配置页面用几分钟的时间简单配置。

成就

动作快

以优惠买单为例,完整的供应链流程支持的开发成本是5人日,包括:完整的商家入驻,个性化的契约协议、方案录入、结构存储和审核流程,并对接多个C端渠道。而在之前,这个数字是30人日。

降成本,提效率

实现免审免写后,体现出两个数字的变化。一是编审部门解散,这个部门原来有近百人负责上单过程的审核和撰写;二是上单量增长1000%的背景下,上单成本降低了90%以上。

总结

从技术角度回顾供应链的上单过程。BD在前台发起一起上单请求,后台根据BD要录单的业务渠道、品类等,通过DF(Dynamic Form)渲染出录入页面。请求到达后端后,先经过AC(Attribute Center)层自动完成针对不同DF的合法性检查,再转化为后台产品中心要求的数据格式。录完的方案数据沉淀到产品中心,并通过Gravity调度具体方案的审核任务。发生修改后,修改过程沉淀到变更中心,变更本身的审核也交由Gravity调度。产品中心收到Gravity的审核通过消息通知后,就安排CMS使用不同的动态模板完成拼装,进而输出到不同的C端。

以产品和变更中心为Model沉淀,以动态表单和动态模板完成View自动拼接,以属性中心和工作流完成Control逻辑驱动,最终供应链系统以MVC定下高可用自动化的江山。


本文是美团技术沙龙第一期,O2O技术架构与实践上的分享内容。来自微信公众号:美团技术团队

(注:本文转载自微信公众号【微前沿】)

http://www.wtoutiao.com/p/y59mrp.html

美团O2O供应链系统架构设计解析相关推荐

  1. 基于Flume的美团日志收集系统-----架构和设计

    问题导读: 1.Flume-NG与Scribe对比,Flume-NG的优势在什么地方? 2.架构设计考虑需要考虑什么问题? 3.Agent死机该如何解决? 4.Collector死机是否会有影响? 5 ...

  2. 分布式实时处理系统架构设计与机器学习实践

    编者按:在2017年的1月11日,CSDN高级架构师金牌授课群为群友们带来了第一次的分享,讲师和主题参见这里,本文为课程后续的文字整理,第一时间发出来分享给读者,课件下载点击这里. 大家好,我们今天主 ...

  3. 亿万级图数据库 Nebula Graph 的数据模型和系统架构设计

    Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,还能够实现服务高可 ...

  4. 腾讯云低延时直播系统架构设计与弱网优化实践

    "直播带货"可能是2020年最具代表性的词汇之一,那么传统电商该如何融合直播系统,直播过程如何保障用户的最佳观看体验?本文由腾讯云资深架构师何书照在LiveVideoStack线上 ...

  5. java系统架构设计,2022最新

    Java中23种设计模式的详细解析Java开发中23种设计模式详细介绍设计模式介绍设计模式分类设计模式六大原则开闭原则(Open Close Principle)里氏代换原则(Liskov Subst ...

  6. Unity教程之-Unity游戏技能Skill系统架构设计

    我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10 ...

  7. SpringCloud之Eureka实战和架构设计解析

    SpringCloud之Eureka实战和架构设计解析 Netflix Eureka(后文简称Eureka)是由Netflix开源的一款基于REST的服务发现组件,包括Eureka Server及Eu ...

  8. 准确率100%,阿里商旅账单系统架构设计实践

    作者:淸云 阿里商旅作为飞猪旅行旗下面向企业客户的数字化差旅解决方案产品,依托飞猪旅行机票.酒店供应链为企业客户提供一站式的机票.酒店.火车票.用车等预订管控及结算票据服务.阿里商旅不仅是集团欢行的供 ...

  9. 《苏宁易购:商品详情系统架构设计》读后感

    原文地址:https://mp.weixin.qq.com/s/5z1XEweso5wtJoZI0Z7Cfw 今天读了尹坚老师写的<苏宁易购:商品详情系统架构设计>,感受如下 首先介绍什么 ...

  10. 架构思维成长系列教程(七)- 大型电商系统架构设计

    背景 大型电商网站,指的是每日用户访问量达到数百万,每日页面访问量达到数千万乃至上亿级别的网站,达到这个规模的电商网站在国内不多. 内容 架构设计分为两部分:应用架构设计和基础架构设计 应用架构设计: ...

最新文章

  1. 特征工程包含那些步骤?如何进行特征的迭代?
  2. 妹子调车为哪般?室外赛道来闯关。
  3. Java live template[在此处输入文章标题]
  4. 2017最新顺口溜出炉(超级经典)!
  5. vue.extend与vue.component的区别和联系
  6. python的river安装
  7. Python3 爬虫学习笔记 C13【验证码对抗系列 — 滑动验证码】
  8. linux常见基础服务,常用的linux命令的基本使用(一)
  9. 计算机组成原理AB什么运算,2010~2011学年武汉大学计算机组成原理AB类AB卷及答案...
  10. Linux 下超级有趣的命令
  11. 【C面试】一道简单的C语言面试题的思考——打印星阵
  12. 工资计算系统设计实现
  13. 前端页面复制粘贴插件Clipboard的使用
  14. 织梦图集php,织梦怎么为新图集页面增加图片下载功能
  15. JavaEE项目bug修复记——一场由特殊空字符(160号ASCII码)引发的血案
  16. flash builder_使用Flash Builder进行数据驱动的开发,第二部分
  17. FastAdmin自定义搜索,通用搜索失效
  18. ES6:ES6 的新增语法
  19. 数字音乐收费,一场困兽犹斗
  20. linux top 更新时间,linux top详解

热门文章

  1. Acwing:星空之夜(图的哈希 Python)
  2. ubuntu18.04安装evo测评工具踩坑
  3. HTML文本框不能复制粘贴,word文本框无法复制粘贴
  4. “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用。
  5. 球面坐标系转换为笛卡尔坐标系
  6. 铁甲小宝像车轮的是什么机器人_铁甲小宝里的机器人都叫什么名字啊
  7. 电脑数据丢失没有备份怎么找回?
  8. [ResNet系] 007 SENet
  9. 微信授权登录(更新。。。)
  10. Altium Designer禁止联网操作说明