供应链系统设计-供应链中台系统设计(七)- 商品中心设计篇
概述
上篇文章我们大致讲了一些商品中心相关的概念,例如:SPU、SKU、Item等等,在这里我们来简单的回顾一下:
商品概念的分层与定义:
SPU(Standard Product Unit):代表产品系列或产品组,具有相似特征的产品集合。它定义了一类商品的关键属性和绑定属性,但不包含销售信息。
CSPU(Child Standard Product Unit):作为SPU的补充,增加了销售属性,可以完全确定一款商品。它是SPU加上销售属性,如容量、颜色、存储容量等。
ITEM:商家发布的产品实例,包含SPU信息和商家信息。它是SPU的一个实例,可以被搜索到,并且受到SPU规范的限制。
SKU(Stock Keeping Unit):库存管理中的最小单元,代表具体可销售的商品变体,如不同颜色、尺寸的同一产品。SKU由CSPU加上商家、价格和库存信息构成。
类目管理的重要性:
类目管理帮助用户快速找到目标商品,提高用户体验。
它为运营维护商品信息提供方便,为其他功能如品牌关联、仓库管理和数据分析提供基础支撑。
类目管理在电商运营中是基础,提升整体运营效率。
前端与后端类目管理的差异:
后端类目:面向商家和运营人员,需要客观、统一的分类标准,以便于日常操作和团队协作。后端类目相对固定,不轻易变更和删除。
前端类目:面向消费者,需要通俗易懂的命名,减少类目数量和层级,以简化购物流程。前端类目灵活多变,以适应市场变化和运营策略。
什么是一个好的商品中心
好都是相对的,在我们需要知道什么是一个好的商品中心,我们需要了解商品中心需要服务的具体业务场景是什么。
我们之前在供应链系统设计-供应链中台系统设计(六)- 商品中心概念篇中提到了阿里的业务场景,如下图所示:
阿里有淘宝、天猫、健康业务等,这些业务都会有维护商品、发布商品等诉求,因此,我们需要从业务流程来看,对于商品维护和发布的商品流程大致是怎么样的。因为所有系统首先需要满足业务流程的诉求。
从商品的角度来看,无论是淘宝、天猫和健康业务,还是其他的公司的业务,对于供应链业务而言,主要就是针对商品进行“进销存”活动,因此,我们把商品的在业务过程中整个生命周期细化为如下图所示:
商品生命周期图(极简版)
由上图,我们其实可以看出所有从SPU/CSPU/SKU/ITEM都是围绕着供应链业务的进销存来开展的。其实在实际的业务中,例如:SKU对于供应商来说,会存在起发量和最小订货倍数,对于SKU也会存在生成状态,SKU与SKU之间也会存在新老号的关系,主子商品等等,这里里面有非常多的细节就没有展开了,我们主要是先了解商品在整个进销存的过程的大致的生命周期。
因此,基于对于商品生命周期的理解,商品中心作为中台的一个核心的主数据,我们来想想可能会存在的问题:
首先,如果淘宝、天猫针对统一个商品,是两个不同的SKU,会怎么样?会出现SKU泛滥,导致对于同一样SKU,因此,对于平台来说商品就泛滥了,无法识别销售或购买的是那个商品,对于后续商品数据统计与分析就无从下手。因此,商品中心核心就是构建商品标准,防止商品标准泛滥。
其次,作为商品中心,作为通用中台的一部分,需要最大程度的给前台业务提供可复用的能力,让前台业务可以快速服务客户的产品创新和精细化运营,而不是把时间花在系统通用能力的构建上。
在这里我们再来回顾一下前中后台的定义:
前台:指离客户最近,最理解和洞察客户需求和行为,最终实现和提升客户价值的职能。其核心能力是对市场和客户行为深刻洞察,服务客户的产品创新和精细化运营;主要围绕C端和B端客户建立灵活、创新和快速响应的机制。
中台:指为前台业务运营和创新提供专业能力的共享平台职能。其核心能力是专业化、系统化、组件化、开放化;主要通过沉淀、迭代和组件化地输出可以服务于前端不同场景的通用能力,不断适配前台。
后台:指为整个商城提供基础设施建设、服务支持与风险管控的职能。其核心能力是专业化、服务意识与能力。
如果大家对于前中后台不是很熟悉,可以参考:供应链系统设计-何为“前”“中”“后”台系统的文章,里面有详细的描述。
基于以上中台的定位就决定商品中心其实非常大的程度上,前台商品信息标准的制定者。
最后,对于前后台业务来说,从商品生命周期来看,供应链的主要是针对商品进行进销存的业务活动,一个商品从采购到最后销售,会涉及到非常的业务活动和规则,这个里面需要协调各个非常多的部门。
如何让商品信息进行更好的协同,什么可以采购、什么是可售等,如何控制已不销售,但是采购部还在不停的进行采购,无法解决采销不一致问题呢等等。
这个就会涉及到商品的生命周期管理,一个商品从采购到最后的下架,都会经历非常多的业务环节,进销存的每个业务环节中如何能够基于商品去进行协同一致就非常重要了。
因此,我们基于上面讨论的大致思路,我们从业务的视角,暂且将一个好的商品中心的标准定义为以下三点:
1、需要构建商品标准体系,防止商品应用数据泛滥;
2、商品中心作为中台的一部分,应该抽象前台业务的共性需求,让中台商品能力复用最大化,以此来提高前端业务的效率;
3、商品生命周期需要保证围绕供应链进销存协同一致;
以上是从业务角度去思考何为一个好的商品中心的三个标准,好的标准针对不同的行业、不同的公司、不同的业务场景都是不同的,我只是站在当前的业务场景下去进行思考,这个大家一定要注意,好的标准一定是根据具体的业务场景来确定的。
上面是基于业务诉求,其实我们做架构的时候,还需要考虑到非业务诉求,也就是系统的质量诉求。针对商品中心的需要服务的业务场景和特性,质量诉求如下4点:
1、数据正确性。商品作为主数据,数据的正确性的重要是不言而喻,因此,需要有纠错的机制和能力;
2、海量的商品数据。根据SPU/CSPU/SKU/ITEM的概念,商品数据会随着业务的发展会不断的成倍增长;
3、高并发读请求。商品数据是典型的读多写少的访问场景,需要支撑前台业务高并发的读请求;
4、模型和系统稳定性要求高。商品中心作为最底层的主数据服务,几乎前台业务所有的应用都会依赖它,因此,领域模型的稳定性和系统的稳定性就非常重要。如果商品模型经常变化,经常性修改势必会影响到前台业务的稳定性。
以上就是针对什么是一个好的商品中心的标准的定义。
商品设计落地
一个好的商品中心标准定义分为了业务诉求和质量诉求两部分,我们设计现在就围绕好的标准去进行展开设计。
基于业务诉求的好标准设计
首先,我来第一个好的标准。
1、需要构建商品标准体系,防止商品应用数据泛滥;
数据泛滥问题,首先需要从商品标准来进行限制。前文讲过了SPU/CSPU/SKU/ITEM的模型,如下图所示:
对于SPU/CSPU/SKU的标准都统一收口到一个组织进行维护,而不是让业务前台来定义标准。不同的前台业务对于商品的诉求都是不一样的,前台业务和后台业务都可以发起SPU/CSPU/SKU,但是对于SPU/CSPU/SKU的维护,则需要收口到一个商品管理中心的组织。商品管理中心就是来进行商品的管理以及治理,避免出现相同商品数据的标准不一,出现重复的数据。
我们再来看看第二个标准,如下:
2、商品中心作为中台的一部分,应该抽象前台业务的共性需求,让中台商品能力复用最大化,以此来提高前端业务的效率;
由于我们知道不同的业务对于商品维护、发布都会有不同的诉求,这个会随着业务的发展业务流程的差异回来越大。我们在供应链系统设计-中台系统设计系列(二)- 好中台的标准之复用原则的文章聊到了不同业务可能存在不同的商品新增、发布等业务流程,如下图所示:
在业务流程层,其实对应的都是不同的业务的流程,不同的业务差异是非常大的。因此,从最小复用的角度来看,在这一层是不太可能复用的,这一层需要前台业务自己去进行定义。因此,中台在业务业务流程的层面,其实在业务初期是很难提供流程级别的复用能力。具体可以如下图所示
在这里,我和大家再次回顾一下,前台开发和中台开发的核心区别:
业务前台技术:基于中台提供的能力,进行能力集成、编排、扩展,实现个性化的业务逻辑,及展现层 。衡量指标:业务支撑的效率、行业解决方案的沉淀
业务中台技术:面向业务能力的开发,以最小复用原则。衡量指标:能力的稳定性和复用性
因此,我们需要看每个流程中的节点,对于每个流程节点能力是否可以复用。因此,我们可以想到如下的设计:
我们将类目、属性、SPU/CSPU/SKU/ITEM等增删改查的最小粒度操作,定义成为能力。这样不管是哪类业务都是需要复用的,都可以复用,这样业满足最小复用原则,做到复用的最大化。
大家一定的记住,在业务发展阶段,我个人建议对于中台能力最好是以原子能力沉淀为主,就是能力的最小化,做到能力职责的最小,一个能力只做一件事情,例如:SKU创建、ITEM创建。对于创建就是单纯创建业务,不要包含创建之外的逻辑,否则复用能力会非常差。
这个我在之前的中台建设的经验中,非常有感触,也踩过雷,因此也别提出来。
我们再来看看第三个指标:
3、商品生命周期需要保证围绕供应链进销存协同一致;
如果从供应链进销存的视角来看,商品大致可以分为以下四个阶段:商品主数据维护、进、存、销四个业务阶段。如下图所示:
大家可以想想一下,可能会存在的问题:
1、采购状态与销售状态不统一,禁止销售的商品,还在不断的进行采购
2、在采购的时候,由于没有维护SKU信息,导致无法进行采购
3、销售进行售卖,发现商品过期了,仓库没有维护商品有效期信息
4、由于主数据没有维护销售渠道,一线业务无法新增ITEM,导致不能在一线业务进行销售
....
以上问题,可以总结为业务组织协同以及流程问题。我们可以通过对于商品生命周期的定义来进行解决。商品生命周期具体流程其实已经在文章开头的流程图图中已经展示了,在这里就不再进行赘述了。
主要是让大家明白,商品生命周期的管理对于业务的重要性以及对于商品中心本身的意义。
写在最后话
今天主要和大家讨论了关于一个好的商品中心的标准的是什么,因为没有好的标准,我们的设计其实是没有目标的。因此,这个是一个非常重要的问题。一个好的商品中心标准,可以分为业务诉求和质量诉求两个部分,具体如下:
业务诉求
- 统一标准:制定统一的商品数据标准(如SPU、SKU等),避免数据重复和不一致,确保数据准确性和一致性.
- 流程支持与复用:在流程节点层面提供最小粒度的能力复用,如类目、属性等的增删改查操作,满足不同业务需求,实现能力的最大化复用.
- 生命周期管理:有效管理商品从采购到销售再到下架的生命周期,协调各部门协同工作,解决采销不一致等问题,确保商品信息在各业务环节的一致性.
质量诉求
- 性能:具备高性能处理能力,快速响应大规模商品数据处理和高并发业务请求.
- 可靠性:保障数据可靠性和系统稳定性,通过数据备份、容灾机制等措施,确保系统在异常情况下快速恢复.
- 可扩展性:架构设计支持模块化和组件化,便于灵活扩展功能和适应业务变化.
- 安全性:采取严格的安全措施,如数据加密、访问控制等,防止数据泄露和非法访问,确保系统安全.
我们针对业务诉求部分进行展开讨论,并且说明了在具体实施过程中需要注意的设计点。由于商业保密原因,在这里不能详细进行说明,希望大家可以谅解。
关于质量诉求,其实涉及到业务知识不多,更多是偏纯技术架构层面的东西,我会在下篇文章的中和大家继续探讨。
今天就和大家聊到这样,希望能够给大家带来一些收获和启发,下篇文章见哟。
相关文章:

供应链系统设计-供应链中台系统设计(七)- 商品中心设计篇
概述 上篇文章我们大致讲了一些商品中心相关的概念,例如:SPU、SKU、Item等等,在这里我们来简单的回顾一下: 商品概念的分层与定义: SPU(Standard Product Unit):代表产品系列或产品…...

Power BI如何连接Azure Databricks数据源?
故事背景: 近期有朋友询问,自己公司有一些项目使用了Azure Databricks用于数据存储。如何使用Power BI Desktop桌面开发软件连接Azure Databricks的数据源呢? 解决方案: 其实Power BI是提供了连接Azure Databricks数据源的选项的,只是配置…...

【HarmonyOS】鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏
【HarmonyOS】鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏 一、鸿蒙应用如何进行页面横竖屏调用API手动切换 1.首先要在EntryAbility 中获取主窗口对象 EntryAbility.ets import { AbilityConstant, UIAbility, Want } fr…...

编译 C++ 程序:分离与保留调试信息以支持 GDB 对 Core 文件的调试
在 C 程序开发过程中,调试是一个非常重要的环节。当程序出现问题,尤其是在生产环境中出现崩溃并生成 Core 文件时,我们需要使用调试工具(如 GDB)对程序进行深入分析,找出问题的根源。为了在需要时能够有效地…...

009:传统计算机视觉之边缘检测
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 本节来看一个利用传统计算机视觉方法来实现图片边缘检测的方法。 什么是边缘检测? 边缘检测是通过一些算法来识别图像中物体之间或者物体与背景之间的边界&…...

JAVA创建绘图板JAVA构建主窗口鼠标拖动来绘制线条
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…...

机器人对物体重定向操作的发展简述
物体重定向操作的发展简述 前言1、手内重定向和外部重定向2、重定向原语3、重定向状态转换网络4、连续任意姿态的重定向5、利用其他环境约束重定向总结Reference 前言 对于一些特殊的任务(如装配和打包),对物体放置的位姿由明确的要求&#…...

自动驾驶三维重建
大概八成估计是未来的科研方向了 文章目录 自动驾驶中的NeRF[4]CLONeR:Urban Radiance Fields[6]S-NERFBlock-NeRFSwitch-NeRFSceneRFBehind the Scenes 大规模与自动驾驶场景重建:3D高斯VastGaussianPeriodic Vibration Gaussian(复旦大学)…...

30分钟学会css
CSS 基本语法 CSS(Cascading Style Sheets)是一种样式表语言,用于描述 HTML(或 XML)文档的呈现。它可以控制网页元素的颜色、字体、布局等外观样式,实现内容与表现的分离,让网页设计更加灵活和…...

vue路由模式面试题
vue路由模式 1.路由的模式有哪些?有什么区别? history和hash模式 区别: 1.表现的形态不同: 在地址栏url中:hash模式中带有**#**号,history没有 2.请求错误时表现不同: 在hash模式中,对于404地址请求时,不会进行请求 但是在history模式中,对于404请求时,仍然会进行请求…...

Python 开发框架搭建简单博客系统:代码实践与应用
在当今数字化时代,博客作为一种流行的信息分享和交流平台,拥有广泛的受众。Python 以其强大的功能和丰富的库,为构建博客系统提供了理想的技术支持。本文将详细介绍如何利用 Python 开发框架搭建一个简单博客系统,包括功能实现、代…...

如何在 VSCode 中配置 C++ 开发环境:详细教程
如何在 VSCode 中配置 C 开发环境:详细教程 在软件开发的过程中,选择一个合适的开发环境是非常重要的。Visual Studio Code(VSCode)作为一款轻量级的代码编辑器,凭借其强大的扩展性和灵活性,受到许多开发者…...

三甲医院等级评审八维数据分析应用(一)--组织、制度、管理可视化篇
一、引言 1.1 研究背景与意义 在当今医疗领域,三甲医院作为医疗服务的核心载体,肩负着保障民众健康、推动医学进步的重任。随着信息技术的飞速发展,数据已成为医院运营管理、医疗质量提升以及科学决策的关键要素。三甲医院等级评审作为衡量医院综合实力与服务水平的重要标…...

2024 年度总结|勇敢去探索~
写作这件事,果然是一旦中断,就很难再拾起来。但年度总结这么有意义的话题,思来想去,万万不能落下。 工作 得益于同事们的帮衬和认可,年初的时候,我的角色发生了变化:需要开始承担部门内的一些…...

2024年, Milvus 社区的那些事
随着跨年钟声响起,2024 年告一段落。这一年,Milvus GitHub Stars 正式突破 3 万大关,Docker 下载量突破6700w 次,达到一个新的里程碑,在开源向量数据库领域继续引领前行。在这遥遥领先的数据背后,不妨让我们…...

vue代理问题
vue代理问题 场景:前后端分离项目问题,在前端中请求接口,返回数据这个过程,但是在这个过程中,前端会有两个环境,一个是开发环境,一个是生产环境. 在开发环境中请求接口可能会遇到跨域问题,比如请求的端口是3000,当前端口是8080,这时候就会遇到跨域问题,或者ip不同,也会存在跨…...

Git快速入门(三)·远程仓库GitHub以及Gitee的使用
目录 1. 远程仓库GitHub 1.1 登录 1.2 创建库 1.3 创建文件 1.4 修改文件 1.5 创建分支 1.6 删除库 1.7 将远程仓库下载到本地 1.7.1 关联登录 1.7.2 克隆 1.7.3 通过GitHub Desktop更改远程库 2. 远程仓库Gitee 2.1 登录 2.2 创建文件 2.3 关联…...

[开源]C++代码分享
一,声明 被人水平有限,开源只是为了分享。勿喷!!!还请大佬指点。 二,代码 // --------------------------------------------------------- 头文件 ----------------------------------------------- #in…...

CSS3——3. 书写格式二
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!--css书写:--><!--1. 属性名:属性值--><!--2.属性值是对属性的相关描述--><!--3.属性名必须是…...

PHP语言的计算机基础
计算机基础与PHP语言入门 在当今信息技术高速发展的时代,计算机已经成为我们日常生活中不可或缺的重要工具。学习计算机基础知识,不仅能增强我们对信息技术的理解,还会为我们后续学习编程语言打下良好的基础。本文将以PHP语言为切入点&#…...

第 23 章 JSON
第 23 章 JSON 23.1 语法 JSON 语法支持表示 3 种类型的值。 ❑ 简单值:字符串、数值、布尔值和 null 可以在 JSON 中出现,就像在 JavaScript 中一样。特殊值 undefined 不可以。 ❑ 对象:第一种复杂数据类型,对象表示有序键/值…...

Java 正则表达式入门与应用(详细版)
正则表达式(Regular Expression,简称Regex)是一种文本模式匹配工具,在许多编程语言中都得到了广泛应用。Java 作为一种强大的编程语言,提供了对正则表达式的内建支持,使得在字符串处理、数据验证和文本解析…...

洛谷:P1540 [NOIP2010 提高组] 机器翻译
[NOIP2010 提高组] 机器翻译 题目背景 NOIP2010 提高组 T1 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于…...

基于AT89C51单片机的可暂停八路抢答器设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/90196607?spm1001.2014.3001.5503 C15 部分参考设计如下: 摘要 随着社会进步和科技发展,电子设备在各类活动中的应用日益普遍,…...

面试题解,Java中的“对象”剖析
一、说一说JVM中对象的内存布局?new一个对象到底占多大内存? 话不多说,看下图,对象的内存布局图 一个对象的内存布局主要由三部分组成:对象头(Object Header)、实例数据(Instance D…...

行为模式3.迭代器模式
行为型模式 模板方法模式(Template Method Pattern)命令模式(Command Pattern)迭代器模式(Iterator Pattern)观察者模式(Observer Pattern)中介者模式(Mediator Pattern…...

第8章 DMA控制器
DMA的基本概念 DMA是用硬件实现不再通过CPU的,计算机内存储器与I/O设备之间的直接数据传送技术。该硬件称为DMA控制器(简称DMAC),用来控制数据的输入和输出,复杂性堪比CPU。 DMA方式可实现: 数据存储器RAM→I/O端口的DMA读传送I/O…...

后端java开发路由接口并部署服务器(四)
一、安装IntelliJ IDEA,安装包下载 1、官网下载 2、网盘资源 安装包下载完成后进行傻瓜式下一步安装就可以了 打开IntelliJ IDEA,输入网盘资源文件内容 三、汉化处理 插件搜索chinese,就会找到相应的插件安装重启软件即可 四、新建后端j…...

检索增强生成 和思维链 结合: 如何创建检索增强思维链 (RAT)?
论文地址:https://arxiv.org/pdf/2403.05313 Github地址:https://github.com/CraftJarvis/RAT 想象一下,一个人工智能助手可以像莎士比亚一样写作,像专家一样推理。这听起来很了不起,对吧?但是࿰…...

在 SQL 中,区分 聚合列 和 非聚合列(nonaggregated column)
文章目录 1. 什么是聚合列?2. 什么是非聚合列?3. 在 GROUP BY 查询中的非聚合列问题示例解决方案 4. 为什么 only_full_group_by 要求非聚合列出现在 GROUP BY 中?5. 如何判断一个列是聚合列还是非聚合列?6. 总结 在 SQL 中&#…...