旅游推荐系统
摘 要
随着社会的快速发展和人们生活水平的不断提高,旅游已逐渐成为人们生活的重要组成部分,用户能够获取旅游信息的渠道也随信息技术的广泛应用而增加。大量未经过滤的信息在展示给用户的同时,也淹没了用户真正感兴趣的信息。为了方便用户快速定位自己感兴趣的信息,个性化旅游推荐系统应运而生。
本系统的前端界面主要实现页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有Java编程语言,Springboot框架,MySQL数据库的旅游推荐系统解决了传统旅游推荐方式中数据分析所带来的人力、物力和时间上的虚耗和交流深度的限定,这让交流的过程更快捷、准确、便利,同时完成旅游推荐系统的基本功能:用户管理、景点资讯、景点分类、景点信息,景点攻略等。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对旅游推荐系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现旅游推荐系统和部署运行使用它。
关键词:旅游推荐;Springboot框架;Mysql数据库
Tourism recommendation system
Abstract
With the rapid development of society and the continuous improvement of people's living standards, tourism has gradually become an important part of people's life. The channels for users to obtain tourism information also increase with the wide application of information technology. While a large amount of unfiltered information is displayed to users, it also drowns out the information that users are really interested in. In order to facilitate users to quickly locate the information they are interested in, personalized tourism recommendation system came into being.
The front-end interface of the system mainly realizes the beauty and dynamic effect of the page, so as to make it conform to the aesthetics of the masses. The main technologies used in the background mainly include Java programming language, springboot framework and MySQL database. The tourism recommendation system solves the waste of human, material and time and the limitation of communication depth caused by data analysis in traditional tourism recommendation methods, This makes the communication process faster, accurate and convenient, and completes the basic functions of the tourism recommendation system: user management, scenic spot information, scenic spot classification, scenic spot information, scenic spot strategy, etc. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. This paper analyzes the various requirements and technical problems of the tourism recommendation system, proves the necessity and technical feasibility of the system, then makes a basic introduction to the technical software and design ideas needed to design the system, and finally realizes the tourism recommendation system and deploys it.
Key words:Tourism recommendation; Springboot framework; The Mysql database
目 录
联合国世界旅游组织2014年报告显示,旅游业占到全球GDP的 9%,为各国GDP增长和社会的发展做出了巨大贡献,是世界上领先的行业之一U。此外,在过去的六十年,旅游业经历了持续扩张和多元化,成为世界上最大和增长最快的经济部门。世界旅游组织预测,世界范围内的旅游业也将会持续、快速的发展,到2020年旅游者的数量将会翻两倍。国家旅游局显示,我国已连续4年成为世界第一大出境旅游消费国,对全球旅游收入贡献平均超过13%。信息化作为新技术革命的主要内容,正在并将继续对人们的生产生活和社会交往发生重大而深远的影响。但旅游业是一个高度依赖信息资源的行业,信息化将是旅游业发展为现代服务业的主要技术支撑力量,计算机技术将会在旅游行业得到应用,加速旅游业的信息化。2011年7月,国家旅游局提出了我国将争取用10年左右时间,初步实现基于信息技术的“智慧旅游”,即智慧旅游区建设、智慧交通、智慧餐饮、智慧预订等,把旅游业发展成为高信息含量、知识密集的现代服务业,智慧旅游由此兴起。智慧旅游是传统旅游方式的延伸,是智能信息化的旅游服务,以先进的计算机技术为核心,为用户提供个性化的服务,给用户带来全新的服务体验。通信技术、物联网、人工智能、大数据以及云计算等技术都被应用到了智能旅游中,将旅游业推到了一个新的高峰。
我国大部分的旅游系统在开发初期,由于缺少对旅游行业和网络运营的全而了解,未能找准切入点,使旅游系统建成之后缺乏特色与“卖点”,往往照搬照抄其它旅游系统的现成模式,成为欧美等网络业发达国家网站的中文翻版,或者是大型网站的缩影。其结果是版而设计相似,内容雷同,重复建设问题严重,既没有形成具有一定规模的经营模式,也没有达到网上促销、预订的高成功率,使整个旅游业电子商务的销售额少得可怜。旅游产品交易的安全性问题是旅游网站发展的瓶颈。是否能够确保在动态、开放的旅游网站上,安全的完成旅游产品的整个交易过程,是旅游者选择网站上购买旅游产品首要考虑的问题之一。而我国大部分旅游网站在线支付手段不健全,缺乏统一的标准体系,在线交易的安全性更是令人担忧。恶意订购、交易出错的现象屡见不鲜,所以,消费者对旅游产品的网上交易信赖度不高。还有就是在智能旅游中,景点的智能推荐是旅游服务中重要的一部分,因为旅游者主要目的是参观景点。但关于景点的智能推荐并没有一个准确统一的定义,目前主流的智能推荐系统主要是根据用户浏览的景点信息,推算出用户的兴趣所在,然后将相关的景点推荐给用户。智能推荐系统能够在用户迷茫的时候,给用户推荐出适合当前兴趣的结果,满足用户的需求。因此,推荐系统的准确性将是一个评判系统性能的关键指标,如何能够推荐出更加符合用户兴趣的景点是非常关键的。
在国外,由于信息化比较早,互联网的出现就出现了推荐系统,因此在国家旅游信息系统方面的研究也比国内早,旅游推荐系统的研究也比国内深入。国外旅游网站的发展可划分为三个阶段。
(1)萌芽阶段:IBM和美利坚航空公司于1959年开发了世界上首个计算机订位系统(SABRE) ,这是旅游电子商务发展的萌芽。
(2)发展阶段:1978-1994年这段时间订购机票、预定酒店以及租车等业务可以通过网络完成,旅游网站进一步得到推广。
(3)繁荣阶段:1995年世界旅游组织、美国国家旅游局等机构举办了世界信息技术与旅游会议,体现了计算机技术对旅游业的重要性,进一步推动了旅游网站的发展进程。
国内旅游信息化从改革开放后才开始,起步比较晚,八十年代末才有关于旅游信息系统的研究,但主要还是对旅行社的信息进行管理,这是我国将信息技术用于旅游业的开始。国内旅游网站的发展大致可以划分为三个阶段。
(1)1998-2002年为孕育阶段,随着互联网技术的兴起,旅游网站也乘着这股热流开始建立,如今中国的主流旅游网站大都是在这个时期建立的。
(2)2003-2008年属于旅游网站快速发展阶段,随着互联网的快速发展,传统旅游服务行业都加入在线旅游模式,国内网上旅游吸引了大量的用户,得到了爆发式的增长。
- 2008年以后,旅游网站的发展进入成熟阶段,网上旅游成为旅游业的重要组成部分,但仍在逐步发展。
在旅游信息化的初级阶段,国内旅游网站大都定位于为用户提供酒店、机票等产品的预定服务,以及旅游景点相关信息的介绍方面,并没有个性化方面的推荐服务。创立于1999年的携程网是国内建立较早的一个旅游网站,主要定位于提供全方位的产品预订,但在推荐方面却只是简单的推荐一些当前比较热门的旅游景点和旅游路线,并没有起到推荐作用。2006年创立的途牛旅游网提供个性化的旅游服务,为用户定制旅游路线等服务,但该个性化服务并不是使用推荐技术实现的,而是通过人工客服实现的。
国内推荐算法的研究不是很早,因此旅游网站的推荐系统的研发也比较晚。2005年张晗等人利用Apriori算法产生关联规则,将形成的频繁项集以个性化旅游服务商品的形式展示给用户,这是国内较早实现个性化推荐算法的研究。次年,张晗等人提出一种综合信息检索、联机分析处理和数据挖掘等多种技术的智能旅游推荐系统。2009年张晗等人提出一种改进的Apriori算法作为旅游信息的推荐算法,同时用协同滤波对旅游信息进行推荐。王先飞等人提出一种基于约束的旅游推荐系统以会话式的交互方式逐步地启发用户的偏好和需要,利用多属性效用理论对推荐结果进行排序。谢海峰将用户建模技术和推荐方法结合起来,建立基于粗糙集理论的旅游产品推荐系统,为用户提供个性化的旅游服务。
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。
-
- Vue.js 主要功能:
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
1.7.1可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
1.7.2内嵌Tomcat或Jetty等Servlet容器;
1.7.3提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
1.7.4尽可能自动配置Spring容器;
1.7.5提供准备好的特性,如指标、健康检查和外部化配置;
1.7.6绝对没有代码生成,不需要XML配置。
-
- Mysql数据库
Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[8][9]。
针对本文中设计的景点推荐旅游网站在实际的实现过程中,最终选择Mysql数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的Mysql来对景点推荐旅游网站后台数据进行存储操作。
-
- B/S体系结构:
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、