京东订单体系

京东订单体系

1、订单履约
订单履约,即京东履行与客户承诺的约定。
OFC:Order Fulfillment Center,订单履约中心,连接了用户下单和订单在库房生产。
OFC分为拆分、OCS、转移、OFW、风控。
OFC的上游有前台(页面)、购物车、结算页、生成订单,它的下游是实际的生产,有WMS、TMS(青龙系统)
2、对于POP来说,京东之需要把订单发给具体的POP商家(天猫就是这种模式)
3、京东的几个区域:北京、上海、广州、武汉、西安、沈阳、成都(补全),这些区域下面有自己独立的配送中心,即RDC(区域物流中心)和FDC(分仓)。
4、订单的拆分
(1)拆分维度1:库房
在我们已经拥有亚洲一号的情况下,我们最关注的仍然是品类仓,因为不同的品类,像大家电、图书、IT、3C类产品等在仓储间上有不同的要求。
比如用户买了一个电视,又买了一个食品,而食品属于食品仓。如果用户下了这张订单。其实在后台产生了两张订单,一张给大家电仓库、一张给食品母婴仓。
这样就会带来一个拆分,这是最主要的一个维度,即库房。
(2)拆分维度2:商家
京东现有自营和POP,而POP里有不同的商家,京东为了给不同的商家进行结算,就会根据商家进行拆单。最一开始的这张订单被称为父单,在OFC往下的下游系统中,那张父单是没有任何作用的。父单仅是客户在购物环节中的订单快照。具体到库房、配送环节、售后环节,实际上都是参照子单去进行操作的。
5、关于先款订单和先货订单
先货订单在点击了提交按钮后,立即进入了拆分。而先款订单是在付款完成了之后做拆分的操作。
6、一次拆分和二次拆分
一次拆分是把订单在订单提交后立即拆分,相当于一个拆分服务。
二次拆分的前提条件是一次拆分没有拆干净,会进入到一个定时任务(拆分worker),这是一个大的订单池子,没拆干净的单子都会进入到这个池子里,然后通过二次拆分,轮循订单什么时候付款、什么时候满足了订单的拆分条件,再去进行拆分流程。
7、订单拆分流程
获取订单信息——拆分订单——构建子单——检查拆分结果—取消父单,提交子单(恢复原订单 | 修改订单信息)
8、订单金额拆分
OCS:order calculate service(订单金额计算服务)
(1)OCS为拆分金额提供实时的金额计算服务;
(2)拆分系统处理完成后,将拆分结果发送到MQ,OCS将信息存入DB,并发送计算结果到MQ;
(3)OCS分摊金额的基本原则是按sku金额比例分摊;
(4)OCS对外提供查询服务;
总结:所谓生产,对于京东自营来说就是定位的是不同库房;对于京东商家来说,定位的是不同商家。OFC最直接的两个下游系统,对于自营来说,下有系统就是WMS即仓储系统;对于POP来说,下游系统就是POP订单系统。所以京东的单子都会发给这两个系统。
9、订单转移
通过不同的渠道获得的订单(如PC端、app端、微信端等),统一都堆积在京东OFC的大池子里。
它是订单的一个分发机制,或订单的分发计划,订单要给哪个库房去生产,怎么生产都是在订单转移的过程中决定的。
订单转移下面有2个系统:promise系统和库存的服务。
(1)Promise系统
京东的库房是有波次的概念的(JIT波次生产)。对于库房来说,如果来了一张订单就生产一个订单,这样的库房是没有计划性的。所以京东的库房采取的是波次生产——即订单都会成堆的生产,而不是单独的生产,因而会有promise系统或转移系统。
promise系统通过库房生产的一个波次,算出每一个库房的接单时间点,然后告诉订单转移系统,这个订单在什么时间,下发给客户是最妥当的。
(2)前台库存
用户在主站下单的时候,能看到这个物品有货还是无货。这个是库存系统计算出来的。
比如,用户在天津,京东会先看这个东西在天津有没有货,如果天津没有货,就会看在北京有没有,如果北京也没有货且该商品开通了平行库存的图层属性的话,就回去查看全国各个地方有没有货,然后再返回来告诉你这个东西有没有货。具体的说,用户在前台买了一个东西显示有货,具体这个东西是在天津生产还是北京生产,这个事情就是订单转移在做。
10、
京东看库存的规则和前台用户下单时看库存的规则是不一致的,在前台看是以sku的维度去看库存,在OFC里是以订单的维度看库存。
订单维度看库存有一个特点:整单生产。即如果可以整单生产的话,就不会去拆分订单。
e.g:用户买了2件商品,一件在北京有货,一件在济南有货,正常的话,一件商品要在济南出发,一件从北京出发,这样就形成两个订单。但假如2个商品在北京都有货,那么这张订单会在北京整单生产,以减少拆单率。
11、
在拆分环节是不看有没有货的,只看能不能备货,能备货就证明这个东西是可以在这里生产。
在订单转移环节,才实际上和库存打交道,具体看订单要在哪个地方生产,这就是订单转移。
12、OFW(订单工作流系统)
OFW负责对订单管道过来的订单进行接单,然后去调用拆分服务、转移服务等下游系统的服务。
同时OFW还负责订单回传的工作,订单全程跟踪里的所有信息都是通过这个系统汇总并反馈给上游做展示。

猜你喜欢

转载自blog.csdn.net/weixin_41400063/article/details/85279639