https://www.cnblogs.com/wlandwl/archive/2018/10.html
见文件
商品中心中台支持系统-总体架构设计
修订记录
日期 |
版本 |
章节 |
描述 |
作者 |
2018-10-25 |
V1.0 |
|
初始版本 |
无涯 |
目录
1、商品中心
本文讲述电商系统构建中,商品中心中台模块设计。中台概念参考阿里巴巴的中台模式,对商品专门独立为一个数据中心,集中做各个业务平台的商品信息管理。
1.1、商品中心思维导图
商品中心主要分为商品相关基础数据管理模块和商品应用数据管理模块。基础数据包括品牌模块,规格模块,属性模块和分类模块。商品应用数据包括商品基础信息管理,商品销售信息管理模块。每一个模块均有详细的模块设计文档,请参考具体模块设计文档。
1.2、应用分组
为支持商品中心数据的管理,开发了如下应用模块用于操作人员管理商品数据。
1.3、数据库模型图
为搭建独立的商品中心支持系统,需设计商品中心基础数据存储表。
本次设计中,只包括商品应用中最基础的商品基础信息管理。对于组合商品,商品营销应用,搜索应用等模块均不包括。
1.品牌与规格数据管理
2.属性数据管理管理
3.分类关系数据管理
4.商品数据管理
1.4、设计原则说明
中心数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.不同业务数据严格做表区分。
4.对于商品与规格,属性,分类等的关系,任何关系数据严格设置为一个关系一条记录的key-value模式。
商品中心中台支持系统-分类设计
2、分类设计
本文讲述电商系统构建中,商品中心分类模块的相关知识和数据存储设计。
2.1、分类知识
分类管理具有如下功能:
· 1.方便快速发布及管理商品,供应链人员或平台商家更好进行商品管理;
· 2.标准化商品服务,对于电商平台,品类定义基本平台的商品服务范围;
· 3.有利于仓库管理,合理的商品类目管理还能方便仓库中库位分区管理商品;
· 4.日常运营需要,在电商运营中,需要进行商品聚类,科学的类目管理可以减少运营的管理工作。
商品前台分类方便用户查找商品。根据运营需求,方便把商品挂载到不同的分类上。前台类目不同于固定的后台类目,编辑很灵活、可重叠、可删除、可随时变动,定时生效。
商品后台分类为商品的固定分类,一般不可轻易调整。商品上新时,先选择后台分类,后台分类可与规格,属性做绑定关联。后台类目树中最重要的是叶子类目,也就是类目树上不能再往下分的类目,任何商品都必须挂载到后台叶子类目上。
为什么要设置商品的前后台分类?
08 年的时候,有个淘宝的产品经理从线下零售巨头沃尔玛得到启发,他发现沃尔玛仓库里面的类目分区和货架区的类目分区是分离的,仓库里面的类目分区比较稳定,很少变化,而货架区的类目分区会根据活动和季节经常调整。类似的,淘宝也可以把原来的一套类目体系分为后台分类和前台分类,后台分类面向商家,用来挂载商品和属性模板,比较稳定很少变化;前台分类面向用户,主要方便用户查找商品,很灵活,可以经常调整。后台类目和前台类目之间通过映射联系起来,一个后台类目可以映射到多个前台类目,一个前台类目也可以包含多个后台类目。
从技术的角度来看的话,前台类目就是在后台类目的基础上建立了一个虚拟类目。
应用场景:
· 1.为商品设置前后台分类。
·
2.通过商品前后台分类筛选商品。
如京东商品搜索信息展示界面:
2.2、分类管理
2.2.1、分类管理思维导图
2.2.2、前后台分类应用举例
用户输入 query:iPhone,类目属性体系预测到跟这个 query 最相关的前台类目是手机,然后前台类目通过映射找到后台类目手机,最终在这个类目下找到了“iPhone 5s 土豪金”这个商品。
有了类目属性体系,用户搜索 iPhone,系统就不会给出手机套这样的配件了,因为它只会到手机类目下去找商品。
有了类目属性体系,用户可以直接在搜索结果页按照类目和属性筛选商品,更加高效的找到想要的商品。而系统搜索可以通过记录用户搜索 query 之后的类目属性筛选行为,精准预测每一个 query 的类目和属性意图,当用户再次搜索的时候,可以根据 query 的类目属性意图,在 query 文本相关性的基础上计算出商品的类目和属性相关性,把包含 query,且跟用户的类目和属性意图最相关的商品优先展示给用户。这也是百度这样的通用搜索引擎所做不到的,因为它没有类目属性体系。
有了类目属性体系,还可以做好搜索算法的垂直化优化。也就是在每一个细分类目下,可以采用不同的商家权重和品牌权重,甚至可以有不同的排序公式。比如用户选择手机时,更多考虑各项参数和评测文章,这个时候相应的排序权重因子可以加强,而选择服装的时候,一张漂亮的主图就无比重要了,排序因子里面主图质量的权重就需要提升了。有了类目属性体系,还可以做基于类目和属性的个性化搜索。搜索引擎通过用户的类目属性筛选日志,可以挖掘出用户的一些特征,比如性别,意向价格区间,偏好品牌,偏好品类等,从而可以对这个用户做个性化的展示。
2.3、应用模块示例
后台分类管理:
后台分类与规格关系管理:
后台分类与属性及属性值关系管理:
前台分类管理:
前台分类与商品关系管理:
前台分类与筛选项关系管理:
2.4、数据结构设计
2.4.1、数据表设计
分类数据存储在分类系统中,在商品中心,主要是利用分类数据做分类同商品,规格,属性等的关系数据维护。后台分类管理商品的基础信息,前台分类用于运营和商品数据筛选。
字段说明:
后台分类与规格关系表
c_id:后台分类编码
business_num:规格编码
商品前台分类与商品的关系,可通过分类下的商品与后台分类的关系获取到商品后台分类对应的属性和属性值。但为了各个不同业务平台的高度自定义,可设置前台分类对应属性的属性别名,属性值别名,于是才额外加了前台分类与属性,属性值的关系表。前台分类与属性属性值的数据根据程序自动生成,用户可编辑对应的属性名称和属性值名称。
分类具体数据由分类系统提供,具体包括分类别名,分类名称,分类编码,分类上下层级关系。
2.4.2、属性数据示例
展示后台分类与规格的测试数据:
2.5、设计原则说明
属性数据表设计原则:
o 1.基础信息字段细分独立。
o 2.业务归类。
o
3.为什么设置后台分类与属性关系后,还设置了后台分类与属性值的关系?
已经有了属性和属性值的关系,在设置分类与属性值的关系并不多余,参考京东的设计模式,因为一个属性下可能存在大量的属性值,比如口味。但考虑到一个具体商品分类时,他的属性值是少量的,因此需要专门设置分类与属性的关系。
商品中心中台支持系统-规格设计
3、规格设计
本文讲述电商系统构建中,商品中心规格模块的相关知识和数据存储设计。
3.1、规格知识
商品规格是指一些足以反映商品品质的主要指标,如化学成分、含量、纯度、性能、容量、长短、粗细等。
例如:买衣服的商品规格指的是尺寸的大小,一般的均码分大、中、小号;有的较细,上衣依据衣长、胸围、领长分大小,下裤依据裤长短、腰围分大小等等。
应用场景:
· 1.为商品设置规格,便于商品通过规格买卖。
·
2.通过规格切换选择商品。
如京东商品规格切换界面:
3.2、规格管理
3.2.1、规格管理思维导图
规格与类目的关系主要为一个类目可设置关联一个或多个规格。具体模式放在类目模块中讲解。
商品规格模块包括规格项,规格明细,规格明细别名三个模块。规格明细别名主要是针对商品前端展示设计的,如规格明细为红色,规格明细别名可设置为深红色。规格明细别名是对一个具体规格明细值的进一步细化。商品设置规格时,实际是设置商品与规格明细别名的关系(所以任何规格都必须设置规格别名,没有规格别名的设置为规格明细名称)。
其他方案:
商品规格设计的另外一种方案是将规格作为一种特殊的属性归类到属性体系中,这两种方案都能满足商品规格管理。本例还是将规格单独作为基础数据管理,规格与属性为两个独立的模块。
3.3、应用模块示例
规格类型数据:
规格明细别名数据管理:
规格值数据管理:
3.4、数据结构设计
3.4.1、数据表设计
规格数据存储在规格项表,规格明细表,规格明细别名表中。其数据映射关系为一个规格项存在多个或一个规格明细值,一个规格明细存在多个或一个规格别名值。
字段说明:
c_format_type规格类型表
fm_id:规格类型编码
fm_name:规格项名称
show_img:是否展示为图片模式
c_format_detail规格明细表
fetail_id:规格明细编码
fdetail_name:规格明细名称
c_format_detail_alias规格明细别名表
falias_id:规格明细别名编码
falias_name:规格别名名称
3.4.2、规格数据示例
常用规格数据归类如下:
3.5、设计原则说明
规格数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.为什么要设计规格明细别名?
通过对商品规格设置数据的参考,若只设置规格项和规格明细值时,会出现一个规格项下面存在大量的规格明细值,就如同颜色一样,随着运营的需求,不同名称的颜色别名使得规格值数据偏多。不便于业务方快速选择规格值和维护规格值数据。本例通过引入规格明细别名,实则为代替规格明细值,规格明细如同是对这些别名做了一个规格分组。用户在设置商品规格时,可通过下拉单选设置规格明细值,规格别名值,这一些数据都是基础数据,一般都是初始化后,较少变动。当用户发现别名值不满足需求时,可通过添加别名完成运营需求。
商品中心中台支持系统-属性设计
4、属性设计
本文讲述电商系统构建中,商品中心属性模块的相关知识和数据存储设计。
4.1、属性知识
属性就是人类对于一个对象的抽象方面的刻画。
一个具体事物,总是有许许多多的性质与关系,我们把一个事物的性质与关系,都叫作事物的属性。
事物与属性是不可分的,事物都是有属性的事物,属性也都是事物的属性。
一个事物与另一个事物的相同或相异,也就是一个事物的属性与另一事物的属性的相同或相异。
由于事物属性的相同或相异,客观世界中就形成了许多不同的事物类。具有相同属性的事物就形成一类,具有不同属性的事物就分别地形成不同的类。
商品中属性一般包括两个部分:属性值和属性名。
应用场景:
· 1.为商品设置属性。
· 2.通过属性搜索商品。
·
3.商品明细中展示属性信息。
如京东商品详情中属性信息展示界面:
4.2、属性管理
4.2.1、属性管理思维导图
属性包括属性名、属性值,一般都是挂在具体类目下,设置为必填或非必填,同时根据实际业务发展,将某些属性可归为同一组属性。在设置属性值时,须保留一定的扩展性,部分允许自定义属性。商品属性管理要求强大的类目运营能力,在中小型电商平台一般会提供基础属性值,再开放自定义属性编辑,让用户来完善属性库数据。
4.3、应用模块示例
属性信息列表:
属性与属性值关系管理:
4.4、数据结构设计
4.4.1、数据表设计
属性作为基础数据存储在属性表,属性分组表,属性值表中。其中一个或多个属性可属于一个属性分组,一个或多个属性值属于一个属性。属性一般分为枚举类型和文本类型。枚举类型的属性值是可列举展示的,如口味(鸡肉味,牛肉味,羊肉味),文本类型如重量(2.5kg)。
字段说明:
attr_input_type:属性输入类型(文本/枚举)
属性值表(tg_tag)独立为一张数据表,由于属性值和标签存在许多数据方面的重合性,故将属性值存储在标签数据表中。
4.4.2、属性数据示例
展示部分属性与属性值关系:
4.5、设计原则说明
属性数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.属性值利用标签的基础数据表做信息管理。一个标签可属于不同的属性。在属性值与属性的关系中,设计时应该明确独立两个基础数据表和添加一张单独的属性与属性值关系表。这样做的好处是减少数据冗余,方便基础数据统一管理。一个属性值属于两个属性或多个属性的例子如:幼猫属于适合年龄属性,也可属于适合动物属性。
商品中心中台支持系统-品牌设计
5、品牌设计
本文讲述电商系统构建中,商品中心品牌模块的相关知识和数据存储设计。
5.1、品牌知识
品牌简单地讲是指消费者对产品及产品系列的认知程度。
品牌是人们对一个企业及其产品、售后服务、文化价值的一种评价和认知,是一种信任。品牌已是一种商品综合品质的体现和代表,当人们想到某一品牌的同时总会和时尚、文化、价值联想到一起,企业在创品牌时不断地创造时尚,培育文化,随着企业的做强做大,不断从低附加值转向高附加值升级,向产品开发优势、产品质量优势、文化创新优势的高层次转变。当品牌文化被市场认可并接受后,品牌才产生其市场价值。
品牌是制造商或经销商加在商品上的标志。它由名称、名词、符号、象征、设计或它们的组合构成。
一般包括两个部分:品牌名称和品牌标志。
常用品牌字段包括: Logo、全称、首字母、中文名、英文名、产地、备注、状态。
应用场景:
· 1.为商品设置品牌。
·
2.通过品牌搜索品牌。
如京东品牌搜索界面
5.2、品牌管理
5.2.1、品牌管理思维导图
规格与类目的关系主要为一个类目可设置关联一个或多个规格。具体模式放在类目模块中讲解。
本文仅讲述品牌管理的基础信息,品牌与类目的关系放到类目关系模块讲解。
5.3、应用模块示例
品牌信息管理:
5.4、数据结构设计
5.4.1、数据表设计
品牌数据存储在基础数据表和扩展信息表中。一个品牌必须要有品牌编码和品牌名称。品牌的扩展信息如起源地,备注,中英文名称等信息,可通过添加品牌扩展信息表完成。对于商品中心而言,商品设置品牌时,使用品牌的编码即可。
品牌的扩展数据表根据业务需求可扩展为多张数据表,如品牌授权标识,授权时间,供应商等信息。这一部分信息为品牌衍生业务板块,本例不做更多介绍。
字段说明:
c_brand品牌基础表
brand_id:品牌编码
brand_name:品牌名称
letter:首字母
c_brand_detail品牌明细表
brand_chinese_text:品牌中文名称
brand_english_text:品牌英文名称
brand_logo:品牌logo地址
brand_origin:品牌起源地
import_type:品牌进口类型
brand_type:品牌宠物类型
brand_yieldly:品牌实际产地
5.4.2、品牌数据示例
查询品牌在数据表的数据信息如下:
5.5、设计原则说明
品牌数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
商品中心中台支持系统-商品基础信息设计
6、商品基础信息设计
本文讲述电商系统构建中,商品中心基础信息模块的相关知识和数据存储设计。
6.1、商品知识
SPU,standard product unit (标准化产品单元)。SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。
SKU,stock keeping unit(库存量单位)。SKU即库存进出计量的单位,可以是以件、盒、托盘等为单位。
商品规格是指一些足以反映商品品质的主要指标,如化学成分、含量、纯度、性能、容量、长短、粗细等。
例如:衣服的商品规格包括尺寸和颜色。尺寸大小一般分为大、中、小号。颜色一般包括白,红,蓝等。
应用场景:
· 1.商品上新管理模块。
· 2.商品基础信息管理模块。
如京东商品明细界面:
6.2、商品基础信息管理
6.2.1、商品基础信息管理思维导图
商品基础信息中通过后台分类可设置商品与对应规格类型的关系,即不同的后台分类可映射不同的规格类型信息。商品基础信息应先完成spu基础信息的编写,后可设置相应的规格信息。
6.3、应用模块示例
sku基础信息管理:
sku规格信息管理:
6.4、数据结构设计
6.4.1、数据表设计
商品基础信息存储在spu基础信息表,sku基础信息表和商品规格关系表中。其中多个sku信息可属于同一个spu信息,一个sku信息可具有多条规格信息。
字段说明:
sku基础信息表
1.sku_id:sku编码
2.spu_id:spu编码
3.goods_url:商品封面图标
4.sku_name:sku名称
5.unit_id:单位编码
spu基础信息表
1.spu_id:spu编码
2.brand_id:品牌编码
3.cate_id:后台分类编码
4.goods_name:spu名称
商品规格关系表
1.sku_id:sku编码
2.format_type:规格类型编码
3.format_value:规格明细别名编码
4.format_detai:规格明细编码
6.4.2、商品数据示例
展示商品基础数据如下:
展示商品规格数据:
6.5、设计原则说明
属性数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.商品规格与sku关系严格按照单条记录保存的模式,保证规格信息形成独立的key-value数据模型。(避免一个sku多个规格存储在一条记录中)
商品中心中台支持系统-商品销售信息设计
7、商品销售信息设计
本文讲述电商系统构建中,商品中心销售信息模块的相关知识和数据存储设计。
7.1、商品知识
商品销售信息包括商品价格信息,媒体信息,属性信息,商品描述信息等商品的通用扩展信息管理。
媒体信息:商品主图,商品切换图,商品视频。
属性信息:关键属性(通过该属性可搜索信息),一般属性(文本描述)。
应用场景:
· 1.商品销售信息管理模块。
·
2.商品销售信息展示模块。
如京东商品销售界面:
7.2、商品销售信息管理
7.2.1、商品销售信息管理思维导图
商品销售信息暂定包括以上模块,对应物流信息,其他商品扩展模块可在此基础上继续添加。
7.3、应用模块示例
商品销售属性信息列表:
商品sku扩展信息填写:
商品销售平台信息填写:
商品宝描信息填写:
商品媒体信息填写:
商品属性信息填写:
7.4、数据结构设计
7.4.1、数据表设计
平台信息是指商品在不同平台(如淘宝和天猫)销售时,需要设置不同的销售信息。商品还有一部分属性信息是在所有平台都通用的。商品销售信息主要存储在如下数据表中。商品的宝描信息是商品详情页面的具体明细描述信息,他存储在独立的文章系统中。商品中心可通过对应接口存储和获取商品的宝描信息。
字段说明:
sku扩展表
1.guarantee_period:保质期
2.goods_airlift:空运商品
3.goods_flip:轻抛商品
4.drug_goods:是否药品
5.goods_nature:商品性质
6.sale_price:卖价
7.market_price:市场价
sku平台销售表
1.sku_id:sku编码
2.sale_channel:平台编码
3.goods_phrase:卖点促销语
4.goods_introduce:推荐理由
5.mini_retail_price:最低零售价
6.trade_price:批发价
7.goods_used:商品用途
商品属性关系表
1.sku_id:sku编码
2.attr_id:属性编码
3.attr_relation_id:属性值编码
4.attr_type:属性类型
5.attr_relation_text:商品文本属性值
商品媒体信息表
1.sku_id:sku编码
2.sale_channel:平台编码
3.media_type:媒体类型
4.media_path:媒体路径
7.4.2、商品销售数据示例
展示商品sku扩展数据:
展示商品平台扩展数据:
展示商品媒体数据:
展示商品属性测试数据:
展示商品宝描测试数据:
7.5、设计原则说明
属性数据表设计原则:
1.基础信息字段细分独立。
2.业务归类。
3.商品与属性值关系存储为key-value模式,一条记录存储一个对应关系。
微信公众号: 架构师日常笔记 欢迎关注!