精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

京東到家的LBS定位系統架構是如何演進的

開發 開發工具 前端
京東到家基于LBS將消費者和線下商家聯系到一起,進而促成交易為消費者提供便利,在這背后定位系統是如何為京東到家提供基礎的定位能力呢?本文從技術角度介紹了京東到家定位系統的演進過程以及遇到的問題。

一、引言

依托達達的高效配送和大量優秀零售合作伙伴,京東到家為消費者提供生鮮蔬果、日用百貨、醫藥健康、鮮花蛋糕、個護美妝等海量商品 1 小時配送到家的極致服務體驗,在整個服務過程中,京東到家基于LBS將消費者和線下商家聯系到一起,進而促成交易為消費者提供便利,在這背后定位系統是如何為京東到家提供基礎的定位能力呢?本文從技術角度介紹了京東到家定位系統的演進過程以及遇到的問題。

[[255461]]

二、定位系統是做什么的?

1. 業務簡介

打開京東到家app,進入首頁然后下拉,我們可以看到附近的店鋪模塊,如下圖所示:

定位系統

這個“附近”模塊是典型的定位系統的應用,圖中藍色方框區域內容為當前坐標的POI名稱,紅色方框區域內容為當前坐標附近的門店信息,紅色橢圓區域內容為當前坐標與門店之間的距離。

簡單介紹下實現流程:

  • 第一步,打開app,手機可以通過內置的GPS模塊獲取當前位置的經緯度;
  • 第二步,首頁網關拿到當前位置的經緯度去請求地址系統,由地址系統訪問相應的GIS服務得到POI信息并返回;
  • 第三步,首頁網關根據POI信息去請求定位系統,定位系統返回附近的門店列表以及距離信息;
  • 第四步,首頁網關補全門店的其他信息,比如評分、銷量、運費等等信息,然后返回給app端展示。

大體流程如下圖所示:

除了這個典型的應用外,到家的很多系統都依賴定位系統,比如多門店的搜索、運費的計算、提單時的超區校驗、訂單時效的計算……統計下來有50+的系統,這些系統幾乎涵蓋了用戶的整個購物過程,仔細想想也是情理之中,到家的許多業務都是基于位置展開的,這也正是o2o電商和傳統電商的一個重要區別。

2. 核心職責

從眾多的業務場景歸納下來,定位系統有兩個核心職責,如下圖所示:

  • 距離計算:計算兩個坐標點的距離,多數為門店坐標與用戶坐標之間的距離
  • 定位門店:得到用戶坐標附近的門店信息,門店的配送范圍多種多樣,用戶看到的為配送范圍覆蓋用戶坐標的門店

3. 架構演進過程

依據職責不同定位系統劃分為距離服務和定位服務,下面分開介紹這兩個服務的演進過程。

(1) 距離服務

a. 直線距離

這是所說的直線距離,實際為球面距離,我們認為地球是一個規則的球體,球面上的兩個點,可以通過一系列的幾何公式推導得出一個距離公式,將兩個點的經緯度代入公式即可算出球面距離,這里就不展開了可自行搜索相關資料。那么我們為什么要升級,直線距離存在怎樣的問題呢?如下圖所示,

圖中,起點到終點之間直線距離為390米,由于兩點之間隔著河和橋,實際的步行距離達到了1766米,實際的步行距離為直線距離的四倍之多,類似這種情況下展示給用戶直線距離,存在一定的不合理,影響用戶的體驗;另一方面,由于達達側計算運費使用的是步行距離,到家側使用直線距離,兩邊測算的距離不一致,無形中也給到家平臺帶來一定的損失,基于以上的原因,距離服務升級為使用步行距離。

b. 步行距離

計算兩點之間的步行距離,由于涉及到道路的規劃、距離的測算等等元素,自己實現不現實,我們采用的是使用GIS服務計算步行距離,但距離服務作為到家的一個基礎的服務,同步請求GIS服務顯然不能滿足我們對性能的要求,因此也催生了我們現在的方案,如下圖所示:

大體上分為兩個階段:

  • 階段一,初始化階段,初始化服務拉取近半年的訂單信息,使用訂單中的門店地址經緯度和用戶收貨地址經緯度結合GIS服務,計算出步行距離并初始化到距離信息庫。
  • 階段二,自更新階段,對于已下過訂單的老用戶請求步行距離時,可命中返回距離信息庫的步行距離;而對于新用戶,在距離信息庫中不能命中,此時我們采用的是估算步行距離,使用直線距離乘以經驗參數作為估算步行距離返回給用戶,新用戶繼續下單,距離服務實時的監聽訂單系統的訂單消息,進一步的豐富距離信息庫,此用戶再次請求距離時,距離服務即可命中庫中的步行距離;隨著用戶的不斷下單,距離服務實時訂閱訂單消息,實現了自動更新、自我豐富。

(2) 定位服務

定位服務的演進基本分為三個階段,如下圖所示:

a. 樸素匹配

到家發展初期,只有少數幾個門店,一一列舉出這些門店,判斷配送范圍是否覆蓋用戶坐標,從而匹配出覆蓋門店,但隨著門店的增加,此方案不再適用進入到下一階段。

b. 最小覆蓋矩形

計算門店的配送范圍的最小覆蓋矩形,將所有門店的最小覆蓋矩形坐標持久化到數據庫中,通過sql語句方式篩選出覆蓋用戶坐標的門店,此方案支撐了到家一段時間的業務發展,隨著用戶量的增加,到家訪問量也不斷增長,通過數據庫查詢的方式逐漸不能滿足我們對性能的要求,進而開始繼續演化。

c. 基于墨卡托投影倒排

墨卡托投影

墨卡托投影 

墨卡托投影是正軸等角圓柱投影,假設一個與地軸方向一致的圓柱切或割于地球,按等角條件,將經緯網投影到圓柱面上,將圓柱面展為平面后,即得本投影。經過墨卡托投影后的經線是均勻分布的,緯線是垂直于經線的一組平行直線,也就是說經過投影以后我們把球面轉化成了平面。

墨卡托坐標

墨卡托坐標

由上述公式經度λ、緯度θ對應的墨卡托坐標就是(x\*R, y\*R),其中R為地球半徑。通過墨卡托投影,將坐標系轉換為平面坐標系,由此,可以依照某種規則將我國所覆蓋的區域分成若干大小相同的正方形區域進行標記編號,這些方格就是我們構建倒排索引的基礎。

倒排索引

倒排索引 

假設現在有三個門店s1、s2、s3,三個門店有不同形狀的配送范圍,每個方格都有自己的編號,如上圖所示。

正排索引:

構建出每個門店覆蓋的方格列表,即正排索引

  • - s1: B2,C2,D2,B3,C3,D3,B4,C4,D4
  • - s2: C1,D1,C2,D2
  • - s3: C0,D0,E0,C1,D1,E1,D2

倒排索引:

依賴正排索引,構建出方格對應的覆蓋門店的列表,即倒排索引

  • - C0: s3
  • - C1: s2, s3
  • - D2: s1, s2, s3
  • - ……

構建倒排:

門店配送范圍的倒排索引構建過程如下:

定位過程:

依賴于倒排索引,定位門店的流程如下:

(3) 定位服務架構

采用倒排索引方案實現定位服務,極大的提升了定位服務的性能,系統不再是業務發展的瓶頸,架構圖如下所示:

  • 服務節點:對外提供定位服務,本地內存存儲全量倒排、門店基本信息,門店覆蓋范圍變更,節點需要重新構建對應的倒排信息,并且同步門店的基本信息。
  • 后臺web:處理門店變更消息,構建對應正排索引,產生門店變更任務供服務節點使用。

三、問題以及優化

架構趨于穩定,但隨著業務的發展,還是出現了一些新的問題,針對這些問題,我們也做了進一步的優化。

1. 新的問題

  • 定位精準度不足,如下圖所示,雖然門店的配送范圍覆蓋了方格,但是紅色標記區域實際不在門店的配送范圍內,實際的運營過程中出現了不少類似的問題,給商家和用戶造成了困擾。
  • 瞬時流量影響服務穩定性,平臺存在一些配送范圍特別大的門店,比如鮮花門店的配送范圍是覆蓋整個城市,由于倒排索引的構建在每個服務節點都會進行,一旦這種門店上下線,服務節點性能會產生較大的波動,造成調用方超時。
  • JVM內存暴漲,由于倒排索引存儲于服務節點的JVM內存,門店不斷增加,jvm使用內存越來越大,達到了22G+,大內存下GC時間也隨著服務器的運行不斷增加,yongGC時間過長,影響了服務的響應時間,一旦發生oldGC服務將處于不可用的狀態,這個問題相當嚴重。

 

2. 優化策略

  • 定位精準化,在定位過程中加入實時計算是否覆蓋模塊,過濾掉不覆蓋用戶坐標的門店。
  • 索引后置、流量削峰
  • 優化架構

服務架構也做了一些調整,新的架構如圖所示:

3. 優化效果

經過這次優化以后,問題得到了很好的解決,數據對比如下圖所示,值得一提的是,服務的平均性能由原來的2ms增加到了4ms,雖然響應時間有所增加,但增加的幅度完全在業務的可接受范圍內,帶來的好處卻是相當明顯的。

  • 不再需要大內存機器支撐服務,節約了資源
  • 不再需要定期手動GC,減少了人工運維的成本
  • 服務性能更加平穩,響應時間不再會出現較大波動

四、總結

定位系統作為京東到家的基礎服務,為到家提供了核心的定位以及距離服務,隨著到家平臺的不斷發展,定位系統也隨著不斷的演進優化,每一次演進優化都朝著提供穩定高可用服務的目標走出堅實的一步,為到家業務的飛速發展提供強有力的保障。

作者簡介:趙帥,軟件工程師,就職于京東到家后臺研發部,負責交易,售后、定位,api網關等系統。

【本文來自51CTO專欄作者張開濤的微信公眾號(開濤的博客),公眾號id: kaitao-1234567】 

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

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2019-08-30 12:30:25

京東到家訂單查詢數據存儲

2018-12-20 06:04:02

京東到家訂單中心Elasticsear

2017-12-12 08:40:00

2019-01-17 09:50:55

京東ES架構

2018-11-06 14:05:27

京東訂單派發架構

2018-04-20 09:36:23

NettyWebSocket京東

2022-02-12 20:51:23

京東程序員代碼

2019-01-02 14:55:54

MySQLES數據庫

2024-11-14 08:08:14

2023-12-30 08:27:13

2019-03-26 09:37:11

ES系統架構

2018-11-29 09:36:45

架構系統拆分結構演變

2024-04-24 07:00:00

Redis架構數據持久化

2021-06-07 10:13:01

單體架構系統

2015-12-09 15:16:03

架構師京東架構

2024-03-06 11:22:33

架構演進技巧

2022-02-14 08:13:33

刪庫MySQL備份

2020-02-10 19:05:46

DNS域名

2023-12-29 16:01:19

2025-09-04 01:25:00

樓層定位技術
點贊
收藏

51CTO技術棧公眾號

日韩欧美黄色| 精品黄色免费中文电影在线播放| 黄色在线一区| 亚洲摸下面视频| mm131亚洲精品| 中文字幕资源网在线观看| 成人免费视频一区| 国产成人拍精品视频午夜网站| 女性裸体视频网站| 精品视频在线你懂得| 欧美亚洲国产一区在线观看网站 | 亚洲欧美激情网| 中日韩高清电影网| 久久一区二区三区四区| 96国产粉嫩美女| 男人午夜免费视频| **女人18毛片一区二区| 精品调教chinesegay| 蜜桃福利午夜精品一区| 亚洲v.com| 一区二区三区自拍| 亚洲免费精品视频| 天天操天天干天天舔| 国内精品免费**视频| 日本sm极度另类视频| 日韩欧美自拍偷拍| 色爽爽爽爽爽爽爽爽| 欧美扣逼视频| 成人精品小蝌蚪| 国产主播欧美精品| 无码人妻精品一区二区三区9厂| 午夜精品国产| 日韩一区视频在线| 国产jjizz一区二区三区视频| 91精品啪在线观看国产爱臀| 欧美美女网站色| 亚洲免费av一区二区三区| a国产在线视频| 一区二区三区免费网站| 中文字幕一区二区三区最新 | 亚洲欧美国产另类| 久久免费精品国产| 一区二区在线视频观看| 欧美一区三区二区| aaa一级黄色片| 成人一区视频| 欧美在线一二三四区| 97成人在线观看视频| 老色鬼在线视频| 亚洲午夜久久久久| 91九色丨porny丨国产jk| 欧美xxxbbb| 一区二区三区四区乱视频| 9色视频在线观看| 成人video亚洲精品| 亚洲欧美在线视频观看| 一本久道久久综合狠狠爱亚洲精品| 亚洲av激情无码专区在线播放| 不卡av在线网| 久久精品日产第一区二区三区精品版 | 狠狠综合久久av一区二区老牛| 最好看的2019年中文视频| 国产手机在线观看| 综合国产视频| 国产亚洲欧美aaaa| 精品人伦一区二区三电影| 自拍自偷一区二区三区| 一本大道亚洲视频| 正在播放国产对白害羞| 999成人网| 久久天堂av综合合色| 三级影片在线看| 韩国久久久久| 1769国产精品| 亚洲 小说区 图片区| 久久精品理论片| 亚洲中国色老太| 日本高清视频免费观看| 91免费观看在线| 午夜精品美女久久久久av福利| 香蕉视频在线看| 黑人巨大精品| 国产自产v一区二区三区c| 91性高湖久久久久久久久_久久99| 国产内射老熟女aaaa∵| 国产白丝网站精品污在线入口| 国产精品久久国产精品| 久久久久久久久亚洲精品| 国产女主播在线一区二区| 亚洲第一精品区| 丁香花在线高清完整版视频 | 波多野结衣与黑人| 国产在线美女| 欧美性一二三区| 女人扒开双腿让男人捅| 色天天色综合| 久久精品国产91精品亚洲| 久久婷婷一区二区| 日韩制服丝袜先锋影音| 亚洲在线观看视频网站| 蜜桃视频在线免费| 综合久久久久综合| 国产网站免费在线观看| 国产精品2区| 日韩国产精品亚洲а∨天堂免| 一级黄色毛毛片| 亚洲区第一页| 国产日产亚洲精品| 亚洲 欧美 自拍偷拍| 免费一级毛片在线观看| 97国产一区二区| 一级二级三级欧美| 色是在线视频| 制服丝袜av成人在线看| 中文字幕丰满乱子伦无码专区| 99久久夜色精品国产亚洲1000部| 欧美极品美女电影一区| 一二三四区在线| 99久久久久免费精品国产| 中文字幕av日韩精品| 小早川怜子影音先锋在线观看| 69堂精品视频| 日本成人免费视频| 一区二区福利| 91久久大香伊蕉在人线| 91亚洲精选| 欧美日韩亚洲天堂| aaa黄色大片| 国产精品麻豆久久| 国产精品久久久久久久久久久不卡| 亚洲大尺度网站| 国产精品久久久一区麻豆最新章节| 热99这里只有精品| 亚洲一二av| 久久国产精品影片| 中文字幕日本人妻久久久免费 | 亚洲www永久成人夜色| h网站视频在线观看| 日韩欧美中文字幕在线观看| 在线观看亚洲免费视频| 国产精品99一区二区| 成人看片人aa| 三区四区在线视频| 欧美日韩在线免费视频| 欧美极品jizzhd欧美18| 日韩电影免费在线看| 蜜桃av噜噜一区二区三| 小h片在线观看| 亚洲精品成人网| 欧美成人激情视频| 久久亚洲精品石原莉奈| av中文字幕一区| 国产精品www在线观看| 91国内精品| 久久99久久99精品中文字幕| 99久久亚洲精品日本无码 | 国产老头老太做爰视频| 毛片基地黄久久久久久天堂| 日本一区二区久久精品| 91精品国产66| 久久精品欧美视频| 国产三级小视频| 亚洲欧美福利一区二区| 久久人人爽人人片| 国模大胆一区二区三区| 国产精品免费一区二区三区在线观看| 自拍亚洲图区| 亚洲国产精品成人精品| 久草视频在线观| 久久久久久久综合日本| 日本久久久久久久久久久久| 久久一区91| 亚洲在线www| а√在线天堂官网| 亚洲欧美国产一区二区三区| 狠狠躁夜夜躁人人爽视频| 国产精品情趣视频| 在线观看网站黄| 亚洲国产一区二区精品专区| 久久精品国产99精品国产亚洲性色| 国产欧美一区二区三区精品酒店| 亚洲一区二区福利| 国产伦精品一区二区三区四区| 亚洲综合一二区| 精品人妻无码一区二区三区换脸| 麻豆一区二区在线| 成年女人18级毛片毛片免费| 视频一区欧美| 亚洲sss综合天堂久久| 色偷偷偷在线视频播放| 日韩中文字幕视频在线| 俄罗斯嫩小性bbwbbw| 在线免费视频一区二区| 中文字幕亚洲欧美日韩| 久久午夜国产精品| 樱花草www在线| 91久久中文| 一区高清视频| 日韩电影不卡一区| 91在线观看免费网站| 欧美裸体视频| 国产一区二区三区在线观看视频 | 韩国日本一区| 永久免费看mv网站入口亚洲| 成人毛片在线精品国产| 欧美色区777第一页| 亚洲午夜18毛片在线看| 亚洲精品乱码久久久久久日本蜜臀| 无码一区二区三区在线| 成人黄色av网站在线| 成人不卡免费视频| 久久亚洲国产精品一区二区| 国产精品va在线观看无码| 国产亚洲第一伦理第一区| 91影院在线免费观看视频| 成人影院入口| 高清欧美性猛交xxxx黑人猛交| 成年人在线看| 亚洲娇小xxxx欧美娇小| 性做久久久久久久久久| 欧美亚洲国产一区二区三区| 日本三级一区二区| 亚洲国产另类av| 日韩精品久久久久久久的张开腿让 | 亚洲视频在线观看三级| 国产ts丝袜人妖系列视频 | 成人av动漫| 国产欧美亚洲视频| sis001欧美| 91国内产香蕉| 呦呦在线视频| 中文字幕亚洲一区| 国产福利免费在线观看| 亚洲电影免费观看高清完整版在线观看| 五月婷婷激情五月| 亚欧色一区w666天堂| 久久精品一级片| 国产精品久久久久久久蜜臀| 少妇献身老头系列| 国产一区二区三区四| 中文字幕无码不卡免费视频| 亚洲毛片一区| 男人用嘴添女人下身免费视频| 综合久久精品| 一区二区在线不卡| 欧美黑人巨大videos精品| 国精产品一区二区| 亚洲精品一区在线| 亚洲自拍高清视频网站| 日韩欧美激情电影| 成人国产精品久久久| 国产经典一区| 97av在线视频| 美女福利一区二区三区| 97香蕉久久超级碰碰高清版| 手机av免费在线| 欧美激情精品久久久久久蜜臀| 免费高清完整在线观看| 久久精品国产一区| av黄色在线观看| 日韩有码在线播放| 五月香视频在线观看| 中文字幕亚洲一区二区三区五十路| 高清在线观看av| 亚洲色图欧美制服丝袜另类第一页| 成人久久精品人妻一区二区三区| 精品国产亚洲一区二区三区在线观看| 999国产精品视频免费| 欧美精品粉嫩高潮一区二区| 在线免费观看高清视频| 日本韩国一区二区| 最新中文字幕第一页| 欧美日韩不卡在线| 加勒比在线一区| 欧美精品久久一区二区三区| 国产三级三级在线观看| 日韩一级视频免费观看在线| 日本韩国在线观看| 精品视频一区在线视频| 欧美男男同志| 精品国产一区二区三区在线观看 | 韩国精品一区二区| www.欧美com| 成人午夜免费视频| av在线网站观看| 国产女人aaa级久久久级| 我要看黄色一级片| 亚洲图片欧美视频| 人人爽人人爽人人片av| 777色狠狠一区二区三区| www.色视频| 日韩精品中文字| 成人福利片网站| 4p变态网欧美系列| 日韩免费大片| 国内一区二区在线视频观看| 美女网站一区| 最新av在线免费观看| 在线观看视频免费一区二区三区| 日日噜噜噜噜久久久精品毛片| 国产伦精品一区二区三区免费| 免费观看一区二区三区| 中文字幕免费观看一区| 麻豆疯狂做受xxxx高潮视频| 欧美性xxxxxxx| www香蕉视频| 亚洲另类欧美自拍| 黄色成人影院| 国产成人一区二区三区小说| 久久av网站| 欧美一区二区视频17c | 日韩一级特黄毛片| 日韩成人午夜精品| 少妇丰满尤物大尺度写真| 国产农村妇女毛片精品久久麻豆 | 亚洲一区二区中文字幕在线观看| 成人教育av在线| 国产免费嫩草影院| 欧美性生交xxxxxdddd| 精品国产免费无码久久久| 亚洲三级 欧美三级| 嗯~啊~轻一点视频日本在线观看| 国产精品亚洲美女av网站| 久久这里只有精品一区二区| 麻豆一区二区三区在线观看| 久久天天综合| 日本一级大毛片a一| 一区二区三区四区五区视频在线观看 | 国产免费成人在线| 毛片av一区二区三区| a毛片毛片av永久免费| 亚洲在线免费播放| 国产又色又爽又黄又免费| 亚洲网在线观看| 日韩脚交footjobhd| 国产精品免费区二区三区观看| 亚洲人成免费网站| 国产真人无码作爱视频免费| 91视频国产观看| 日韩精品久久久久久久| 日韩欧美国产一区二区三区| 日本三级视频在线观看| 国产欧美中文字幕| 成人精品影视| 欧美日韩大尺度| 国产三级久久久| 国产又黄又爽又色| 亚洲第一天堂无码专区| av资源网在线播放| 成人免费观看网站| 欧美日韩国产欧| 精品无码av一区二区三区不卡| 国产精品不卡一区二区三区| 久久久久久亚洲av无码专区| 亚洲色图50p| 二吊插入一穴一区二区| 欧美一级片免费观看| 另类综合日韩欧美亚洲| 91传媒免费观看| 91国模大尺度私拍在线视频| 国产黄色片在线播放| 国产成人精品网站| 国产三级精品三级在线观看国产| 久久久性生活视频| 91亚洲国产成人精品一区二区三 | 午夜视频在线网站| 国产精品理论在线观看| 国产伦精品一区二区三区免.费 | 91精品视频网站| 香蕉视频国产精品| 992tv人人草| 午夜不卡在线视频| 经典三级在线| 国产一区二区香蕉| 欧美日韩网站| 性久久久久久久久久久| 欧美特级www| 久草中文在线观看| 91视频婷婷| 欧美精品激情| 精品人妻少妇嫩草av无码| 色婷婷久久一区二区三区麻豆| 98在线视频| 亚洲a级在线观看| 偷拍精品精品一区二区三区| 日韩欧美电影一二三| 国精一区二区三区| 欧美人xxxxx| 韩国女主播成人在线观看| 久久久久成人片免费观看蜜芽 | av小说天堂网| 国语自产精品视频在线看一大j8 | 久久久久久久爱| 国产精品一线| 57pao国产成永久免费视频| 亚洲精品老司机| 无码国产伦一区二区三区视频 | 国产 高清 精品 在线 a| 久久高清国产| 黄色a级片在线观看|