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

京東APP百億級的車與商品關系數據檢索實踐

開發
本文主要講解了京東百億級商品車型適配數據存儲結構設計以及怎樣實現適配接口的高性能查詢。

?導讀

本文主要講解了京東百億級商品車型適配數據存儲結構設計以及怎樣實現適配接口的高性能查詢。通過京東百億級數據緩存架構設計實踐案例,簡單剖析了jimdb的位圖(bitmap)函數和lua腳本應用在高性能場景。希望通過本文,讀者可以對緩存的內部結構知識有一定了解,并且能夠以最小的內存使用代價將位圖(bitmap)靈活應用到各個高性能實際場景。

名詞解釋:

  • jimdb-基于redis改造升級,京東中間件團隊自研的一個高性能key-value數據庫,多數功能與redis一致。

背景

整個汽車行業特殊性,對于零配件有一個很強的對口特性,不同車使用的零配件(例如:輪胎、機油、三濾、雨刮、火花塞等)規格型號不一樣。在售賣汽車零配件的時候,不能像3C家電、服飾,需要結合用戶具體車輛信息,推薦適合的配件商品。基于此原因,京東自建人車檔案模型并且利用算法清洗出百億級的車型-零配件的適配關系數據,最終形成“人->車-〉貨”關系鏈路,解決“人不識貨”的問題。具體使用場景如下圖:

圖片

圖1.1京東商詳推薦商品     

圖片

     圖1.2京東加購彈窗推薦商品

數據模型

“人-> 車->貨”關系的核心鏈路是由人(京東用戶)、乘用車和SKU這三部分組成。

首先,用戶在京東APP的商搜頁、商詳頁多個位置都可以選擇自己的車型信息進行綁定(例如:圖2.1,京東商詳綁車入口位置“+添加愛車”按鈕),建立“人車檔案”數據。

圖片

圖2.1.京東商詳綁車入口位置

圖片

圖2.2.京東商搜綁車入口位置

其次,運營在后臺管理系統中將商品與車型進行綁定,建立“商品與車型關系”數據(商品與車型的關系數據量級在百億級別)。

最終,購買商品的時候,京東推薦系統可以通過用戶自己綁定的車型推薦出適合該車型的商品。具體商品適配車型數據模型,見圖2.3。

名詞解釋:

  • SKU-Stock Keeping Unit(庫存量單位),KU是指一款商品,每款都有出現一個SKU,便于電商品牌識別商品。例如:商品詳情頁的每個型號/規格都會對應一個SKU。

乘用車-涵蓋了轎車、微型客車以及不超過9座的輕型客車。乘用車下細分為轎車、MPV和SUV等。

圖片

圖2.3京東商品適配車型數據模型

緩存結構設計

基于前面兩個部分的介紹,我們可以了解到整個商品搜索適配推薦存在兩個最核心問題。第一、百億級商品適配車型數據的存儲結構設計,盡可能的占用資源成本最小;第二、商詳通過用戶車型來搜索適配商品時,必須保證接口性能的TP999位于毫秒級。最終技術選型的時候,采用了jimdb的位圖(bitmap)函數來進行數據存儲。

名詞解釋:

  • TP999-單位時間內,99.9%請求接口響應時間小于等于該值。例如:1秒鐘內1000個請求,對這1000個請求按照響應時間由低到高排名,第999位的響應時間是20ms。最終TP999就是20ms。

3.1位圖(bitmap)結構

位圖(bitmap)是通過最小的單位bit來進行0或者1的設置,表示某個元素對應的值或者狀態。一個bit的值是0或者1;也就是說一個bit能存儲的最多信息是2。

  • 位(bit):計算機內部數據存儲的最小單位,例如:11001100是一個八位二進制數。
  • 字節(byte):計算機中數據處理的基本單位,習慣上用大寫B來表示,1B(byte,字節)=8bit。

圖片

圖3.1位圖(bitmap)內部結構

3.2位圖(bitmap)數據寫流程

位圖(bitmap)是基于jimdb的SDS(簡單動態字符串)類型的一系列位操作,遵循jimdb的SDS特性,例如:位圖(bitmap)最大長度512M,最大可以存儲232位。以下是“big”字符串的SDS結構示例:

圖片

圖3.2.1

SDS(簡單動態字符串)為了保證性能采用了空間預分配的策略:空間預分配用于優化SDS的字符串增長操作。SDS的API對一個SDS進行修改并且需要對SDS進行空間擴展的時候,程序不僅會為SDS分配修改所必須要的空間,還會為SDS分配額外的未使用空。具體預分配流程圖如下:

圖片

圖3.2.2

1)創建SDS簡單字符串預分配空間為:偏移量/8+1。

2)剩余空間不足時,預分配空間流程。

3.3壓縮商品與車關系緩存

圖片

商品適配車型關系(百億級數據量)

商品與車關系緩存存儲過程中,采用了商品SKU作為KEY,全量車型ID的偏移量(采用偏移量是為降低內存消耗)作為VALUE值來進行存儲。

全量車型ID大約有幾十萬的數據量,極限情況下一個商品SKU可以適配幾十萬輛車,很容易造成緩存大KEY的問題,為此我們進行了偏移量(全量車型ID對應的自增ID)的分段處理。具體是按照:SKU作為緩存KEY的基礎上,追加一個分段標記數字作為新KEY,每個偏移量都會按照分段范圍對應一個分段標記數字。例如:偏移量1?50000,對應緩存KEY為SKU+0;偏移量50001?100000,對應緩存KEY為SKU+1,其它偏移量以此類推,這樣就保證了一個SKU即使適配所有車輛也不會出現緩存大KEY的情況。

BitMap緩存結構底層使用SDS簡單字符串,為了保證性能采用了預分配空間的策略(如圖3.2.2,“緩存BitMap內部存儲流程圖”的2)中虛線框圈選),這樣在緩存商品與車關系的時候浪費了大量的緩存空間。為此我們調整了偏移量存儲順序,首先獲取到需要緩存的車型內最大的偏移量,保證同一個緩存KEY第1次創建SDS簡單字符串(如圖3.2.2,“緩存BitMap內部存儲流程圖”的1)中虛線框圈選)后,不再進行第2次空間擴容,這樣來最大限度的提升緩存利用率,起到壓縮空間目的。緩存數據關系流程如下:

圖片

3)設置分段最大的偏移量,保證后續新增偏移量不再擴容空間。

4)設置分段較小的偏移量。

全量車型ID是定長7位的數字,如果用它作為偏移量將消耗內存巨大,所以采用對應自增ID作為偏移量。最終在bitmap緩存的商品SKU與車的適配關系緩存結構如下圖:

圖片

3.3商品與車緩存結構圖

5)spuId用{}括起來表示緩存路由(Lua腳本中同一次請求,數據必須在緩存同一個分片上,否則會丟失數據)。POP商品spuId是SKU的產品ID,自營商品spuId是SKU的MainSkuId。

備注:

  • 自營商品MainSkuId可能發生變化,所以我們接入了商品變化MQ消息,實時調整SKU與車適配關系的存儲位置。
  • 京東商詳頁面中每個不同的規格/型號分別對應不同的SKU,但是它們都對應同一個SpuId或者MainSkuId。

緩存架構設計

商品與車的關系數據量每天都在不斷增長,要求緩存架構設計,需要支持集群橫向/縱向擴容和來滿足業務發展以及高可用性。整個緩存架構體系主要有前端、京東養車商品與車關系層和存儲三部分組成。

“商品與車關系緩存架構”層核心包括:1、“集群路由”層,實現了集群橫向擴容,保證數據量增長的時候,緩存容量也能跟上。2、“分片路由”層,保證搜索的底層數據的分片相同,避免數據丟失。

“存儲”層核心包括:1、實現了緩存壓縮,參見3.3壓縮商品與車關系緩存。2、單元化實現跨區域災備,保障大促系統穩定性。

具體商品與車關系緩存架構如下:

圖片

商品與車關系緩存架構圖

6)集群路由,通過商品類型或者商品編號(POP商品)路由到不同緩存集群,便于橫向擴展,每個集群單分片限制,解決分片超過限制問題。

7)分片路由,保障Lua腳本搜索數據的底層數據集群分片相同,避免數據丟失。其中自營商品和POP商品的路由分別是main_sku_id和product_id。

8)自營商品緩存集群,單元化實現跨區域災備,采用自研DRC(Data Replication Center)數據同步機制。

9)POP商品緩存集群,通過商家編號拆分為兩個子集群。

高性能搜索

基于BitMap(位圖)緩存的商品與車關系數據,商詳調用接口的內部實現采用了Lua腳本來降低網絡開銷,保障整個接口的性能。以下是搜索接口的流程圖:

5.1商詳搜索商品與車適配關系流程圖

圖片

10)商詳調用接口的時候,要傳兩個參數。第1個參數是全量車型ID列表,大約5個全量車型ID。第2個參數是商品SKU列表,SKU的數量極限超過200個。最后全量車型ID與商品SKU組合為上千個商品與車的關系后,再到百億級適配關系去搜索看是否匹配的。如果不匹配返回適配商品,反之則返回不適配。

5.2商詳搜索商品與車適配關系Lua代碼

Lua腳本減少了應用服務器與緩存服務器的交互,降低了網絡開銷的時間,達到提升搜索服務的性能。以下是Lua腳本具體代碼:

圖片

5.3商詳搜索商品與車適配關系接口性能

基于以上緩存設計和Lua腳本的使用,整個接口T999小于13ms。具體的接口性能監控如下圖:

圖片

總結

整個緩存結構設計的時候,使用BitMap(位圖)來存儲數據。解析SDS的內部存儲流程,通過存儲流程機制避開預分配空間節點,最大限度的利用緩存空間,避免資源浪費。采用Lua腳本來實現數據的適配搜索,降低網絡開銷,進一步提升接口的性能。希望此文對大家后續設計類似場景有一定的幫助和啟發。

責任編輯:未麗燕 來源: 京東零售技術
相關推薦

2015-06-10 16:24:42

數據檢索

2016-11-28 09:58:53

京東服務閉環實踐

2023-09-08 09:53:41

API開發

2024-07-08 12:44:11

2024-01-24 09:00:00

2016-11-30 13:23:39

京東商品搜索商品搜索引擎

2025-08-06 08:03:23

2017-11-08 09:32:05

2024-10-15 08:14:51

2021-06-22 16:21:40

鴻蒙HarmonyOS應用

2011-03-23 09:10:09

游標數據檢索

2023-06-06 14:01:05

關系鏈架構數據庫

2025-05-23 08:26:11

2020-11-19 15:01:26

京東大數據數據平臺

2024-12-13 16:03:59

2023-10-16 13:26:00

RDBMS關系數據庫

2018-04-20 09:36:23

NettyWebSocket京東

2016-01-04 15:16:01

京東詳情頁實踐

2024-09-24 10:30:20

2015-05-26 09:41:45

china-pub
點贊
收藏

51CTO技術棧公眾號

中文字幕精品一区二| 国产老头和老头xxxx×| 福利成人在线观看| 久久精品999| 欧美精品免费在线观看| 五月天丁香社区| 午夜精品久久久久久久久久蜜桃| 欧美国产日韩在线观看| 亚洲伊人成综合成人网| 免费在线观看黄网站| 欧美日韩中文一区二区| 91精品国产综合久久香蕉的特点| 国产欧美日韩网站| 亚洲三级黄色片| 久久国产精品99精品国产| 久久久久久国产精品美女| a级片在线观看| 精品一区二区三区视频在线播放 | 男插女视频久久久| 久久久噜噜噜久久中文字幕色伊伊 | 狠狠综合久久| 中日韩美女免费视频网站在线观看 | 激情高潮到大叫狂喷水| 哺乳挤奶一区二区三区免费看| 色婷婷综合视频在线观看| 少妇高潮大叫好爽喷水| 欧美色图另类| 成人黄色大片在线观看 | 欧美成人精品一区二区| 精品少妇人妻一区二区黑料社区| 国产精品麻豆| 欧美性xxxxxxxx| 噜噜噜久久亚洲精品国产品麻豆| 免费高清完整在线观看| 久久久蜜桃精品| 国产精品免费一区二区三区在线观看 | 久久精品免费一区二区三区| 亚洲欧洲国产伦综合| 极品白嫩少妇无套内谢| 99精品女人在线观看免费视频| 欧美日韩在线免费| 一区二区三区四区欧美| 精品影院一区| 91在线精品一区二区三区| 99精彩视频| 国产又黄又大又爽| 美女视频黄 久久| 日韩免费观看高清| 天天干在线播放| 一区二区三区国产在线| 久久久久久久国产| 国产一级二级三级| 韩国精品一区二区三区| 欧美第一黄网免费网站| 国产一区二区三区在线视频观看| 91亚洲一区| 最新的欧美黄色| 欧美人与禽zoz0善交| 沈樵精品国产成av片| 亚洲视频视频在线| 免费看污片的网站| 国产欧美日韩精品一区二区三区 | 日韩欧美在线一区| 波多野结衣家庭教师在线播放| 国产盗摄在线视频网站| 亚洲国产精品麻豆| 国产精彩视频一区二区| 黄色在线看片| 午夜精品福利在线| 国产精品免费入口| 我爱我色成人网| 在线观看91视频| 黄色aaa级片| 青青伊人久久| 3atv在线一区二区三区| 美女被艹视频网站| 哺乳一区二区三区中文视频| 亚洲第一视频网| 蜜桃传媒一区二区亚洲av| 国产精品免费大片| 最新国产成人av网站网址麻豆| 久久人妻无码aⅴ毛片a片app| 亚洲国产一区二区三区在线播放| 欧美另类在线播放| 久久久午夜影院| 日本不卡的三区四区五区| 国产免费一区视频观看免费| va视频在线观看| 91网页版在线| 亚洲国产一区二区三区在线| 羞羞视频在线观看不卡| 天天色 色综合| 99热手机在线| 亚洲不卡在线| 亚洲欧美国产va在线影院| 亚洲天堂精品一区| 国内精品久久久久久久97牛牛| 午夜精品久久久久久久白皮肤| 免费污污视频在线观看| 狠狠色丁香婷综合久久| 国产精品一区二区免费看| 毛片在线播放网站| 亚洲久草在线视频| av天堂永久资源网| 国语精品视频| 亚洲网站在线观看| 久久久综合久久久| 蜜桃av一区二区三区电影| 成人xxxxx色| 福利在线午夜| 亚洲第一成年网| 在线观看国产福利| 亚洲v天堂v手机在线| 久久夜色精品亚洲噜噜国产mv | 欧美亚洲动漫精品| 亚洲香蕉中文网| 欧美电影《睫毛膏》| 97人人做人人爱| 国产视频一二三四区| 91免费在线播放| 欧美高清中文字幕| 日本成人在线网站| 亚洲欧美另类国产| 国产精品18p| 国产一区二区在线观看视频| 欧美18视频| 日本性爱视频在线观看| 欧美男人的天堂一二区| 久久只有这里有精品| 影音先锋国产精品| 亚洲自拍高清视频网站| 91精彩在线视频| 日韩欧美在线视频| 亚洲天堂网一区二区| 激情综合视频| 久久免费看少妇高潮| 国产区一区二区| 污污片在线免费视频| 欧美日韩亚洲不卡| 六月婷婷七月丁香| 国产九九精品| 国产一区二区三区无遮挡| 97caopor国产在线视频| 91精品国产乱码| 我要看一级黄色录像| 日本欧美一区二区在线观看| 免费中文日韩| 免费观看成人性生生活片| 日韩精品在线第一页| 日本在线视频中文字幕| 成人av资源网站| 女人帮男人橹视频播放| av不卡一区二区| 欧美激情xxxx| 好吊色在线观看| 亚洲综合网站在线观看| 国产大尺度视频| 国模吧视频一区| 精品国产一区二区三区麻豆小说| av福利在线导航| 亚洲精品456在线播放狼人| 永久免费看片在线播放| 99久久精品免费看国产免费软件| 成人在线播放网址| 久久久久高潮毛片免费全部播放| 国模gogo一区二区大胆私拍 | 91精品国产乱| 久久国产在线视频| av午夜精品一区二区三区| www.99热这里只有精品| 九九综合久久| 国产精品美乳一区二区免费| 在线免费看av| 日韩视频一区二区| 久久久久久久极品| 欧美国产禁国产网站cc| 五月天丁香花婷婷| 精品999日本| 欧美亚洲爱爱另类综合| 69堂精品视频在线播放| 久久久精品久久| 免费观看黄色av| 色噜噜夜夜夜综合网| 一本在线免费视频| 成人在线视频一区二区| 久久久久久久久久久福利| 欧美精品羞羞答答| 91免费综合在线| 久久影院午夜精品| 中文字幕亚洲一区在线观看 | 日韩大片欧美大片| 久久精品人人爽| 少妇人妻精品一区二区三区| 色一情一乱一乱一91av| 久久爱一区二区| 99精品视频中文字幕| 色综合色综合色综合色综合| 狠狠爱综合网| 亚洲永久激情精品| 国产厕拍一区| 国产欧美久久久久久| 美女高潮视频在线看| 日韩在线观看精品| 亚洲人成色777777老人头| 欧美狂野另类xxxxoooo| 国产www在线| 国产精品久久久久aaaa| 中文字幕在线播放一区| 久久精品国产**网站演员| 欧美一级片免费播放| 水蜜桃精品av一区二区| 久久99久久99精品蜜柚传媒| 精品国产三区在线| 国产成人精品一区| 国内精彩免费自拍视频在线观看网址 | 青青青国产精品一区二区| gogo在线观看| 日韩黄在线观看| 性猛交富婆╳xxx乱大交天津| 91久久人澡人人添人人爽欧美| 免费无遮挡无码永久在线观看视频| 久久久久久久久久久99999| 欧美日韩一区二区区别是什么 | www.com污| 久久不射中文字幕| www.射射射| 亚洲网色网站| 一区二区三区四区欧美| gogogo高清在线观看一区二区| 国产精品av一区| 精品视频在线播放一区二区三区| 国产精品丝袜白浆摸在线 | 亚洲欧美日韩中文字幕在线观看| 喷水一区二区三区| www.国产区| 亚洲永久视频| 少妇人妻无码专区视频| 欧美亚洲不卡| www国产免费| 围产精品久久久久久久 | 欧美区国产区| 干日本少妇视频| 亚洲91精品| 国产又爽又黄ai换脸| 日韩精品久久久久久久电影99爱| 欧美日韩亚洲免费| 在线看成人短视频| 蜜桃传媒视频麻豆第一区免费观看 | 国产一区红桃视频| 成人精品国产亚洲| 国产精品久久久久久久app | 在线视频国内自拍亚洲视频| 国产www在线| 日本精品一级二级| 在线免费观看av网址| 欧美午夜精品一区二区蜜桃| 亚洲性猛交富婆| 欧美视频一二三区| 亚洲一区在线观| 777午夜精品免费视频| 最近日韩免费视频| 在线不卡免费av| 精品国产无码AV| 精品国产123| 亚洲欧美日韩动漫| 亚洲人成电影在线| 日本中文在线观看| 欧美成人免费全部观看天天性色| 呦呦在线视频| 97精品国产97久久久久久| 中文在线а√天堂| 国产精品福利在线| 粉嫩一区二区三区在线观看| 97免费资源站| 欧美调教网站| 日韩尤物视频| 中文字幕一区二区av| 精品无码国产一区二区三区av| 国产一区二区三区久久久久久久久 | 亚洲va欧美va国产综合剧情| 中文字幕一区二区三区中文字幕| 国产一区二区三区高清视频| 九色精品91| 四虎永久免费网站| 99精品视频免费观看视频| www.国产区| 国产成人亚洲综合色影视| 黄色网址在线视频| 国产精品视频第一区| 国产十六处破外女视频| 欧美性xxxx极品hd满灌| 一级α片免费看刺激高潮视频| 欧美成人伊人久久综合网| 免费观看成年在线视频网站| 久久亚洲欧美日韩精品专区| 小草在线视频免费播放| 91精品久久久久久久久久另类| 999久久精品| 视频一区免费观看| 亚洲茄子视频| www.com污| 久久精品亚洲国产奇米99| 福利所第一导航| 91黄色激情网站| 亚洲欧美激情另类| 中文字幕亚洲图片| 日本在线播放一二三区| 91免费观看网站| 国产精品免费大片| 精品国产av无码一区二区三区| 免费亚洲电影在线| 国产熟女高潮一区二区三区| 亚洲丝袜自拍清纯另类| 啪啪小视频网站| 亚洲精品动漫100p| 18av在线播放| 国产精品视频自拍| 欧美三级午夜理伦三级在线观看| 裸体裸乳免费看| 日本视频中文字幕一区二区三区| 蜜臀av粉嫩av懂色av| 亚洲日本在线看| 国产女优在线播放| 亚洲欧美国产va在线影院| 91破解版在线观看| 51成人做爰www免费看网站| 日韩精品2区| 91国产精品视频在线观看| wwwwxxxxx欧美| 国产亚洲精品久久久久久打不开 | 日本肉体xxxx裸体xxx免费| 91亚洲精品久久久蜜桃网站 | 欧美国产激情| 加勒比av中文字幕| 国产精品免费av| 小泽玛利亚一区二区三区视频| 日韩精品极品视频| 搞黄网站在线看| 亚洲自拍在线观看| 久久久伦理片| av无码久久久久久不卡网站| 国产一区不卡视频| 影音先锋男人看片资源| 亚洲成人福利片| 国产成人精品免费看视频| 色悠悠久久久久| 色成人综合网| 亚洲欧美日本国产有色| 毛片基地黄久久久久久天堂| 欧美性xxxx图片| 亚洲一卡二卡三卡四卡五卡| 国产精品呻吟久久| 在线观看日韩av| 久久久久黄色| 水蜜桃亚洲精品| 美国欧美日韩国产在线播放| 亚欧洲乱码视频| 亚洲国产视频一区| 欧美一级特黄aaaaaa| 欧美激情极品视频| 国内精品国产成人国产三级粉色 | 91免费在线视频网站| 91久久电影| 少妇一级淫免费播放| 国产精品热久久久久夜色精品三区 | 免费看一级大黄情大片| 久久综合一区二区| 国产又粗又爽视频| 中国日韩欧美久久久久久久久| 欧美在线va视频| 国产精品美女在线播放| 狠狠色丁香婷综合久久| 亚洲综合视频网站| 亚洲精品一区二区三区蜜桃下载 | 欧美成aaa人片免费看| 精品视频在线播放一区二区三区| 男人添女荫道口女人有什么感觉| 国产福利91精品一区二区三区| 999福利视频| 日韩精品一区二区三区在线播放| 在线中文字幕电影| 精品伊人久久大线蕉色首页| 一区二区日韩免费看| 岛国片在线免费观看| 欧美喷水一区二区| 浪潮av一区| 超碰国产精品久久国产精品99| 欧美日韩亚洲一区| 亚洲熟妇无码av| 欧美在线观看一区| 污污影院在线观看| 国产综合av一区二区三区| 日韩vs国产vs欧美| 久久嫩草捆绑紧缚| 亚洲第一级黄色片| 三上悠亚亚洲一区| 先锋影音一区二区三区| 国产九九视频一区二区三区| 久久精品一级片| 亚洲欧美福利视频|