论文部分内容阅读
随着移动互联网时代的来临,广大互联网用户获取资讯、体验互联网服务更加的便捷,社交网络服务也得到了井喷式发展,并成为了人们日常生活中的不可或缺的部分。微博是一个基于用户关系的信息分享、传播以及获取的新兴社交网络平台。以新浪微博为例,目前日活跃用户大概有几千万,每天产生几亿条新微博。面对如此海量的信息,如何及时的为微博用户推荐感兴趣的微博和热门关键词,已然成为一个急需解决的问题。本论文研究了基于storm的微博实时推荐系统的设计与实现,主要的工作包括以下三个方面:首先,分析了微博推荐系统的研究进展,以及大数据处理的相关技术,包括Hadoop分布式计算框架,Storm实时分布式计算框架、Kafka分布式发布订阅消息系统、滑动窗口模型等。其次,对微博实时推荐系统的整体架构进行了设计,将系统分为数据采集,数据离线处理,数据实时处理,数据储存以及数据展示五个子系统。其中数据采集子系统包括微博API和爬虫两个模块;数据离线处理子系统主要是基于Hadoop采用空间向量模型,并加入了基于牛顿冷却定律的时间因子,对微博用户的历史数据进行离线的兴趣建模,计算用户的兴趣向量;数据实时处理子系统主要是使用storm对用户在微博展示界面的行为进行实时分析,来更新用户的兴趣模型和实现基于改进的滑动窗口模型的微博热门关键词的计算以及为用户实时推荐兴趣微博;数据储存子系统主要是存储系统的各种数据;数据展示子系统主要是展示用户订阅的微博,为用户推荐的热门关键词以及为用户推荐的微博。基于storm、Hadoop以及Kafka平台,设计并实现了各个子系统。最后,搭建测试平台,对系统进行性能以及功能测试,并对系统主要模块的功能进行了分析和验证,实验结果表明系统达到了设计要求。系统采用分布式的架构设计,具有高可用,高扩展,计算能力强等特性。可以方便的帮助微博用户高效的使用微博,为微博用户提供更好的个性化、差异化的推荐服务。