2015 年,在国务院提出“互联网 +”行动战略之后,以“互联网 + 物流”的智慧物流概念也被不断提及,但是,由于物流系统本身的复杂性和业务差异性,究竟如何打造智慧物流系统,鲜有落地的方案。
很多人对京东物流的高效印象深刻,用户体验受到广大用户的认可,但是,在这些体验背后隐藏着高昂的运营成本。青龙系统作为支撑京东物流的核心系统,在这个过程中,也逐渐为外界瞩目,日处理数百万订单,大促销期间上千万单,数十万操作人员在这个物流网络中服务,智慧化物流系统成为迫切需求。
在本次 ArchSummit 全球架构师峰会北京站,设置了《电商专题:系统架构如何应对业务爆发式增长》和《阿里双 11 技术架构突破》专题,来深入解读双 11 等大促背后的技术故事,大会将于 2016 年 12 月 2 日 -3 日在北京国际会议中心召开,欢迎关注。
青龙系统从 2012 年研发版本 1.0,到目前的 6.0 的演进过程中,我们也逐步认识到,以大数据处理为核心是构建智慧物流的关键。
“大数据”的经典定义是可以归纳为 4 个 V:海量的数据规模(volume)、快速的数据流转和动态的数据体系(velocity)、多样的数据类型(variety)和巨大的数据价值(value)。从青龙系统看,每天处理亿级数据,具有海量信息的数据规模;支持快速的数据流转,实现了物流各个节点实时数据监控优化;系统处理各种各样的信息,包含了结构化和非结构化数据;数据具有极大的价值,推动系统成本和效率优化 1%,可以节约上亿成本,具有了显著的大数据特征。
如何从大数据到智慧系统
我们在实战中认识到,把大数据转化为智慧系统,需要具备两个基础:
首先是业务数据化,并且具有数据质量保障。京东物流在青龙系统的支撑下,实现了所有物流操作的线上化,也就是数据化,并且,对每个操作环节都是可以进行实时分析,这就奠定了很好的基础。如果业务都是线下操作,或者系统无法准确及时收集数据,那么,即时数据量够大,缺乏关键数据和数据不准确,也会给大数据处理带来很大的困难。
第二基础就是大数据处理技术,包括收集,传输,存储,计算,展示等一系列技术。青龙系统在数据处理技术上也踩过很多坑,最早我们用数据库生产库做一些数据的分析,发现很快性能就不行了,因为数据分析 SQL 一执行,生产库性能急剧下降,然后开始利用读库,并结合 MQ,也就是操作数据库的时候,会发出一个 MQ,数据分析处理系统接收 MQ 重新解析,但是,也不能很好解决问题。后面,我们总结发现一点,作为传统的技术人员,我们是试图用 OLTP 的方法来解决 OLAP 的问题,这在方向上就存在问题。
上面的图是我们的总结,当你做一个大数据应用,首先要分清你自己的应用场景。至少有两个维度:一个是实时性的维度,你做大数据分析是秒级的还是离线的,也就是 24 小时以后拿到也没问题。另一个是一致性维度,你对一致性到底是什么样的要求,要求是百分之百一致的,另外很多场景不要求一致,很多的消息推送不要求一致。
从这两个维度来看可以划分四个场景,强实时性强一致性、强实时性弱一致性、弱实时性强一致性、弱实时性弱一致性。到底你的应用落在什么样的场景,你要分清楚。
你如果问你的运营团队和业务团队,他肯定说要百分之百一致,肯定要实时,不仅是分钟量级的,最好是秒级的,甚至比秒级还小,完全一样的。你可以告诉他,要实现这个没问题,但你要实现这个对应的代价非常大,你用代价换取价值是不是足够。
另外还有一个维度,就是数据量。你的数据到底是什么样的量级,GB、TB,甚至是 PB。从现在新系统发展来看,架构支撑业务两年发展已经足够了,要对两年内数据量有一个预估。
这几个维度确定以后,现在从 ETL 数据抽取到数据传输、数据存储,以及数据计算,技术相对比较成熟了,你可以选择合适的技术。
下面是京东大数据平台的系统架构。
这个系统对于实时数据,离线数据,都有完整的解决方案,对于青龙系统来讲,可以基于公司大数据平台,进行对应的实时数据处理和离线数据分析。大数据平台技术栈很多,有些公司可能不会自己开发,但它非常重要,因为它可以从技术上提供基础数据质量保障。如果数据质量得不到保障的,那你后面做所进行的分析就是不靠谱的,数据平台本身数据质量就很差。
另外如果你对一致性要求很高,它可能 10% 的信息都丢失了,如果你对实时性要求很高,它可能延迟好几个小时,在这种情况下数据分析应用不可能做好。
在可靠的数据源和处理技术基础上,就可以逐步构建智慧物流系统。
第一步主要是通过大数据技术准确及时还原业务。也就是我们可以及时准确采集业务运行的数据,并分不同层次需求展示出来。
上图是著名的南丁格尔的玫瑰图,从这张图中可以清楚看到,因为卫生条件差、治疗和估计不足,导致的可治疗却死亡了的人数所占比重非常大,是因为受伤而死亡人数的几倍。
对于物流系统来讲也是一样,图形化展示,一图胜千言。在时间维度,实时展示实各个节点的生产量,相邻节点的差异,可以很好把控业务。我们还发现,移动端的开发,对业务非常有帮助。
对于物流来讲,是商品流,实物流,资金流,信息流的结合,因此,地理维度展示也非常有帮助。青龙系统做到了车辆,配送员实时展示,例如在京东 APP 上就可以查看订单的实时轨迹。
第二步就是通过大数据提升业务。这块对于离线数据,大家都比较熟悉,包括业务日报,周报,月报等,这都是业务管理的基础,如果不能做到及时准确,数字化运营是无法进行的,更不用说智慧化了。对于物流这种劳动密集型行业,我们利用实时数据,进行业界排行,对现场也起到很好的激励作用。
在对业务能够进行实时监控和准确评估后,就可以进行第三步,也就是利用大数据对业务进行预测。
预测一直是大数据应用的核心,也是最有价值的地方。对于物流行业,如果能够提前进行业务量预测,那么,对于资源调度等非常有意义,不仅能够实现更好的时效,而且能够避免浪费。举一个青龙系统的例子,就是单量预测,根据用户下单量,仓储生产能力,路由情况等,可以进行建模预测。
最后一步就是依托大数据进行智能决策。做到了这一步,才可以称作智慧物流。目前,做决策最好的方式依然是人机结合,能够利用大数据和人工智能的技术,为人工提供辅助决策,让人工的决策更加合理。
我们也有一个实际案例,京东的用户,都有过配送员给大家送货的经历,配送员也就是从配送站取货送给客户。因为京东业务每年增长也非常快,就遇到如何增加配送站的问题。在以前没有系统辅助决策,就只能拍脑袋,但随着规模越来越大,发现拍脑袋代价会很大,于是,我们就想用大数据的方法来解决一下如何建配送站的问题。
首先,建站依赖于什么?大家看过《大数据时代》的话就知道,利用大数据进行预测,非常重要的是找到它的关联物,建站最直观的是跟订单相关的,我们也从订单开始着手来分析这个问题。
我们从订单分布数据,加上我们的客户分布数据进行分析,通过订单聚合等技术手段,找到订单很密的点,这个过程有很多的模型可以供参考。然后,加入更多的数据,包括位置信息、当地租金成本、管理成本、从分拨中心到传站的距离等,我们就能输出一个模型分布,根据不同的维度,将建站预测展示给用户,辅助业务管理人员进行决策,并且,可以根据业务人员的使用情况,输入更多的业务知识,形成业务闭环,让系统更加智能化。
上面的图,是研发青龙系统的总结,分成了两个维度,一个是你做这个系统的难度,另一个是你做这个系统的价值。
首先,要选择应用场景,选择合适的大数据技术架构,把数据质量能够做好。然后,要对业务进行分析,第一步主要进行业务还原,包括业务节点,环比、同比,环节差异,最好用图形化的方式展示出来。
之后可以进行下一步,做业务评估,评估业务健康度,这也有很多的方法,如同比,环比,和业界平均指标对标的方法。如果能通过大数据做到和友商实时对标,就能发现自己的薄弱点,哪块是需要改进的,就可以进行优化,优化完,系统指标运行一下,可以看看是不是真的改进了。
利用灰度的方法,也可以对业务改进进行效果评估。大数据来讲最核心预测,作为一个业务负责人,如果能够提前知道业务情况,现场的管理就能处理的更好。再往上走就是业务决策系统,Google 的 AlphaGo 就是一个典型例子,但是实际的业务可能更加复杂。
智慧物流,我们认为就是以大数据处理技术作为基础,利用软件系统把人和设备更好的结合起来,让人和设备能够发挥各自的优势,达到系统最佳的状态,当然,这个是不断进化的过程。
当前,青龙系统已经具备初步智能化的特征,上面是我们 2016 年的规划,我们会持续进行软件系统优化,利用机器学习等智能化技术,另外,引入更多的智能硬件,不断将智能化深入,从而支持京物流更加高效,为用户提供更好的体验。
感谢杜小芳对本文的审校。
评论