京东到家商品治理体系的建设

2023-11-22 13:59

本文主要是介绍京东到家商品治理体系的建设,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

京东到家作为一个即时零售的电商平台,在提供1小时送达极致服务的同时也力求将万千好物送到消费者的手中。为了不断提高平台露出商品的价值,提高用户的满意度,我们设计并投入使用了京东到家商品治理系统,其主要职责是对商品新建、修改、呈现的全链路流程进行干预及核验,旨在发现解决商品信息中如:敏感词、虚假宣传、错误信息等不符合平台规范和质量要求的问题,保证商品与实物的匹配度,信息的正确性等。

系统架构介绍

京东到家各业务线采用的是标准化的微服务架构设计,各个系统在迭代过程中只用按需申请对应的组件即可,下图为治理系统所用到的技术组件:

  • 消息中间件:使用京东的MQ中间件,实现业务解耦。

  • 存储:Redis集群、MySQL集群等。

  • Worker:基于TBSchedule分布式调度引擎框架构建的服务,进行定时任务的执行和分发。

  • 服务监控:采用统一监控与告警服务平台,可以达到秒级监控、多方位监控、服务告警、全链路追踪等能力。

  • 服务间调用:使用京东的JSF平台,实现服务间注册、服务间调用,服务治理等能力,支持请求超时自动阻断。

  • 日志服务:日志采集与查询服务。

系统架构

早期的治理系统

治理系统的第一个需求与大多数业务系统类似,是基于数据的增删改查,构建一套敏感词管理模块,同时为商品主系统提供敏感词的校验能力。

它的第二个需求是为运营同学提供一个核验结果的报表,其主要逻辑是通过上传Excel,内部解析完成后调用接口得到相应的数据结果,基于MySQL进行存储,然后提供查询及展示的能力,以便运营使用。

但由于缺乏设计和长远的思考,因此当时的治理系统与商品主系统耦合严重,图示如下:

早期治理系统业务架构

而随着平台对商品信息合规性的要求越来越严格,针对商品分类、毛重、图片等等诸多的治理需求也就接踵而来。但在上图的设计之中,我们不难发现,治理系统是以具体的业务来构建对外接口的,那随着业务需求的不断增加,两个系统之间交互的接口个数也会出现暴涨,这是我们不希望看到的。

另外,治理的最终目的是期望商品上的问题能够得到解决,而不仅仅只是发现,因此将问题暴露给运营或者商家,是势在必行的,但当下存在两个问题:

  1. 商品系统在自身的主流程中强依赖治理的核验能力,且随着业务的增加,依赖会越来越多。

  2. 商品系统只能将前置拦截的核验结果告知商家,业务覆盖面不全。

再加上有诸多问题是属于弱合规性(不需要强制拦截但又需要解决),因此我们决定将商品治理业务的核心由商品系统转为治理系统

为了实现高效率的商品治理,我们对治理系统的设计要求和定位作出了一点变更,提出了两项基本原则:

  • 治理系统需要完成整个治理业务的闭环,作为商品问题发现及解决的总入口和总出口

  • 治理系统需要具备高拓展性,当增加特定化治理需求时能够迅速响应

业务架构升级

抽象思维显神威

在理清治理系统的业务架构升级思路之后,我们首先需要确定的一个问题就是:治理系统最基础的原子能力是什么?

以各个主系统为例,商品系统最基础的原子能力即:商品的创建、修改和提供查询能力、库存系统最基础的原子能力即:商品库存信息的维护及查询能力。根据治理业务的发展规划,我们也基本确定出治理系统的原子能力,即:发现商品存在的合规问题,并向外提供查询和辅助解决的能力

对于合规问题的定义,我们做出了如下解释,即:不符合电商平台商品展示规范的如敏感词、虚假渲传等问题。

例如商品名称中包含敏感词,会映射为敏感词问题,另外需要说明的是:在编码阶段中,一种可量化的具体规则可以确定对应的一种合规问题,且同一个商品可能同时存在多个不同的合规问题。

目前到家治理系统所涉猎的合规问题主要有:

合规问题大类对外描述问题细节
商品毛重问题商品毛重不准确商品毛重与实际商品不符、商品毛重超过最大运力限制等
商品信息不正确商品信息不正确,请检查具体内容商品名称包含敏感词、商品分类与实际商品不符、虚假宣传等
商家商品经营范围问题当前售卖商品超出商家经营范围当前售卖商品超出商家经营范围等
图片信息问题商品图片信息存在问题商品无主图、商品主图为默认图、商品主图为黑底图等
未来计划
商品价格问题----
商品画像问题----
...

为了方便理解,我们可以将每一种合规问题看作是一种策略,而针对策略的顶层接口又定义了四个核心方法:

  • 映射关联的枚举:每一个问题都需要关联具体的问题原因

  • 问题关联的字段:每一个问题都需要关联具体的影响字段或被影响字段

  • 自定义过滤能力:根据业务特点,减少无用处理

  • 核验方法:根据业务规则实现的具体核验逻辑

具体的实现逻辑如下图所示:

商品毛重信息填写错误为例,下图为处理前后的展示结果:

毛重问题有其对应的关联枚举及文案映射,即:商品毛重不准确(问题类型),推荐毛重为 XXX(文案映射),所关联的字段为:商品重量及商品名称,再配合一定的过滤逻辑及核验算法,那么毛重问题的抽象实体也就完成了,以此类推,我们后续在增加新的治理问题时,采用类似的方式即可。

如果是对设计模式涉猎较多的读者应该已经判断出来,这种设计方案其实就是策略模式及模板方法模式的变种罢了,在编码阶段也肯定少不了工厂的使用,在编码层面整体的变化如下图所示:

上述方案落地之后,产研侧对于治理业务的后续发展达成了基本共识,同时需求的实现也变得简单起来,我们不用再关注其他系统的逻辑,而是着眼于具体合规问题的业务规则实现上。

业务方和产品可以更好的通过数据分析来确定未来的治理重点和需求规划,研发人员也以优雅的方式解决了系统间耦合、业务代码重复的问题。

难点问题巧手破

初步定义好治理系统的业务架构设计后,在后续迭代的过程中,我们遇到了两个较为棘手的问题,一个是业务问题,一个是技术问题。

业务问题

业务方要求APP展示的商品主图不能与默认图(例如空白图、品牌商标图等不能体现商品信息的图片)一致,然而商品图片的核验逻辑一直由图片核验系统承接。

这就引起了一个问题:治理系统是否需要集成图片核验逻辑,如果不集成,那又该如何将其图片违规问题纳入至治理体系中?

如果是经验丰富的开发者一定会提出使用MQ的方式由图片核验系统发送核验结果至治理系统,来解决这个问题。实际上我们也是这么做的,只不过做的更彻底一些。

在设计模式当中,我们通常会将一系列类似业务整合成一个公共接口向外提供能力,我们将它称之为:门面模式或者外观模式。

对于上述的类似问题,我们找到了公共的处理思路,即:将治理系统作为门面,其他系统作为组件,各系统都可以主动的向治理系统提供需要治理的内容

该方案确定之后,各种令人头痛的业务场景也就变得简单起来,而且此举还扩大了治理系统的边界,例如商品无图合规问题,商品差评率高的问题,只需要对应系统将相关数据/结果以MQ的形式发送至治理系统,然后由治理系统为其绑定具体的合规问题即可。

在编码层面我们采用的是最简单的MQ解耦的方式实现,示意图如下:

技术问题

在治理迭代的过程中,有一系列的需求是针对平台商品的图片进行治理,以破损图逻辑为例。

在最开始的处理逻辑中,大家查询资料整合信息,发现平台偶尔出现的破损图是由于图片在下载过程中未下载完整后流中断,触发上传引起的。因此在第一版的逻辑中,我们查阅资料作出了如下逻辑判断:当图片下载完成触发上传前,对比请求体中的ContentLength与实际图片字节大小,问题初步解决。

但是过了不久问题再次爆发,此时我们发现事情没有那么简单。

由于到家平台对接众多的商家系统,各个系统的图片服务器与后台逻辑不一,导致我们无法对所有图片都使用文件大小比对的方式,因此我们重新调研并实现了针对破损图的核验能力。

即通过下载后的图片内容进行处理和分析,利用算法与目标问题的业务特征来进行识别,至此,问题基本解决。

同时,基于该思路我们也衍生出针对黑底图默认图的处理方式,在图片问题的治理上更进一步。

治理触达终落地

基于上述的方案和设计,治理系统在问题发现的流程上已经趋于完善,接下来,产品提出了新的要求,即:部分问题实现自动治理及问题触达商家

笔者在之前了解机器学习方面的知识时,注意到这样一个特点,在机器学习中,模型可以分为两种:判别模型和生成模型。忽略掉其具体含义,吸收其设计思想,我们也可以将治理系统分为两个阶段,即:发现解决

上述的业务抽象以及技术问题、业务问题都是在用以发现问题,当我们将解决问题的目标纳入到整个治理体系时,只需要对现有结构进行一定程度的拓展即可满足。

仍然以商品毛重信息填写错误问题举例,我们只需要在上文的抽象中增加两个待实现方法:

  • 是否需要自动处理:毛重问题需要自动处理

  • 自动处理的具体实现规则:当实际毛重大于某一阈值时,将商品系统下架处理(依托于商品对外接口能力)

在核验结果入库前,根据具体的实现逻辑以及数据反馈结果来判断需要人工处理还是系统处理即可。

而对于触达需求,其实现就更简单了,因为我们在最初就定义好了治理业务沟通的基本要素是一个个具体的治理问题,我们只需要将存储好的数据以接口亦或是MQ的形式露出即可。

至此,整个治理体系从编码层面也就建设完成,其核心逻辑在三个环节:

  1. 商品变动MQ/其他系统治理内容通知触发具体合规问题核验。

  2. 针对核验结果进行判断:人工处理或系统自动处理(处理的能力需借助于商品对外接口)。

  3. 核验结果对外露出。

下图为治理系统当前整体业务结构图:

治理系统整体架构图

治理业务全景图

从治理平台业务架构升级至今,已经稳定运行9个多月,在业务发展过程当中,已经累计治理平台商品480W+,构建出了8种识别能力,3种处理方式及两种触达方式。同时立足于商品、标品系统为商品的快速建品、基础信息建设、治理审核等保驾护航,下图为到家治理全景图:

治理业务全景图

未来规划

目前的治理体系是围绕商品系统的主环节来设计和搭建的,其影响范围较窄,我们完全可以将商品治理的成果运用于商品体系之外的其他系统。

例如下图中的各个业务场景:

以搜索推荐为例,我们可以为各个合规问题制定相应的扣减分数,搜索侧在构建数据时将当前商品的合规分数纳入至自身体系中,在满足搜索条件后按分值大小进行排序。

另外,也有很多用算法无法识别的问题需要纳入至治理体系中,例如:商品差评率高、退货率高等等。

总结

随着业务的不断发展,对于商品信息的质量要求也会越来越高,到家治理系统还需要和各个上下游系统一起联动,提供更精细化的商品管控能力,期待未来我们的治理能力越来越出色,为用户提供更加真实、贴合实际的商品数据以及更加优质的服务。

这篇关于京东到家商品治理体系的建设的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410630

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询API - 探数数据 以下示例是参考的示例代码: import requestsurl = "http://api.tanshuapi.com/a

【信创建设】信息系统信创建设整体技方案(word原件完整版)

信创,即“信息技术应用创新”。我国自主信息产业聚焦信息技术应用创新,旨在通过对IT硬件、软件等各个环节的重构,基于我国自有IT底层架构和标准,形成自有开放生态,从根本上解决本质安全问题,实现信息技术可掌控、可研究、可发展、可生产。信创发展是一项国家战略,也是当今形势下国家经济发展的新功能。信创产业发展已经成为各行各业数字化转型、提升产业链发展的关键。 软件全套资料部分文档清单: 工作安排任

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

《语文建设》

语文建设栏目设置 新理念、新教材(教材研究、新课文、教学设计)、新课程新课堂(案例、教学短讯、综合性学习、创新瞬间)、更新知识(国外语文教育、美文共赏、课文新解、咬文嚼字、语言规范与应用、语言新观察、评价与考试。 语文建设编辑部/杂志社投稿须知 1、文章标题简短,能概括中心思想,一般不超过20个汉字,必要时加副标题 2、题目下面均应写作者姓名,姓名下面写单位名称、所在城市、邮编,不同单位的多位作者

Java异常体系----深入讲解

JAVA异常体系 1.error 错误 程序无法处理的异常, 它是由JVM产生和抛出的,比如OutOfMemoryError.ThreadDeath等 示例: public class Test {public static void main(String[] args) {run();}public static void run(){run();}} 堆栈溢出,这是由于JV

LLM应用实战: 产业治理多标签分类

数据介绍 标签体系 产业治理方面的标签体系共计200+个,每个标签共有4个层级,且第3、4层级有标签含义的概括信息。 原始数据 企业官网介绍数据,包括基本介绍、主要产品等 企业专利数据,包括专利名称和专利摘要信息,且专利的数据量大。 LLM选型 经调研,采用Qwen2-72B-Instruct-GPTQ-Int4量化版本,占用显存更少,且效果与非量化相当,

Vue3商品SKU多规格编辑组件

商品SKU多规格组件主要用于电商平台的商品详情页,帮助买家在选择商品时能够根据不同的规格(如颜色、尺码、容量等)进行筛选和购买。这种组件的设计旨在提升用户体验,简化购买流程,并确保买家能够准确地选择到自己需要的商品规格。以下是对商品SKU多规格组件的详细解析: 1. 定义与功能 SKU(Stock Keeping Unit)定义:SKU即库存量单位,是指宝贝的销售属性集合,供买家在下单