基于LBS的信息采集系统设计与实现毕业设计Word格式.docx
- 文档编号:1457495
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:27
- 大小:295.45KB
基于LBS的信息采集系统设计与实现毕业设计Word格式.docx
《基于LBS的信息采集系统设计与实现毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于LBS的信息采集系统设计与实现毕业设计Word格式.docx(27页珍藏版)》请在冰点文库上搜索。
理论方面,对LBS移动信息服务系统的体系架构、WebService工作原理、Android平台开发技术进行了深入的研究。
在实践方面,采用JavaEE技术并融入MVC软件设计模式构建了系统的Web信息管理客户端,同时运用Android平台实现了系统的LBS服务和信息服务客户端。
通过WebService来完成移动端与服务器端的数据交互,实现了基于LBS的移动信息采集的服务系统。
本系统包括系统管理、企业管理、求职应用三大功能模块。
该LBS移动信息采集服务系统在可以运行在Android平台上。
该系统可以提高大学生获取求职信息的实时性以及对企业信息、职位信息等精确查找,同时通过LBS技术,可以很好的提供基于求职地点的位置服务,这样有效的解决了大学生求职信息资源分散,时效性差等问题,同时也促进了LBS移动信息服务模式的形成。
关键词:
移动信息采集系统LBSAndroid平台WebService技术
目录
内容摘要1
论文题目1
一、绪论2
(一)研究背景与意义2
(二)国内外研究现状2
二、系统结构及原理6
(一)LBS系统原理6
(二)系统结构设计7
三、系统关键技术分析与实现15
(一)WebService框架分析与实现15
四、LBS平台应用与实现21
(一)LBS平台体系21
(二)LBS服务流程22
五、结束语24
参考文献25
基于LBS的信息采集系统设计与实现
一、绪论
(一)研究背景与意义
随着我国高等教育水平的不断提高,各高校不断扩招,大学生群体日益庞大,大学生就业难这一问题成为了社会各界关注的焦点问题。
中国社科院发表社会蓝皮书报告,中国大学生的失业率达到12%,这样庞大的毕业生失业人群的出现,也为即将毕业的大学生就业构成了极大的压力。
[1]近年来,随着就业环境和趋势的发展,主流求职招聘网站及高校就业信息网也逐渐建立起来,以期能够快速的传播求职信息。
爆发性的海量求职信息给高校学子带来就业机会的同时也带来了求职信息资源分散等各种问题,这些都极大的影响了毕业生求职效率。
如何有效的管理海量的求职信息方便大学生求职成为一个亟需解决的问题,因此,构建一个信息资源集中,高度共享、实时性强的大学生求职信息服务系统是具有实际意义的。
随着我国无线通信技术及移动互联网技术的快速发展,高速移动无线网络服务迅速普及,受众群体日趋庞大。
同时移动智能终端也走入寻常人家,使得移动互联网应用市场规模持续扩大,前景备受看好。
[2]基于移动终端的求职信息服务系统拥有传统信息服务系统所不具有的优势,其方便携带、能随时随地接入互联网等特性,有力的提升了移动求职信息服务系统的便利性。
与此同时,基于位置昀服务(LBS,LocationBasedService)逐步成为移动应用的开发热点,显然,将移动信息服务系统与LBS技术相结合,给求职用户提供关于企业、宣讲会位置的相关定位或路径规划等功能,这样在一定程度上强化了大学生求职信息服务系统的便捷性和实用性。
综上所述,本文以求职为应用切入点,依托Android平台,将LBS技术融入其中,对基于Android平台的LBS移动信息服务系统进行了研究,这相当于在用户、信息和地理位置三者之间构建起了关系网络,提升了信息服务系统的智能性。
而这种基于位置的信息服务系统将在促进移动信息服务的拓展与深化、位置信息的管理与共享等方面发挥更为显著的作用。
(二)国内外研究现状
1.LBS起源与应用
LBS我们也可以简称为“位置服务”,是现在广泛应用与移动互联领域的一项技术,它通过移动终端来获取用户地理位置或查找相应的地理位置,并根据位置提供相应的信息服务,这正是其意义所在。
LBS起源于上个世纪70年代的美国,它并不是一项新技术。
当时的美国颁布了911服务规范。
而其最为基本的业务是在国家和人民生命安全受到威胁时的一种应急处理业务。
和我国的110等紧急号码一样。
FCC要求移动及相关网络运营商在紧急情况下,可以跟踪到呼叫911号码的电话的所在地,这就是LBS的前身。
2001年的911事件也让美国的公众认识到位置服务的重要性,于是美国迅速的将LBS引入到移动通信、公共安全、交通、应急处理等各行各业[3],为国家安全和社会公众提供空间信息安全保障服务。
美国的两家公司分别在2001年10月和12月推出了基于GPS.ONE技术的定位业务,并且通过该技术来满足FCC对E911第二阶段的要求[4]。
其实LBS技术发展一直处在不瘟不火的状态,直到3G移动无线网络的普及以及WIFI网络的大量设点,LBS真正的开始壮大发展。
以Android为代表的新一代智能终端的出现促使了移动应用开发的繁荣,LBS技术则被广泛的应用到移动终端上。
例如:
Google移动战略的巨大成功,使的谷歌的各种优势项目毫无疑问的被移植到了移动终端应用上,而众所周知的谷歌地图在提供精准的定位导航和环境查看的同时,也会提供用户查询所在地的交通状况以及配套的餐馆、ATM机、加油站等服务。
这样便使得LBS服务的基本形式得以显性化,而如今LBS在各个领域的渗透,使得LBS业务愈加繁荣,并且有了规模庞大的用户群体。
随着国内LBS市场的迅速壮大,国内的LBS应用也相继问世,目前主要有以下几种类型:
(1)签到模式
这一类模式的代表主要有街旁、切客等应用。
这种模式是以用户心理新鲜感、自身满足感与成就感为基础的。
签到可以很好的为商家及其品牌进行多种方式的推广与营销,而用户则通过每次签到来获取积分等奖励。
但这种模式具有脆弱的地方,当用户长时间使用后对这种感觉厌恶或产生反感,这种签到的价值就无法持续存在。
此类模式应用了LBS服务的基本功能,即地理位置定位服务,但其发展过程中遇到较大瓶颈,已基本被遗弃。
(2)分享模式
这一类模式的代表主要有XX身边、大众点评等。
这种模式是通过“POI搜索”等定位服务为服务提供商合作的商家推荐和导入客流,同时用户也可以通过分享相关内容来获得不同优惠,这种模式能主动的调动用户活跃度,是目前比较主流的模式之一。
(3)社交模式
这一类模式的代表主要有微信、陌陌等应用。
此模式通过地点定位来开展社交活动,不同的用户因为在同一时间处于同一地理位置范围,或兴趣爱好相同,则可构建好友关系,该模式也是目前国内比较主流的LBS应用模式之一。
除了以上模式外,目前的LBS应用还与交通、广告、旅游等方面相结合,国内的研究者和开发者也在不断的结合中国本土化特色来创新应用模式。
2.LBS信息系统的相关研究
随着LBS的发展,近年来,专家学者们对LBS的相关技术与应用进行了研究,主要集中于以下几个方面。
(1)在LBS系统架构方面,周傲英、杨彬等人对LBS的架构与进展进行了研究,分析研究了LBS系统的架构及其各个组成部分的关键技术[5];
郭盈研究了LBS在3G网络下的架构及实现,通过对业务流程的分析,提出和实现了一种基于J2EE平台的瘦客户端/服务器模式的LBS体系架构[6];
刘厚泉、谭海樵等人研究了基于动态任务模型的LBS架构,以期使用任务模型和DAMO模型来提高LBS系统智能性[7];
邹永贵、王剑针提出了一种将SOA架构运用于LBS的思想,通过Web服务技术和中间件技术来解决LBS中访问方式多样、兼容性不足等问题,最后给出了基于SOA的LBS服务平台架构和实现方案[8];
钟世明、邵锐等人提出了利用移动代理和XML技术来构建分布式的LBS系统的解决思路,以此来解决LBS系统数据格式多样等问题[9]。
这样,都为LBS系统架构的研究和发展垫下了基础。
(2)在LBS的定位等技术方面,WalshA,PfeiferT研究了在Android和IOS平台上控制LBS应用定位精度和地理范围的方法[10];
牟锐、梅贤昌等人将Dijkstra
算法应用于通过LBS搜索最优路线服务中,通过优化算法的存储结构,提高了其响应速度,满足了移动业务对定位服务的高效要求[11];
汪小林、庞潇等人提出了一种基于轻量二进制矢量地图数据格式Byte.Map,并将它运用于在线地图服务中,并实现了支持在线地图服务的LBS支撑平台LBS-p[12];
彭志宇、李善平提出了一种快速模糊化算法,该算法对移动环境下LBS系统用户位置隐私具有一定的保护作用[13]。
可知,基于LBS的定位精度、数据交互、隐私等方面都将具有很大的研究空间。
(3)在LBS系统应用及设计方面,徐锡珍、苗放通过分析比较目前定位技术、各移动平台下LBS应用程序开发的难易程度,探讨了数字景区LBS系统的工作流程和体系框架,并在WindowsMobile平台下进行了数字景区LBS应用系统的开发[14];
周脚根、边馥苓设计了提出了一种基于Web服务的LBS体系结构(WS-LBS)并设计了WS-LBS系统框架,实现了空间信息服务的构建与发布机制和WS-LBS原型系统,扩展了终端用户;
徐晶在Android平台下使用LBS技术,设计实现了一个地铁商圈信息服务系统;
秦文超通过WebService来完成手机客户端与服务器的数据交互并实现了手机位置服务系统设计;
张高明、马力等人将LBS技术应用于校园环境中,设计实现了一个校园LBS应用系统;
王建勇、刘飞通过Android智能手机自带的GPS定位实现了用户地理位置定位,基于此提出了一种基于LBS即时通信系统的解决方案,在GoogleMap上实现地图位置感知显示。
可见,LBS系统具有十分宽广的应用前景。
(4)在移动应用方面,根据笔者调查发现,目前将求职与LBS相结合的移动应用甚少,诺基亚在2013年6月发布基于地理位置和社交网络的求职应用JobLens,打开该应用后,用户可以查看到身边的企业招聘职位、企业薪资待遇、岗位需求趋势等情况,但目前而言,只有诺基亚WindowsPhone手机用户才能使用该应用。
而国内比较大型的求职门户网站例如智联招聘、51job等都推出了其移动客户端,但其应用除了将一些常用功能移植到移动端外与LBS的关联几乎没有。
基于以上所述,将LBS技术与移动信息服务系统相结合有利于解决大学生在求职过程面对的信息杂乱、繁琐、地理位置不了解等问题,开发构建LBS求职移动信息服务系统是有实际需求和创新性的。
因此,本文充分利用Java技术结合Android和XXLBS平台开发出面向大学生的移动求职信息服务系统。
二、系统结构及原理
(一)LBS系统原理
本文系统采用了三层结构,分别为第一层客户端,第二层应用服务器和第三层地图服务器。
通过引入三层结构,可以将更多的精力放到第一层客户端和第二层应用服务器的功能开发上,而对于第三层地图服务器则可以采用成熟的商用解决方案。
这样的系统结构缩短了项目开发的周期,在扩展性方面留有充分的余地,维护起来也很方便,同时使得系统在更加灵活的同时也更加强壮。
用户在实际使用时可以通过三种方式访问系统。
最通常的情况下,用户将通过移动电话上运行的客户端程序,在具有定位能力的无线网络支持下访问系统;
当用户使用自带定位能力的PDA(PersonalDigitalAssistant)时,根据PDA功能的差异,可以直接通过Internet访问系统或者通过无线网络间接访问系统;
此外,为了增加系统的适用范围,还允许用户用PC(PersonalComputer)通过Internet直接访问系统。
虽然随着技术的进步,目前的PDA和移动电话都具有了一定的嵌入式计算能力和存储能力,以目前市场上常见的中高端手机为例,其计算能力一般为1MMIPS,存储能力一般为数兆~数十兆。
显而易见,这样的硬件条件是不足以处理庞大的地理数据的。
因此,系统将主要的计算任务交由后台服务器完成,如地图的产生、移动和缩放;
地图目标的查询:
最短路径搜索等。
PDA或移动电话只负责完成发起查询和显示查询结果,而不保存地理数据和进行复杂的地图相关的运算。
这样的系统设计带来的弊端是系统交互次数增加;
数据传输量大,占用运营商过多的带宽;
后台服务器负担重等。
但是硬件设备的发展数度是很快的,当用户端的掌上设备达到一定的要求后,可以将系统的计算任务从后台服务器向用户端转移,从而改善系统的性能。
无论用户采用何种访问方式,系统都必须根据用户终端的显示能力和运算能力提供适当的响应。
同时为了适应不同的访问方式和提高系统的可扩展性,系统在客户端和应用服务器之间、应用服务器和地图服务器之间都定义了统一的XML接口。
XML接口提供了与平台无关的数据传输,只要遵循了这套接口,就可以从不同的平台上来访问服务器。
应用服务器提供了客户端和地图服务器间的接口,它负责翻译和转换用户的输入以及地图服务器的响应,同时它还负责完成用户信息的管理和计费。
地图服务器采用了ESRI公司的产品——ArcIMS,ArclMS地图服务器适用于无线互联网、Internet、Intranet的地图应用的开发,能以多种图形格式发布地图,很容易建立基于PDA或手机的可扩充的移动定位服务应用。
对于LBS应用,核心问题是解决大用户量的并发访问问题,ArcIMS采用了先进的负载平衡和流量控制技术,当需要扩大系统容量时,只需简单的增加地图服务器的数量就可以满足用户的要求。
至于地理数据则可以从特定的基础地理数据生产商处购买,并且根据实际需要,还要对GIS地理数据进行一些自己感兴趣的加工,比如采集并添加宾馆酒店、自动取款机、公共汽车站等数据信息。
(二)系统结构设计
随着移动互联网的发展和智能移动终的普及,移动信息服务系统正逐步在取代传统信息服务系统,其便捷的优势是传统信息服务系统无法比及的,而随着LBS技术的成熟及应用,结合LBS的移动信息服务系统更能发挥其地理位置与信息服务的优势。
本文提出了一种基于LBS的新型校园信息服务方式:
移动客户端一旦在校园内启动该软件,服务器就将已经整合好的院校通知信息,推送到客户端。
使得学生和老师省去了上多个院网,校园BBS以获取校园动态的繁琐操作,达到校园信息的一站式阅读。
因为移动手机自身的便携带性,所以基于LBS的信息服务更有即时性,同时限定信息的使用者和发布者都是校园里面的人,从而一定程度上保证了信息的安全性。
1.业务需求分析
目前的大学就业过程中,学生对招聘信息的需求是十分巨大的,但却缺少知晓校园招聘信息的渠道,学校主要是通过学校就业网站显示招聘单位和职位,或者通过学院QQ群等方式通知相关信息,这样就存在着消息闭塞,缺乏实时性和共享性等缺点。
同时,很多学生平日在学校里专心研究,很少走出校门,对城市地理环境并不熟悉,针对这个问题,我们在系统中融入LBS服务,从而给求职者关于企业和招聘会的路线导航和乘车推荐。
通过调查研究,系统业务主要包括以下几个方面:
①个人注册和企业注册:
求职者可以通过注册页面填写基本信息后注册到该系统,系统会自动保存其信息。
企业用户通过填写其企业基本信息后,通过管理员审核通过后,系统也会保存其信息。
管理员可以通过Web管理客户端对个人用户信息和企业用户信息进行管理。
②企业信息发布:
当企业通过注册后,可以在管理平台上面发布该企业的招聘信息,例如职位名称、职位介绍等。
同时企业也可以通过管理平台发布该企业宣讲会详情。
③招聘信息查找:
当求职用户注册成功后,用户可以通过行业分类来查找与专业对口或者感兴趣的职位,其次用户也可以根据所在职位类型来查找相关的工作职位。
用户可以申请或自己感兴趣的职位。
④路径规划:
用户如果想去该公司所在地或者宣讲会所在地,可以通过定位功能实现线路规划,这样大大方便了对地理环境不熟悉的求职者。
⑤企业对应聘者的查询:
当求职者申请了某公司的职位后,企业用户可以通过管理平台查看到申请人的具体信息。
系统业务流程如图2.1所示:
2.功能需求分析
为了明确系统设计目的,通过分析和进一步的整理归纳,系统整体功能需求如下:
(1)系统应允许求职者可以通过手机客户端注册为系统用户,同时也允许管理员和企业用户使用浏览器访问Web管理端。
管理员可以对其他用户信息进行查看,能够对分类模块和推荐模块等进行操作。
(2)系统允许企业用户添加招聘具体信息和宣讲会信息,当提交的招聘职位有求职者申请时,企业用户可以通过Web管理系统查询到,并能查看申请人的基本信息。
(3)系统求职用户可以通过客户端检索求职信息,检索条件可以是行业分类名或者职位类型名,当查看自己想应聘的职位信息时,可以申请和收藏该职位。
并能通过LBS服务导航到相关地点。
用户还可以检索宣讲会信息,并也能导航到宣讲会地点。
(4)系统能通过后台推送一些求职方面的资料或文章,供客户端用户查看学习。
(5)系统能保证后台数据库的安全性,同时能维护系统数据库表,包括对表进行增删改查操作。
3.性能需求分析
作为一个便捷的实时求职信息服务平台,除了完成上述功能性的要求外,还需要满足一些非功能性要求,具体包括系统整体性、可扩展性、并发性、数据安全性四个方面。
(1)整体性:
提供良好的用户体验,统一的界面风格,有较好的互操作性;
具有多种连接网络的方式,例如WiFi接入、3G网络接入;
降低系统资源的消耗,保证系统的稳定性和反应时间。
(2)可扩展性:
系统要具有低耦合性和良好的可扩展性,便于系统日后维护和升级;
当新模块或新功能、修改等因素情况下,系统各版本能够兼容,方便系统的改进和完善。
(3)并发性:
当系统用户数量增加时,系统服务器必须保证较高的并发性能,防止该情况下,系统出现访问延时或访问断开等现象,影响系统运行。
(4)数据安全性:
为保证系统信息安全和通信安全,在网络传输、数据校对等过程中,必须对程序中的隐私数据进行一定的加密安全处理。
4.体系架构
我们将本系统分为Web管理端、Android客户端和系统服务器端三部分,在管理端我们采用典型的浏览器/服务器(B/S)架构,在Android客户端采用客户端/服务器(C/S)架构。
同时,为了遵循系统可扩展性和可复用性的设计原则,采用MVC软件设计模式。
将应用程序的主要功能分离到不同的类层中,抽取出业务逻辑,实现底层控制与业务逻辑的分离,从而实现系统的低耦合性,使后期开发和维护更加方便。
架构是指在一定的设计原则基础上,对组成系统的各部分进行合理的分析和安排,将多个小结构有效的融合形成大的体系。
它将系统的各个组成部分及其属性之间的相互关系通过不同的角度进行展示。
在应用系统中最常见的一种架构模式是分层,通过层次结构将系统的各职责区分开来,每个层次仅负责与本身相关的系统,通过层次间的相互依托和调用来完成整个系统功能。
这样可以将一个巨大的系统拆分成不同的组件,不仅理清了系统的结构逻辑,也在很大程度上弱化了系统耦合度。
系统也不会因为任一层次组件的调整而整体变更。
一般情况下,一个系统大致可以分为三层,从上到下依次为应用层、服务层、数据层,也就是我们通常所说的三层架构模式,其各层功能如表2.1所示。
应用层
负责具体业务和视图展示。
如系统的页面显示和结果展示
服务层
为应用层提供服务支持,包括维护系统业务逻辑和数据接口
数据层
提供数据存储访问服务,如数据库、缓存、文件、搜素引擎等
系统分层架构功能描述
根据上述的分层模式的优势,本系统也严格遵循分层模式的设计方法,实现系统的低依赖性和高复用性,本系统的完整的体系结构设计如图2.2所示。
系统总体结构图
通过对系统总体结构的分析,通信终端仅仅显示数据,而应用层负责处理人机交互过程,移动终端通过系统客户端完成界面显示,而Web管理端通过浏览器进行界面交互;
服务层主要是负责系统各业务规则逻辑服务组件的实现,并为业务逻辑层提供访问这些业务逻辑的接口;
客户端通过调用WebService接口和业务基类共同完成业务逻辑处理,数据流传输等操作,Web管理端则通过HTTP请求与Web应用服务器通信完成数据传输和业务逻辑处理;
最后,系统通过数据层完成与数据库服务器的数据交互。
总而概之,系统数据层从数据库服务器获得原始数据,通过逻辑处理层的处理,业务逻辑层再把数据转换成符合业务规则的数据格式,最后,通过视图层将信息转换为用户可以理解的信息格式。
可见,这种设计实现了系统的分层和互操作性。
5.系统服务器端结构设计
与传统应用系统相比,高并发,大流量、高可用性、海量数据、用户分布广泛,网络情况复杂等是互联网应用系统所具有的特点,这就要求系统服务器具有较高的性能。
通常的小型系统中应用程序、数据库、文件等所有资源都在一台服务器上,但是随着系统的发展,一台服务器是不能满足系统发展的需求的。
越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足等问题将表现的愈来愈明显。
为了克服上述问题,本系统的服务器设计采用分布式集群架构,其结构图如图2.3所示。
系统服务器结构图
由上图可知,服务器端由负载均衡调度服务器、应用服务器、文件服务器、缓存服务器、数据库服务器五部分组成,在服务器架构中,通过服务器对硬件资源的需求各不相同,我们将应用服务器与数据服务器分离。
应用服务器需要强大的CPU来处理大量的业务逻辑;
文件服务器需要大容量硬盘来存储大量用户上传的文件;
数据库服务器需要更快的硬盘和更大的内存来快速磁盘检索和进行数据缓存。
系统通过负载均衡调度服务器,将来之用户的访问请求分发到应用服务器集群中的任何一台服务器上,使应用服务器的负载压力不再成为整个系统的瓶颈。
同时,通过使用缓存,是绝大部分数据读操作访问都可以不通过数据库就能完成,提高系统访问速率。
由于目前主流数据库都提供主从热备份功能,通过配置两台数据库服务器主从关系,实现数据库读写操作分离,从而改善数据负载压力,同时保证数据安全。
6.系统客户端设计
客户端是应用程序与用户之间交互的桥梁,主要是负责数据显示、功能模块转换等功能。
本系统有两个客户端,一个是Web端的Web管理客户端,其包括管理员功能界面和企业用户功能界面。
另一个是Android应用客户端,只针对求职用户功能设计。
Web管理客户端
该客户端主要负责是对系统相关数据初始化及企业相关信息编辑管理,相当于系统的后台管理入口,用户使用角色上有差异,但在结构设计上是一致的,其结构设计如图2.4所示。
Web管理端结构图
Web管理端的显示界面是基于JSP的动态网页,其通过访问相应的Action类来进入业务逻辑层(Service层)进行业务逻辑处理,当处理完成后则调用相应的数据层(Dao层)方法,进行相应的数据读写操作,并返回给JSP页面显示。
Android应用客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LBS 信息 采集 系统 设计 实现 毕业设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)