找回密码
 会员注册
查看: 30|回复: 0

按灯系统在转转的实践

[复制链接]

1

主题

0

回帖

4

积分

新手上路

积分
4
发表于 2024-9-20 01:24:24 | 显示全部楼层 |阅读模式
1背景按灯机制来源于丰田-生产模式,基于其“建立立即暂停制度以解决问题,从一开始就重视品质管理的文化”的生产原则。在丰田生产线上,一线操作工人一旦发现任何异常,有权按下按钮,直接停止整个流水线,让问题暴露出来,马上解决。2012年,美国电商巨头亚马逊将丰田的按灯机制引入到客服系统中。为了解决客户投诉问题,一旦有超过两名客户投诉同一产品或者营销规则的同一个问题时,无论产品、营销规则多么火爆,客服专员都可以直接按下红灯键,下架产品或者营销规则,直到问题解决才会重新上架。2022年,转转为进一步提升品质管理,在公司组织内落地一套用户反向驱动的机制即按灯机制,前期聚焦在如何把用户的声音(尤其是客诉)穿透到公司业务方做针对性改善,最终实现公司组织具备实现用户第一的机制保障。2系统设计转转引入按灯机制的交互流程图如下:从流程上看,按灯相关流程放在业务系统中也可以实现。2.1为什么要单独开发按灯系统?转转体系内存在多个与品质有关系的直接系统,如果各业务系统都自主实现按灯逻辑的话,主要的弊端有:资源浪费;业务系统与按灯相关其他业务系统耦合;按灯数据格式无法保证一致,数据分析起来较困难;根据以上问题,将业务系统相关按灯动作抽象出来,由按灯系统统一收拢,按灯系统的主要功能如下:发起按灯;按灯单据的处理;同步申诉信息;发送执行命令;跟踪按灯结果;2.2系统边界如何划分?按灯系统既是承接上游发起按灯又是对下游系统发送执行命令的载体,那么按灯系统与上下游系统的边界划分则是系统设计的关键因素。将整个流程相关系统分为四大模块,如图:模块职责业务模块过滤或汇总业务数据;按灯模块核心实现按灯单据的流转;申诉模块提供申诉能力,回传申诉结果;执行模块执行按灯命令,回传执行结果;问题为什么申诉、执行模块没有放在按灯模块中?答案申诉信息的展示需要依托业务系统推送给用户。例如:商户查看按灯信息需要通过商户管理平台。不同的业务会有不同的申诉场景,所以申诉模块由业务系统自身实现即可,按灯只需提供申诉的数据。执行模块如:质检系统、商户管理系统等。这些系统本来就控制商户的质检能力和供货能力,按灯系统无需重复实现限制逻辑,只需要给对应系统发送命令,执行系统识别命令后执行相应限制逻辑即可。3系统实现3.1流程实现技术选型根据第二部分系统设计,按灯系统主流程即为按灯单据的流转,流程实现技术选型是系统实现技术方案的重中之重,它决定了系统的复杂度、系统运行性能以及后续的维护成本。常见的流程逻辑实现主要有状态机和责任链两种处理方式,两种处理方式对比如下表格:技术选型优点缺点状态机状态驱动运转,易扩展逻辑重,配置理解成本高责任链代码类配置链路,清晰易懂链路长的话,性能会低两种模式虽然都是处理链式请求,但不同的是:状态机是通过状态切换促使不同的状态处理类去处理请求,而责任链模式是在动作执行完成后直接传递给下一个处理类继续执行。按灯系统划分为流程节点如下图:在按灯的场景中,按灯单也有多个状态,但实际执行并不复杂,按灯整体链路长度适中,结合当前的场景和后续规划,最终选择了更轻便的责任链模式来实现按灯单据的流转。3.2按灯流程实现流程执行器抽象类:next():设置下一个执行器;execute():当前执行器处理逻辑;doNext():触发下一个执行器;public abstract class AbstractAndonTicketProcessService {    protected AbstractAndonTicketProcessService next;    protected abstract void next();    protected AndonProcessResult doNext(String logStr, AndonProcessContext context) {        if (Objects.isNull(this.next)) {            return AndonProcessResult.buildSuccess("执行成功");        }        return this.next.execute(logStr,context);    }    public abstract AndonProcessResult execute(String logStr, AndonProcessContext context);}流程器的触发有四个场景:创建按灯单;申诉结果回传;处罚指令执行结果回传;恢复指令执行结果回传;将流程器按功能模块区分开,基于场景需求,选择不同的模块作为起点直接触发,使代码复用性更高。3.3按灯策略实现按灯策略:对按灯源场景配置一组要执行的按灯指令以及按灯指令下发的时机。每一个按灯源有且只有一个按灯策略,不同的业务可以根据指令和时机的不同组合,实现按灯流程。按灯源:触发按灯的场景按灯对象:被按灯的对象申诉能力:是否需要申诉按灯指令:执行处罚措施的类型罚款指令学习指令:指定按灯对象去学习系统学习对应课程限制商户能力指令:不允许商户上架、质检商品等下发时机:指令下发执行系统的时机立即下发:创建按灯单时立即触发申诉失败:等待申诉结果且失败时触发到达整改期限:指定指令在期限内没有完成,则触发问题创建按灯单据时是怎样匹配按灯策略的?按灯策略的更新对单据逻辑影响是怎样的?答案查询该按灯场景下配置的按灯策略,根据按灯策略配置的按灯指令类型及下发时机生成对应按灯单和按灯指令。更新策略采用模板方式,更新后会产生新的模板。待此按灯源下个按灯单据匹配时,会取最新版本进行关联。4应用场景在转转平台,商户服务评级是通过平台多维度考核商家服务能力,以平台机制和平台运营策略正向引导商家的服务能力、质检能力和履约能力的提升。对于商家在商品、订单、售后等服务上存在的问题,比如商品质量不达标、超时发货、售后时效不达标等其他问题都可以作为按灯的数据来源,各业务按照自己业务规则灵活配置,超过阈值触发按灯系统创建按灯单,执行在按灯系统配置的流程。下图为商户服务评级按灯流程:5总结按灯系统是转转落地一套用户反向驱动的机制,会为平台建立一个正向循环体系,提升平台购物体验,让更多的用户喜欢转转。关于作者:钱鸿昀,转转履约中台研发工程师,主要负责履约TMS和按灯系统。想了解更多转转公司的业务实践,欢迎点击关注下方公众号:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-25 13:46 , Processed in 0.712062 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表