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、变化主动推送