QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

京东 11.11:大数据构建京东智慧物流系统

  • 佚名

2016 年 11 月 10 日

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 年的规划,我们会持续进行软件系统优化,利用机器学习等智能化技术,另外,引入更多的智能硬件,不断将智能化深入,从而支持京物流更加高效,为用户提供更好的体验。


感谢杜小芳对本文的审校。

2016 年 11 月 10 日 10:012987

评论

发布
暂无评论
发现更多内容

《视觉系统中的深度学习》PDF及源代码免费下载

计算机与AI

学习 计算机视觉

测试过程中如何快速定位一个bug

测试人生路

软件测试

浅谈互斥锁与进程间的通信(举例说明)

ShenDu_Linux

Linux 程序员 架构师 进程线程区别

区块链在国际贸易领域应用的法律问题

CECBC区块链专委会

区块链

创业项目快速分析框架

boshi

创业 商业

架构第十一周作业

Nick~毓

深入浅出 Go - sync.Pool 源码分析

哈希说

golang

cncf serverless 所有项目全解读

coldTea214

云计算 Serverless 容器云 cncf

OPPO技术开放日第六期丨OPPO安全解析“应用与数据安全防护”背后的技术

OPPO安全

OPPO安全

深入了解进程间通信:System V信号量+共享内存

ShenDu_Linux

Linux 进程 内存管理 通信协议

年轻人快来学习TCP 协议如何解决粘包、半包问题!

程序员小灰

c++ Linux TCP 后台开发 Linux服务器开发

数字货币将带来怎样的“革命”

CECBC区块链专委会

数字货币 货币

技术应用丨DWS 空间释放(vacuum full) 最佳实践

华为云开发者社区

内存 存储 磁盘

Serverless 应用引擎的远程调试和云端联调

阿里巴巴云原生

Java Serverless 云原生 后端

华为工程师又爆一份“架构师宝典”,价值百万薪“史诗级”操作系统,送你备战金三银四要不要?

云流

编程 程序员 计算机网络 操作系统

《华为数据之道》读书笔记:第 10 章 未来已来:数据成为企业核心竞争力

方志

数字化转型 数据治理

进一步深挖工业数据价值

CECBC区块链专委会

数据安全;工业互联网

当居住空间被智能包裹:OTA智能社区改变了什么?

脑极体

大企软件系统问题多?归乡名企工程师:解决很简单,分分钟做个新系统

Learun

敏捷开发 快速开发 企业开发 CRM 企业应用

从零做网站开发:基于Flask和JQuery,实现表格管理平台

华为云开发者社区

jquery flask 框架

「云原生上云」后的聚石塔是如何应对 双11 下大规模应用挑战的

阿里巴巴云原生

阿里云 云原生

Accept-Language是什么? 就在身边,你却没看见的“冷知识”系列(不定期偶遇)

八苦-瞿昙

随笔杂谈 HTTP

GO训练营第2周总结

Glowry

关于Mysql常用数据类型的小抄

xzy

MySQL

在K8S/OpenShift上开发应用程序的14种最佳实践

东风微鸣

Kubernetes 最佳实践 k8s最佳实践 openshift

精彩回顾 | 一张图读懂OPPO应用与数据安全防护

OPPO安全

OPPO安全

《迅雷链精品课》第九课:区块链P2P网络

迅雷链

区块链

爆买剁手之后,我们的快乐为什么越来越贬值?

脑极体

LeetCode题解:455. 分发饼干,贪心while循环,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

同步与异步,回调与协程

Linux服务器开发

线程 协程 后端开发 底层应用开发 Linux服务器开发

甲方日常 61

句子

工作 随笔杂谈 日常

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

京东11.11:大数据构建京东智慧物流系统-InfoQ