交易履约之产品中心实践| 京东云技术团队
一、我们是谁?科技产品中心是什么?
1、我们是谁
我们:本文所提到的我们,是指由京东科技产品中心,包括大麦系统、山海产品系统和产品库系统。
2、科技产品中心
2.1、定位
打造科技统一的内外部产品供应链管理系统,支持业务发展及对外输出;核心职责包括建立产品管理标准、统一产品管理和提升产品管理效率。
2.2、发展路线图
科技产品中心系统从 2019 年开始建设产品库,主要接收金融类产品,逐渐收口科技 8 套分散的产品管理系统,统一对接各业务线、财务、经分等,现阶段融合了科技各业务线的产品管理能力,
除金融类产品外,还包括京东云产品、保险产品、实物商品等,承接了科技产品委员会对 TOB、TOC 产品标准建设的全生命周期管理流程。
2.3、功能概览
科技产品中心服务于科技、物流、健康等多个京东集团 BGBU,包括产品类目和产品主数据管理、TOB 产品定价管理、产品渠道分发以及库存管理,可由内外部系统录入或导入,实现集团视角的产品信息统一。
2.4、优势及特点
我们的优势:拥有 5 级类目,灵活支持各类产品在类目上的配置及产品在类目上的迁移,同时支持将各级类目作为集团或 BGBU 进行收入达成、损益经营分析;通过产品模板管理各业务线的产品数据,
产品录入与变更灵活,支持各业务线产品差异化存储和动态扩展,产品字段变更,无需投入研发资源,业务自配置即可完成。
我们的特点:我们针对 TOB、TOC 不同产品设置不同产品模版,分别管理不同类型产品的字段配置,同一类产品使用同一模版,灵活且不耦合;针对 TOB 产品可配置计费项和计费规则,
支持产品预付费、后付费、先付费多种付费模式配置;支持渠道、门店、产品多维度的产品库管理和交易,提供丰富的各维度的统计报表。
2.5、我们服务于谁
我们主要服务于科技集团各业务线,为科技各业务线的产品分级制定标准,统一为各业务线产品在各销售端和平台渠道方进行售卖提供产品相关数据支撑,助力业务线展业创收,同时我们也服务于科技财务、经分、风控等
各职能部门,为产品收益结算,成本核算等提供线上化数据。除此之外,我们还和京东零售、京东保险、京东物流等其他 BGBU 正在陆续建立合作,为集团 TOB 产品的统一管理提供技术服务与支持。
2.6、应用案例
我们提供统一的产品信息服务,既支持业务开展,又可通过渠道分发的功能将产品信息分发至不同的渠道或者商家运营平台,本案例通过渠道分发功能分发到电销的京音平台,再由京音平台不同的销售场景引导用户转化。
具体实现流程如下图。
二、我们的核心能力有哪些?
1、一张图看懂我们的核心能力
我们通过山海运营平台、大麦运营平台统一维护金融 App、云官网、科技星海 CRM 等多渠道销售的产品数据,其核心服务能力包括统一产品类目、差异化产品管理、多维度库存管理、定价管理和渠道分发管理。
下图为产品中心产品核心能力输出图谱。
2、类目管理
我们持续在实现科技、物流、零售、工业、健康等多个 BGBU 存量百余款技术产品全量入驻产品中心,建立后续增量技术产品入驻流程及标准,实现集团视角技术产品和目录统一。
为建设统一 CRM、统一经营分析打下产品基础。我们为各 BGBU 提供 5 级产品类目管理,可覆盖集团各业务线的类目主数据需求。
3、产品管理
3.1、产品创建流程
我们管理的各业务线产品数据源,有来自各业务线推送,也有来自我们山海产品运营平台的产品创建,在我们运营平台可编辑配置产品信息,同时分发到相应销售渠道进行产品售卖。在山海运营平台进行产品创建的流程,
主要包括以下 6 个步骤,1、创建类目,2、开通权限,3、新增产品,4、维护定价(tob 产品),5、审核上架,6、渠道分发。其中创建类目和开通权限,需要由各业务线产品接口人向战略部申请新增或者调整,
战略部和财务部确认后,由山海产品运营平台产研配置,并且开通类目权限。之后各业务线可登录山海运营管理平台,创建产品(TOB 产品可维护定价信息),产品上架提交审批,指定分发的渠道可进行售卖。
总体产品创建流程如下图。
3.2、产品创建
登录山海系统,选择产品中心,进入产品运营平台,选择产品管理菜单,点击“新增产品”,选择特定类目录入产品,点击保存即可完成产品创建。
3.3、产品定价创建(TOB)
登录山海系统,搜索需要维护定价的产品(只支持 TOB 产品设置定价),选择操作按钮中的设置定价,选择定价计费项,录入定价信息,点击保存按钮即可完成产品定价的创建。
3.4、审核上架
产品已完成基本信息、定价信息的录入后,点击产品操作按钮,选择提交审核,系统会发起线上审核流程,审核通过后,可点击产品操作按钮,选择上架,确认后即可上架成功。
3.5、渠道分发
在山海产品运营平台,选择渠道管理菜单,选择渠道分发模块,查询要分发的产品,点击渠道分发按钮,在弹出的窗口中选择要分发的渠道,点击确定按钮即可分发成功,产品分发成功后,在指定的渠道端即可对产品进行销售管理。
4、库存管理
我们支持金融虚拟库存、实物商品库存管理,支持总库存、日库存、预约日库存和预约余量售卖多种库存模式,支持金额、人数和个数多种库存类型,支持渠道、门店、产品和活动多维度进行库存交易与统计。
登录山海产品运营平台,选择库存管理模块,根据实际需要选择不同维度的库存管理,可查询产品在渠道、门店等不同维度的产品总库存、预占、可售、货损、调拨中的库存量,同时可支持修改库存信息。
三、我们的系统架构与技术亮点?
1、系统架构
我们的系统基于 DDD 领域思想指导,划分系统业务边界,定义业务身份和扩展点,进行微服务设计。系统领域包括产品核心域、分类渠道支撑域以及任务和审批通用域。科技产品中心领域划分如下图所示。
基于各业务线产品逻辑差异化,定义去重校验、产品名称校验、字段初始化等扩展点,定义业务扩展包,脱离主流程,解耦系统的同时提高系统扩展性。提供索引服务,可支持不同字段的复杂检索,
通过 alias 能力支持在线更新 mapping,实时构建索引。系统还提供库存服务,可维护不同渠道、不同场景(或门店)的产品库存,为产品交易过程中库存冻结、解冻、扣减提供能力。
系统整体技术架构如下图。
我们各业务线产品定义,管理流程差异化越来越大,为解决代码腐化,提高迭代效率,降低迭代成本,梳理出通用的的产品管理模型,沉淀平台核心能力,差异化功能抽象定义为各种扩展点,
采用业务包的形式通过 SPI 方式定制化实现,平台能力与业务功能解耦,做到业务隔离,降低相互影响的风险。
2、技术亮点
2.1、基于元数据可管理的产品数据
我们构建产品属性库,提供产品基础字段管理,保证业务字段标准化,可复用,同时通过 JSON Schema 来验证指定产品模版 JSON 字段的必填或重复等基础校验、关联校验及复杂的业务校验。
通过可拖拽的可视化画布编辑产品模版,保存模版的同时,解析模版字段写入元数据表,打通产品搜索、产品列表、产品导入等功能,让系统数据变得可配置,可管理。产品元数据整体架构如下图所示。
2.2、基于可拖拽的模版扩展产品表单
通过山海产品运营平台,进入产品模版管理页面,可通过产品属性构建产品模块,或者产品模版,绑定产品分类和渠道,生成模版版本,将模版版本绑定测试环境,预环境发或生产环境,
即可在指定环境发布产品模版,产品字段变更无需硬编码,通过可拖拽的模版画布,动态扩展产品表单。实现流程如下图所示。
前端产品模版布局,采用 JoyPage 可视化搭建平台来实现可拖拽的页面配置,可以拖拽式轻松配置业务表单,像玩“乐高”一样自由搭建产品信息模板。
JoyPage 是京东科技业务中台团队自研的一款前端低代码框架,支持丰富的组件类型,包含文本、日期、下拉菜单、单选、多选、富文本、表格、业务模块组件、布局组件等数十种字段类型按需搭配,
支持事件配置、动态数据源 api 接口配置,灵活的进行前后端交互。在搭建过程中,从左侧组件列表拖拽到中间画布区域,点击且选中画布中已有的组件,在右侧组件属性面板进行组件的属性配置。
搭建界面如下图所示。
2.3、基于保型加密可配置长度的 ID 发号器
JidGenerator 是京东科技产品中心自研的 ID 发号器,主要应用于以科技产品中心系统为主的京东科技内部中台系统用来生成唯一的系统 ID。JidGenerator 是基于保型加密算法原理实现的分布式 ID 生成器,
该生成器基于每天生成唯一的二维矩阵模型来实现保型加密,ID 生成的数据来自于二维矩阵的数值,可根据系统的业务量级自定义加密后 ID 值的位数(可配置生成的矩阵行数)。
下图定义为加密后的值为 5 位示例,即每天生成的唯一二维矩阵行数定义为 5,列数配置为 10,共 5 组 slat,每组都是 0~9 随机生成的数字。
一个系统中如果要生成多种类型的 ID,如(渠道 ID、分类 ID、产品 ID 等),可使用 JidGenerator 生成 ID 时配置的类型别名来区分,即同一个系统可生成不同类型的 ID。同时计算当前日期距离 1970-1-1 相隔的天数,
使用生成 ID 的类型别名+相隔 1970-1-1 的天数作为缓存 key(如某天生成产品 ID 序号的缓存 key 为:item19080),缓存需要生成的 ID 序号,ID 序号初始数值和步长可配置,如初始数值配置 20 即提前生成 20 个序号,
缓存中序号使用完成后继续按照配置的步长累加后再写入缓存。ID 的生成根据从缓存中获取序号左位补零的方式获取新数,新数的每位数字作为二维矩阵的下标从二维矩阵中获取加密后的数字生成 ID。
例如:根据缓存 key(如 item19080)从缓存中获取的序号为 10,左位补零的方式扩展为 5 位后为 00010,则加密后的数字为 21956。
2.4、支持复杂查询的产品检索能力
我们提供索引微服务,监听产品核心服务的数据变更事件,同步更新 ES 存储,各业务线复杂的查询通过索引服务批量查询返回产品 ID 列表,根据产品 ID 列表读取 R2M 缓存数据给各业务方,实现原理如下图。
同时我们提供动态 mapping,支持在线重建索引,同步数据,变更别名,通过新索引别名动态改变索引,支持原索引作为备份索引,异常时切换,实现索引的无缝切换。
2..5、产品主数据标准化治理
科技产品中心实现产品域科技集团的产品和类目覆盖及统一管理,解决产品交易及输出过程中渠道端、业务系统、财务整个交易链条的主数据一致性问题,
我们对接集团 EBS 系统,打通财务收入、损益核算线上化,实现产品数字化,支持财务进行公司产品损益分析,针对科技集团产品和产品类目提供标准化输出。
四、未来规划
当前科技产品中心经过了超 4 年的迭代,为了适配各业务线产品不同字段的问题,系统也经过了多次升级改造,目前已提供了非常成熟的产品管理能力,能兼容不同业务的产品差异化,同时提供全流程产品管理,包括统一类目,产品创建,产品分发,产品库存交易等,已覆盖了科技集团内部大多数的业务线及京东保险的产品主数据管理。
作者:京东科技 晏银喜、邹成兵、叶浩、张锐、杨贺麟、梁玉、程龙
来源:京东云开发者社区
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/ab973b5481c2d5c40d3b37ee3】。文章转载请联系作者。
评论