设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>毕设资料 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于大数据(Hadoop+Java+MySQL)的数码商城购物推荐系统设计与实现 文献综述.
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

基于大数据的推荐系统

摘  要: 基于大数据的推荐系统的实现主要基于hadoop的mapreduce程序,利用数学上的共线矩阵算法,来求出商品之间的亲密度,这个是要由用户购买的历史数据,经过分析求出来的。现在大数据时代已经到来,现在比较流行的就是hadoop和spark,hadoop是针对于离线数据的分析,而spark可以实时的对数据作出分析,还有一种技术是storm,它也可以做到实时对数据做出分析,但是它具有不稳定性,所以大多数公司都不用它,目前我所知道的只有阿里巴巴在用storm,因为阿里巴巴有一支团队专门研究storm的,他们在storm研究上已经有所突破,但他们对外是保密的,所以别的公司都用spark和hadoop。我开发的这个系统,采用了C/S结构,前端页面与后台实时连接,同时与数据库也实时连接,我采用的是Mysql数据库,我之所以选择它,是因为Mysql数据库是一个免费的数据库,而且很好用,内存占用也特别小,好多公司都在使用Mysql数据库。在推荐算法部分,我选择的是免费开源的hadoop,因为它配置简单,开源,免费,用Java编程,网上教程多。登录注册部分,我采用的是Spring Mvc框架,因为它只需要简单的配置就可以实现很多功能,如映射SQL语句,JDBC的配置文件,获取Servlet,扫描包文件,很容易就能实现登录和注册功能。页面部分,我采用的是CSS/DIV结合,还有JS设计出动感,优美的页面。

关键词:推荐系统;C/S结构;Mysql数据库;JSP;Spring MVC;Servlet

Abstract: the implementation of recommendation system for large data mainly based on the Hadoop MapReduce program based on the collinear matrix algorithm in mathematics, to find out the commodity intimacy between, this is historical data to be purchased by the user, through the analysis for the. Now the big data era has come, is now more popular Hadoop and spark, Hadoop is the analysis for offline data, spark can real-time data analysis, there is a kind of technology is storm, it can also achieve real-time data to make analysis, but it is unstable, so most companies do not have it now, I know the only Alibaba in storm, because the Alibaba has a dedicated research team of storm in storm, their research has been a breakthrough, but their foreign is confidential, so other companies are using spark and hadoop. I developed this system, using the C/S structure, the front page and backstage real-time connection with the database, real-time connection, I use the Mysql database, I chose it because the Mysql database is a free database, but also very good, but also very small memory footprint, many companies are in use Mysql database. In the recommended part of the algorithm, I chose the free open source Hadoop, because it is simple, open source, free, with Java programming, online tutorials. Login part, I use the Spring Mvc framework, because it requires only a simple configuration can realize many functions, such as mapping the SQL statement, JDBC configuration files, access to Servlet, scan package file, it is easy to achieve the login and registration functions. Part of the page, I used a combination of CSS/DIV, as well as JS design dynamic, beautiful page.

Key words: recommendation system; C/S structure; Mysql database; JSP; Spring MVC; Servlet


引言


近年来,互联网在飞速发展,可以说已经深入人心,到了今天,人们不可能在离开网络了。现在人们足不出户就可以购物,聊天,消费,我们的生活越来越智能,越来越人性化,随之而来的就是让它更懂你,给你推荐你可能喜欢的东西,这样你就不必再费力去找你喜欢的东西,既节约了你的宝贵时间,又让你感到这是一次愉快的经历。所以,最近几年,推荐系统很是受欢迎,在生活中也逐渐流行起来。

现在,当我们浏览视频网站,他们会给我们推荐我们可能喜欢的电影或者电视剧。当我们浏览歌曲网站的时候他们会给我们推荐我们可能喜欢的歌曲。当我们浏览购物网站时,他们就会推荐我们可能喜欢的商品。现阶段做的最好的就要数京东和淘宝了,他们可以做到实时推荐[1]。推荐系统有两种,一种是实时推荐,根据你浏览商品的痕迹来推断你可能喜欢的商品。还有一种就是离线推荐,它是根据商品与商品之间的联系来推断出你可能喜欢的商品,就行手机和手机保护壳的关系,它是根据大数据分析得来的商品与商品之间的亲密度。

1.推荐系统的发展

在国外,说起推荐系统大家就会想到机器学习和R语言,在机器学习方面国外确实很先进,这一点非常值得我们学习,因为国外机器学习的技术很成熟,以及他们对各种特别复杂特征的利用方式逐步达到成熟,所以他们在推荐算法这一块很先进,我们和他们还有一定的差距。现在国内较大的公司如阿里巴巴,京东和今日头条等,他们都在广泛的使用机器学习来构建属于他们的推荐系统。传统的协同过滤算法推荐[2]、tag推荐、和各种你可以看懂的它们基于规则的或者是群体智能还有甚至是物理学的传统的推荐算法它们都在逐渐被淘汰。它们这点在内容上的推荐表现的很明显,因为它们这些传统的推荐方法都不能解决针对长尾内容上的精细化推荐还有热度穿透等一系列的问题,而且在效果上也是远远的不如机器学习算法。

2.推荐系统的意义

就现在而言,虽然推荐系统很受欢迎,但大多数做的不够好,好多网站都是用的是别的公司的产品,所以在大数据推荐系统这一块还是很有前景的。大数据这门技术也是近几年刚刚兴起的,它的潜力和价值是无可限量的,它可以应用到各个领域,所以这对我们来说是个机遇,我们一定要抓紧,研究出属于我们自己的知识产权,创新技术。但是,随着推荐系统的流行,一些紧迫的问题也就出来了,比如说用户的隐私泄露问题,推荐算法的鲁棒性[3],冷启动问题[4]。解决用户隐私问题的关键就是要提高公民的道德,素质,认知。当然我们也可以从权限上尽量避免这个问题。对于推荐算法的鲁棒性,解决办法一般有两种。一种就是对攻击检测然后发现推荐系统中的攻击,再然后就可以消除或降低这些攻击对推荐系统的影响。另外一种方法是设计出更加健壮的推荐算法。而对于冷启动,解决办法就是发展大数据,是每个人的属性都存储在身份证里,这样你登录某个网站,这个网站通过你的身份证号就可以获取到你的信息,即使你是第一次登录也没关系,系统可以根据你身份证里的数据同样可以给你推荐你可能喜欢的东西或热点,当然这是未来发展的趋势,现在还不能实现。

3.推荐系统的设计

3.1系统总体设计

本系统主要包括用户登录注册模块的设计、推荐算法的设计、购物车设计、用户管理设计。

具体如下:

图1  推荐系统结构图

3.2系统架构设计

本设计的开发是基于C/S结构,采用本系统我采用的是Java Spring MVC架构,它的优点就是好多功能都集成在了架构内,想用到什么功能直接配一下就好了。它的功能原理图如图2.1所示:

图2  系统架构图

4.系统数据库设计

4.1数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理[2]不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储,有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

4.2概念结构设计

概念结构设计是将分析得到的用户需求抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系概念结构设计模型。这样才能更好地、更准确地用某一DBMS实现这些需求。它是整个数据库设计的关键。

概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。

5.系统实现

5.1程序的实现

本系统为用户提供实现了以下功能:

(1)用户登录:

成功注册过的用户通过正确的用户名和密码可以进行登录

(2)用户注册:

用户在登录之前一定要先注册,注册要输入合法的用户名和密码,否则是不能注册成功的。

(3)推荐算法模块:

给用户推荐商品的算法实现,依据与用户购买的历史数据,通过大数据处理技术对数据进行挖掘,得到要推荐的商品写入数据库,再通过页面展示出来。

基于用户的协同过滤算法原理[5]的实现过程以及实现原理就如下图3所示:

图3  协同过滤原理图

最后推荐结果运行效果图如图4所示:

图4  推荐结果图

(4)购物车:

用户可以把喜欢的商品加入到购物车,在购物车里可以付款购买商品。购物车可以添加多个商品,很方便用户购物,方便用户体验。

购物车运行效果图如图5所示:

图5  购物车效果图

(5)系统主页面:

用户可以查看商品分类,根据自己喜欢的类型查找商品,还有就是推荐部分页面展示,推荐有三种,一种是热门商品,一种新品首发,还有就是销量最多的商品。

推荐系统主页面如图6所示:

图6  推荐系统界面

小结

通过几个月来资料的收集和系统设计,基于大数据的推荐系统终于完成。本项目注重推荐算法的开发和功能的实用性,在经历了一个系统开发要经历各个阶段,自己一个人完成各个阶段的工作。

以下是我对推荐系统做的总结:

首先是创新点

1. 我在推荐系统的登录模块中用到了用户名唯一性标识,如果注册过的用户在此注册就会报错,提示用户手机号已经注册过了,还有就是对用户名的判断是否有效,我用了Java的正则表达式,来实现了这一功能。

2. 系统中最关键的部分就是推荐部分,推荐部分我是利用了Hadoop,我在Hadoop集群上跑MapReduce作业,然后通过JDBC API写到Mysql数据库,然后通过网页显示出来,这样做的好处就是简单易懂,而且Hadoop开源免费,便于人们学习,网上的学习资料也多。Hadoop处理大数据的能力还是很乐观的,处理T级数据无压力。

系统优点

1. 系统页面很漂亮,动感很强,值得体验。

2. 页面设计很有目的性,让用户一眼就能看到自己想买的商品在哪。

3. 用户体验性更好,操作更加简单

系统缺点

1. 该系统所用的数据是离线的,需要先运行MapReduce作业才能获取数据写入数据库。不能实时推荐。

2. 本系统数据未进行数据库加密,在安全形方面还有待于改进。

3. 推荐系统的鲁棒性,和冷启动问题还存在。

4. 推荐算法[6]过于复杂,设计多个MR作业。

存在问题及拟解决方案

问题一:

用户密码存入数据库没有通过MD5的方式来加密,到数据库是可以看到用户密码的,这样密码容易泄露。

解决方案:

为了安全性考虑,最好采用加密技术对密码加密。本人欲使用MD5加密技术进行加密。

问题二:

系统本身存在鲁棒性问题 ,这对推荐结果的影响还是很大的。

解决方案:

解决办法一般有两种。一种就是对攻击检测[12]然后发现推荐系统中的攻击,再然后就可以消除或降低这些攻击对推荐系统[5]的影响。另外一种方法是设计出更加健壮的推荐算法。

问题三:

受技术限制,推荐系统只能完成根据离线数据,分析离线数据,为用户做出合理的推荐。

解决方案:我会继续看关于大数据的资料,继续学习大数据技能,以后会继续完善系统,真心的希望有一天能做的像淘宝京东一样,真正的做到实时推荐。

参考文献


[1]  TomWbite.Hadoop权威指南[M].清华大学出 版社,2016.3.

[2]  廖华.基于客户生命周期与交易偏好的商品推荐方法[J].大家,2010(8):12-20.

[3]  赵亮,胡乃静,张守志.个性化推荐算法设计[J] .算机研究与发展,2002(8):23-28.

[4]  蔡浩.结合用户信任模型的协同过滤推荐方法[J].计算机工程与应用,2010(35):42-53.

[5]  胡斌.一种基于用户特征和时间的协同过滤算法[J].武汉理工大学学报,2009(3):3-9.

[6]  孙一林,彭波.Java数据库编程实例[M].清华 大学出版社,2015.

[7]  孙卫琴.Tomcat 与 JSP Web 开发技术详解[M].电子工业出版社,2003年6月:56-78.

[8]  王宏宇.商务推荐系统的设计研究[D].中国科学技术大学 2007.

[9]  刘龙.一个实现个性化实时路径推荐服务的推荐系统框架[D].中国科学技术大学2014.

[10]  徐浩.移动情景感知的实时推荐技术研究

[D].国防科学技术大学 2015.

[11]  甘冈.Linux/UNIX 网络编程[M].北京:中国水利水电出版社,2008:43-224.

[12]  殷风景.个性化信息推荐中若干关键问题与技术研究[D].国防科学技术大学 2014.

[13]  胡亮.集成多元信息的推荐系统建模方法的研究[D].上海交通大学 2015.

[14]  于程远.基于QoS的Web服务推荐技术研究[D].上海交通大学 2015.

[15]  方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005。


  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
台式数控等离子切割机机械结构设计 台式数控等离子切割机机械结构设计 台式数控等离子切割机机械结构设计
基于PLC的罐装加工过程为全自动 基于Python电影推荐系统设计 基于西门子S7-200PLC四层
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!