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

你是如何用滴滴打到車的?是不是感覺這個問題很傻很天真。
普通青年:報告張叔叔,是滴滴軟體給我安排的司機師傅。

文藝青年:叔叔張,緣分使然,合適的時間遇到了合適的師傅。

2B青年:點了下按鈕,嗖一下師傅就到了,定位還賊準,奇了怪了!

但是作為一個網際網路青年,標準答案是什麼呢
網際網路青年:打車需求發出後,滴滴平臺通過排程系統把最合適的師傅匹配給使用者,完成了一次交易。

今天張叔叔就帶大家一起了解一下,當你通過滴滴打車的時候,整個滴滴的系統是如何工作的,跟著張叔叔一起學習,相信堅持與專注的力量!

首先大家要先明確滴滴系統上幾類角色。
乘客:也就是你我這種打車的使用者,我們是有乘車需求的人。
司機:司機師傅,提供駕駛服務,滿足我們需求的人。
滴滴平臺:擔任中介,把司機和乘客匹配到一起,起到紐帶的作用,作為中間商掙差價。
無論乘客還是司機,第一步都需要在滴滴系統上進行註冊,並且標明自己的身份。普通使用者註冊還是比較容易的,按照提示輸入使用者資訊就可以了。但是司機師傅比較複雜一些,畢竟需要證明你是一名有資質的司機,證明你有車等等。正是因為擁有這兩個群體,滴滴平臺才能把乘客的打車需求釋出給司機師傅,司機師傅就可以到指定的地點去接你了。就是這麼的神奇!

為了講解方便,我們假設你現在想通過滴滴打一輛計程車從家到動物園,這個過程中發生了什麼呢?
當你開啟滴滴軟體的時候,按照提示輸入了出發地點和目的地址。心細的話你會發現滴滴的出發地是自動填寫上的,這個是怎麼實現的呢?其實很簡單,滴滴軟體可以獲取你手機所在的位置(經緯度喔),然後通過經緯度就可以在地圖上定位到你的位置,哪個小區哪個街道一查就知道了,然後就自動幫你填寫了出發地點。

填寫完出發地點和目的地之後,你點選了“呼叫出租車”按鈕。這個時候你的手機通過網路把你的請求傳送到滴滴的伺服器上面,請求的大概資訊包括:使用者,出發地,目的地,打出租車。滴滴伺服器解析你的請求之後便開始搜尋出發地點附近的計程車,並把你打車的訂單傳送給這些司機師傅。這個過程中,有兩個問題需要大家思考一下,滴滴怎麼知道哪些計程車在出發地點附近的?滴滴是怎麼把你的訊息傳送到這些司機師傅手機上面的?大家先自己思考一分鐘,後面張叔叔揭曉答案。

有沒有自己想到答案?張叔叔先揭曉第一個問題答案,滴滴怎麼知道出發地點附近有哪些計程車。其實很簡單,所有在手機上安裝了滴滴軟體的師傅,當師傅開啟軟體接單的時候,自己的手機位置會實時的上報到滴滴伺服器。滴滴就知道了這些師傅實時所在的位置,那麼想查找出發地附近的師傅就很簡單了。如果師傅沒有安裝滴滴,或者即使安裝了滴滴但是沒有開啟軟體的話,滴滴是不可能知道出租車在哪的。

那你呼叫出租車的需求是怎麼傳送到司機師傅手機上的呢?這個地方又要依賴計算機網路了。司機師傅開啟滴滴軟體並處於接單狀態之後,師傅的手機通過計算機網路與滴滴的伺服器建立了一條連線。通過這條連接獲取你訂單訊息的方式有兩種。
第一種是單向請求型,啥意思呢,就是司機師傅的手機會不斷的去滴滴伺服器上面詢問:現在有沒有附近的訂單啊,趕快發給我啊,我現在很閒啊。如果有訂單資訊,伺服器就會把資訊返回到司機師傅的手機上。這個是不是很煩?伺服器都要被司機師傅的手機煩死了,如果沒有訂單也要一直不厭其煩的回覆,“沒有啊,沒有啊,沒有啊”。

第二種是互動型,那就是在連線上雙向地傳送資訊,司機師傅不再是主動詢問有沒有訂單,而是伺服器主動的把訂單資訊傳送到司機師傅手機上面。是不是感覺社會地位瞬間就上去了,本來像要賬的孫子,現在只需要坐在家裡守株待兔就可以了。

當司機師傅的手機收到訂單訊息之後,會通過滴滴上的語音模組播報出來“有新的乘車訂單,現在出發,從某某地點到動物園”,如果師傅想接單的話,那麼他就可以搶單了。師傅搶單的資訊的會被傳送到滴滴伺服器上面,如果就師傅一個人搶單,那麼這個師傅就分配給你了;如果有多個師傅搶單呢,滴滴伺服器會計算出最適合接你的師傅,然後把這個師傅分配給你。滴滴伺服器這個時候需要做的事情很多:

(1)記錄訂單資訊,什麼時候,哪位師傅接了哪個乘客的訂單。
(2)把訂單成功的訊息分別告訴你和師傅,通知他們接單成功了。
(3)把乘客的聯絡方式以及實時地理位置傳送給司機師傅,把司機師傅的位置傳送給乘客。
正是由於這些工作,你才能看到自己被師傅接單了,並且可以看到師傅在什麼位置,距離你大概多遠。師傅也根據地圖上你的位置來接你,最終這一次打車需求就被滿足了。

劇情發展到這就結束了嗎?當然沒有,坐上車之後還會發生什麼?到達目的地之後會發生什麼?我們帶著問題期待下篇。
