你是如何用滴滴打到车的?是不是感觉这个问题很傻很天真。
普通青年:报告张叔叔,是滴滴软件给我安排的司机师傅。
文艺青年:叔叔张,缘分使然,合适的时间遇到了合适的师傅。
2B青年:点了下按钮,嗖一下师傅就到了,定位还贼准,奇了怪了!
但是作为一个互联网青年,标准答案是什么呢
互联网青年:打车需求发出后,滴滴平台通过调度系统把最合适的师傅匹配给用户,完成了一次交易。
今天张叔叔就带大家一起了解一下,当你通过滴滴打车的时候,整个滴滴的系统是如何工作的,跟着张叔叔一起学习,相信坚持与专注的力量!
首先大家要先明确滴滴系统上几类角色。
乘客:也就是你我这种打车的用户,我们是有乘车需求的人。
司机:司机师傅,提供驾驶服务,满足我们需求的人。
滴滴平台:担任中介,把司机和乘客匹配到一起,起到纽带的作用,作为中间商挣差价。
无论乘客还是司机,第一步都需要在滴滴系统上进行注册,并且标明自己的身份。普通用户注册还是比较容易的,按照提示输入用户信息就可以了。但是司机师傅比较复杂一些,毕竟需要证明你是一名有资质的司机,证明你有车等等。正是因为拥有这两个群体,滴滴平台才能把乘客的打车需求发布给司机师傅,司机师傅就可以到指定的地点去接你了。就是这么的神奇!
为了讲解方便,我们假设你现在想通过滴滴打一辆出租车从家到动物园,这个过程中发生了什么呢?
当你打开滴滴软件的时候,按照提示输入了出发地点和目的地址。心细的话你会发现滴滴的出发地是自动填写上的,这个是怎么实现的呢?其实很简单,滴滴软件可以获取你手机所在的位置(经纬度喔),然后通过经纬度就可以在地图上定位到你的位置,哪个小区哪个街道一查就知道了,然后就自动帮你填写了出发地点。
填写完出发地点和目的地之后,你点击了“呼叫出租车”按钮。这个时候你的手机通过网络把你的请求发送到滴滴的服务器上面,请求的大概信息包括:用户,出发地,目的地,打出租车。滴滴服务器解析你的请求之后便开始搜索出发地点附近的出租车,并把你打车的订单发送给这些司机师傅。这个过程中,有两个问题需要大家思考一下,滴滴怎么知道哪些出租车在出发地点附近的?滴滴是怎么把你的消息发送到这些司机师傅手机上面的?大家先自己思考一分钟,后面张叔叔揭晓答案。
有没有自己想到答案?张叔叔先揭晓第一个问题答案,滴滴怎么知道出发地点附近有哪些出租车。其实很简单,所有在手机上安装了滴滴软件的师傅,当师傅打开软件接单的时候,自己的手机位置会实时的上报到滴滴服务器。滴滴就知道了这些师傅实时所在的位置,那么想查找出发地附近的师傅就很简单了。如果师傅没有安装滴滴,或者即使安装了滴滴但是没有打开软件的话,滴滴是不可能知道出租车在哪的。
那你呼叫出租车的需求是怎么发送到司机师傅手机上的呢?这个地方又要依赖计算机网络了。司机师傅打开滴滴软件并处于接单状态之后,师傅的手机通过计算机网络与滴滴的服务器建立了一条连接。通过这条连接获取你订单消息的方式有两种。
第一种是单向请求型,啥意思呢,就是司机师傅的手机会不断的去滴滴服务器上面询问:现在有没有附近的订单啊,赶快发给我啊,我现在很闲啊。如果有订单信息,服务器就会把信息返回到司机师傅的手机上。这个是不是很烦?服务器都要被司机师傅的手机烦死了,如果没有订单也要一直不厌其烦的回复,“没有啊,没有啊,没有啊”。
第二种是互动型,那就是在连接上双向地发送信息,司机师傅不再是主动询问有没有订单,而是服务器主动的把订单信息传送到司机师傅手机上面。是不是感觉社会地位瞬间就上去了,本来像要账的孙子,现在只需要坐在家里守株待兔就可以了。
当司机师傅的手机收到订单消息之后,会通过滴滴上的语音模块播报出来“有新的乘车订单,现在出发,从某某地点到动物园”,如果师傅想接单的话,那么他就可以抢单了。师傅抢单的信息的会被传送到滴滴服务器上面,如果就师傅一个人抢单,那么这个师傅就分配给你了;如果有多个师傅抢单呢,滴滴服务器会计算出最适合接你的师傅,然后把这个师傅分配给你。滴滴服务器这个时候需要做的事情很多:
(1)记录订单信息,什么时候,哪位师傅接了哪个乘客的订单。
(2)把订单成功的消息分别告诉你和师傅,通知他们接单成功了。
(3)把乘客的联系方式以及实时地理位置发送给司机师傅,把司机师傅的位置发送给乘客。
正是由于这些工作,你才能看到自己被师傅接单了,并且可以看到师傅在什么位置,距离你大概多远。师傅也根据地图上你的位置来接你,最终这一次打车需求就被满足了。
剧情发展到这就结束了吗?当然没有,坐上车之后还会发生什么?到达目的地之后会发生什么?我们带着问题期待下篇。