1. 程式人生 > >第三方庫存資料一致性解決

第三方庫存資料一致性解決

1、面臨的問題

1.1 第三方可用性差

1.2 網路的不確定性

1.3 第三方支援度低

2、解決方案

2.1 從無到有,資料全量拉取

應用前提:全量資料量少,網路效率高,拉取時間效率可控

應用案例:直連平臺每n分鐘主動拉取供應商下的全部酒店下全部房型資訊以及60天內的價格,庫存,售賣取消規則等資訊。

問題:

網路不可控,會有中斷情況。

資料不一致會最大會持續n分鐘。

定時任務在n分鐘內完不成

2.2 分而治之,結合實際分析拉取部分資料

應用前提:業務分析,資料可分段處理

案例分析:根據酒店的預訂特點,調研了美團使用者的消費習慣:95%以上的使用者都在預訂10天內的酒店產品。

解決方案:固定時間點 1點,6點,11點全量拉取資料。每n分鐘拉取10天內資料。

問題:還是存在資料不一致情況,且10天內資料不一致情況在n分鐘。其他時間的資料在5小時

2.3 精益求精

應用前提:對系統業務有深入瞭解,有一定的預測規劃

解決方案:提前為使用者準備熱點資料

1、被動式使用者觸發

基於使用者瀏覽行為觸發更新(每一分鐘更新一次)

基於使用者下單行為觸發更新(每一分鐘更新一次)

2、庫存預測(二八原則 20%庫存解決80%使用者的需求)

基於協同過濾預測庫存熱點資料

基於神經網路預測庫存熱點資料

方案問題:

增加了系統的複雜度。

2.4 合作共贏,資料變化主動推送

應用前提:開發介面具備便利性和標準化

方案優點:資料精確度提升,減少系統複雜度,降低第三方業務訪問次數

方案缺點:需要提供接入的標準API,同時溝通成本較高。 解決方案:第三方在改變資料時,推送變化資料。

總結:

1、全量,增量拉取

2、觸發式拉取(使用者觸發和系統主動觸發)

3、變化主動推送