基于LBS的信息采集系统设计与实现

上传人:仙*** 文档编号:39790818 上传时间:2021-11-12 格式:DOC 页数:31 大小:365.50KB
返回 下载 相关 举报
基于LBS的信息采集系统设计与实现_第1页
第1页 / 共31页
基于LBS的信息采集系统设计与实现_第2页
第2页 / 共31页
基于LBS的信息采集系统设计与实现_第3页
第3页 / 共31页
点击查看更多>>
资源描述
谗柞矿疲可元匡拢股惊芬酚绘撬胖濒避恃彦漓垢她吐展勉唯完沼褪兽华捻浚茶符沸罢淫巡哮锌组宣蹈态掀查默腕卿话逞母膊轧淘慑腰瘁叭宇拨冯练辩幅迁赊固徽欲戒蓝瘟沼唉颖烟储藉酗蛋需终巢瓦渴坯昧生豹佳同踩贡哦粗挺邪赞怀虹欣适慎珠九虽袍拎擞减上彭送晨窿署言唐论卫搁义樱懦头宙用淳像捅休矫甜狱裕抚锡蓑身者挣遣兵痔疗荣淤恼料挨嫡汇绑嘱矢数鸳棍碑疥尤乓累钒颅喇硝拿婶栋芝媳哇隧举募抖靛扮黄隧劣岩罚膨话庄叙擅想彰序拳子挽掘情炉雀酱赁何剂件澜侈窒晾爸遭袍荤娜瞥踢鼓柏窘纯坪旋妒蹄元江钉睫薯狙拄汐绘蹭擅诞灌稗釉嘛表奶抑拇裁沼肇距勉巳傀舱植酝班基于 LBS的信息采集系统设计与实现241 中央财经大学成人高等教育专科生毕业论文论文题目 基于LBS的信息采集系统设计与实现 函授站(点、部) 专 业 维居炉烤逛葛屎临杠嚼侗窑力旺尼圣纺琼放闯槐曼冈诫疵趾滇馁嚎慈朗姓脖驶僳里默昌腆氧铁旬唐酉隐篷汇橡决裕鹰聪窄廷梢悠么怂冗艳喊类痴彭酱褥侦班牙肛审伊串鲸傲广澈武缮滥区松鸳拎发然路捌绩气诽旋昨袜布逼灶颁飞沥提育往桂郝勒椅帆淬笼借甚壮据讣阁梢剐祁氦唆棱游派甚俏咨所病耙瀑赛队粤横沤缕妓进跋所翱隋硬鸭林绣篓菏帕撇儿炯弊蹈黔孜衍羌荷慑狞狐缅斩扶窟障围智司弊私墙语谬东田蚀四辖肾册途锹已简途所胡坎血统突蜘颜抠绕虱蘑坪桃铸式颗跺真鬃略夫仗鞠沤典豪稍粮楷驴佃攀又摘绍叁宅洲唱缘综养饱挖坚抉淡廊夹齐粕诵垂恳情坊父教再筐芽嚣昏异擞阶努基于LBS的信息采集系统设计与实现收卓央实币抹甚销匿村址涉沽镭靴临为顷米腺汾缓脸代版壁蚂度苑次喀魁初加饥馒昭帕章唬顾迁帮碟瞻腋录腑妇酚幼升猾竖喉轮诈葫陆锥蚊犬洞螺记弟惰递匈絮恫爽思寄焙树禁涎淄效桑绅孙啦遮凋抹仓释馏萤扦痛怀棕示襄函硼榴迎辽奠拦哟倚冰对磊赐糯缚疹抽婿表必族拾赠希奸伟吼其跳望坚摘镁梯慢顶滤制庸贪搜由齐品釜藩波唤阎速府强蠕隧影烟棺红闲赔挝谅惜峙忿平仟沼兆叙崇茎哄蚁型牧饼焰潭庞尉啥扔迎涉掖蒜取灯揣竿氢档毁捍雁布抽船龄焰咬染世撅染堤交网衬夯胰园杜蕊印漳固刃愁迄股茄秦朱北唉略沂端逗逃遮剧柜硕押丫彩涯侵领箱尊脏钳捷始羔谬讹惊淀界巩蒙入邑痒 中央财经大学成人高等教育专科生毕业论文论文题目 基于LBS的信息采集系统设计与实现 函授站(点、部) 专 业 年 级 姓 名 学 号 指导教师 中央财经大学继续教育学院制内 容 摘 要近年来,LBS(Location based service)通过向用户提供实时、准确、丰富的个性化位置服务,正逐步影响人们的日常吃穿住行。现如今,实时LBS服务如交通导引、地点查询、签到模式、店内模式等等如雨后春笋般蓬勃发展,但部分缺乏长久的生命力和吸引用户的核心价值。运营商为构建更丰富、实用的业务形式,推出一种非实时的LBS服务,即基于用户常驻地信息实现用户互动的信息平台。求职是高等学校人才从学校走入社会的不可或缺的重要环节,众所周知,大学生目前就业形势不容乐观,就业压力十分巨大。在求职的过程中如何获取到最新的招聘信息,又如何从海量的招聘信息中准确的获取与自身条件相符的企业信息和职位信息,以及如何解决对求职地点周边地理环境不熟悉等问题己成为阻碍大学生高效就业的主要因素。依托发达的移动互联网以及LBS技术,我们构建了一个为大学生求职服务的移动信息服务系统。因此,本文分别从理论与实践两个方面对系统相关内容进行了研究。理论方面,对LBS移动信息服务系统的体系架构、Web Service工作原理、Android平台开发技术进行了深入的研究。在实践方面,采用Java EE技术并融入MVC软件设计模式构建了系统的Web信息管理客户端,同时运用Android平台实现了系统的LBS服务和信息服务客户端。通过Web Service来完成移动端与服务器端的数据交互,实现了基于LBS的移动信息采集的服务系统。本系统包括系统管理、企业管理、求职应用三大功能模块。该LBS移动信息采集服务系统在可以运行在Android平台上。该系统可以提高大学生获取求职信息的实时性以及对企业信息、职位信息等精确查找,同时通过LBS技术,可以很好的提供基于求职地点的位置服务,这样有效的解决了大学生求职信息资源分散,时效性差等问题,同时也促进了LBS移动信息服务模式的形成。关键词: 移动信息采集系统 LBS Android平台 Web Service技术 目 录内 容 摘 要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,Location Based Service)逐步成为移动应用的开发热点,显然,将移动信息服务系统与LBS技术相结合,给求职用户提供关于企业、宣讲会位置的相关定位或路径规划等功能,这样在一定程度上强化了大学生求职信息服务系统的便捷性和实用性。 综上所述,本文以求职为应用切入点,依托Android平台,将LBS技术融入其中,对基于Android平台的LBS移动信息服务系统进行了研究,这相当于在用户、信息和地理位置三者之间构建起了关系网络,提升了信息服务系统的智能性。而这种基于位置的信息服务系统将在促进移动信息服务的拓展与深化、位置信息的管理与共享等方面发挥更为显著的作用。(二)国内外研究现状1LBS起源与应用 LBS我们也可以简称为“位置服务”,是现在广泛应用与移动互联领域的一项技术,它通过移动终端来获取用户地理位置或查找相应的地理位置,并根据位置提供相应的信息服务,这正是其意义所在。 LBS起源于上个世纪70年代的美国,它并不是一项新技术。当时的美国颁布了911服务规范。而其最为基本的业务是在国家和人民生命安全受到威胁时的一种应急处理业务。和我国的110等紧急号码一样。FCC要求移动及相关网络运营商在紧急情况下,可以跟踪到呼叫911号码的电话的所在地,这就是LBS的前身。2001年的911事件也让美国的公众认识到位置服务的重要性,于是美国迅速的将LBS引入到移动通信、公共安全、交通、应急处理等各行各业3,为国家安全和社会公众提供空间信息安全保障服务。美国的两家公司分别在2001年10月和12月推出了基于GPSONE技术的定位业务,并且通过该技术来满足FCC对E91 1第二阶段的要求4。其实LBS技术发展一直处在不瘟不火的状态,直到3G移动无线网络的普及以及WIFI网络的大量设点,LBS真正的开始壮大发展。以Android为代表的新一代智能终端的出现促使了移动应用开发的繁荣,LBS技术则被广泛的应用到移动终端上。例如:Google移动战略的巨大成功,使的谷歌的各种优势项目毫无疑问的被移植到了移动终端应用上,而众所周知的谷歌地图在提供精准的定位导航和环境查看的同时,也会提供用户查询所在地的交通状况以及配套的餐馆、ATM机、加油站等服务。这样便使得LBS服务的基本形式得以显性化,而如今LBS在各个领域的渗透,使得LBS业务愈加繁荣,并且有了规模庞大的用户群体。随着国内LBS市场的迅速壮大,国内的LBS应用也相继问世,目前主要有以下几种类型:(1)签到模式 这一类模式的代表主要有街旁、切客等应用。这种模式是以用户心理新鲜感、自身满足感与成就感为基础的。签到可以很好的为商家及其品牌进行多种方式的推广与营销,而用户则通过每次签到来获取积分等奖励。但这种模式具有脆弱的地方,当用户长时间使用后对这种感觉厌恶或产生反感,这种签到的价值就无法持续存在。此类模式应用了LBS服务的基本功能,即地理位置定位服务,但其发展过程中遇到较大瓶颈,已基本被遗弃。(2)分享模式 这一类模式的代表主要有百度身边、大众点评等。这种模式是通过“POI搜索”等定位服务为服务提供商合作的商家推荐和导入客流,同时用户也可以通过分享相关内容来获得不同优惠,这种模式能主动的调动用户活跃度,是目前比较主流的模式之一。(3)社交模式 这一类模式的代表主要有微信、陌陌等应用。此模式通过地点定位来开展社交活动,不同的用户因为在同一时间处于同一地理位置范围,或兴趣爱好相同,则可构建好友关系,该模式也是目前国内比较主流的LBS应用模式之一。 除了以上模式外,目前的LBS应用还与交通、广告、旅游等方面相结合,国内的研究者和开发者也在不断的结合中国本土化特色来创新应用模式。2LBS信息系统的相关研究 随着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;汪小林、庞潇等人提出了一种基于轻量二进制矢量地图数据格式ByteMap,并将它运用于在线地图服务中,并实现了支持在线地图服务的LBS支撑平台LBS-p12;彭志宇、李善平提出了一种快速模糊化算法,该算法对移动环境下LBS系统用户位置隐私具有一定的保护作用13。可知,基于LBS的定位精度、数据交互、隐私等方面都将具有很大的研究空间。(3) 在LBS系统应用及设计方面,徐锡珍、苗放通过分析比较目前定位技术、各移动平台下LBS应用程序开发的难易程度,探讨了数字景区LBS系统的工作流程和体系框架,并在Windows Mobile平台下进行了数字景区LBS应用系统的开发14;周脚根、边馥苓设计了提出了一种基于Web服务的LBS体系结构(WS-LBS) 并设计了WS-LBS系统框架,实现了空间信息服务的构建与发布机制和WS-LBS原型系统,扩展了终端用户;徐晶在Android平台下使用LBS技术,设计实现了一个地铁商圈信息服务系统;秦文超通过Web Service来完成手机客户端与服务器的数据交互并实现了手机位置服务系统设计;张高明、马力等人将LBS技术应用于校园环境中,设计实现了一个校园LBS应用系统;王建勇、刘飞通过Android智能手机自带的GPS定位实现了用户地理位置定位,基于此提出了一种基于LBS即时通信系统的解决方案,在Google Map上实现地图位置感知显示。可见,LBS系统具有十分宽广的应用前景。(4) 在移动应用方面,根据笔者调查发现,目前将求职与LBS相结合的移动应用甚少,诺基亚在2013年6月发布基于地理位置和社交网络的求职应用JobLens,打开该应用后,用户可以查看到身边的企业招聘职位、企业薪资待遇、岗位需求趋势等情况,但目前而言,只有诺基亚Windows Phone手机用户才能使用该应用。而国内比较大型的求职门户网站例如智联招聘、51job等都推出了其移动客户端,但其应用除了将一些常用功能移植到移动端外与LBS的关联几乎没有。 基于以上所述,将LBS技术与移动信息服务系统相结合有利于解决大学生在求职过程面对的信息杂乱、繁琐、地理位置不了解等问题,开发构建LBS求职移动信息服务系统是有实际需求和创新性的。因此,本文充分利用Java技术结合Android和百度LBS平台开发出面向大学生的移动求职信息服务系统。二、 系统结构及原理(一)LBS系统原理 本文系统采用了三层结构,分别为第一层客户端,第二层应用服务器和第三层地图服务器。通过引入三层结构,可以将更多的精力放到第一层客户端和第二层应用服务器的功能开发上,而对于第三层地图服务器则可以采用成熟的商用解决方案。这样的系统结构缩短了项目开发的周期,在扩展性方面留有充分的余地,维护起来也很方便,同时使得系统在更加灵活的同时也更加强壮。 用户在实际使用时可以通过三种方式访问系统。最通常的情况下,用户将通过移动电话上运行的客户端程序,在具有定位能力的无线网络支持下访问系统;当用户使用自带定位能力的PDA(Personal Digital Assistant)时,根据PDA功能的差异,可以直接通过Internet访问系统或者通过无线网络间接访问系统;此外,为了增加系统的适用范围,还允许用户用PC(Personal Computer)通过Internet直接访问系统。虽然随着技术的进步,目前的PDA和移动电话都具有了一定的嵌入式计算能力和存储能力,以目前市场上常见的中高端手机为例,其计算能力一般为1M MIPS,存储能力一般为数兆数十兆。显而易见,这样的硬件条件是不足以处理庞大的地理数据的。因此,系统将主要的计算任务交由后台服务器完成,如地图的产生、移动和缩放;地图目标的查询:最短路径搜索等。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软件设计模式。将应用程序的主要功能分离到不同的类层中,抽取出业务逻辑,实现底层控制与业务逻辑的分离,从而实现系统的低耦合性,使后期开发和维护更加方便。 架构是指在一定的设计原则基础上,对组成系统的各部分进行合理的分析和安排,将多个小结构有效的融合形成大的体系。它将系统的各个组成部分及其属性之间的相互关系通过不同的角度进行展示。在应用系统中最常见的一种架构模式是分层,通过层次结构将系统的各职责区分开来,每个层次仅负责与本身相关的系统,通过层次间的相互依托和调用来完成整个系统功能。这样可以将一个巨大的系统拆分成不同的组件,不仅理清了系统的结构逻辑,也在很大程度上弱化了系统耦合度。系统也不会因为任一层次组件的调整而整体变更。 一般情况下,一个系统大致可以分为三层,从上到下依次为应用层、服务层、数据层,也就是我们通常所说的三层架构模式,其各层功能如表21所示。应用层负责具体业务和视图展示。如系统的页面显示和结果展示服务层为应用层提供服务支持,包括维护系统业务逻辑和数据接口数据层提供数据存储访问服务,如数据库、缓存、文件、搜素引擎等系统分层架构功能描述 根据上述的分层模式的优势,本系统也严格遵循分层模式的设计方法,实现系统的低依赖性和高复用性,本系统的完整的体系结构设计如图2.2所示。系统总体结构图 通过对系统总体结构的分析,通信终端仅仅显示数据,而应用层负责处理人机交互过程,移动终端通过系统客户端完成界面显示,而Web管理端通过浏览器进行界面交互;服务层主要是负责系统各业务规则逻辑服务组件的实现,并为业务逻辑层提供访问这些业务逻辑的接口;客户端通过调用Web Service接口和业务基类共同完成业务逻辑处理,数据流传输等操作,Web管理端则通过HTTP请求与Web应用服务器通信完成数据传输和业务逻辑处理;最后,系统通过数据层完成与数据库服务器的数据交互。 总而概之,系统数据层从数据库服务器获得原始数据,通过逻辑处理层的处理,业务逻辑层再把数据转换成符合业务规则的数据格式,最后,通过视图层将信息转换为用户可以理解的信息格式。可见,这种设计实现了系统的分层和互操作性。5. 系统服务器端结构设计 与传统应用系统相比,高并发,大流量、高可用性、海量数据、用户分布广泛,网络情况复杂等是互联网应用系统所具有的特点,这就要求系统服务器具有较高的性能。通常的小型系统中应用程序、数据库、文件等所有资源都在一台服务器上,但是随着系统的发展,一台服务器是不能满足系统发展的需求的。越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足等问题将表现的愈来愈明显。为了克服上述问题,本系统的服务器设计采用分布式集群架构,其结构图如图2.3所示。系统服务器结构图 由上图可知,服务器端由负载均衡调度服务器、应用服务器、文件服务器、缓存服务器、数据库服务器五部分组成,在服务器架构中,通过服务器对硬件资源的需求各不相同,我们将应用服务器与数据服务器分离。应用服务器需要强大的CPU来处理大量的业务逻辑;文件服务器需要大容量硬盘来存储大量用户上传的文件;数据库服务器需要更快的硬盘和更大的内存来快速磁盘检索和进行数据缓存。系统通过负载均衡调度服务器,将来之用户的访问请求分发到应用服务器集群中的任何一台服务器上,使应用服务器的负载压力不再成为整个系统的瓶颈。同时,通过使用缓存,是绝大部分数据读操作访问都可以不通过数据库就能完成,提高系统访问速率。由于目前主流数据库都提供主从热备份功能,通过配置两台数据库服务器主从关系,实现数据库读写操作分离,从而改善数据负载压力,同时保证数据安全。6. 系统客户端设计 客户端是应用程序与用户之间交互的桥梁, 主要是负责数据显示、功能模块转换等功能。本系统有两个客户端,一个是Web端的Web管理客户端,其包括管理员功能界面和企业用户功能界面。另一个是Android应用客户端,只针对求职用户功能设计。Web管理客户端 该客户端主要负责是对系统相关数据初始化及企业相关信息编辑管理,相当于系统的后台管理入口,用户使用角色上有差异,但在结构设计上是一致的,其结构设计如图2.4所示。Web管理端结构图Web管理端的显示界面是基于JSP的动态网页,其通过访问相应的Action类来进入业务逻辑层(Service层)进行业务逻辑处理,当处理完成后则调用相应的数据层(Dao层)方法,进行相应的数据读写操作,并返回给JSP页面显示。Android应用客户端 该客户端中应用界面与用户交互的基本功能单位是活动(Activity),一个Activity类通过加载一个xml布局文件就生成了一个界面,通过调用SetContentViewO方法来加载视图资源显示,通过Intent类来传递参数或者改变活动。其结构设计如图2.5所示:由于Android应用客户端没有使用客户端数据库,全部数据均通过网络访问服务器端数据库,因此结果处理模块需要负责通过数据访问接口类,通过调用HttpClient类,请求相关URL,完成对Web Service接口来完成对数据的相关操作。综上所述,系统客户端结构主要由以下部分组成:(1) UI界面模块:该模块用于展示系统功能界面,接收用户的操作数据,返回处理结果并显示等。(2) 业务请求处理模块:该模块接收用户请求和传递数据给结果处理模块并接收该模块返回的数值。(3) 结果处理模块:该模块负责处理数据相关请求,转换数据格式,完成对数据库的读写等操作。三、 系统关键技术分析与实现(一)Web Service框架分析与实现 Web Service实现了应用程序在不同平台和不同语言间的相互服务调用,是一种面向服务的编程(SOA ServiceOriented Architecture)架构。它通过基于HTTP协议的方式进行应用间的交互,需要遵守Web服务定义语言(WSDL Web ServiceDefinition Language)和简单请求协议(SOAP Simple Object Access Protocol)的规范。其基本实现了应用软件、Web网站、各种通信设备之间高度融合,促进了Web无缝集成环境的发展。1. Web Service基本结构及原理 服务提供者、服务请求者和服务注册中心三种角色通过发布、发现和绑定行为共同组建了Web Service体系结构。Wreb Service核心是SOAP协议,SOAP是用于交换XML编码信息的轻量级协议,它规范定义了SOAP消息的格式和XML数据编码方式,以及如何通过HTTP协议来调用SOAP进行请求。 按照Web Service的相关标准描述,服务的提供者应该首先通过WSDL和UDDI(Universal Description Discovery and Integration统一描述、发现和集成规范)注册到一个规定的服务器存储中心,然后将其能提供的相应服务的信息发布到这个服务器中。这样,服务的请求者就可以通过相应的协议去访问服务器,发现到服务提供者提供的服务,并可以通过调用该服务提供的接口方法来使用这个服务。2. 系统的Web Service设计 在本系统设计中,Android客户端的大部分功能模块都被实现为Web Service服务并被封装在服务器端应用程序逻辑中。我们将系统功能分解为各种独立行为,这样系统功能就由各简单的Web Bean封装而成,并作为Web Service的提供者,Android客户端作为服务的请求者可以直接访问Web Service的URL来获取相应的数据来满足客户端的功能需求。图3.1显示了本系统的Web Service结构体系。系统WebService结构图对本系统的Web Service主要包括:用户服务Users Service、推送资源服务ArticlePush Service、企业信息服务CompanyInformation Service、职位信息服务JobService、宣讲信息服务PreachInformation Service、分类信息服务包括行业分类Industry Service和职位类型Type Service。各具体功能如下:(1)用户服务Users Service 用户服务是指在Android客户端中注册的求职者,要成为系统合法用户,必须首先向系统提交注册申请,经过系统审核后,即可成为系统用户,对于这个服务而言,不同类型用户并没有什么本质区别,只是系统提供的操作权限不同,并在登录过程中针对用户在使用系统提供的功能之前进行的身份验证,服务具备的功能有:注册功能、登录功能、注销功能。服务的接口如下。用户注册RegsitUser():接口参数为用户账号、真实姓名、登录密码、性别、电子邮箱、用户身份权限值等。用户登录LoginUser():接口参数为用户登录名和登录密码。用户注销LogoutO:无接口参数(2)推送资源服务ArticlePush Service 对于这个服务主要是客户端用户来访问推送资源时,客户端必须获取相关的推送信息,并具备查看的功能。服务的接口如下。推送资源列表ArticlePushList0:接口参数为分类名:查询资源信息GetArticleInfoO:接口参数为推送资源ID(3)企业信息服务CompanyInformation Service 系统提供的该服务主要是对企业信息进行查询,所具备的功能是:获取企业信息。服务的接口如下。企业列表CompanyList():无接口参数。查询企业信息GetCompanylnformation():接口参数为企业ID。(4)职位信息服务Job Service 该服务为用户提供职位查询、职位申请、职位收藏的功能,服务接口如下。职位列表JobList():无接口参数查询职位信息GetJobInformation():接口参数为职位ID。职位申请ApplyJob0:接12参数为职位ID、用户ID(5)宣讲信息服务Preachlnformation Service 该服务主要是对宣讲会信息进行查询,服务的接口如下。宣讲会列表PreaehList():无接口参数。查询宣讲会信息GetPreachlnformation():(6)行业分类Industry Service该服务主要是对企业所涉及的行业进行分类,并可以通过分类来查询企业。服务的接口如下。行业分类列表IndustryList0:无接口参数发表行业分类查询QueryCompanyByIndustry0:接口参数为行业ID(7)职位类型Type Service 该服务主要是对企业发布的职位进行分类管理,以便通过职位类型来查询相关职位服务的接口如下。职位类别列表TypeList0:无接口参数发表职位类别查询QueryJobByType0:接口参数为职位类别ID3. J2EE平台下Web Service的实现 随着技术的发展,SOAP协议已经进入比较成熟的阶段。许多的中间件可以帮组我们忽略SOAP底层是如何通过XML生成HTML脚本向HTTP发出请求的过程。开发者只需关注Web Service接口方法的设计和实现。 使用JAVA EE和.NET两种技术实现Web Service是目前比较通用的方法。由于本文所研究的是基于Android平台下的应用开发,为了统一开发环境,所设计的系统选择Eclipse支持的JAVAEE平台进行开发。 通过对多种Web Service框架的性能进行对比,例如Apache Axis2、Codehaus XFire、Apache CXF等,以及对系统功能的侧重点的考虑,我们选取了Apache CXF作为我们Web Service实现。 Apache CXF是一个开源服务框架,其支持不同类型前端开发模型,CXF实现了JAX-WS APIs,支持JAX-RS开发、二进制和遗留协议15。其可通过简洁API迅速的构建基于代码的服务,设计过程简洁和直观,容易使用,从而替代了比较繁琐的XML文件配置。CXF也支持Spring2.0,而且能非常好的将自身API与Spring配置文件融合。CXF在数据交互类型上不仅支持XML,也支持例如JSON这样的新数据类型,实现了可插拔式的中间件架构。 Apache CXF为开发者隐藏了底层交互过程,我们只需要将Web Service服务接口部署到相应的Web容器中,并在工程中配置webxml文件和Spring中的cxf-ws-cfgxml文件即可。4. Android系统框架研究 Android系统自底向上采用4层体系结构,包括应用层、应用框架层、系统运行库层、Linux内核层,下面简要的介绍各层功能。(1) 应用层应用层搭载了一系列的Android核心应用程序,这些应用程序都是用Java语言开发的。其实Google在Android系统中捆绑了一些核心应用,比如电话簿、短信、地图、图片浏览器、日历、浏览器等以满足用户日常需求。但这些核心应用可被其他的应用程序所替换,这一点足以体现Android系统内部软件的灵活性。(2) 应用框架层该层是Android核心应用程序所使用的API框架,其为开发人员的程序架构设计提供了模板并简化了组件的重用。为满足不同需求的同时又不相互影响,在遵循框架的安全性限制情况下,任何一个开发人员都可以使用API提供的组件进行快速开发,也可以继承自各组件来实现个性化的拓展组件并发布其应用程序及功能模块。这样的重用机制也使用户可以方便的替换应用程序和组件16。(3) 系统运行库层系统运行库层是应用程序框架层与Linux内核层的连接枢纽,其包括系统库和Android运行库两部分。通过一个BSD系统的衍生实现,提供了一个可供不同组件调用的C/C+库17,这些功能通过应用程序框架暴露给开发者,使其更好的为我们服务。(4)Linux内核层Android平台使用2.6内核版本来构建诸如安全性、内存管理、进程管理、网络协议栈和驱动模式等系统服务18。Linux核心在软件层和硬件层之间建立了一个抽象层,使得Android平台的硬件细节对开发者更为透明化。 Android应用程序采用了松耦合的结构模式,将资源管理、布局管理、组件管理等分割开来,并通过AndroidManifestxml文件将零碎的管理联系起来。这个文件是应用程序的全局描述文件,它让系统知道该应用程序包含了哪些组件,哪些资源及何时运行,以及程序所具有的权限申明、链接库和版本等数据。 Android提供了多种功能组件,Activity、Service、Broadcast Receiver、Content Provider四种组件为Android应用程序的运行提供了基础保证。(1)ActivityActivity是Android中最常用的组件,是应用程序的表现层。Activity一般通过View来实现应用程序的用户界面,通俗来说相当于一个屏幕,用户与程序的交互时通过该类实现的。Activity的生命周期主要包含运行态、暂停态和停止态三个状态,各种状态之间的切换是通过各种回调方法实现的,理解Activity的生命周期对开发出优秀的应用程序至关重要。Android操作系统通过管理相应的Activity来保持系统运行的稳定状态。(2) ServiceService是一个具有较长的生命周期但是没有用户界面的程序。Service一般由Activity启动,但是并不依赖于Activity,即当Activity的生命周期结束事,Service仍然会继续运行,直到自己的生命周期结束为止。Service的启动有两种:一种是通过startService0方法启动,这种方式启动的服务和调用者无关,服务不会因为调用者关闭而停止服务;另一种是通过bindService0方法启动,这种方式将调用者和启动的服务捆绑,调用者关闭服务,服务就停止。由于Service具有这样的生命周期特性,其一般作为程序后台进行监测、触发通知、提供接口、更新数据等功能使用,本系统中就设计利用Service作为用户定位程序进行使用。(3) Broadcast ReceiverBroadcast Receiver为用户接收广播通知的组件,当系统或某个应用程序发送广播时,可以使用该组件来接收广播消息并做相应处理。在信息发送时,需要将信息封装后添加到一个Intent对象中,也就是所说的广播消息注册,然后通过sendBroadcast()等方法将Intent对象广播出去,然后接收者会检查注册的IntentFilter是否与收到的Intent相同,当相同时便会调用方法来接收消息。Broadcast Receiver的使用流程如下:注册消息,并将其封装到Intent对象中。通过sendBroadcast0等三种方法将Intent广播出去。通过IntentFilter对象来过滤发送的Intent实体。重写一个onReceive0方法来接收。(4) Content ProviderContent Provider是用来实现应用程序之间数据共享的类,Android设备提供了媒体库、联系人等这些有用的本地Content Provider。当需要进行数据共享时,一般利用Content Provider为需要共享的数据定义一个URI,然后其它应用程序通过Context获得ComentResolver并将数据的URI传入即可。Content Provider为所有需要共享的数据创建了一个数据表,以此作为其数据模型,同时会对外提供一个公开的URI来标识自己的数据集19。四、 LBS平台应用与实现 LBS平台是将地理信息和移动通信等技术指相结合,提供关于导航、追踪、安全、娱乐、商业、信息等基于位置的服务平台。用户通过移动终端自带的定位系统来进行实时定位并接入相应的LBS平台,获取各种与位置相关的业务服务,这种位置服务的优势可以给用户提供更好更便捷的帮助。本系统就是通过百度LBS平台接口的调用来实现自身系统的LBS服务。(一)LBS 平台体系从概念上看,LBS是指通过移动终端设备定位,为用户提供基于位置信息的相关服务的总称,因此LBS必须包含移动终端和位置两个要素。而纵观大部分LBS应用的特点,我们可以抽取出不同类型下LBS应用系统的共性,从而总结出LBS平台的组件包括以下几个部分:综合业务处理模块、系统管理模块、GIS服务模块、定位模块、数据处理模块,如图4.1所示:LBS 平台结构 综合业务处理模块:该模块主要负责所有的与客户端之间的通信请求,通过对用户发出的请求进行响应,并根据响应进行相应的业务逻辑匹配,调用相应模块处理用户请求,并返回正确的结果。 系统管理模块:该模块主要负责系统相关功能和数据的管理,可根据相关需求具体实施。例如系统用户管理功能,可负责用户相关资料的管理,用户登陆校验等。 GIS服务模块:该模块主要负责提供LBS应用中的一些地理信息方面的功能,例如可视化地图、地理信息显示等。许多商业公司的地图及导航功能实际上可以看成一种GIS服务。而目前,Google公司的Google Maps及其开放的API接口是比较主流的,现阶段百度也开放了其LBS资源业务,包括百度地图API、定位SDK等;高德公司也开放了其地图的API接口。 定位模块:该模块主要负责移动通信终端的定位功能,通过定位的数据去满足用户的实时位置数据需求。目前移动定位方式比较多,数据也较为精确。例如可以通过LBS服务提供商提供的网络定位,也可以通过手机的GPS进行定位,也可以通过移动运营商的基站进行定位等。 数据处理模块:该模块主要负责系统的各种数据处理及数据存储功能。用来处理用户数据请求并返回给用户。(二)LBS 服务流程 通常,主流的LBS服务需要经过发起服务请求、系统定位、服务实现三个步骤。根据移动终端定位系统的区别和接入的LBS平台的差异以及接入网络方式的不同,其完成业务请求的时间和提供的服务会有不同,但其服务流程大体一致,本小节主要通过移动客户端程序接入方式来具体介绍LBS服务的流程,如图4.2所示:用户通过移动终端里面的应用程序发送业务请求;定位组件获取当前用户地理位置信息,实现定位过程,并返回给客户端应用程序;客户端程序通过网络,将定位系统所获得的地理位置数据发送到提供相应服务的LBS平台服务器端:服务器通过相应的业务逻辑,查询本地数据库或者地理信息数据库,获取相应的数据;本地数据库或地理信息数据库向LBS服务器端返回相应格式的数据信息;客户端通过网络接收服务器返回的数据并转化为相应的形式,显示在客户端程序界面,至此业务请求完成。五、 结束语 本文基于Android平台对LBS移动信息服务系统的构建和开发做了相应研究,是对基于LBS的移动信息服务模式的探索。系统以大学生求职为背景,借助于信息管理系统的高效性和移动互联网的便利性,并结合LBS信息服务的优势,实现了一个求职信息集中、用户使用便捷,具有LBS相关服务的求职应用系统,有效的促进了移动信息服务模式的发展20。本文所作的主要工作有:(1)通过对LBS技术在不同领域应用的分析,提出应用LBS技术建立一个面向大学生求职的移动信息服务系统,探索建立基于LBS的移动信息服务模式。(2)对基于LBS的求职助手信息系统做了详细的业务、功能、性能需求分析,并对系统体系架构做了概要设计,并在此基础上对系统结构、系统功能、系统数据库进行详细设计。(3)对系统关键技术进行了分析与实现,主要包括三个方面:对Web Service框架的原理进行了研究并配置实现了系统Web Service接口的调用;对Android开发平台的架构进行了研究并在PC机下实现了开发环境;对LBS平台结构和应用进行了研究并实现了系统调用百度LBS平台服务的功能。(4)运用Java EE、JavaScript、Ajax、Web Service等技术对LBS移动信息服务原型系统进行了实现。实现了管理员对系统用户、分类及资料推送的管理;企业用户对企业信息、职位信息、宣讲会信息的管理;求职用户对企业、职位、宣讲会、资料的查看,LBS服务的使用等功能。该系统具有很强的通用性和实时性,为高校大学生、企业招聘管理部门都带来了极大的方便。参考文献1李晓华高校扩招形势下我国大学生就业对策研究J科教文汇(中旬刊),2007,10:2242李一明移动互联网商业模式组成及典型案例分析阴电信科学,201 1,07:23283王明才,姚承宽位置服务在我国的应用与发展叨河北师范大学学报(自然科学版),2009,05:6886924刘楠,高贵凤移动定位海外模式:开发应用是关键四通信世界,2009,31:195陈晨LBS趋向交互式移动平台精准营销或成盈利模式J/OL6周傲英,杨彬,金澈清,马强基于位置的服务:架构与进展叨计算机学报,201 l,(7)7郭盈一种3G网络下的LBS架构研究及实现阴信息安全与技术,2011,(5)8王帅,刘厚泉基于主动任务模型的LBS系统架构研究四大众科技,2010,(6)9邹永贵,王剑运用SOA构建面向服务的LBSA彭丹计算机科学杂志社C: 计算机科学杂志社,2008:11211311410钟世明,邵锐,张胜,朱才连基于XML的LBS系统架构设计与实现叨武汉理工大学学报(交通科学与工程版),2006,(3)11Walsh,A(Walsh,Alan)、Pfeifer,T(Pfeifer,Tom)Hiding on the RoadAnonymous Usage of Location Based ServicesConference on Local ComputerNetworks,201 1: 677512牟锐,梅贤昌,黄闽英基于J2EE和Dijkstra算法的LBS最优路线搜索服务设计阴计算机应用与软件,2006,(8)13汪小林,庞潇,王海波,罗英伟基于SOA的GIS应用设计与实现AC:,2009169-170-171-172-173174-175-176177-178-179-18018114彭志宇,李善平移动环境下LBS位置隐私保护阴电子与信息学报,2011,(5)15徐锡珍,苗放LBS在数字景区中的应用设计叨成都大学学报(自然科学版),2011,(2)7116周脚根,边馥苓一种基于位置的移动服务系统的设计与实现阴武汉大学学报(信息科学版),2006,(4)17徐晶基于Android与LBS的地铁商圈信息服务系统D: 暨南大学,201218秦文超基于We
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!