基于Storm的微博实时推荐系统的设计与实现
发布时间:2019-07-13 19:48
【摘要】:随着移动互联网时代的来临,广大互联网用户获取资讯、体验互联网服务更加的便捷,社交网络服务也得到了井喷式发展,并成为了人们日常生活中的不可或缺的部分。微博是一个基于用户关系的信息分享、传播以及获取的新兴社交网络平台。以新浪微博为例,目前日活跃用户大概有几千万,每天产生几亿条新微博。面对如此海量的信息,如何及时的为微博用户推荐感兴趣的微博和热门关键词,已然成为一个急需解决的问题。本论文研究了基于storm的微博实时推荐系统的设计与实现,主要的工作包括以下三个方面:首先,分析了微博推荐系统的研究进展,以及大数据处理的相关技术,包括Hadoop分布式计算框架,Storm实时分布式计算框架、Kafka分布式发布订阅消息系统、滑动窗口模型等。其次,对微博实时推荐系统的整体架构进行了设计,将系统分为数据采集,数据离线处理,数据实时处理,数据储存以及数据展示五个子系统。其中数据采集子系统包括微博API和爬虫两个模块;数据离线处理子系统主要是基于Hadoop采用空间向量模型,并加入了基于牛顿冷却定律的时间因子,对微博用户的历史数据进行离线的兴趣建模,计算用户的兴趣向量;数据实时处理子系统主要是使用storm对用户在微博展示界面的行为进行实时分析,来更新用户的兴趣模型和实现基于改进的滑动窗口模型的微博热门关键词的计算以及为用户实时推荐兴趣微博;数据储存子系统主要是存储系统的各种数据;数据展示子系统主要是展示用户订阅的微博,为用户推荐的热门关键词以及为用户推荐的微博。基于storm、Hadoop以及Kafka平台,设计并实现了各个子系统。最后,搭建测试平台,对系统进行性能以及功能测试,并对系统主要模块的功能进行了分析和验证,实验结果表明系统达到了设计要求。系统采用分布式的架构设计,具有高可用,高扩展,计算能力强等特性。可以方便的帮助微博用户高效的使用微博,为微博用户提供更好的个性化、差异化的推荐服务。
文内图片:![图2-1邋Hadoop生态系统[18]逡逑](http://image.cnki.net/getimage.ashx?id=1017292460.nh0004)
图片说明: 2.1.1逦Hadoop生态系统筒介逡逑现今Hadoop己经成长为一个庞大的体系,渗透到大数据处理的各个领域。逡逑图2-1是一个Hadoop家族的生态图谱。Hadoop作为一个生态系统,其生态圈内逡逑的每个子系统的都专注于解决某一特定领域的问题,这也是Hadoop的一个吸引逡逑人的魅力所在:由许多小而精的子系统构成[19]。在表2-1中列举出了邋Hadoop生逡逑态系统中的各个组件及其功能。逡逑6逡逑
文内图片:
图片说明: MapReduce的名字来源于其模型中的两项核心操作:Map阶段和Reduce阶逡逑段。Map阶段主要是对输入进行整合,将读取的内容以键值对的形式输出。Reduce逡逑阶段负责对Map阶段输出的数据进行后续处理。图2-2是MapReduce数据处理逡逑的流程图。逡逑在数据进行MapReduce处理阶段,首先Hadoop会对数据进行分块处理,,之逡逑后将数据信息交给Map任务去读取处理,产生相应的键值对数据。之后进入逡逑Reduce阶段,执行预先定义的Reduce函数,即将具有相同key的数据集中在一逡逑起进行处理,最后将结果输出到HDFS上。逡逑Hadoop集群由普通PC构成,是无共享式架构,在数据处理之前,将数据逡逑分块后储存到各个节点上。在需要处理数据时,Map函数就近的读取本地储存的逡逑数据,将数据处理完再进行合并、排序操作后分发给Reduce函数处理。逡逑Splitl逦逦?{逦Map()逦Reduce()邋)逦?part。逡逑Split2逦逦MapQ逦ReduceQ邋)逦?parti逡逑Sp?3逦逦^邋MapQ逦^逡逑Spl(t4逦逦Map(}逡逑图2-2MapReduce数据处理流程图[1逡逑2.1.3邋HDFS邋简介逡逑HDFS邋是邋Hadoop邋Distributed邋Hie邋System邋的缩写
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP391.3
本文编号:2514236
文内图片:
图片说明: 2.1.1逦Hadoop生态系统筒介逡逑现今Hadoop己经成长为一个庞大的体系,渗透到大数据处理的各个领域。逡逑图2-1是一个Hadoop家族的生态图谱。Hadoop作为一个生态系统,其生态圈内逡逑的每个子系统的都专注于解决某一特定领域的问题,这也是Hadoop的一个吸引逡逑人的魅力所在:由许多小而精的子系统构成[19]。在表2-1中列举出了邋Hadoop生逡逑态系统中的各个组件及其功能。逡逑6逡逑
文内图片:
图片说明: MapReduce的名字来源于其模型中的两项核心操作:Map阶段和Reduce阶逡逑段。Map阶段主要是对输入进行整合,将读取的内容以键值对的形式输出。Reduce逡逑阶段负责对Map阶段输出的数据进行后续处理。图2-2是MapReduce数据处理逡逑的流程图。逡逑在数据进行MapReduce处理阶段,首先Hadoop会对数据进行分块处理,,之逡逑后将数据信息交给Map任务去读取处理,产生相应的键值对数据。之后进入逡逑Reduce阶段,执行预先定义的Reduce函数,即将具有相同key的数据集中在一逡逑起进行处理,最后将结果输出到HDFS上。逡逑Hadoop集群由普通PC构成,是无共享式架构,在数据处理之前,将数据逡逑分块后储存到各个节点上。在需要处理数据时,Map函数就近的读取本地储存的逡逑数据,将数据处理完再进行合并、排序操作后分发给Reduce函数处理。逡逑Splitl逦逦?{逦Map()逦Reduce()邋)逦?part。逡逑Split2逦逦MapQ逦ReduceQ邋)逦?parti逡逑Sp?3逦逦^邋MapQ逦^逡逑Spl(t4逦逦Map(}逡逑图2-2MapReduce数据处理流程图[1逡逑2.1.3邋HDFS邋简介逡逑HDFS邋是邋Hadoop邋Distributed邋Hie邋System邋的缩写
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP391.3
【参考文献】
相关期刊论文 前4条
1 高凤丽;孙连山;;个性化推荐系统概述[J];技术与市场;2015年02期
2 宋亚奇;刘树仁;朱永利;王德文;李莉;;电力设备状态高速采样数据的云存储技术研究[J];电力自动化设备;2013年10期
3 许小媛;程宏兵;;基于云计算的海量数据存储[J];制造业自动化;2013年13期
4 贺玲;吴玲达;蔡益朝;;数据挖掘中的聚类算法综述[J];计算机应用研究;2007年01期
相关硕士学位论文 前9条
1 刘晖;基于Hadoop的微博推荐系统的设计及实现[D];中国科学院大学(工程管理与信息技术学院);2014年
2 任青;基于Hadoop云平台的社交网络服务推荐算法的研究[D];吉林大学;2013年
3 耿玉娇;MapReduce中基于抽样技术的倾斜问题研究[D];大连海事大学;2013年
4 郝向涛;基于Hadoop的分布式文件系统技术分析及应用[D];武汉理工大学;2013年
5 汪晔;基于用户关系链的微博收听推荐系统设计与实现[D];华中科技大学;2013年
6 周姚;基于云计算的文本挖掘技术研究[D];国防科学技术大学;2011年
7 晏金;分布式文件系统在G/S模式中的应用研究[D];成都理工大学;2010年
8 庄永龙;基于项目特征模型的协同过滤推荐算法研究[D];南京理工大学;2008年
9 吴昕方;基于特征的个性化电子商务网站推荐系统的研究与实现[D];华东师范大学;2006年
本文编号:2514236
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2514236.html