讯价详细设计
接口
讯价取商品最低价
参数:InfoCode
返回
ProviderPrice
providerId
providerName
price
updateTime
取多个商品价格(推荐商品)
参数:"InfoCode,InfoCode,InfoCode"
返回
HS
Key:InfoCode
Value:IList<ProviderPrice>
providerId
providerName
price
updateTime
指定商品在各供货商售价格比较
接收InfoCode
返回
IList<ProviderPrice>
providerId
providerName
price
updateTime
商品价格更新
更新内容
缓存
数据库
索引
接收InfoCode, IList<ProviderPrice>
返回更新结果(成功/失败)
Insert/Update
编辑热门商品
接收InfoCode(可接收多个)
单个性能要优于多个
讯价的规则
不讯价的情况
3小时内更新的热门商品
1天内更新的非热门商品
自动讯价频率
热门商品2小时一次
非热门商品1天一次
异常处理
讯价无结果使用原价格
延迟加载
讯价按功能按供货商及频道进行分类,便于维护。
现有数据结构修改
增加热门商品记录字段
GoodsInfo表加标识字段
索引加标识字段
商品分类
热门商品
非热闹商品
应用技术
缓存
性能考虑
300万长度的HS是否有性能问题?
几种拆分方式
按频道
简单
图书还是很大
按InfoCode安区间
各HS大小不等
HS可以会较多
热门/非热门
占用空间
预算
分类
商品价格数据
缓存结构
HS
Key:InfoCode
Value:IList<ProviderPrice>
providerId
providerName
price
updateTime
商品InfoCode String[]
服务
自动讯价
热门商品2小时一次
非热门商品1天一次
多线程、并行计算
线程池