偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

58速運(yùn)“里程計(jì)算”優(yōu)化與演進(jìn)

開(kāi)發(fā) 開(kāi)發(fā)工具
58速運(yùn)貨物運(yùn)輸,滴滴快遞網(wǎng)約車(chē),司機(jī)端都是按照行駛公里數(shù)收費(fèi)的,所以“里程”的準(zhǔn)確性,是這類(lèi)業(yè)務(wù)的一個(gè)核心難題,“里程計(jì)算”方案演進(jìn),以及其中優(yōu)化思想,是本文要討論的問(wèn)題。

58速運(yùn)貨物運(yùn)輸,滴滴快遞網(wǎng)約車(chē),司機(jī)端都是按照行駛公里數(shù)收費(fèi)的,所以“里程”的準(zhǔn)確性,是這類(lèi)業(yè)務(wù)的一個(gè)核心難題,“里程計(jì)算”方案演進(jìn),以及其中優(yōu)化思想,是本文要討論的問(wèn)題。

一、直接調(diào)用地圖API

這是最容易想到的方法,最省事,但司機(jī)往往不是按照預(yù)定的路線(xiàn)行駛的,很有可能因?yàn)槎萝?chē)、道路封閉等改變路線(xiàn),所以直接調(diào)用地圖API,一次性計(jì)算出一個(gè)預(yù)估值,不太靠譜

優(yōu)化方案:根據(jù)實(shí)際路線(xiàn)計(jì)算里程

二、司機(jī)APP實(shí)時(shí)計(jì)算增量里程,服務(wù)端存儲(chǔ)總里程

過(guò)程如下:

(1)貨車(chē)位置不停的在改變,司機(jī)APP每隔一段時(shí)間(例如1s)記錄一次GPS,即打點(diǎn)

(2)實(shí)時(shí)計(jì)算相鄰兩點(diǎn)的距離,上報(bào)服務(wù)端

(3)服務(wù)端存儲(chǔ)總里程

潛在問(wèn)題:GPS可能不準(zhǔn)確,偶爾會(huì)有噪點(diǎn),一旦有噪點(diǎn),相鄰兩點(diǎn)的距離會(huì)很遠(yuǎn),導(dǎo)致最終總里程可能比實(shí)際里程遠(yuǎn)

優(yōu)化方案:不能實(shí)時(shí)計(jì)算增量,而應(yīng)該先打點(diǎn),最終統(tǒng)一計(jì)算,這樣才有機(jī)會(huì)去除噪點(diǎn)

三、打點(diǎn)上報(bào)服務(wù)端,服務(wù)端統(tǒng)一計(jì)算里程

過(guò)程如下:

(1)貨車(chē)位置不停的在改變,司機(jī)APP每秒打一個(gè)點(diǎn),上報(bào)服務(wù)端

(2)服務(wù)端將打點(diǎn)落地,記錄數(shù)據(jù)庫(kù)

(3)到達(dá)目的地后,服務(wù)端對(duì)于所有點(diǎn)進(jìn)行統(tǒng)一處理,一次性計(jì)算里程,可以去除噪點(diǎn)

潛在問(wèn)題:假設(shè)每單平均貨運(yùn)時(shí)長(zhǎng)1小時(shí),即每單要打3600個(gè)點(diǎn),58速運(yùn)每天100w訂單,即總共要打36億個(gè)點(diǎn),每個(gè)點(diǎn)對(duì)應(yīng)數(shù)據(jù)庫(kù)一個(gè)寫(xiě)請(qǐng)求,則數(shù)據(jù)庫(kù)的寫(xiě)壓力大概在每秒4w次,扛不住

優(yōu)化方案:批量寫(xiě)是一種常見(jiàn)的降低數(shù)據(jù)庫(kù)壓力的方案

四、客戶(hù)端實(shí)時(shí)打點(diǎn),壓縮后批量上傳

過(guò)程如下:

(1)司機(jī)APP每秒在本地打點(diǎn),每隔一段時(shí)間(例如20s),壓縮,上報(bào)服務(wù)端,服務(wù)端壓力從4w降低到2k

(2)服務(wù)端解壓,批量寫(xiě)入隊(duì)列

(3)隊(duì)列中的點(diǎn),每隔一段時(shí)間(例如2s)再寫(xiě)入數(shù)據(jù)庫(kù)

優(yōu)化成果:大大降低了數(shù)據(jù)庫(kù)壓力(由于存儲(chǔ)量較大,實(shí)際優(yōu)化的過(guò)程中,使用Hbase進(jìn)行了優(yōu)化存儲(chǔ))

其他問(wèn)題:數(shù)據(jù)庫(kù)壓力降下來(lái)了,但到達(dá)目的地后,一個(gè)訂單打的所有點(diǎn)計(jì)算里程,成本較高,如何減少計(jì)算量

優(yōu)化方案:去除無(wú)效點(diǎn)

五、打點(diǎn)過(guò)濾,提高效率

什么樣的打點(diǎn)是無(wú)效點(diǎn),需要去除呢?

(1)噪點(diǎn)原則:連續(xù)打點(diǎn),偏移量較大的噪點(diǎn),需要去除

(2)同點(diǎn)原則:相同位置的點(diǎn)可以去除,因?yàn)橐苿?dòng)路徑為0

(3)速度原則:行駛速度超過(guò)合理范圍的點(diǎn),需要去除

(4)角度原則:理論上訂單軌跡是平滑有序的,如果角度反復(fù)折回,可以視為無(wú)效點(diǎn)

潛在問(wèn)題:如果司機(jī)APP有斷網(wǎng)或者信號(hào)不好,可能會(huì)漏點(diǎn),導(dǎo)致計(jì)算出的總距離小于實(shí)際距離,給司機(jī)帶來(lái)?yè)p失

優(yōu)化方案:補(bǔ)點(diǎn)

六、事后補(bǔ)點(diǎn),數(shù)據(jù)修正,計(jì)算里程

如何進(jìn)行補(bǔ)點(diǎn),如何進(jìn)行數(shù)據(jù)修正呢?

(1)補(bǔ)點(diǎn):車(chē)輛行駛過(guò)程中,如果有中斷路線(xiàn),采用“地圖路徑規(guī)劃”的方式補(bǔ)點(diǎn)

(2)修正:采用卡爾曼濾波算法,對(duì)軌跡進(jìn)行整形

(3)計(jì)算里程:按照點(diǎn)到點(diǎn)的距離,進(jìn)行累加

總結(jié)

“里程計(jì)算”的優(yōu)化歷程:

  • 直接調(diào)用地圖API
  • 司機(jī)APP實(shí)時(shí)計(jì)算增量里程,服務(wù)端存儲(chǔ)總里程
  • 打點(diǎn)上報(bào)服務(wù)端,服務(wù)端統(tǒng)一計(jì)算里程
  • 客戶(hù)端實(shí)時(shí)打點(diǎn),壓縮后批量上傳
  • 打點(diǎn)過(guò)濾,提高效率
  • 事后補(bǔ)點(diǎn),數(shù)據(jù)修正,計(jì)算里程

“里程計(jì)算”業(yè)務(wù)并不是所有公司都會(huì)涉及到,但其中的優(yōu)化思路,很多還是可以借鑒的:

  • 單次與統(tǒng)籌:客戶(hù)端單次記錄與計(jì)算是不靠譜的,應(yīng)該由服務(wù)端來(lái)實(shí)施,綜合所有數(shù)據(jù),去除噪點(diǎn)
  • 單次與批量:?jiǎn)未尾僮?,壓力較大,不好壓縮;批量操作能大大降低壓力,并且壓縮比高
  • 全量與過(guò)濾:全量計(jì)算成本較高,過(guò)濾掉無(wú)效數(shù)據(jù),能夠降低計(jì)算量,提高精確性
  • 補(bǔ)充與修正:對(duì)于少量缺少的數(shù)據(jù),可以預(yù)測(cè)補(bǔ)充,平滑修正

【本文為51CTO專(zhuān)欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2018-08-21 09:22:46

58速運(yùn)架構(gòu)DB

2018-06-14 21:47:46

WOT沈劍58速運(yùn)

2024-02-22 10:25:10

AI視覺(jué)

2018-03-24 12:21:21

58速運(yùn)微服務(wù)架構(gòu)智能云

2018-03-15 11:23:59

微服務(wù)架構(gòu)實(shí)踐

2023-11-07 10:31:25

自動(dòng)駕駛系統(tǒng)

2017-12-14 09:35:10

58速運(yùn)訂單調(diào)度

2020-04-03 13:12:09

函數(shù)架構(gòu) Serverless

2017-10-23 09:10:52

2021-04-13 13:21:58

CPUGPU異構(gòu)

2013-02-27 11:13:17

云計(jì)算運(yùn)維阿里云開(kāi)發(fā)者

2013-03-22 14:51:34

云計(jì)算運(yùn)維阿里云

2012-06-12 11:43:15

網(wǎng)絡(luò)優(yōu)化電話(huà)網(wǎng)絡(luò)

2010-01-21 22:19:25

網(wǎng)絡(luò)優(yōu)化運(yùn)維管理摩卡軟件

2025-01-17 09:45:00

激光雷達(dá)視覺(jué)模型

2010-06-25 16:43:41

CDMA2000

2015-07-17 08:23:06

品高云計(jì)算

2010-03-25 10:43:24

2019-01-15 18:03:54

數(shù)據(jù)庫(kù)運(yùn)維 技術(shù)

2013-09-13 16:15:29

柯旻運(yùn)維云計(jì)算運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)