你是如何用滴滴打到车的?(上篇)

你是如何用滴滴打到车的?是不是感觉这个问题很傻很天真。

普通青年:报告张叔叔,是滴滴软件给我安排的司机师傅。

文艺青年:叔叔张,缘分使然,合适的时间遇到了合适的师傅。

2B青年:点了下按钮,嗖一下师傅就到了,定位还贼准,奇了怪了!

但是作为一个互联网青年,标准答案是什么呢

互联网青年:打车需求发出后,滴滴平台通过调度系统把最合适的师傅匹配给用户,完成了一次交易。

今天张叔叔就带大家一起了解一下,当你通过滴滴打车的时候,整个滴滴的系统是如何工作的,跟着张叔叔一起学习,相信坚持与专注的力量!

首先大家要先明确滴滴系统上几类角色。

  • 乘客:也就是你我这种打车的用户,我们是有乘车需求的人。
  • 司机:司机师傅,提供驾驶服务,满足我们需求的人。
  • 滴滴平台:担任中介,把司机和乘客匹配到一起,起到纽带的作用,作为中间商挣差价。

无论乘客还是司机,第一步都需要在滴滴系统上进行注册,并且标明自己的身份。普通用户注册还是比较容易的,按照提示输入用户信息就可以了。但是司机师傅比较复杂一些,毕竟需要证明你是一名有资质的司机,证明你有车等等。正是因为拥有这两个群体,滴滴平台才能把乘客的打车需求发布给司机师傅,司机师傅就可以到指定的地点去接你了。就是这么的神奇!

为了讲解方便,我们假设你现在想通过滴滴打一辆出租车从家到动物园,这个过程中发生了什么呢?

当你打开滴滴软件的时候,按照提示输入了出发地点和目的地址。心细的话你会发现滴滴的出发地是自动填写上的,这个是怎么实现的呢?其实很简单,滴滴软件可以获取你手机所在的位置(经纬度喔),然后通过经纬度就可以在地图上定位到你的位置,哪个小区哪个街道一查就知道了,然后就自动帮你填写了出发地点。

填写完出发地点和目的地之后,你点击了“呼叫出租车”按钮。这个时候你的手机通过网络把你的请求发送到滴滴的服务器上面,请求的大概信息包括:用户,出发地,目的地,打出租车。滴滴服务器解析你的请求之后便开始搜索出发地点附近的出租车,并把你打车的订单发送给这些司机师傅。这个过程中,有两个问题需要大家思考一下,滴滴怎么知道哪些出租车在出发地点附近的?滴滴是怎么把你的消息发送到这些司机师傅手机上面的?大家先自己思考一分钟,后面张叔叔揭晓答案。

有没有自己想到答案?张叔叔先揭晓第一个问题答案,滴滴怎么知道出发地点附近有哪些出租车。其实很简单,所有在手机上安装了滴滴软件的师傅,当师傅打开软件接单的时候,自己的手机位置会实时的上报到滴滴服务器。滴滴就知道了这些师傅实时所在的位置,那么想查找出发地附近的师傅就很简单了。如果师傅没有安装滴滴,或者即使安装了滴滴但是没有打开软件的话,滴滴是不可能知道出租车在哪的。

那你呼叫出租车的需求是怎么发送到司机师傅手机上的呢?这个地方又要依赖计算机网络了。司机师傅打开滴滴软件并处于接单状态之后,师傅的手机通过计算机网络与滴滴的服务器建立了一条连接。通过这条连接获取你订单消息的方式有两种。

第一种是单向请求型,啥意思呢,就是司机师傅的手机会不断的去滴滴服务器上面询问:现在有没有附近的订单啊,赶快发给我啊,我现在很闲啊。如果有订单信息,服务器就会把信息返回到司机师傅的手机上。这个是不是很烦?服务器都要被司机师傅的手机烦死了,如果没有订单也要一直不厌其烦的回复,“没有啊,没有啊,没有啊”。

第二种是互动型,那就是在连接上双向地发送信息,司机师傅不再是主动询问有没有订单,而是服务器主动的把订单信息传送到司机师傅手机上面。是不是感觉社会地位瞬间就上去了,本来像要账的孙子,现在只需要坐在家里守株待兔就可以了。

当司机师傅的手机收到订单消息之后,会通过滴滴上的语音模块播报出来“有新的乘车订单,现在出发,从某某地点到动物园”,如果师傅想接单的话,那么他就可以抢单了。师傅抢单的信息的会被传送到滴滴服务器上面,如果就师傅一个人抢单,那么这个师傅就分配给你了;如果有多个师傅抢单呢,滴滴服务器会计算出最适合接你的师傅,然后把这个师傅分配给你。滴滴服务器这个时候需要做的事情很多:

(1)记录订单信息,什么时候,哪位师傅接了哪个乘客的订单。

(2)把订单成功的消息分别告诉你和师傅,通知他们接单成功了。

(3)把乘客的联系方式以及实时地理位置发送给司机师傅,把司机师傅的位置发送给乘客。

正是由于这些工作,你才能看到自己被师傅接单了,并且可以看到师傅在什么位置,距离你大概多远。师傅也根据地图上你的位置来接你,最终这一次打车需求就被满足了。

剧情发展到这就结束了吗?当然没有,坐上车之后还会发生什么?到达目的地之后会发生什么?我们带着问题期待下篇。

原文发布于微信公众号 - 张叔叔讲互联网(unclezhangcomeon)

原文发表时间:2018-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

近 5 亿人的开房隐私被暴露,只因程序员的一个小失误!

不久前,暗网论坛中有人发帖公开出售华住旗下所有酒店的数据,包括汉庭、美爵、禧玥、漫心、诺富特、美居、CitiGo、桔子、全季、星程、宜必思、怡莱、海友等多家连锁...

17120
来自专栏人称T客

“红芯”事件 错在哪里?

一篇《融资2.5亿的"自主国产"红芯浏览器 被指套壳Chrome》刷爆整个朋友圈,如果没有这篇文章相信非圈内的人都不知道“红芯”这家公司的存在,从默默无名到一夜...

9710

诈骗者在网上偷你钱的10种方式

从互联网诞生开始,网络犯罪一直是骗子利润丰厚的生意。尽管我们在安全性方面取得了进步,例如生物识别技术,以及如区块链之类的更有希望的安全技术成为趋势,但是道高一尺...

12000
来自专栏企鹅号快讯

密码太可怕了,应该将它“枪毙”

密码是不仅为电脑和智能手机用户埋下了祸根,还给各大企业带来了安全隐患。本周三,eBay呼吁该公司的1.45亿用户更改密码,原因是该公司发生了数据泄露事件。但从以...

23750
来自专栏FreeBuf

安全防护场景与安全报警的:“点、线、面”

在最近业内同行的交流过程中,发现企业内部除了业务不同,都有类似的安全防护场景,使用的防护系统也趋于统一化,商业产品可能来源于同一厂商,开源产品使用的是相同的技术...

12230
来自专栏FreeBuf

纸包得住火吗?向黑客支付10万美元“封口费”的Uber与5700万用户的泄漏信息

Uber 成立于 2009 年,一家身价超 690 亿的创业企业。但自近年一系列涉及残酷商业策略、冷漠企业文化等方面的负面新闻缠身之后,这只独角兽的光芒黯淡,从...

22880
来自专栏FreeBuf

Fireball恶意程序已袭击全球将近2.5亿台PC,背后推手是一家中国电子营销机构

Check Point研究人员最近发现了一款传播范围极广的恶意软件,感染的计算机数量高达2.5亿,包括Windows和macOS。这款恶意软件被命名为Fireb...

246100
来自专栏大数据文摘

专访“新世界黑客组织”成员Kapustkiy

19760
来自专栏FreeBuf

13个有用的渗透测试资源博客

渗透测试是寻找能够用来攻击应用程序、网络和系统的漏洞的过程,其目的是检测会被黑客攻击的安全脆弱点。渗透测试可以检测如下内容:系统对攻击的反应,存在哪些会被攻击的...

388100
来自专栏FreeBuf

防范社会工程学攻击的简单技巧与姿势

互联网是人、组织机构与电脑之间相互联系的迷宫。而最简单的攻击方式便是找出关系中的薄弱环节。通常人是这三者中最弱的一环,因此也成为了攻击进入任何组织电脑网络最简单...

25980

扫码关注云+社区

领取腾讯云代金券