亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

自托管輕量地圖模塊設(shè)計(jì):為對(duì)話(huà)機(jī)器人打造地理編碼與POI檢索能力

自托管輕量地圖模塊設(shè)計(jì):為對(duì)話(huà)機(jī)器人打造地理編碼與POI檢索能力 lingbot-map這個(gè)項(xiàng)目說(shuō)起來(lái)起因特別樸素我們內(nèi)部那套叫l(wèi)ingbot的對(duì)話(huà)機(jī)器人框架被業(yè)務(wù)方追著要一個(gè)能認(rèn)路、能找店、能算距離的地圖能力。一開(kāi)始我滿(mǎn)腦子想的都是接第三方地圖SDK結(jié)果一調(diào)研就僵住了——商業(yè)地圖服務(wù)的配額費(fèi)、流量費(fèi)在演示環(huán)境很友好一上生產(chǎn)就是另一套價(jià)碼而且底圖樣式、POI數(shù)據(jù)、路線(xiàn)引擎全都綁在別人生態(tài)里想換底圖或者混入企業(yè)私有點(diǎn)位幾乎沒(méi)有操作空間。于是我們決定自己寫(xiě)一個(gè)輕量的、自托管的、可以嵌進(jìn)lingbot框架的地圖模塊也就是lingbot-map。lingbot-map做的事不復(fù)雜瓦片渲染、地理編碼、逆地理編碼、POI檢索、距離和路線(xiàn)估算外加一套適合對(duì)話(huà)場(chǎng)景的查詢(xún)接口。它不打算跟商業(yè)地圖App比豐富度目標(biāo)只有一個(gè)——讓機(jī)器人在對(duì)話(huà)里說(shuō)到位置的時(shí)候不至于一問(wèn)三不知。這篇文章把整個(gè)模塊從需求拆解、核心原理、工程決策到實(shí)測(cè)優(yōu)化的完整過(guò)程都捋一遍適合正在做機(jī)器人或助手類(lèi)產(chǎn)品、想給自家應(yīng)用加一個(gè)自托管輕量地圖能力的同學(xué)參考。1. 為什么會(huì)有l(wèi)ingbot-map商業(yè)地圖API之外的現(xiàn)實(shí)選擇1.1 最初的需求機(jī)器人先得知道自己在哪很多對(duì)話(huà)場(chǎng)景一旦涉及位置問(wèn)題就立刻復(fù)雜起來(lái)。用戶(hù)報(bào)修時(shí)說(shuō)2號(hào)樓東側(cè)門(mén)禁壞了會(huì)議紀(jì)要里寫(xiě)在園區(qū)B棟集合外賣(mài)場(chǎng)景說(shuō)送到樓下前臺(tái)這些句子里的2號(hào)樓B棟樓下都是位置可機(jī)器人拿到的是一段文本如果不知道園區(qū)的經(jīng)緯度范圍根本沒(méi)法把這些話(huà)變成可計(jì)算的坐標(biāo)。我們最初梳理出的需求很明確機(jī)器人需要把自然語(yǔ)言里的方位表達(dá)解析成結(jié)構(gòu)化坐標(biāo)再基于坐標(biāo)完成兩個(gè)動(dòng)作——查找附近的POI興趣點(diǎn)以及告訴用戶(hù)大概要跑多遠(yuǎn)。除此之外的需求比如實(shí)時(shí)交通、導(dǎo)航語(yǔ)音播報(bào)當(dāng)時(shí)沒(méi)有一個(gè)人提。這也是lingbot-map最后能被控制在一個(gè)合理規(guī)模里的前提所有功能都由真實(shí)對(duì)話(huà)需求驅(qū)動(dòng)而不是為了做一個(gè)地圖而做。1.2 商業(yè)地圖服務(wù)的三道隱形門(mén)檻不接商業(yè)SDK不是因?yàn)樗缓枚且驗(yàn)槿篱T(mén)檻在對(duì)話(huà)機(jī)器人這個(gè)場(chǎng)景里太難受了。第一是費(fèi)用結(jié)構(gòu)。演示環(huán)境和個(gè)人測(cè)試通常有免費(fèi)額度但生產(chǎn)環(huán)境的調(diào)用成本跟業(yè)務(wù)量強(qiáng)相關(guān)對(duì)話(huà)機(jī)器人是高頻交互用戶(hù)每問(wèn)一次附近有什么就是一次地理編碼加一次POI檢索。日活上去之后費(fèi)用是線(xiàn)性增長(zhǎng)的而且這部分成本很難轉(zhuǎn)嫁給用戶(hù)。第二是數(shù)據(jù)鎖定。商業(yè)平臺(tái)的底圖、POI、路線(xiàn)規(guī)則是一套封閉體系企業(yè)內(nèi)部的位置數(shù)據(jù)——比如自有園區(qū)、合作門(mén)店、敏感點(diǎn)位——要么沒(méi)有入口錄入要么受平臺(tái)審核規(guī)則限制。我們要的是一個(gè)公用數(shù)據(jù)私有數(shù)據(jù)混排的地圖商業(yè)平臺(tái)給不了。第三是數(shù)據(jù)出域風(fēng)險(xiǎn)。企業(yè)內(nèi)部位置信息屬于業(yè)務(wù)數(shù)據(jù)讓這類(lèi)數(shù)據(jù)在每次查詢(xún)時(shí)都經(jīng)過(guò)外部服務(wù)對(duì)很多團(tuán)隊(duì)來(lái)說(shuō)是不可接受的數(shù)據(jù)安全紅線(xiàn)。自托管方案把數(shù)據(jù)留在自己手里日志、緩存、訪問(wèn)鏈路都能完全管控。1.3 主動(dòng)砍掉的功能地圖模塊的邊界自研最大的陷阱是功能蔓延。我們開(kāi)工時(shí)立了幾條規(guī)矩不做實(shí)時(shí)路況不做衛(wèi)星影像不做室內(nèi)地圖不做導(dǎo)航語(yǔ)音。所有這些在對(duì)話(huà)場(chǎng)景里要么數(shù)據(jù)源貴得離譜要么用戶(hù)根本用不上。最終的功能范圍很明確能力是否實(shí)現(xiàn)說(shuō)明柵格瓦片底圖渲染是縮放級(jí)別覆蓋10到17滿(mǎn)足城市級(jí)到街區(qū)級(jí)地理編碼是文本地址轉(zhuǎn)坐標(biāo)返回候選列表逆地理編碼是坐標(biāo)反查行政區(qū)與最近POI關(guān)鍵詞POI檢索是按關(guān)鍵詞和半徑篩選支持排序距離估算是球面距離為主可選道路距離路線(xiàn)規(guī)劃部分輕量路網(wǎng)的預(yù)估方案不承諾實(shí)時(shí)路況實(shí)時(shí)路況否數(shù)據(jù)獲取和維護(hù)成本太高衛(wèi)星影像否瓦片體量大交互場(chǎng)景收益低砍功能的同時(shí)我們反反復(fù)復(fù)跟使用者確認(rèn)了一點(diǎn)所有查詢(xún)接口必須能在100毫秒內(nèi)返回因?yàn)閷?duì)話(huà)系統(tǒng)對(duì)延遲的敏感度遠(yuǎn)超Web頁(yè)面。這句話(huà)后來(lái)成了整個(gè)模塊設(shè)計(jì)的最高優(yōu)先級(jí)。2. 瓦片渲染與坐標(biāo)先把地圖畫(huà)出來(lái)2.1 瓦片金字塔一張大地圖怎么切成小方塊地圖繪制的核心不是畫(huà)而是切。一張完整的世界地圖在屏幕上一次性渲染是不可能的業(yè)界通行做法是瓦片金字塔把某一縮放級(jí)別下的地圖切成固定大小的正方形小圖瀏覽器或客戶(hù)端只加載當(dāng)前視野內(nèi)需要的那些塊。瓦片編號(hào)有一套全球統(tǒng)一的計(jì)算方式俗稱(chēng)slippy map規(guī)則在第z級(jí)縮放級(jí)別整個(gè)地球被分成2^z × 2^z個(gè)瓦片x從西到東遞增y從北到南遞增。給定經(jīng)緯度換算成瓦片坐標(biāo)的公式很固定function lonLatToTile(lon, lat, zoom) { const x Math.floor((lon 180) / 360 * Math.pow(2, zoom)); const latRad lat * Math.PI / 180; const y Math.floor( (1 - Math.log(Math.tan(latRad) 1 / Math.cos(latRad)) / Math.PI) / 2 * Math.pow(2, zoom) ); return { x, y, z: zoom }; }這個(gè)公式我建議直接背下來(lái)或者存到工具庫(kù)最顯眼的位置。整個(gè)模塊里幾乎所有功能——定位、搜索、路線(xiàn)——最終都要落到給定坐標(biāo)知道它在哪個(gè)瓦片上這一步。忘了括號(hào)或者把y方向取反地圖就會(huì)出現(xiàn)南北顛倒或者錯(cuò)位一整行這種看著特別詭異的毛病。2.2 Web Mercator投影為什么地圖上高緯度地區(qū)會(huì)變形瓦片系統(tǒng)建立在Web Mercator投影EPSG:3857上。它把地球近似成一個(gè)球體然后展開(kāi)成正方形平面。好處是計(jì)算簡(jiǎn)單、方向恒定壞處是越靠近極地變形越嚴(yán)重所以Web Mercator的實(shí)際覆蓋范圍被限制在南北緯85.05113度以?xún)?nèi)超出這個(gè)范圍沒(méi)有瓦片。這套投影對(duì)工程實(shí)現(xiàn)的影響在邊界上體現(xiàn)得最明顯。瓦片y坐標(biāo)在緯度為85.05113度時(shí)正好是0緯度往后再高就是負(fù)值。我們?cè)缙诘拇a沒(méi)做截?cái)嘣诟呔暥葴y(cè)試點(diǎn)出現(xiàn)了一批坐標(biāo)異常排查了半天才發(fā)現(xiàn)是投影邊界問(wèn)題。所以無(wú)論你用哪個(gè)地圖庫(kù)第一課都是經(jīng)緯度進(jìn)瓦片計(jì)算之前先在緯度上做一次clamp(-85.05113, 85.05113)。瓦片尺寸方面主流有兩種規(guī)格256×256和512×512。256的兼容性好512在Retina屏幕上更清晰。我建議先在256規(guī)格上把整個(gè)鏈路跑通確認(rèn)渲染無(wú)誤之后再考慮是否切512因?yàn)橥咂w量會(huì)隨著邊長(zhǎng)平方增長(zhǎng)。2.3 坐標(biāo)偏移混用底圖與坐標(biāo)源時(shí)最隱蔽的坑國(guó)內(nèi)做地圖繞不開(kāi)一個(gè)概念坐標(biāo)偏移。GPS拿到的原始坐標(biāo)是WGS-84橢球體系而國(guó)內(nèi)合規(guī)發(fā)布的地圖產(chǎn)品通常使用經(jīng)過(guò)偏移加密的坐標(biāo)體系。這兩種坐標(biāo)系之間的偏移不是一個(gè)固定常數(shù)而是隨位置變化的非線(xiàn)性變換。換句話(huà)說(shuō)你不能靠統(tǒng)一減掉0.001度來(lái)校正那樣在部分地區(qū)誤差會(huì)到幾百米。lingbot-map的定位是自托管輕量模塊我們用的策略是整個(gè)系統(tǒng)內(nèi)部統(tǒng)一使用WGS-84作為基準(zhǔn)坐標(biāo)所有外部來(lái)源的坐標(biāo)在入口處經(jīng)過(guò)一個(gè)可插拔的CoordinateTransformer轉(zhuǎn)換器底圖瓦片源則按照它實(shí)際采用的坐標(biāo)體系選擇對(duì)應(yīng)的請(qǐng)求參數(shù)。核心經(jīng)驗(yàn)是坐標(biāo)轉(zhuǎn)換必須在數(shù)據(jù)進(jìn)入系統(tǒng)的第一道關(guān)口完成絕不能散落在各個(gè)業(yè)務(wù)接口里各轉(zhuǎn)各的否則維護(hù)成本會(huì)失控。另外一個(gè)很容易忽略的點(diǎn)公共網(wǎng)絡(luò)上流傳的糾偏算法公式大多是通過(guò)采樣點(diǎn)擬合出來(lái)的近似解在某些地區(qū)精度可以在個(gè)別區(qū)域會(huì)出現(xiàn)突變。線(xiàn)上環(huán)境如果對(duì)精度有硬要求建議在關(guān)鍵區(qū)域布設(shè)本地控制點(diǎn)做二次修正這個(gè)話(huà)題后面的踩坑章節(jié)還會(huì)詳細(xì)講。3. 地名解析自建地理編碼服務(wù)的輕量實(shí)現(xiàn)3.1 詞庫(kù)與索引十萬(wàn)條POI要怎么塞進(jìn)內(nèi)存地理編碼就是把文本地址翻譯成坐標(biāo)。商業(yè)服務(wù)做這件事靠海量地址庫(kù)和復(fù)雜的解析模型我們自托管顯然不能那么奢侈路徑是公開(kāi)地名數(shù)據(jù) 企業(yè)私有POI合并成一個(gè)精簡(jiǎn)詞庫(kù)再用內(nèi)存索引加速檢索。詞庫(kù)的索引結(jié)構(gòu)我最終選擇了前綴樹(shù) 拼音前綴 編輯距離三層組合。首先是基于漢字的前綴樹(shù)保證科技園區(qū)能快速命中所有以這四個(gè)字開(kāi)頭的記錄其次是把地名轉(zhuǎn)成拼音后建立拼音前綴索引解決用戶(hù)輸入拼音的場(chǎng)景最后是編輯距離兜底用來(lái)處理用戶(hù)輸入少個(gè)字、多個(gè)字或順序顛倒的情況。這個(gè)方案每增加一條POI記錄內(nèi)存開(kāi)銷(xiāo)大概在幾百字節(jié)量級(jí)十萬(wàn)條POI僅索引部分占用約50MB左右在現(xiàn)在的服務(wù)器配置下完全不是問(wèn)題。真正要控制的是數(shù)據(jù)質(zhì)量詞庫(kù)里同名地點(diǎn)太多會(huì)讓候選列表變得不可用所以每條記錄都帶行政區(qū)劃和類(lèi)型標(biāo)簽檢索時(shí)先按行政區(qū)過(guò)濾再按文本相似度排序。3.2 解析流程從附近咖啡館到坐標(biāo)候選一次完整的地理編碼查詢(xún)走四步。第一步是標(biāo)準(zhǔn)化把大約附近大概那個(gè)這類(lèi)修飾詞剝掉再把東門(mén)西門(mén)這樣的相對(duì)方位詞解析成更明確的方位描述。第二步是候選召回用前面建的索引去找所有可能的匹配項(xiàng)這一步要求快寧多勿漏。第三步是評(píng)分排序綜合文本相似度、行政層級(jí)匹配度和距離權(quán)重給每個(gè)候選算出置信度。第四步是輸出返回Top N個(gè)候選而不是強(qiáng)行只給一個(gè)。這么做非常重要。對(duì)話(huà)場(chǎng)景的地址往往殘缺不全去上次那家店公司樓下老地方見(jiàn)——這些表達(dá)缺乏結(jié)構(gòu)化信息硬解析成單一坐標(biāo)必然出錯(cuò)。返回候選列表讓上層機(jī)器人把選擇權(quán)交給用戶(hù)或者結(jié)合會(huì)話(huà)上下文判斷才是符合對(duì)話(huà)語(yǔ)義的做法。{ status: 0, query: 園區(qū)B棟咖啡店, candidates: [ {name: 園區(qū)B棟咖啡店, lat: 30.2501, lng: 120.2012, score: 0.95, type: poi}, {name: B棟咖啡工坊, lat: 30.2510, lng: 120.1998, score: 0.71, type: poi} ] }3.3 逆地理編碼從坐標(biāo)反查這是哪兒逆地理編碼比正向解析簡(jiǎn)單但坑也不少。我們給出的坐標(biāo)點(diǎn)要先判斷落在哪個(gè)行政區(qū)劃內(nèi)再找距離最近的POI。行政區(qū)劃判斷本質(zhì)是點(diǎn)是否在多邊形內(nèi)的問(wèn)題經(jīng)典算法是射線(xiàn)法從目標(biāo)點(diǎn)引一條水平射線(xiàn)統(tǒng)計(jì)它與多邊形邊的交點(diǎn)數(shù)奇數(shù)在內(nèi)偶數(shù)在外。這個(gè)算法本身很快真正的問(wèn)題是行政邊界數(shù)據(jù)往往是幾萬(wàn)個(gè)頂點(diǎn)的大多邊形逐點(diǎn)判斷性能上不去。我的優(yōu)化方案是把每個(gè)行政區(qū)的外包矩形作為粗篩網(wǎng)格一個(gè)坐標(biāo)點(diǎn)先通過(guò)外包矩形快速過(guò)濾掉絕大多數(shù)不可能的多邊形剩下的再走射線(xiàn)法精判。實(shí)測(cè)下來(lái)這個(gè)兩級(jí)判斷能讓逆地理編碼的單次延遲控制在幾十毫秒量級(jí)。逆地理編碼還有一個(gè)業(yè)務(wù)層面的細(xì)節(jié)也是踩坑章節(jié)的重點(diǎn)行政區(qū)劃邊界存在飛地和重疊歸屬的情況一個(gè)點(diǎn)落在兩個(gè)區(qū)劃的邊界附近時(shí)返回哪個(gè)區(qū)劃必須要有明確的業(yè)務(wù)規(guī)則不能靠算法隨機(jī)。4. 距離與路線(xiàn)對(duì)話(huà)場(chǎng)景夠用即可4.1 三種距離別拿直線(xiàn)距離騙用戶(hù)距離計(jì)算是地圖模塊里用戶(hù)感知最強(qiáng)的部分。同樣是3公里遠(yuǎn)直線(xiàn)距離和實(shí)際駕車(chē)距離差別很大在道路繞行嚴(yán)重的城區(qū)可以差到一倍以上。最基礎(chǔ)的是球面距離用Haversine公式實(shí)現(xiàn)import math def haversine_km(lat1, lon1, lat2, lon2): r 6371.0 p1, p2 math.radians(lat1), math.radians(lat2) dp math.radians(lat2 - lat1) dl math.radians(lon2 - lon1) a math.sin(dp / 2) ** 2 math.cos(p1) * math.cos(p2) * math.sin(dl / 2) ** 2 return 2 * r * math.asin(math.sqrt(a))但對(duì)話(huà)機(jī)器人直接跟用戶(hù)說(shuō)1.8公里直線(xiàn)距離是會(huì)被罵的。我們對(duì)距離估算做了一個(gè)道路系數(shù)修正先按城市類(lèi)型和區(qū)域特征給直線(xiàn)距離乘一個(gè)繞路系數(shù)——城市密集區(qū)取值1.4到1.6郊區(qū)取值1.7到2.0。這個(gè)方案的準(zhǔn)確度在大多數(shù)場(chǎng)景下足夠而且?guī)缀醪辉黾佑?jì)算量。如果你需要更高精度再考慮引入真實(shí)路網(wǎng)。4.2 輕量路網(wǎng)加A星路線(xiàn)規(guī)劃的壓縮版要實(shí)現(xiàn)真正的道路距離就得有路網(wǎng)數(shù)據(jù)。我們做的不是全量精細(xì)路網(wǎng)而是只保留主干道和次干道的輕量拓?fù)淙缓蠡贏星算法計(jì)算最短路徑。A星的啟發(fā)函數(shù)直接用Haversine距離加上一個(gè)當(dāng)前邊權(quán)重的估計(jì)。輕量路網(wǎng)因?yàn)楣?jié)點(diǎn)少搜索空間有限單次路線(xiàn)規(guī)劃在幾十毫秒內(nèi)可以完成。這套方案的局限也很明顯它不區(qū)分車(chē)道、匝道和紅綠燈算出來(lái)的是一條理論上可行的路線(xiàn)不能當(dāng)導(dǎo)航用。但在對(duì)話(huà)場(chǎng)景里用戶(hù)要的答案是打車(chē)大概20分鐘還是騎車(chē)15分鐘輕量路網(wǎng)恰好夠用。路線(xiàn)數(shù)據(jù)和路網(wǎng)拓?fù)涞木S護(hù)是成本大頭。我們的策略是只對(duì)業(yè)務(wù)覆蓋的高頻區(qū)域生成路網(wǎng)全國(guó)范圍內(nèi)的完整路網(wǎng)規(guī)劃優(yōu)先級(jí)往后排。每次新增區(qū)域時(shí)跑一遍離線(xiàn)路網(wǎng)生成任務(wù)產(chǎn)出結(jié)果提交到瓦片包一起發(fā)布。4.3 為對(duì)話(huà)設(shè)計(jì)的查詢(xún)協(xié)議地圖模塊最后提供服務(wù)的方式是一組REST接口但設(shè)計(jì)這批接口時(shí)我們想的不是地圖怎么暴露能力而是機(jī)器人對(duì)話(huà)時(shí)最需要什么。接口被設(shè)計(jì)成三類(lèi)/v1/geocode用于文本轉(zhuǎn)坐標(biāo)/v1/search用于POI檢索/v1/route用于路線(xiàn)和距離。每個(gè)接口都支持在請(qǐng)求體里帶一個(gè)session_id模塊會(huì)把當(dāng)前會(huì)話(huà)最近的錨點(diǎn)位置緩存起來(lái)。這樣多輪對(duì)話(huà)里用戶(hù)先說(shuō)我在C棟樓下機(jī)器人記住這個(gè)位置下一句說(shuō)附近有打印店嗎就不需要用戶(hù)再重復(fù)一遍位置信息。異步和限流也是必須的。地理編碼批量導(dǎo)入任務(wù)會(huì)占用較多CPU如果跟線(xiàn)上查詢(xún)搶資源會(huì)導(dǎo)致對(duì)話(huà)延遲飆高。我們?cè)诜?wù)里給查詢(xún)?cè)O(shè)置了獨(dú)立的線(xiàn)程池重任務(wù)走消息隊(duì)列保證線(xiàn)上查詢(xún)通道始終有冗余資源。這個(gè)設(shè)計(jì)在后來(lái)的壓測(cè)里證明非常值——有一版我們把導(dǎo)入任務(wù)直接放在主進(jìn)程跑結(jié)果查詢(xún)p95延遲從60毫秒被拉到900毫秒回滾之后立刻恢復(fù)。5. 性能實(shí)測(cè)從零散請(qǐng)求到穩(wěn)定低延遲5.1 瓦片訪問(wèn)優(yōu)化首屏從4.8秒壓到780毫秒地圖模塊被接入機(jī)器人之后第一個(gè)性能瓶頸出現(xiàn)在瓦片加載。對(duì)話(huà)端的歷史消息里嵌入了地圖卡片用戶(hù)每次翻開(kāi)詳情都要重新加載瓦片冷啟動(dòng)狀態(tài)下首屏要4.8秒體驗(yàn)完全不能接受。我們對(duì)癥下藥做了三件事。第一是兩級(jí)LRU緩存內(nèi)存緩存最近訪問(wèn)的瓦片磁盤(pán)緩存做持久化內(nèi)存不夠時(shí)逐出到磁盤(pán)。第二是熱門(mén)區(qū)域預(yù)取根據(jù)歷史查詢(xún)熱度提前把常用區(qū)域的低級(jí)別瓦片生成好放進(jìn)緩存用戶(hù)一來(lái)就是熱的。第三是靜態(tài)資源走對(duì)象存儲(chǔ)并掛內(nèi)容分發(fā)網(wǎng)絡(luò)把重復(fù)請(qǐng)求的壓力從應(yīng)用服務(wù)上卸掉。優(yōu)化后的首屏加載從4.8秒降到780毫秒這個(gè)結(jié)果說(shuō)明了一個(gè)道理在自托管地圖模塊里瓶頸通常不是計(jì)算能力而是數(shù)據(jù)組織方式。5.2 地名索引預(yù)熱與查詢(xún)優(yōu)化地理編碼服務(wù)的性能取決于索引是否在內(nèi)存里常駐。我們采用的方式是啟動(dòng)時(shí)一次性加載全部索引到內(nèi)存用內(nèi)存映射方式訪問(wèn)索引文件查詢(xún)時(shí)不落盤(pán)。優(yōu)化前單次地理編碼平均320毫秒排查發(fā)現(xiàn)大部分時(shí)間耗在冷啟動(dòng)后的首次磁盤(pán)讀取上。索引預(yù)熱之后單查降到38毫秒p95也穩(wěn)定在60毫秒以?xún)?nèi)。附近POI檢索5公里半徑從900毫秒降到60毫秒靠的是在檢索前先用geohash網(wǎng)格做粗篩命中候選后再計(jì)算精確距離排序。這里有個(gè)計(jì)算細(xì)節(jié)值得強(qiáng)調(diào)全量POI兩兩算Haversine的距離排序非常昂貴但如果你先按geohash定位到同一網(wǎng)格把候選集縮到十幾條再對(duì)這十幾條算精確距離成本就完全可以忽略。粗篩用索引精算用公式這套組合拳在空間檢索里通用。5.3 低配環(huán)境下的資源核算很多讀者關(guān)心自托管地圖到底要什么配置。我們做了一組基準(zhǔn)測(cè)試部署環(huán)境數(shù)據(jù)規(guī)模實(shí)測(cè)表現(xiàn)2核4G單城市POI 局部瓦片緩存支撐內(nèi)部演示與低流量驗(yàn)證穩(wěn)態(tài)QPS約304核8G省級(jí)POI 多級(jí)瓦片緩存支撐正式對(duì)話(huà)流量穩(wěn)態(tài)QPS約120p95 100ms8核16G多點(diǎn)區(qū)域POI 大尺寸瓦片包可支撐多業(yè)務(wù)線(xiàn)并發(fā)主要瓶頸在帶寬瓦片包體量也需要提前算清楚只做單城市的常用縮放級(jí)別柵格瓦片大概1到3GB如果覆蓋到一個(gè)省且包含高縮放級(jí)別體量會(huì)漲到幾十GB。我們的經(jīng)驗(yàn)是瓦片包體積直接決定了部署成本和更新頻率所以默認(rèn)只在業(yè)務(wù)熱點(diǎn)區(qū)域生成高縮放級(jí)別瓦片低級(jí)別全局鋪底把總包控制在5GB以?xún)?nèi)。6. 踩坑記錄文檔里查不到的五個(gè)細(xì)節(jié)6.1 瓦片索引的邊界取整錯(cuò)誤第一個(gè)坑在瓦片坐標(biāo)計(jì)算。x和y必須用向下取整這個(gè)大多數(shù)人都知道但y方向在北半球高緯度地區(qū)有個(gè)隱藏問(wèn)題當(dāng)緯度超過(guò)Web Mercator的85.05113度上限時(shí)y值變成負(fù)的數(shù)組下標(biāo)越界瓦片渲染直接崩潰。我們?cè)谝淮胃呔暥葴y(cè)試點(diǎn)的聯(lián)調(diào)里遇到了整個(gè)地圖區(qū)域灰屏的現(xiàn)象查了一下午發(fā)現(xiàn)是測(cè)試數(shù)據(jù)里混入了一個(gè)緯度85.5度的異常坐標(biāo)點(diǎn)。修復(fù)方式就是在進(jìn)入瓦片計(jì)算前對(duì)緯度做clamp。后來(lái)我把這行clamp寫(xiě)成了公共函數(shù)的一個(gè)固定步驟所有調(diào)用方都從這里走一勞永逸。6.2 坐標(biāo)偏移在邊緣區(qū)域的突變坐標(biāo)轉(zhuǎn)換是另一個(gè)反復(fù)出問(wèn)題的地方。我們一開(kāi)始直接采用網(wǎng)上流傳的公開(kāi)糾偏算法在大多數(shù)區(qū)域表現(xiàn)正常但在某些地區(qū)誤差突然放大到幾百米。地圖上一開(kāi)始幾百米的偏移很難肉眼發(fā)現(xiàn)直到用戶(hù)反饋機(jī)器人說(shuō)的位置永遠(yuǎn)偏了一條街我們才意識(shí)到是轉(zhuǎn)換精度在這些區(qū)域失效了。解決方案是用本地控制點(diǎn)做校正收集一批在該區(qū)域已知真實(shí)坐標(biāo)與展示坐標(biāo)對(duì)應(yīng)的樣本點(diǎn)對(duì)偏差建一個(gè)區(qū)域修正表轉(zhuǎn)換時(shí)先查表再套用通用算法。這個(gè)方案比單純調(diào)參可靠得多也讓我徹底明白了一個(gè)道理坐標(biāo)偏移問(wèn)題是空間相關(guān)的任何一勞永逸的近似公式都要在目標(biāo)區(qū)域做局部驗(yàn)證。6.3 瓦片預(yù)取把帶寬打滿(mǎn)了瓦片預(yù)取功能上線(xiàn)的第一天我們就把自己給打掛了。預(yù)取程序用20個(gè)并發(fā)線(xiàn)程去熱門(mén)區(qū)域抓瓦片結(jié)果應(yīng)用服務(wù)的連接池和帶寬瞬間被打滿(mǎn)在線(xiàn)查詢(xún)?nèi)砍瑫r(shí)。修復(fù)方式是給預(yù)取任務(wù)加信號(hào)量限流把并發(fā)控制在2到3個(gè)線(xiàn)程并且對(duì)失敗請(qǐng)求做指數(shù)退避。實(shí)際上瓦片服務(wù)的穩(wěn)定性從來(lái)不由總帶寬決定而由瞬時(shí)并發(fā)尖峰決定。后來(lái)我們給所有內(nèi)部批處理任務(wù)都立了規(guī)矩批處理不得與線(xiàn)上查詢(xún)共享同一資源池。6.4 逆地理編碼的飛地與邊界重疊逆地理編碼返回錯(cuò)誤行政區(qū)是線(xiàn)上反饋里最難排查的一類(lèi)問(wèn)題?,F(xiàn)象是用戶(hù)在地圖上定位機(jī)器人報(bào)出的行政區(qū)劃和他實(shí)際所在的位置對(duì)不上。最終定位到兩類(lèi)原因一是行政邊界存在飛地即某行政區(qū)的一塊區(qū)域完全被另一個(gè)行政區(qū)包圍二是多邊形邊界重疊一個(gè)點(diǎn)同時(shí)落在多個(gè)區(qū)劃內(nèi)。單靠多邊形包含算法沒(méi)法處理這類(lèi)問(wèn)題。我們的做法是對(duì)重疊區(qū)域建立網(wǎng)格歸屬表以固定間隔把有沖突的區(qū)域切成網(wǎng)格每個(gè)網(wǎng)格預(yù)先指定一個(gè)業(yè)務(wù)歸屬同時(shí)把這種歸屬結(jié)果緩存起來(lái)避免每次查詢(xún)都跑一遍多邊形判斷。這套機(jī)制上線(xiàn)后逆地理編碼的實(shí)際錯(cuò)誤率降了一個(gè)數(shù)量級(jí)。6.5 日志里不能出現(xiàn)一根坐標(biāo)最后這個(gè)坑不是技術(shù)問(wèn)題而是意識(shí)問(wèn)題。地圖模塊的日志里天然會(huì)記錄經(jīng)緯度、查詢(xún)關(guān)鍵詞、逆地理編碼結(jié)果這些信息與具體用戶(hù)關(guān)聯(lián)后就是敏感數(shù)據(jù)。早期排查問(wèn)題時(shí)我們直接把查詢(xún)參數(shù)打到了日志里后來(lái)安全評(píng)審被一票否決。改造方式是在日志輸出層做統(tǒng)一脫敏坐標(biāo)只保留到小數(shù)點(diǎn)后一位POI名稱(chēng)做模糊化會(huì)話(huà)ID替換成不可逆散列。日志脫敏這件事不能靠每個(gè)開(kāi)發(fā)者自覺(jué)必須做成框架層強(qiáng)制執(zhí)行的過(guò)濾器。我在實(shí)際維護(hù)lingbot-map的過(guò)程中最大的體會(huì)是地圖模塊是一個(gè)很容易把自己做成無(wú)底洞的東西。如果你一開(kāi)始就想著覆蓋全國(guó)數(shù)據(jù)、做完整導(dǎo)航、接實(shí)時(shí)路況那這項(xiàng)目一年都交付不了。反過(guò)來(lái)先圈定一個(gè)城市或者一個(gè)園區(qū)把對(duì)話(huà)場(chǎng)景里的閉環(huán)跑通——能定位、能找店、能算距離——然后再往下一個(gè)區(qū)域擴(kuò)展才是自托管地圖的正確打開(kāi)方式。最后再分享一個(gè)小技巧附近POI檢索的排序永遠(yuǎn)先做geohash網(wǎng)格粗篩再做Haversine精算千萬(wàn)別讓全量候選集都走一遍球面距離計(jì)算否則接口延遲會(huì)隨著POI數(shù)量線(xiàn)性膨脹。這是我被壓測(cè)數(shù)據(jù)教育出來(lái)的經(jīng)驗(yàn)照著做能省掉你后面大半的優(yōu)化時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产高清在线自在拍69| 1204人成网站色www| 日韩精品色呦呦| 亚洲熟久久| 夜夜操二区| 激情无码日韩| 亚洲人妻中文在线视频| 日韩在线观看AV| 国产欧美日韩女同性恋ww喷水精品| 成人小说视频在线精品欧美| 蜜臀久久99精品久久久电影| 不卡视频一区蜜桃视频| 精品综合久久久久久97| 亚洲综合图色在线| 久九九九九九九热| 999日韩中文精品观看视频。| αⅴ天堂| 国产亚州精品美女久久久免费| 欧美色图综合| av日韩国产一区二区| 91丝袜在线观看| 欧美日韩不卡传媒| 亚洲自拍青操视频| 久九9精品| 99re6国产精品99re| 啊啊啊好湿国产一二| 久热超碰| 熟女AV一区| 青青草吊丝| 欧美色图天堂在线| 中文字幕二区日韩天堂| 97爱免费插| 女同在线视频一区| 91国产精品熟女| 99无码视频| 粉嫩在线一区二区懂色| 亚洲国产麻豆一区二区三区| 日本色色色色色视频| 亚洲精品天堂久久A∨51成人漫| 在线毛片片免费观看| 中文字幕丰满子伦无码专区在线视频最新 | 免费国产电影一区二区| 亚洲成aⅴ人片不卡无码| 久久久国产av美女私房| www.久久最新地址| 日本熟妇人妻中出视频| 国产丝袜欧美在线视频| 日韩中文字幕精品一二三事国产精品| 久午视频| 欧美精品三区| 午夜操逼不卡| 亚洲aV性爱| 亚洲女毛多水多21P| 99久久综合网| 欧美专利1区2区3区4区5区免费| 天天综合精品| 丝袜制服字幕在线| 粉嫩小泬久久久一区二区| 91欧美性| 欧美激情综合| 欧美一级久久久久久久大片动画| 国产欧美日韩在线不卡第一页| 人妻熟女午夜精品在线| 久污| 国产精品一区二区手机看片| 素人一区二区三区日韩| 国产亚洲99久久精品| 日韩人妻少妇中文字幕| 色九九综合AV| 精品国产乱码久久久久久网站入口| 亚洲无码 国产无码| 无码操逼网| www.99在线| 欧美九九99久久精品| 999综合色| 天堂综合网| 97人人夜夜精品视频| 人人操人人大香蕉| 亚洲在高跟鞋自慰久久在色线| 欧美青青草视频| 中文字幕丰满人妻日本| 欧美在线干| 极品粉嫩少妇视频| 极品销魂美女一区二区 | 无码在线亚洲| 国产欧美日韩臀| 亚洲97资源| 99久久久久久亚洲精品不卡| 99热超碰| 国产精品另类| 精品中文字幕一区二区l - 百度| 亚洲有码 欧美精品| h色99999| 成人无遮挡毛片免费看| 亚洲欧美精品一区天堂久久 | 国产又色又爽又舒服的三级视频| 黑人精品久久97| 激情小说在线视频| 色播五月婷婷| 国语精品av| 天堂69亚洲精品中文字| 五月婷婷大香蕉| 天天摸天天舔天天操| 欧美 亚洲 在线| 国产女生在线| 久久熟女久| 樱花蜜乳av| 亚洲精品天天影视综合网 | 加勒比五月天| 熟女这里只有精品6| 激情丁香五月婷婷| 好爽视频在线观看| 综合网欧美在线| 欧美综合网站999| 亚洲精品国产专区在线观看| 蘋果手機免費看成人Av| 日本女优在线视频福利| 中字一区| 中文字幕 国产 精品| 色偷综合| 人人插人人搞人人操| 少妇内射视频| 午夜高清成人在线视频| 91热热色| 色噜噜综合在线| 亚洲天堂久久久久久粉红视频| 色999五月色| 97久久久久久久久久| 亚洲日韩美女中文字幕乱| 欧美日韩国产电影| 黄色免费网页无码| 亚洲精品蜜桃久久久| 亚欧成人中文字幕一区| 丝袜视频网国产90| 久久久久久久人妻| 自拍偷拍草一草| 啊啊啊好湿久久| 午夜亚洲WWW湿好大| 91 丝袜在线| 美国精品国产精品| 农村少妇久久久久久久| 2011国产精品| 精品国产一区二区三区在线播出| 无码人妻系列少妇| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 99视频内射三四| 精品免费囯产一区二区三区| 久久本道| 日韩人妻中文视频| 久久久久久久97| 99啪啪视频| 国产剧情AV不卡在线观看| 日韩天天综合| 图色综合网| 操迟操逼在巾线Fre看| 四虎免费在线播放| 艳尻美人妻| 欧美一级黄色18片免费看| 在线播放欧洲免费av| 天天综合网国产| 摸奶性爱视频网站在线免费播放| 亚洲的天堂网| 欧美亚涩| 91精品丝袜在线观看| 欧美激情高清性猛交| 国模不卡一本二本三电影| 自拍偷拍 高清无码| 亚州欧美另类| 少妇人妻激情四射| 99啪啪| 九九久久99| 一二三四视频中文字幕在线看| 极品一区二区三区免费| 亚州熟妇精品| 日韩紧密久久| 色一情一乱一乱一区91Av| 熟女乱3伦999| 天堂男人网| 国产视频第2页| 嗯嗯嗯啊啊啊在线免费观看| 亚洲av淫乱| 国产美女在线精品免费看| 亚洲天堂少妇| 亚洲少妇色图自慰直播| 日韩有码一区三区| 丰满人妻av一区二区三区| 中国操逼无码| 在线αⅴ| 嗯嗯啊啊操我| 啊v在线观看视频| 91无摭挡| 一区二区视频你懂的| 中文伊人大香蕉视频| 久热九九| 五月婷婷综合网| 亚洲精品一二区| 精品一区二区三区国产| 亚洲 欧美综合| 久久婷婷一区| 久夜操| 国产2.3.4区| 99色骚| 美日韩一二三区| 91女网站| 欧美永久激情一区二区| 午夜精品99久久久久传媒| 91一起操| 亚洲美女精品| 密臀视频一区二区三区| 少妇专区一二三四五| 亚洲美欧999| 俺去久久| 亚洲AV无码久久精品蜜桃小说| 日本免费不卡二区| 亚洲视频一二区| 国产精品久久久777| 国产精品制服丝袜中文字幕日韩一区二区三区| 人妻天天操天天爽视频免费| 在线观看AV不卡| 久久久亚洲精品电影免费看| 午夜成人福利影视| 超碰69| 本道在线| 91热| 成人精品一区二区91毛片不卡| 操逼天美3区| 国产精品久久久久久久毛片1| 无码高清国产AV| 91三级理论片播放器| 国产一级αv免费看片| 一级久久性爱视频| 九九热九九热| 日韩图区| 色路综合| 蜜乳视频网站| 国产美女高潮叫床视频| 亚洲综合另类| 欧洲与亚洲欧美精品中文字幕| 一区| 欧色网址| 日韩国产在线观看av| 日韩av乱伦| 亚洲男人天堂2019| 天天爱综合网| 欧美人黑A片无码免视费| 在线无码视频| 蜜臀久久99精品久久久久免费观| 色香伊人| 成人精品无码| 一二三区在线| 欧美成人色| 国产人妻久久精品一区二区三区| 99re免费视频精品全部| 久久亚洲av成人无码国产| 亚洲涩图欧美| 国产精品另类一区大香蕉| 中国91AV| 国产91啪| 丰满人妻一区二区三区在线| 加勒比综合88| 99热在线观看| 黑人粗大V S日韩女优视频| 国产精品操| 国产51色综合久久免费| 亚洲天堂性爱| 欧美日韩久久精品爱爱| 人妻精品视频一区二区| 久热精品色情| 国产精品久久久| 婷婷中文网| 91熟女综合| 综合网 欧美| 国产成人免费观看在线视频| 330Dv国产女人终合视频极品人与兽| 精品国产乱码久久久久久免费| 激情熟女12P| 亚洲综合激情五月久久| 超碰伊人在线| 操操操日本的逼| 2025亚洲男人天堂| 97天堂| 九九精品热| 天天插天天操天天摸天天射天天看| 超碰在线一区| 亚洲av总站| 99re这里只有精品9| 精品国产久热在线观看| 九热超碰| 久久艹逼视频| 91爱啪| 九九无码视频| 亚洲图片欧美偷拍| 日韩成人网址| 日韩一级二级三级| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美视频激情久久久久久| 中文视频在线观看| 91N五十路| 久久久新亚洲AV| 翘臀vidoes| 久久精品熟妇丰满人妻99| 久久九九99| 亚洲黄色电影| 欧美不卡在线美女| 日韩中文字墓| 78久久久| 亚洲九月丁香| 天天综合青苹果| 丁香五月天视频| 999岛国大片| 黑人综合色| 强奸乱伦av电影| 俺也射| 国产在线精品偷| 91痴汉| 久久伊人大香蕉| 日本欧美中文字幕| 偷拍色图| 日本三级中国三级99人妇网站| 免费视频一二三区| 爽爽爽免费视频| 樱花蜜乳av| 欧美高潮| 亚州情色j区| 天天做天天爱夜夜爽毛片试看| 大香蕉天天看妹子| 欧美日综合| 国产精品久久久| 狠狠热这里都是精品| 男男H黄动漫啪啪无遮挡网站| 超碰九九| 成人精品视频| 日韩人体偷拍| 久久精品国产亚洲AV片多多| 精品一级毛片在线观看| 国产乱码久久久久久| 久久精品美女一区| 久热精品在线国产| 精品网站9999| 偷拍 亚洲 欧美| 亚洲日本天堂| 性色av婷婷久久一区二区点复制| 97亚洲国产| 浪人综合网| 智利AV在线网| 欧美国产日韩清纯唯美| 八戒午夜福利理论片| 亚洲人综合| 有码人妻系列| 1区2区3区在线视频| 国产在线能看的你懂的| 日本熟妇精品九九| 亚洲欧美日韩有码| 日本性一区| 美女91在线观看| 国产精品老师| 国产亚州高清国产拍精| 97超碰超碰| 色香伊人| 国产精品。| 日本天天吊| 丁香婷婷激情五月天无毒不卡| 乱伦1色页| 午夜啪| 欧美日日人人天天| 日韩资源网| 久热久一区二区三区| 99re视频在线观看这里只有精品| 五月婷婷爱六月丁香色| 日韩人妻精品久久久久| 国产丝袜视频| 人妻天堂综合网| 国产高清在线观看欧美| 久久精品国产99精品亚洲蜜...| 日韩欧美大片免费高清啪啪| 久久精品午夜国产亚洲AV无码| 日本爽爽爽爽爽爽免费视频| www亚洲免费| 一个人免费视频观看在线WWW | 亚洲欧洲美腿丝袜| sss视频华人在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩人妻播放| 六月丁丁香| 熟妇熟女亚洲天堂网| 99999精品成人| 亚洲综合113页| 国产精品色哟哟| 在线情色电影 91大| 9.1小视频| 九九九久久久| 日本久久99| 99热综合在线| 四虎精品一区| 国内精品久久人妻性色av| 91人妻视频| 91色综合激情| 美女91在线| 香蕉黄色一级视频| 乱人伦 国语对白:视频直接看| 国产欧美美女免费观看视频| 囯产精品强| 美女熟妇色| 婷婷综合五月| 99黄页网站| 亚洲久久久久| 亚洲无码99| 欧美黑人168页欧美黑人167| 强奸乱伦中文字幕AV| 欧美色66| 在线播放免费av福利片| 美欧老女人97| 亚洲AV秘无码一区..| 精品.99999| 国产精品不卡高清在线观看| 久久婷婷一区二| 欧美色道啊| 久久久久免费看少妇A片特黄| 99爱精品| 天天干人人看综合| 一区,二区,三区网站| 日韩视频中文字幕| 91天美传媒精品| 日韩免费一级性爱视频| 国精综合一二三区影视| 性色生活片久久毛片婬片免费放女人一级毛片 | 用力操死我| 尤物视频视频官网| 99精品高潮| 狠狠亚洲| 爱做久久久久久| 国产三级中文字幕粉嫩| 九九九久久久久| 无套内射人妻在线播放| 91 天天综合| 蜜桃在线观看一区二区三区| 91av一区二区在线观看| 99黄页网站| 日韩无码黄色片| 欧洲一区二区| 躁躁日曰躁2020| 26uuu国产免费观看| 欧美性高潮| 伊人久久青青草| 素人一区二区三区日韩| 亚洲黄色电影| 9ⅰ久久久天天| 九九玖玖精品| 久久久精品国产亚洲伊人| 影音先锋日本乱伦| 中韩中文字幕在线观看| 啊啊啊啊啊好舒服视频| 久久爽爽精品| 精品国产72| 欧美中文字幕男人天堂久久精品 | 日韩一级片在线看| 国产性爱乱伦AV| gogogo免费高清看中国国语| 日韩久射综合| 精品少妇一区二区三区| 98福利在线视频| 粉嫩AV一区夜夜嗨| 一本大道综合伊人精品热热| 盗摄 精品 另类 一区| 麻豆国产av网| 69精品人人人人| 99碰碰| 特级丰满少妇一级AAAA爱毛片| 1769成人国产精品视频| 欧美色图99| 人人爽夜夜玩视频| 欧美线天码中字| 欧美色九九| 农村妇女精品一二区| 欧美se综合| 久久久久熟女| 激情色图| 乱伦AVxx| 99国产天美| 搡老熟女国产1000部| 91久久18禁| 国产精品高潮久久AV| 亚洲精品不卡一二三区| 午夜操一视频一区| 激情五月天插| 午夜呻吟欧美| 加勒比色综合| 熟女人妻一区二区三区| 久艾草在线精品视频在线观看| 性爱边摸边日免费AV| 国产亚洲禁久一区二区| 精品一区二区三区蜜桃臀赵总 | 精品人妻久久久久一区二区三区| 日本一区二区不卡| 一区二区三区免费岛国片| 五月天开心网| 久久9精品网站| 国产精品人妻一区二区| 99无码视频| 亚州综合AⅤ| 999综合网| 国产精品青草综合久久| 欧美亚洲清纯| 99在线无码精品秘 入口黑人| 天天流夜夜操| 久久精品女同亚洲女同13| 午夜天堂啪啪| 裸体美女久久久| 亚洲黄色视频在线观看视频| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 中文字幕精品三级久久久| 一中国女人毛片水真多| 亚洲最大的黄色电影网站。| 12一15性XXXX粉嫩国产| 色99在线| 中文字幕后石码四区五区| 日韩免费看黄片| 后入式在线免费观看60秒| 农村女一级毛卡片| 久久亚洲熟妇在线视频| 亚洲欧综合另类无码一区| 欧美高潮在线| 成人a大片在线观看| 99蜜桃臀久久久欧美精品网站| 18禁无码永久免费无限制| 欧美天堂日韩三级国产传媒| 三男一女不戴套的A片| 日韩影片中文字幕一区二区三区| 天天躁日日躁成人字幕aⅴ| 国产熟女精品区| 日本欧美国内在线| 精品午夜福利| 超碰97玖玖爱| 3p国产欧美99热| 免费精品无码一级毛片牛牛影视| 内射黑人| 丁香成人五月天| 亚洲色图欧美| 91视频综合在线| 丰满欧美少妇| 97自拍视频在线| 免费人成毛片乱码| 不卡六六在线91| 日韩美女久久一区二区三区| 亚洲高清无码在线桃色| 亚洲av无码成电影在线播放| 97干在线视频| 欧美中字二区| 久久超碰免费的| 五月丁香色综合| 国产三级多多影院2022国产AA一级毛片无码 | 成人一级性爱| 91av熟女人妻| 亚洲熟伦熟妇AV无码春色| 大屁股国产在线视频| 激情五月丁香五月| 日本丝袜人妻内射| 精品丝袜无码一区二区三APP| 色97干| 丁香7月婷婷| 久草在| 精彩视频日韩| 国产老熟女| 亚洲AV无码天美传媒一区| www.av在线观看| 欧美一区二区观看在线| 国产熟女免费观看久久| 亚洲一卡2卡3卡4卡乱码网站| 日本性交操一区二区不卡系列| 91久久久亚洲| 操人人| 性爱乱伦视频免费| 天天干夜夜一操| 5月婷婷6月六月丁香| 2020国产精品| 久久日韩毛| 亚洲 se图 欧美电影| 麻豆AV96熟妇人妻| 亚洲精品蜜桃久久久久久久| 天天情欲宗合网| 91精品国产91熟女| 欧美一级在线观看成人| 精品偷拍13p欧美dodk视频| 久久美女福利是上海美女| 黄片aaaaa一区| 1024香蕉视频| 劲爆欧美人妖三区91| 大香蕉性欧美| 岛国片在线视频网站| av无线看| 美女尤物福利视频| 欧美韩日精品99综合| 国产日韩手机视频在线| 亚洲激情在线一区二区| 韩国三级三级BD在线| 亚洲伊人成综合成人网| 97国产综合欧美| 天天日天天干少妇日| 思思热久久成人| 混色激情av| 97欧美色| 女人高潮抽搐喷水视频网站| 国产一区二区久久| 久久久久久人妻一区精品色欧美| 欧美黄页在线| 久久久久久性爱免费视频| 亚洲欧美自拍偷拍| 极品色电影院| 午夜福利在线合集| 抽插爽| 九九九精品| 青娱乐亚洲热| 777超碰| 99热精品在线观看| 色婷婷日韩精品一区二区三区| 国产美女裸体秘 永久无遮挡| 亚洲熟女综合| 啪啪啪精品视频| 怡红院亚洲怡春院av| 久久成人午夜精品影院| 国产又大又粗又长视频| 狠狠爱综合| 91综合天天| 天天综合色| 综合夜夜| 天堂亚洲精品久久老牛| 日本123区操B视频| 97国产|免费| 熟妇操花| 一起草高清无码| 欧美97视频| 亚洲成a人片在线观看中文!!!| 你草精品在线视频| 日本道久久综合色色| 91岛国动作片| 射 色综合| 97精品熟女少妇一区| 亚欧洲日韩国产精品| 熟女自慰久久久| 日本福利二区视频| 白丝被操91| 一本久道久久综合狠狠爱一密臀精| 色女网日韩| 97av在线视频| 中文字幕日韩精品久久| 最新制服中文第一页| 亚洲情色在线| 久热精品色情| 久久精精区一区二区一蜜桃一区二区| 波多野结衣被操50分钟免费视频| 夜夜爽夜夜爽| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 秋霞无码av鲁丝片一区| 欧美日韩啪啪电影| 日本乱人伦片中文三区| 97色碰| 东北操逼| 久久华人网| 国产成人精品一区| 加勒比无码毛片| 粉嫩av一区二区三区四季| 欧美少妇色综合| 操死我了嗯嗯嗯| 裸体1区| 欧美中字二区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 思思热国产在线视频| 亚洲男人天堂网| 国产三级片在线观看| 在线中文字幕视频| 中文字幕欧美日韩三级| 国产女人视频三四五区| 国产一区二区三三视频| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 亚洲自拍小说| 亚洲熟女人妻中文字幕一区二区| 亚洲在钱| 屁股久久久久久久| 久综合国内精品自在自线| 久久久亚洲高清不打码| 亚洲福利中文字幕在线| 日韩欧美麻豆大片| 少妇69中文| 亚洲交换| 国产亚洲日韩欧| 欧美人妻一区| 日韩人体偷拍| 国产女人9999| 极品国产内射| 日韩78m视频| 成人无码欧美一级A片狼牙直播| 91春色| 国产精品视频一区二区三区八戒| 欧洲乱码一区二区| Julia Annxxxxx| 中文字幕第9页萱萱影音先锋| 超碰国产精品无码| 长长久久88视频| 97超碰人操| 9色国产精品一区粉嫩| 六月婷婷色综合| 欧美久久毛片基地| 97碰| 色哟哟-国产专区| 亚洲天堂2020| 日韩av乱伦| 男人成人黄色视频在线观看免费下载| 五十路六十路素人熟女| 国产这里只有精品| 啊啊啊水好多| 狠狠色综合网| 农村少妇久久久久久久| 久久精品国产99精品亚洲蜜...| 这里有精品| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久 国产精品 一区| 久久超碰亚洲人| 91看黄片| 91超碰碰在线| 亚洲黄色a级片| 亚洲麻豆18发?| 色小视频蜜乳| 久久免费少妇| 欧美日韩亚洲五月天婷婷| 日熟女| 欧美青青草视频| 久久老子无码午夜伦不卡| 青青草原av| 国产女人高潮视频| 6080YYY午夜理论片在线观看| 99啪啪视频| 在线播放一级无码视频| 曰本道人妻久久久在线不卡色视频| 日韩一级片在线看| 91免费看一区二区三区| 97一区二区三区视频| 国产久久久久久久久一区二区| 欧美中日韩XXXX| 亭亭丁香激情| 99久久网站| 久久精品久久九九精品| 久久女女| 操美女人妻| 99在线免费观看| 性爱免费视频成人| 久久精品国产亚洲5555| 快播久久人人aV| 欧美视频激情久久久久久| 久久99亚洲精品久久99果| 欧美片第一页| 中文字幕熟女人妻丝袜| 欧美最大综合网| 国产人妻一区二区三区欧美毛片| 性欧美另类高清| 99这里有精品视频| 一区二区三区欧美激情| 欧美久久人人网| 翔田千里无码一区| 日韩欧美中文字亚洲慕| 人妻酒店出差被中出免费在线播放| 伊人五月天| 人妻-91porn| 亚洲无线码一区国产欧美国| 精品人妻av在线播放| 大香蕉乱级| 国产老太乱伦一区| 免费精品无码一级毛片牛牛影视| 激情欧美97| 少妇三p| 日本成a人v网站在线观看| 亚洲欧美黄| 日本色日夜干| 99色网| www.av在线视频| 黄页视频网站野外| 午夜精品视频777| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 97超碰色屌| 偷拍五区| 日韩有码中文字幕女同性恋| 天天92av| 草莓精品视频在线免费观看| 日本一区二区不卡精品| 精品一区二区三区蜜桃臀赵总| 色妺妺在线视频| 国产白丝在线| 婷婷爽人人婷婷爽视频| 思思热在线视频在线| 国产毛片在线| 日韩国产品视频中文字| 久久久久一本一区二区青青蜜月| 懂色av中文字幕一区二区三区天美| 久久伊人东京热| 欧美性爱www免费版| 久久国产三区| 九九久久国产精品怡红院| a级免费在线观看| 黑人精品成人一区二区三区 | 九月丁香| 中文幕97| 国产无码精品成人| 免费观看有码高清视频| 加勒比伊人综合| 成年人黄色视频免费| 夜夜操二区| 骚女天天综合网| 国产精品免费美女视频| 亚av顶级裸体一区二区三区四区五区 | 欧美激情精品久久久| 女人被男人桶爽视频网站| 97干在线| 暴力av在线| 综合久久欧美| 精品一区二区三区四区女| 久久精品一区二区一8| 黄色av一区二区在线| 夜夜操一区二区| 国产精品自拍xxxx| 亚洲熟女偷拍在线观看| 欧亚免费视频| 国产久久久久久| 116美女午夜| 亚洲欧洲日韩天堂av| 日本顶级天天操狠狠操夜夜操中文字幕| 美女操逼A A| 97超碰欧美手机在线| 婷婷色播婷婷| 亚欧色图在线激情| 色欧洲97| 亚洲情色五月天| 色综合久| 国产人妻久久精品一区二区三区| 9久综合网| 色色网91| 伊香蕉综合久久久久久久噜噜噜| 欧美熟妇乱码在线一区| 黄色av片三级三级三级免费看| 超碰午夜| 69视频福利导航| 夜夜操狠狠操| 自拍内地三级在线观看| 懂色av中文字幕| 亚洲天堂自拍| 婷婷五月天色| 强奸乱伦中文字幕AV| 国产精品免费久久久久久久久久| 激情终合网| 91爽啪| 久久久97| 眼镜人妻101.com| 啊啊啊啊啊好多水| 福利大香蕉| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 婷婷久久久| 日本一区二区电影网站| 欧美少妇性乱| 囯产操逼片| 99日视频在线免费| 亚洲五月婷| 99热在线观看| 欧美白嫩女HD| 国产精品无码av在线| 久久网亚洲| 92福利社视频| 亚洲天堂五月天国产| 夜夜爽爽夜夜精品视频| 97人人模人人爽人人| 91高潮| 人妻 欧美 中文| av天堂5| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 一个人在线看的黄色电影网站| 日本黄大片在线观看视频| 天天内射| 国产刺激视频| 国模私拍一区二区三区神乳| 欧美黑人91| 素人播放一区| 神马久久久久久伦理片| 久久久免费高清中文视频| 天堂av2019| 国产亚洲中文不卡二区| 诱惑网综合| 欧美日韩婷婷中文| 亚洲欧洲综合视频在线| 国产在线观看一区二区三区| 麻豆 亚洲 97| 久久人妻视频网| 26uuu性| 少妇久久久久久久久| 中文字幕人乱码中文字的预防方法 | 少妇3P性爱自拍| 亚洲风情在线观看| 日韩精品大香蕉伊人在线| 大香蕉宗合网在线| 欧美人妻精品一区二区| 亚洲色综合| 老熟女综合网| 天堂伊人久久| 久久久久久久久久久六六| 中国一区二区亚洲人妻| 一级性爱视频免费观看| 东北女人性交| 久久九操在线观看| 天天碰操中国年青熟妇| 欧美99| 大色综合网| 91人妻最真实刺激绿帽| 黑人猛交| 熟妇一区二区| 久久久96精品| 色综合20p| 求求你操操我| 嗯嗯嗯,草死我| 嗯嗯啊中文字幕| 九色婷婷| 国产97色在线| 日韩av影片在线观看| 特级特黄一级毛片免费| 日韩欧美亚洲自拍偷拍| 精品免费囯产一区二区三区| 后入式999| 免费超碰97久久| 欧美日韩亚洲高清不卡一区二区三区| 丰满人妻一区二区三区| 人、人、摸,人、人、草| 欧美精品99久久久**| 亚洲av无码国产精品字幕| 夜夜精品视频| 国产精品视频在线观看| 久久精品国产亚洲粉嫩| 一本色道久久综合亚洲二区三区| 国产后入清纯| 超碰日韩美妻| 欧美日韩人妻少妇 一区二区三区| 超碰97最新人妻| 麻豆 美女 丝袜 人妻 中文| 99热在线只有精品| 日本二区不卡| 好湿好紧视频| 欧美中日韩XXXX| 婷婷国产精品一区二区| 怡红院成人视频| 加勒比海人人操超碰在线| 国产精品乱码久久久久久久久| 国产在线激情| 少妇熟女一区二区三区| 欧美少妇色图| 日韩电影在线观看网址| 国产精品黑人一区二区三区| 日韩av电影成人在线| 性爱乱伦视频免费| 国产宅男宅女在线观看| 日韩欧美中文| 日韩精品一区的| 青青草日韩无码| 麻豆 欧美 日韩| 狠狠热这里都是精品| 色www精品视频在线观看| 天堂亚洲精品久久老牛| 变态另类专区| 久久久四区| 老熟妇乱轮| 日韩人妻播放| 亚洲色诱惑| 天天干天天日天天射黄色| 亚洲最大的黄色电影网站。 | 成人性爱av| 嫖老熟女A片一二三区| 婷婷精品视频| yirendaxiangjiashipin| 97一区二压| 97欧美日韩精品| 啪啪综合网| 色色色色日本| 久久婷婷伊人| 亚洲天堂自拍| 美女91网址| 日韩操啪| 免费看久久久性性| 厕所偷拍在线| 青青欧美| 亚洲精品97| 亚洲乱码国产乱码精网站| 男人的天堂不卡一区二区| 欧美日韩大陆黑人少妇99| 33044男人的天堂深夜备| 欧美综合91| 久久黄色性爱视频| 99自拍视频在线| 日韩 人妻 精品| 中文字幕熟女人妻丝袜丝| 亚洲学生妹高清av| 中文字幕av亚洲在线| 久久久久久久久久久人妻| 91美女視頻| 99999亚洲| 久久人人爽爽人人爽人人片αV| 激情深爱五月天| 亚洲综合九| 国产色图乱伦| 黑人无码一区二区| 青青草在线视频人人想人人上| 大白逼三四级| 秋霞一级A片黄色视频| 日韩啪啪啪啪啪| 久久久久人妻| 九九无码视频| 操逼网免费无码视频| 青青草原伊人网| 污色区网站| 中日韩熟女| 久久99草| 国产成自自拍在线观看| 色嘟嘟人妻天堂网| 91在线色综合| 国产性爱在线视频一区二区| 亚州欧美综合| 天天草天天干天天日| 欧美激情精品| 日韩人妻操B| 久久久九97| 国产二区三区免费视频| 五月丁香六月| 欧美变态激情网| 久久精品毛片免费不卡| 久久久久久中文字幕中文字幕最新| 舔舔啊| 欧美精品自慰系列寂寞少妇 | 国产专区第一页| 粉嫩久久久极品| 中日无幕一二三四区| 中文字幕在线观看丝袜| 少妇人妻太紧太深av| 91人妻人人澡人人爽人人精品| 国产又色又爽又舒服的三级视频| 色臀AV| 啊啊啊97视频| 黄片在线免费在线观看| 天天综合麻豆视频| 毛片视频白嫩| 人妻少妇被猛烈进入中| 97资源亚洲| 久久久精品久久| www.婷婷| 久九色| 亚洲熟妇丝袜在线观看| 欧美 精品国产制服第一页| 国产自产91区13区| 先锋色眉乱伦资源| 啪啪啪男女亚洲中文字幕99| 欧美中出1| CCYY草草影院地址入口| 久草精品一区 | 内射黑丝袜| 丁香五月婷婷基地| 极品美女福利在线观看| 亚洲婷婷综合网| 精品人妻一二三| 中文字幕乱码人妻二区三区| 干妹子| 一级性爱aaaa| 极品美女嘿咻| 夜夜操二区| 69国产对白刺激| 欧美人妻色| 欧美一区二区三区蜜桃| 97伦乱| 久久九九综合| 国产资源中文字幕在线| 中 文字幕一区二区三四 五 区日 日 骚 | 美女啊啊啊啊pc| 91成人高清在线观看| 骚人妻少妇视频| 亚洲激情久久| 国产视频一区二区免费| 97亚洲中文| 在线女人91| 约操熟妇| 欧美成人性活片| 亚洲综合图色在线| 99色热| 成人av在线播放| 久久久久久人| 插入综合网| 亚洲av影音先锋| 俞拍久久国应视频| 四季AV一区二区凹凸精品小说| 国产无码一二三区| 精品一级毛片在线观看| 黄资源| 啊v视频在线观看| A级片日韩欧美国产欧美视频精选观看| 欧美少妇色综合| www.91色综合| 国产精品干干干| 亚洲天天在线| 亚洲欧美日韩电影网站一区 | 色九色久| 大香蕉免| 91综合在线| 一区二区三区探花在线观看| 色妇综合网| 91少妇通奸网站| 吉川爱美98堂在线| 99热精品在线| 国产强奸乱伦xd| 色臀AV| 狠狠干妹子| 91av天美性媒精品视频| 丁香五月激情综合| 国产三级中文有码在线视频| 中文字幕精品探花视频| 日本高清一本二本免费不卡| 亚洲熟妇熟在线电影视频| 欧美亚洲日韩人妻在线观看| 伊人影院综合是一个与深夜成人在线| 午夜性生活av免费在线看| 91在线观看,天天综合| 91精品微拍福利| 国产精品老师| 天天操夜夜嗨| 96精品久久久久久久久久| 久9综合在线| 欧美日韩亚洲五月天婷婷| 天天干天天日天天射黄色| 91久热| 视频分类 国内精品| 韩国黄片aaaa| 日本在线观看网址| 亚洲欧美不卡线| 超碰97久| 爱丝福利| 国产精品午夜精品| 熟女精品一区二区在线观看| 欧亚第一综合网| 99超碰色| 亚洲日本韩国极品一区二区| 久热超碰| 精品色色| 亚洲天堂综合AV| 天天插天天射| 99在线免费观看| 女人被添高潮免费视频| 3p国产色噜噜一区| 国产精品久久久久久久毛片1| 成人一级性爱| 69少妇一区二区| 99国产精品视频尤物| 91人妻精华帖| 日韩 国产 欧美自拍| 韩国免费播放一级毛片| 国产白丝精品在线观看| 曰韩人妻中文字幕在线| 日韩无码人妻| 日本爽爽爽爽爽爽免费视频| 久久精品人人做人人看| 中文字幕日韩人妻视频| 级做a爱无码性色永久免费| 日本欧美一区二区三区视频麻豆|