数据驱动的商品推送系统的设计与实现
发布时间:2017-04-08 16:06
本文关键词:数据驱动的商品推送系统的设计与实现,由笔耕文化传播整理发布。
【摘要】:随着网络消费的爆炸式增长,用户对购物网站的依赖越来越重,但随着用户的增长,用户对网站内容的要求也越来越高,网站的运营活动也越来越丰富。我们推出了Data Operate System(DOS),一个商品信息推送系统,旨在帮助运营人员更高效的运营网站活动。DOS平台由不同的服务组成,对于商品推送的部分主要由三个服务构成:方案配置服务、请求处理服务、以及数据构建服务,采用数据驱动的方式实现商品信息的合理排序。首先实现了方案配置服务,通过对购物网站的页面结构进行抽象,将实际的页面抽象成树。将运营页面的结构布局用树的形式表示,进而将运营对WEB页面的规划转为对树的操作,从而实现了WEB页面结构的可配置化。然后实现了请求处理服务。采用链式的结构设计,对请求进行白名单校验和业务逻辑过滤,实现了业务上的可扩展。采用分层的缓存设计来提升系统性能。采用三层的缓存架构保证了服务的可靠性和可用性。对于热点数据带来的潜在风险,采用Least Recently Used(LRU)缓存来规避热点数据可能带来的问题。通过流量限制来保护系统的可用性。最后实现了数据构建这一核心服务,实现中采用了责任链的设计模式和观察者模式。针对数据构建流程,抽象出处理模板和方法,便于服务的扩展。对于依赖的数据服务采用消息监听机制来获取数据变化的通知,从而实现服务间的解耦,采用布隆过滤器优雅的实现消息的过滤处理。对于缓存数据的更新处理采用建立商品的倒排方式实现准确更新,利用分布式版本来解决倒排建立中的冲突问题。定义了数据构建过程中商品排序的两种指标,一种为GMV最大化指标,另一种为可能成交额最大化指标,并阐述了两个指标的意义和应用场景。根据活动的目标的不同,选取不同的排序指标。系统上线后满足了运营人员的实际需求,大大简化了其工作流程,极大的提高了其工作效率。由于输出商品的排序和商品表现相关,运营的活动页面成交额较之前有了成倍的增长。在双11活动中,系统经历了高并发的检验,成功的实现了零故障的稳定服务。
【关键词】:信息推送 数据驱动 解耦 LRU缓存 布隆过滤器
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.092;TP391.3
【目录】:
- 摘要4-5
- ABSTRACT5-8
- 第1章 绪论8-15
- 1.1 课题来源及研究意义8-9
- 1.2 与课题相关的国内外研究综述9-13
- 1.2.1 数据化运营9-10
- 1.2.2 缓存中间件10-11
- 1.2.3 实时数据采集和处理11-12
- 1.2.4 大型网站的降级限流措施12-13
- 1.3 主要工作内容13-15
- 第2章 商品推送系统需求分析15-21
- 2.1 配置服务需求分析15-17
- 2.1.1 业务需求分析15-16
- 2.1.2 用例分析16-17
- 2.2 请求处理服务的需求分析17-19
- 2.2.1 请求处理服务的功能要求17-19
- 2.2.2 请求处理服务的技术目标19
- 2.3 数据构建服务的需求分析19-20
- 2.3.1 功能需求分析19-20
- 2.3.2 技术需求分析20
- 2.4 本章小结20-21
- 第3章 商品推送系统的总体结构设计21-28
- 3.1 系统总体架构设计21-22
- 3.2 请求处理服务的架构设计22-24
- 3.3 数据构建服务的架构设计24-25
- 3.4 功能结构设计25-27
- 3.5 本章小结27-28
- 第4章 商品推送系统详细设计与实现28-56
- 4.1 方案配置服务的设计与实现28-36
- 4.1.1 数据库设计28-32
- 4.1.2 节点操作的设计与实现32-36
- 4.2 请求处理服务的设计与实现36-42
- 4.2.1 链式结构设计36-38
- 4.2.2 热点缓存的设计与实现38-41
- 4.2.3 分层缓存的设计与实现41-42
- 4.3 数据构建服务的设计与实现42-52
- 4.3.1 全量任务划分43
- 4.3.2 分包设计43-45
- 4.3.3 处理链路的设计与实现45-48
- 4.3.4 消息处理的设计与实现48-49
- 4.3.5 缓存数据的结构设计49
- 4.3.6 缓存数据的更新49-52
- 4.3.7 排序结果构建52
- 4.4 排序指标的定义52-55
- 4.4.1 GMV最大化指标定义54
- 4.4.2 可能成交最大化指标54-55
- 4.5 本章小结55-56
- 第5章 商品推送系统的系统测试56-66
- 5.1 方案配置服务功能测试56-59
- 5.1.1 方案查询56-57
- 5.1.2 方案的新增和修改57-59
- 5.2 请求处理端功能测试和性能测试59-63
- 5.2.1 功能测试59-60
- 5.2.2 性能测试60-63
- 5.3 服务处理端性能测试63-65
- 5.4 本章小结65-66
- 结论66-67
- 参考文献67-71
- 致谢71-72
- 个人简历72
【参考文献】
中国期刊全文数据库 前4条
1 王江静;;Web应用的新技术HTML5[J];电脑知识与技术;2012年31期
2 陈玲;;基于nginx、tomcat、redis的高性能Java Web开源架构[J];计算机光盘软件与应用;2014年22期
3 蒋乐天,徐国治;软件缺陷及软件可靠性技术[J];计算机仿真;2004年02期
4 曾超宇;李金香;;Redis在高速缓存系统中的应用[J];微型机与应用;2013年12期
本文关键词:数据驱动的商品推送系统的设计与实现,,由笔耕文化传播整理发布。
本文编号:293197
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/293197.html