智慧导游项目解决方案说明书.docx
智慧导游项目解决方案说明书XX科技股份有限公司编制目录一、项目存在问题及需解决问题31 .存在问题32 .需解决问题4二、解决方案61 .解决方案架构62 .关键技术7(1) )Hadoop7(2) SpringMVC7(3) MyBatis8(4) Echarts8(5) MySQI8(6) Hive8(7) HBASE9(8) Zookeeper9(9) F1.ume9三、开发范围101 .数据生产102 .数据采集/消费103 .数据分析114 .数据展示12一、项目存在问题及需解决问题1 .存在问题我国当前旅游行业发展的目标是:“把旅游业培育成国民经济的战略性支柱产业和人民群众更加满意的现代服务业,导游要在这个旅游行业中最具代表性的工作岗位上做到让人民群众更加满意”,必须在坚持原有一切好的能力与素质的基础上,积极学习新知识,锻炼新能力,时刻紧跟时代发展潮流,与我国智慧旅游”同步发展,成为一名“智慧导游”。智慧旅游对导游服务的影响,主要体现在以下几方面:1 .旅游者自行出游数量激增使团队旅游数量减少随着我国居民收入的不断提高,旅游者个性化需求发展旺盛,单一的团队包价旅游已无法满足部分特殊旅游者需求。近年来自驾游、徒步游、自助游等开展的如火如茶,夺得了很大一部分团队旅游的市场空间。2、智慧旅游软件的讲解功能代替导游的景点讲解服务3、旅游者出游方式改变极大地降低了对导游的依锁性座游者出游只能服从导游统一安排的时代巳被智慧旅游时代所取代,旅游者可以根据自己的喜好设计旅游线路,选择交通工具前往并在线颈订酒店、门票,根据自己的兴趣随时改变行程,实现完全的旅游自主化。4,导游的经济收入会随着智慧旅游技术的进步逐年下降目前导游的薪酬体系仍然不健全,旅行社的专职导游基本工资很低,但随着智慧旅游技术的不断完善,智慧旅游软件逐步被人们接纳,团队游客量也会逐年缄少,导游的经济收入也会直线下降。2 .需解决问题智慧旅游利用物联网、云计算、大数据等技术实现了原来需要导游在带团服务过程中才能实现的导航、导游、导览、导购等功能,实现了基于互联网的各种信息及时更新、旅游者根据自己的兴趣点规划旅游区内行走路线、获得最佳旅游线路建议、通过线上与线下的结合购买更加适合自己的旅游产品。导游存在的根本价值没有动摇,目前变换的只是导游应如何应对智慧旅游带来的新机遇、新挑战,智慧导游应运而生。1 .有效利用新技术,实现与旅游者的线上与线下的有效交流当今社会电话和短信已不能满足人际间的沟通需要,qq、微信、微博等新信息化工具已经逐步被人们接受。导游员可以充分利用这些沟通工具深入与客人进行交流,分享旅游过程中的奇闻趣事,与游客进行讨论,互粉互发观点。2、通过管理平台与旅行社、饭店、景区实现有效信息交流智慧导游的工作离不开智慧旅行社的背后支持,导游可通过管理平台与旅行社及游客信息进行信息沟通,规划行程路线,安排时间日程。在外带团期间,通过信息管理平台及时提供各种信息,保证在突发事件发生后第一时间与相关部门取代联系,及时发布并获取最新旅游信息,动态共享给旅行社和游客,提高服务质量。及时了解不同游客群体的各类需求,帮助旅行社形成游客数据积累和分析体系,实现智能管理。3,提高自身文史知识与新时代话题的结合能力书面式的导游讲解已无法抓住旅游者的心,特别是智慧旅游时代的到来,为导游讲解提出了更高的要求。4、提高导游员自身基本讲解能力当前导游人员在带团过程中单纯背诵导游词,且导游词多年内容始终如一,没有加入时代元素,讲解不够细致,不能吸引旅游者。有的旅游者在出发前就巳对景点做足功课,不愿意听讲解。所以导游讲解词的内容应综合全面,将历史、人物、文化等多方面结合,根据现察旅游者的兴趣点进行重点讲解,不仅可以吸引旅游者注意力,也可以树立导游在他们心中的威信。5.导游应注重带团过程中个性化的细节服务,努力提高服务质量导游应尽力照顾好每位旅游者的旅行生活,尤其是注重个性化的细节服务。通过日常观察和与旅游者交流后判断游客类型,了解游客喜好,带团过程中有针对性地提供个性化服务。6、坚定服务人民大众观念,提高自身素质修养旅游行业提高自身核心竞争力可以从技术与人性两个维度进行改革,技术层面无论如何变化也不可能实现真正意义上完美旅游”的实现,导游服务过程中,要坚决抵制一切不良诱惑,始终以平和、善良的心态来对待工作,发挥人性的光辉,全面提高旅游服务质量。二、解决方案1 .解决方案架构1IB三af1.tMa图I解决方案能构图系统开发平台使用Hadoop大数据开发平台。Hadoop是一个高度可扩展的存储平台,可以存储和分发横跨数百个并行操作的廉价的服务器数据集群。能扩展到处理大量的数据,能提供成百上千TB的数据节点上运行的应用程序。Had。P能够有效的在几分钟内处理TB级的数据。相比关系型数据库管理系统更具有优势。它适用于任何规模的非结构化数据持续增长的企业,将帮助用户持续提高用户体的。系统采用面向对象的软件设计方法,把整个系统看作是多个离散对象的组合。系统设计时,首先把业务流程分解成功能模块及其业务实体对象,然后根据业务流程分析对于这些业务实体对象的操作方法,形成业务处理对象,最后把各个功能模块关联起来,形成系统。软件设计是一个将需求转变为软件的过程,系统通过逐步求精使得设计陈述逐渐接近于源代码。系统程序果用MVC的设计思想,将展现逻辑、控制逻辑、业务处理逻辑分离。系统采用参数化的设计思想,定义和管理系统的实体及配置,调整实体以适应外部变化。系统采用J2EE技术保证程序逻辑实现的平台无关性,并便于安装部署。系统采用AJAX技术,提高客户操作的交互性,保证实际使用的易用性。系统采用echarts可视化框架实现数据展示。2 .关键技术(1) HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。(2) SpringMVCSpringMVC:属于Spring1.'rameWork的后续产品,已经融合在SpringWebFIOW里面。Spring框架提供了构建Web应用程序的全功能MVC模块。(3) MyBatisMYBatis:是支持普通SQ1.查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XM1.或注解用于配置和原始映射,将接口和Java的POJOS(P1.ainO1.dJavaObjects,普通的JaVa对象)映射成数据库中的记录。(4) EchartsEChar1.s是一款基于Javascrip1.的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。(5) MySQ1.MySQ1.是一个关系型数据库管理系统,由瑞典MySQ1.AB公司开发,属于OraCIe旗下产品。MySQ1.是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQ1.是最好的RDBMS(Re1.ationa1.Da1.abaSeManagemCnISyStem,关系数据库管理系统)应用软件之一°MySQ1.是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQ1.所使用的SQ1.语言是用于访问数据库的最常用标准化语言。MySQ1.软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、思体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQ1.作为网站数据库。(6) Hivehive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQ1.查询方式来分析存储在Hadoop分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的SQ1.查询功能;可以将SQ1.语句转换为MapReduce任务运行,通过自己的SQ1.查询分析需要的内容,这套SQ1.简称HiveSQ1.,使不熟悉mapreduce的用户可以很方便地利用SQ1.语言查询、汇总和分析数据。而mapreduce开发人员可以把自己写的mapper和reducer作为插件来支持hive做更复杂的数据分析。它与关系型数据库的SQ1.略有不同,但支持了绝大多数的语句如DD1.、DM1.以及常见的聚合函数、连接查询、条件查询。它还提供了一系列的:具进行数据提取转化加载,用来存储、查询和分析存储在HadooP中的大规模数据集,并支持UDF(User-DefinedFUnCtiOn)、UDAF(USer-DefneSAggregateFunction)和UDTF(User-DefinedTab1.e-GeneratingFunction),也可以实现对map和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。(7) HBASEHBase-HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBaSe技术可在廉价PCSerVer上搭建起大规模结构化存储集群。(8) ZookeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是GOOgIe的ChUbby一个开源的实现,是HadooP和HbaSe的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。(9) F1.umeFIUme是CIoUdera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,F1.ume支持在日志系统中定制各类数据发送方,用于收集数据;同时,FIUme提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。三、开发范围1 .数据生产对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,数据生产是一套完整且严密的体系,这样可以保证数据的安全性。但是如果涉及到项目的一体化方案的设计(数据的产生、存储、分析、展示),则必须清楚每一个环节是如何处理的,包括其中每个环境可能障藏的问题;数据结构,数据内容可能出现的问题。2 .数据采集/消费数据采集模块(消费),在企业中你要清楚流式数据采集框架f1.ume和kafka的定位是什么。我们在此需要将实时数据通过f1.ume采集到kafka然后供给给hbase消费。f1.ume:C1.OUdera公司研发适合下游数据消费者不多的情况;适合数据安全性要求不高的操作;适合与Hadoop生态圈对接的操作。kafka:Iinkedin公司研发适合数据下游消费众多的情况;适合数据安全性要求较高的操作(支持rep1.ication);因此我们常用的一种模型是:线上数据一>f1.ume>kafka>f1.ume(根据情景增弱该流程)>HD1.-S线上数据一>f1.ume>kafka>sparkstreaming实时流式处理消费存储模块流程图:图2消费存储模块流程图3 .数据分析我们的数据已经完整的采集到了HBaSe桀群中,这次我们需要对采集到的数据进行分析,统计出我们想要的结果。注意,在分析的过程中,我们不一定会采取一个业务指标对应一个mapreduce-job的方式,如果情景允许,我们会采取一个InaPredUCe分析多个业务指标的方式来进行任务。分析模块流程图:图3分析模块流程图4 .数据展示