心静志远

这个浮躁的社会,需要独立思考

跨境电商物流体系演化之路

跨境电商的物流系统可能要比境内电商的物流系统要略复杂一些,会涉及跟一系列外部企业进行交互,对外部异构系统的兼容性、自身系统的稳定性等都是一个不小的调整,在业务飞速发展和政策不断变化的同时,如何保证系统跟上业务发展同时保证系统能够得到灵活的扩展,接下来我们从业务和系统技术演化两条链路来分析一下丰趣海淘的物流系统演变历程。

   在订单的生命周期中,订单从下发到仓库(WMS)后,一直到快递员派送到用户手中,几乎物流系统都会有所参与。在一些对仓库管理标准化的电商中,库内作业基本都是信息化的,包裹从审核通过到建立波次、打包、超重、出仓等都会产生轨迹信息,这些轨迹信息给到用户有助于用户体验,让用户知道自己的包裹当前处于什么状态,可以对收单日期有一个合理的预期。那么此时,物流系统LMS需要与WMS进行交互,当仓库从一个仓发展到多个仓,从一种对接方案发展到多种对接方案时,LMS就必须具有一层抽象,与不同WMS交互的实际操作变成具体的实现类。在跨境电商中,这点尤其明显,大家都是到自主建仓的成本非常巨大,所以对于初期一般电商都是与仓储企业进行合作,对2015年跨境电商发展熟悉的同学都知道,2015年,基本主流的跨境电商都在向世界各个国家跑马圈地建立海外仓,体现在网站前台的就是各种国家馆,当然也可能是采买方式,把货屯到保税仓。国内保税仓一般受限于仓储面积,一般电商在考虑到物流成本、就近发货原则、风险控制等,都会对接上上N家保税仓,保证自己的发货能力的持续稳定。现在LMS系统需要通管N家保税仓,N家海外仓,当然还可能有国内仓或者国内退货仓,事情变得稍微复杂了,入库、出库、调拨、库存、销售退货、采购退货、损益、寄售、补货、预售等一大坨,这些后续会开专门的文章讲一下跨境电商供销存系统的演化之路。 



 在回到物流系统上来,刚说了LMS与WMS的交互,从单一节点到多异构系统节点,通过抽象到具体来实现,我们梳理了与仓库交互的标准化流程,然后在各个WMS中去套用,当然由于仓储能力的不同,一些具体的流程可能也不大一样,在交互中主要分为几大块,入库部分、出库部分、取消部分、库存部分、物流状态部分、查询部分等。入库部分基本有:入库预报  ;出库部分基本有:物流下单、物流更新下单(仓库审单作业前有效)、重量回传、出仓回传、取消包裹、查询包裹状态、查询物流信息等;当然在一些更加精细化的仓库系统中,要比这复杂的多,比如顺丰或者斑马的仓库规范。我们通过利用Java的动态加载机制,使用抽象类和命令配置文件进行查找具体的实现类,搭配Diamond尽可能多的信息做到可配置化。一条路线上需要与什么仓库交互,交互的原信息是通过配置的方式实现,在加载路线信息的时候,走这条路线的各种信息都被加载进来,比如需要与杭州保税仓交互,那么仓库ID就是杭州保税仓的仓库ID,仓库提供商的ID就关联了与杭州保税仓交互的一切信息,包括用户名、密码、访问地址、对应的命令集合等。考虑到跨境电商的特殊监管机制,我们在路线上配置了N多节点,当然这些节点也是一个包裹从海外到国内配送的抽象,比如出货仓ID、口岸ID、海外供应商ID、清关企业ID、国内三方物流供应商ID等,为什么会有这些节点,因为海关为了加强监管要求做跨境业务需要做到四单对碰,电商企业需要讲订单信息发送给海关,支付企业需要将支付单发送海关,物流企业需要把物流单发送给海关,清关企业需要制作个人物品申报单(行邮税时代的叫法),也许下面这种交互图能够帮助大家更好的理解这里面的交互逻辑;



 从这里可以看到,我们需要大量的外部系统进行交互,为什么是大量,因为每一个较色可能都有多种实现,比如支付企业对接中有支付宝、财付通、连连支付、易宝支付等,海关企业交互也是同样,每进入一个跨境试点口岸,都会一套单独的海关系统等待对接,物流企业我们接了顺丰、中通,当然以后也不排除接入其它家物流企业或者让用户自主选择物流配送方式,清关企业也是一样,不同的口岸会有不同的公司,受限于清管企业的服务能力,我们在一个口岸也可能会有多家清关企业,这里所说的服务能力可能主要是是否能够走特殊的商品品类。在这么多的交互流程里面,一定与遇到部分外部系统宕机或切换的情况,这个在跨境业务上,很多家也都是初次尝试,国家政策也是一样,2015年十月不同口岸一个月内出现各种规则的变化,考验的就是大家的应变能力,如果遇到外部系统不稳定或者网络问题,怎么处理呢,我们需要对每一个节点交互的健康状况进行监控,在系统上就必须有异常单处理的机制,可能是系统的自动重试,也可能是需要人工介乎的部分,需要人工接入的部分稍微负责,因为可能需要不同部分协同协作才能处理,这个时候我们做了工单系统,来保证每一种异常,每一个异常单都有人跟踪和排查,当然研发这里压力巨大,初期发现大量异常都压倒研发头上,导致每天的工作就是处理异常单,研发的生产力变得低下。刚才说了异常件的监控,还有就是物流时效的监控,系统需要把包裹在每一个外部系统中的进和出的数据都落下来,然后进入BI系统用于生成监控大盘数据,只有保证了每一个节点的服务质量,才能给用户更好的体验。在整个2015年全年,给我最大的感受,就是“变化”,外部环境几乎每个月都在变,仓库体系的变化、物流企业的变化、清关企业的变化、自身企业主体的变化、海关政策的变化。变化绝对不止这些,这不,税改来了,新政来了,可以预期的是,在接下来的几个月,还会有更多的变化等待着我们。我们需要做的不仅仅是应对变化,跟应该向前思考,为什么会有这些变化,这种变化是否正常,在不可抗力下,如何让我们跟从容的应对变化,作为研发是否可以使用技术问题解决这些问题,抑或Push我们的业务部门寻找可持续发展之路。

   物流系统是一个比较偏业务的系统,对系统的可用性、并发程度有一定的容忍度,如何在系统内部做到抽象、复用、解耦、扩展性,是需要我们更深入思考的。

   

评论
热度(2)

© 心静志远 / Powered by LOFTER