基于LBS的信息采集系统设计与实现毕业论文.doc

上传人:牧羊曲112 文档编号:4957808 上传时间:2023-05-26 格式:DOC 页数:31 大小:361.50KB
返回 下载 相关 举报
基于LBS的信息采集系统设计与实现毕业论文.doc_第1页
第1页 / 共31页
基于LBS的信息采集系统设计与实现毕业论文.doc_第2页
第2页 / 共31页
基于LBS的信息采集系统设计与实现毕业论文.doc_第3页
第3页 / 共31页
基于LBS的信息采集系统设计与实现毕业论文.doc_第4页
第4页 / 共31页
基于LBS的信息采集系统设计与实现毕业论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于LBS的信息采集系统设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于LBS的信息采集系统设计与实现毕业论文.doc(31页珍藏版)》请在三一办公上搜索。

1、专科生毕业论文论文题目 基于LBS的信息采集系统设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作 者 签 名:日 期:指导教师签名: 日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本

2、;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名: 日 期:学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学

3、校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注意事项1.设计(论文)的容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字

4、(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体与大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印

5、件)次序装订 容 摘 要近年来,LBS(Location based service)通过向用户提供实时、准确、丰富的个性化位置服务,正逐步影响人们的日常吃穿住行。现如今,实时LBS服务如交通导引、地点查询、签到模式、店模式等等如雨后春笋般蓬勃发展,但部分缺乏长久的生命力和吸引用户的核心价值。运营商为构建更丰富、实用的业务形式,推出一种非实时的LBS服务,即基于用户常驻地信息实现用户互动的信息平台。求职是高等学校人才从学校走入社会的不可或缺的重要环节,众所周知,大学生目前就业形势不容乐观,就业压力十分巨大。在求职的过程中如何获取到最新的招聘信息,又如何从海量的招聘信息中准确的获取与自身条件相符

6、的企业信息和职位信息,以与如何解决对求职地点周边地理环境不熟悉等问题己成为阻碍大学生高效就业的主要因素。依托发达的移动互联网以与LBS技术,我们构建了一个为大学生求职服务的移动信息服务系统。因此,本文分别从理论与实践两个方面对系统相关容进行了研究。理论方面,对LBS移动信息服务系统的体系架构、Web Service工作原理、Android平台开发技术进行了深入的研究。在实践方面,采用Java EE技术并融入MVC软件设计模式构建了系统的Web信息管理客户端,同时运用Android平台实现了系统的LBS服务和信息服务客户端。通过Web Service来完成移动端与服务器端的数据交互,实现了基于L

7、BS的移动信息采集的服务系统。本系统包括系统管理、企业管理、求职应用三大功能模块。该LBS移动信息采集服务系统在可以运行在Android平台上。该系统可以提高大学生获取求职信息的实时性以与对企业信息、职位信息等精确查找,同时通过LBS技术,可以很好的提供基于求职地点的位置服务,这样有效的解决了大学生求职信息资源分散,时效性差等问题,同时也促进了LBS移动信息服务模式的形成。关键词:移动信息采集系统 LBS Android平台 Web Service技术 目 录容摘要1论文题目1一、绪论2(一)研究背景与意义2(二)国外研究现状2二、系统结构与原理6(一)LBS系统原理6(二)系统结构设计7三、

8、系统关键技术分析与实现15(一)WebService框架分析与实现15四、LBS平台应用与实现21(一)LBS平台体系21(二)LBS服务流程22五、结束语24参考文献25基于LBS的信息采集系统设计与实现一、 绪论(一)研究背景与意义 随着我国高等教育水平的不断提高,各高校不断扩招,大学生群体日益庞大,大学生就业难这一问题成为了社会各界关注的焦点问题。中国社科院发表社会蓝皮书报告,中国大学生的失业率达到12,这样庞大的毕业生失业人群的出现,也为即将毕业的大学生就业构成了极大的压力。1近年来,随着就业环境和趋势的发展,主流求职招聘与高校就业信息网也逐渐建立起来,以期能够快速的传播求职信息。爆发

9、性的海量求职信息给高校学子带来就业机会的同时也带来了求职信息资源分散等各种问题,这些都极大的影响了毕业生求职效率。如何有效的管理海量的求职信息方便大学生求职成为一个亟需解决的问题,因此,构建一个信息资源集中,高度共享、实时性强的大学生求职信息服务系统是具有实际意义的。随着我国无线通信技术与移动互联网技术的快速发展,高速移动无线网络服务迅速普与,受众群体日趋庞大。同时移动智能终端也走入寻常人家,使得移动互联网应用市场规模持续扩大,前景备受看好。2基于移动终端的求职信息服务系统拥有传统信息服务系统所不具有的优势,其方便携带、能随时随地接入互联网等特性,有力的提升了移动求职信息服务系统的便利性。与此

10、同时,基于位置昀服务(LBS,Location Based Service)逐步成为移动应用的开发热点,显然,将移动信息服务系统与LBS技术相结合,给求职用户提供关于企业、宣讲会位置的相关定位或路径规划等功能,这样在一定程度上强化了大学生求职信息服务系统的便捷性和实用性。 综上所述,本文以求职为应用切入点,依托Android平台,将LBS技术融入其中,对基于Android平台的LBS移动信息服务系统进行了研究,这相当于在用户、信息和地理位置三者之间构建起了关系网络,提升了信息服务系统的智能性。而这种基于位置的信息服务系统将在促进移动信息服务的拓展与深化、位置信息的管理与共享等方面发挥更为显著的

11、作用。(二)国外研究现状1LBS起源与应用 LBS我们也可以简称为“位置服务”,是现在广泛应用与移动互联领域的一项技术,它通过移动终端来获取用户地理位置或查找相应的地理位置,并根据位置提供相应的信息服务,这正是其意义所在。 LBS起源于上个世纪70年代的美国,它并不是一项新技术。当时的美国颁布了911服务规。而其最为基本的业务是在国家和人民生命安全受到威胁时的一种应急处理业务。和我国的110等紧急一样。FCC要求移动与相关网络运营商在紧急情况下,可以跟踪到呼叫911的的所在地,这就是LBS的前身。2001年的911事件也让美国的公众认识到位置服务的重要性,于是美国迅速的将LBS引入到移动通信、

12、公共安全、交通、应急处理等各行各业3,为国家安全和社会公众提供空间信息安全保障服务。美国的两家公司分别在2001年10月和12月推出了基于GPSONE技术的定位业务,并且通过该技术来满足FCC对E91 1第二阶段的要求4。其实LBS技术发展一直处在不瘟不火的状态,直到3G移动无线网络的普与以与WIFI网络的大量设点,LBS真正的开始壮大发展。以Android为代表的新一代智能终端的出现促使了移动应用开发的繁荣,LBS技术则被广泛的应用到移动终端上。例如:Google移动战略的巨大成功,使的谷歌的各种优势项目毫无疑问的被移植到了移动终端应用上,而众所周知的谷歌地图在提供精准的定位导航和环境查看的

13、同时,也会提供用户查询所在地的交通状况以与配套的餐馆、ATM机、加油站等服务。这样便使得LBS服务的基本形式得以显性化,而如今LBS在各个领域的渗透,使得LBS业务愈加繁荣,并且有了规模庞大的用户群体。随着国LBS市场的迅速壮大,国的LBS应用也相继问世,目前主要有以下几种类型:(1)签到模式 这一类模式的代表主要有街旁、切客等应用。这种模式是以用户心理新鲜感、自身满足感与成就感为基础的。签到可以很好的为商家与其品牌进行多种方式的推广与营销,而用户则通过每次签到来获取积分等奖励。但这种模式具有脆弱的地方,当用户长时间使用后对这种感觉厌恶或产生反感,这种签到的价值就无法持续存在。此类模式应用了L

14、BS服务的基本功能,即地理位置定位服务,但其发展过程中遇到较大瓶颈,已基本被遗弃。(2)分享模式 这一类模式的代表主要有百度身边、大众点评等。这种模式是通过“POI搜索”等定位服务为服务提供商合作的商家推荐和导入客流,同时用户也可以通过分享相关容来获得不同优惠,这种模式能主动的调动用户活跃度,是目前比较主流的模式之一。(3)社交模式 这一类模式的代表主要有微信、陌陌等应用。此模式通过地点定位来开展社交活动,不同的用户因为在同一时间处于同一地理位置围,或兴趣爱好一样,则可构建好友关系,该模式也是目前国比较主流的LBS应用模式之一。 除了以上模式外,目前的LBS应用还与交通、广告、旅游等方面相结合

15、,国的研究者和开发者也在不断的结合中国本土化特色来创新应用模式。2LBS信息系统的相关研究 随着LBS的发展,近年来,专家学者们对LBS的相关技术与应用进行了研究,主要集中于以下几个方面。(1) 在LBS系统架构方面,周傲英、彬等人对LBS的架构与进展进行了研究,分析研究了LBS系统的架构与其各个组成部分的关键技术5;郭盈研究了LBS在3G网络下的架构与实现,通过对业务流程的分析,提出和实现了一种基于J2EE平台的瘦客户端服务器模式的LBS体系架构6;厚泉、谭海樵等人研究了基于动态任务模型的LBS架构,以期使用任务模型和DAMO模型来提高LBS系统智能性7;邹永贵、王剑针提出了一种将SOA架构

16、运用于LBS的思想,通过Web服务技术和中间件技术来解决LBS中访问方式多样、兼容性不足等问题,最后给出了基于SOA的LBS服务平台架构和实现方案8;钟世明、邵锐等人提出了利用移动代理和XML技术来构建分布式的LBS系统的解决思路,以此来解决LBS系统数据格式多样等问题9。这样,都为LBS系统架构的研究和发展垫下了基础。(2) 在LBS的定位等技术方面,WalshA,PfeiferT研究了在Android和IOS平台上控制LBS应用定位精度和地理围的方法10;牟锐、梅贤昌等人将Dijkstra算法应用于通过LBS搜索最优路线服务中,通过优化算法的存储结构,提高了其响应速度,满足了移动业务对定位

17、服务的高效要求11;汪小林、庞潇等人提出了一种基于轻量二进制矢量地图数据格式ByteMap,并将它运用于在线地图服务中,并实现了支持在线地图服务的LBS支撑平台LBS-p12;志宇、善平提出了一种快速模糊化算法,该算法对移动环境下LBS系统用户位置隐私具有一定的保护作用13。可知,基于LBS的定位精度、数据交互、隐私等方面都将具有很大的研究空间。(3) 在LBS系统应用与设计方面,徐锡珍、苗放通过分析比较目前定位技术、各移动平台下LBS应用程序开发的难易程度,探讨了数字景区LBS系统的工作流程和体系框架,并在Windows Mobile平台下进行了数字景区LBS应用系统的开发14;周脚根、边馥

18、苓设计了提出了一种基于Web服务的LBS体系结构(WS-LBS)并设计了WS-LBS系统框架,实现了空间信息服务的构建与发布机制和WS-LBS原型系统,扩展了终端用户;徐晶在Android平台下使用LBS技术,设计实现了一个地铁商圈信息服务系统;文超通过Web Service来完成手机客户端与服务器的数据交互并实现了手机位置服务系统设计;高明、马力等人将LBS技术应用于校园环境中,设计实现了一个校园LBS应用系统;王建勇、飞通过Android智能手机自带的GPS定位实现了用户地理位置定位,基于此提出了一种基于LBS即时通信系统的解决方案,在Google Map上实现地图位置感知显示。可见,LB

19、S系统具有十分宽广的应用前景。(4) 在移动应用方面,根据笔者调查发现,目前将求职与LBS相结合的移动应用甚少,诺基亚在2013年6月发布基于地理位置和社交网络的求职应用JobLens,打开该应用后,用户可以查看到身边的企业招聘职位、企业薪资待遇、岗位需求趋势等情况,但目前而言,只有诺基亚Windows Phone手机用户才能使用该应用。而国比较大型的求职门户例如智联招聘、51job等都推出了其移动客户端,但其应用除了将一些常用功能移植到移动端外与LBS的关联几乎没有。 基于以上所述,将LBS技术与移动信息服务系统相结合有利于解决大学生在求职过程面对的信息杂乱、繁琐、地理位置不了解等问题,开发

20、构建LBS求职移动信息服务系统是有实际需求和创新性的。因此,本文充分利用Java技术结合Android和百度LBS平台开发出面向大学生的移动求职信息服务系统。二、 系统结构与原理(一)LBS系统原理 本文系统采用了三层结构,分别为第一层客户端,第二层应用服务器和第三层地图服务器。通过引入三层结构,可以将更多的精力放到第一层客户端和第二层应用服务器的功能开发上,而对于第三层地图服务器则可以采用成熟的商用解决方案。这样的系统结构缩短了项目开发的周期,在扩展性方面留有充分的余地,维护起来也很方便,同时使得系统在更加灵活的同时也更加强壮。 用户在实际使用时可以通过三种方式访问系统。最通常的情况下,用户

21、将通过移动上运行的客户端程序,在具有定位能力的无线网络支持下访问系统;当用户使用自带定位能力的PDA(Personal Digital Assistant)时,根据PDA功能的差异,可以直接通过Internet访问系统或者通过无线网络间接访问系统;此外,为了增加系统的适用围,还允许用户用PC(Personal Computer)通过Internet直接访问系统。虽然随着技术的进步,目前的PDA和移动都具有了一定的嵌入式计算能力和存储能力,以目前市场上常见的中高端手机为例,其计算能力一般为1M MIPS,存储能力一般为数兆数十兆。显而易见,这样的硬件条件是不足以处理庞大的地理数据的。因此,系统将

22、主要的计算任务交由后台服务器完成,如地图的产生、移动和缩放;地图目标的查询:最短路径搜索等。PDA或移动只负责完成发起查询和显示查询结果,而不保存地理数据和进行复杂的地图相关的运算。 这样的系统设计带来的弊端是系统交互次数增加;数据传输量大,占用运营商过多的带宽;后台服务器负担重等。但是硬件设备的发展数度是很快的,当用户端的掌上设备达到一定的要求后,可以将系统的计算任务从后台服务器向用户端转移,从而改善系统的性能。无论用户采用何种访问方式,系统都必须根据用户终端的显示能力和运算能力提供适当的响应。同时为了适应不同的访问方式和提高系统的可扩展性,系统在客户端和应用服务器之间、应用服务器和地图服务

23、器之间都定义了统一的XML接口。XML接口提供了与平台无关的数据传输,只要遵循了这套接口,就可以从不同的平台上来访问服务器。应用服务器提供了客户端和地图服务器间的接口,它负责翻译和转换用户的输入以与地图服务器的响应,同时它还负责完成用户信息的管理和计费。 地图服务器采用了ESRI公司的产品ArcIMS,ArclMS地图服务器适用于无线互联网、Internet、Intranet的地图应用的开发,能以多种图形格式发布地图,很容易建立基于PDA或手机的可扩充的移动定位服务应用。对于LBS应用,核心问题是解决大用户量的并发访问问题,ArcIMS采用了先进的负载平衡和流量控制技术,当需要扩大系统容量时,

24、只需简单的增加地图服务器的数量就可以满足用户的要求。至于地理数据则可以从特定的基础地理数据生产商处购买,并且根据实际需要,还要对GIS地理数据进行一些自己感兴趣的加工,比如采集并添加宾馆酒店、自动取款机、公共汽车站等数据信息。(二)系统结构设计 随着移动互联网的发展和智能移动终的普与,移动信息服务系统正逐步在取代传统信息服务系统,其便捷的优势是传统信息服务系统无法比与的,而随着LBS技术的成熟与应用,结合LBS的移动信息服务系统更能发挥其地理位置与信息服务的优势。 本文提出了一种基于LBS的新型校园信息服务方式:移动客户端一旦在校园启动该软件,服务器就将已经整合好的院校通知信息,推送到客户端。

25、使得学生和老师省去了上多个院网,校园BBS以获取校园动态的繁琐操作,达到校园信息的一站式阅读。因为移动手机自身的便携带性,所以基于LBS的信息服务更有即时性,同时限定信息的使用者和发布者都是校园里面的人,从而一定程度上保证了信息的安全性。1业务需求分析 目前的大学就业过程中,学生对招聘信息的需十分巨大的,但却缺少知晓校园招聘信息的渠道,学校主要是通过学校就业显示招聘单位和职位,或者通过学院 群等方式通知相关信息,这样就存在着消息闭塞,缺乏实时性和共享性等缺点。同时,很多学生平日在学校里专心研究,很少走出校门,对城市地理环境并不熟悉,针对这个问题,我们在系统中融入LBS服务,从而给求职者关于企业

26、和招聘会的路线导航和乘车推荐。通过调查研究,系统业务主要包括以下几个方面:个人注册和企业注册:求职者可以通过注册页面填写基本信息后注册到该系统,系统会自动保存其信息。企业用户通过填写其企业基本信息后,通过管理员审核通过后,系统也会保存其信息。管理员可以通过Web管理客户端对个人用户信息和企业用户信息进行管理。企业信息发布:当企业通过注册后,可以在管理平台上面发布该企业的招聘信息,例如职位名称、职位介绍等。同时企业也可以通过管理平台发布该企业宣讲会详情。招聘信息查找:当求职用户注册成功后,用户可以通过行业分类来查找与专业对口或者感兴趣的职位,其次用户也可以根据所在职位类型来查找相关的工作职位。用

27、户可以申请或自己感兴趣的职位。路径规划:用户如果想去该公司所在地或者宣讲会所在地,可以通过定位功能实现线路规划,这样大大方便了对地理环境不熟悉的求职者。企业对应聘者的查询:当求职者申请了某公司的职位后,企业用户可以通过管理平台查看到申请人的具体信息。系统业务流程如图2.1所示:2功能需求分析为了明确系统设计目的,通过分析和进一步的整理归纳,系统整体功能需求如下:(1) 系统应允许求职者可以通过手机客户端注册为系统用户,同时也允许管理员和企业用户使用浏览器访问Web管理端。管理员可以对其他用户信息进行查看,能够对分类模块和推荐模块等进行操作。(2) 系统允许企业用户添加招聘具体信息和宣讲会信息,

28、当提交的招聘职位有求职者申请时,企业用户可以通过Web管理系统查询到,并能查看申请人的基本信息。(3) 系统求职用户可以通过客户端检索求职信息,检索条件可以是行业分类名或者职位类型名,当查看自己想应聘的职位信息时,可以申请和收藏该职位。并能通过LBS服务导航到相关地点。用户还可以检索宣讲会信息,并也能导航到宣讲会地点。(4) 系统能通过后台推送一些求职方面的资料或文章,供客户端用户查看学习。(5) 系统能保证后台数据库的安全性,同时能维护系统数据库表,包括对表进行增删改查操作。3. 性能需求分析作为一个便捷的实时求职信息服务平台,除了完成上述功能性的要求外,还需要满足一些非功能性要求,具体包括

29、系统整体性、可扩展性、并发性、数据安全性四个方面。(1) 整体性:提供良好的用户体验,统一的界面风格,有较好的互操作性;具有多种连接网络的方式,例如WiFi接入、3G网络接入;降低系统资源的消耗,保证系统的稳定性和反应时间。(2) 可扩展性:系统要具有低耦合性和良好的可扩展性,便于系统日后维护和升级;当新模块或新功能、修改等因素情况下,系统各版本能够兼容,方便系统的改进和完善。(3) 并发性:当系统用户数量增加时,系统服务器必须保证较高的并发性能,防止该情况下,系统出现访问延时或访问断开等现象,影响系统运行。(4) 数据安全性:为保证系统信息安全和通信安全,在网络传输、数据校对等过程中,必须对

30、程序中的隐私数据进行一定的加密安全处理。4. 体系架构我们将本系统分为Web管理端、Android客户端和系统服务器端三部分,在管理端我们采用典型的浏览器/服务器(B/S)架构,在Android客户端采用客户端/服务器(C/S)架构。同时,为了遵循系统可扩展性和可复用性的设计原则,采用MVC软件设计模式。将应用程序的主要功能分离到不同的类层中,抽取出业务逻辑,实现底层控制与业务逻辑的分离,从而实现系统的低耦合性,使后期开发和维护更加方便。 架构是指在一定的设计原则基础上,对组成系统的各部分进行合理的分析和安排,将多个小结构有效的融合形成大的体系。它将系统的各个组成部分与其属性之间的相互关系通过

31、不同的角度进行展示。在应用系统中最常见的一种架构模式是分层,通过层次结构将系统的各职责区分开来,每个层次仅负责与本身相关的系统,通过层次间的相互依托和调用来完成整个系统功能。这样可以将一个巨大的系统拆分成不同的组件,不仅理清了系统的结构逻辑,也在很大程度上弱化了系统耦合度。系统也不会因为任一层次组件的调整而整体变更。 一般情况下,一个系统大致可以分为三层,从上到下依次为应用层、服务层、数据层,也就是我们通常所说的三层架构模式,其各层功能如表21所示。应用层负责具体业务和视图展示。如系统的页面显示和结果展示服务层为应用层提供服务支持,包括维护系统业务逻辑和数据接口数据层提供数据存储访问服务,如数

32、据库、缓存、文件、搜素引擎等系统分层架构功能描述根据上述的分层模式的优势,本系统也严格遵循分层模式的设计方法,实现系统的低依赖性和高复用性,本系统的完整的体系结构设计如图2.2所示。系统总体结构图通过对系统总体结构的分析,通信终端仅仅显示数据,而应用层负责处理人机交互过程,移动终端通过系统客户端完成界面显示,而Web管理端通过浏览器进行界面交互;服务层主要是负责系统各业务规则逻辑服务组件的实现,并为业务逻辑层提供访问这些业务逻辑的接口;客户端通过调用Web Service接口和业务基类共同完成业务逻辑处理,数据流传输等操作,Web管理端则通过 请求与Web应用服务器通信完成数据传输和业务逻辑处

33、理;最后,系统通过数据层完成与数据库服务器的数据交互。 总而概之,系统数据层从数据库服务器获得原始数据,通过逻辑处理层的处理,业务逻辑层再把数据转换成符合业务规则的数据格式,最后,通过视图层将信息转换为用户可以理解的信息格式。可见,这种设计实现了系统的分层和互操作性。5. 系统服务器端结构设计与传统应用系统相比,高并发,大流量、高可用性、海量数据、用户分布广泛,网络情况复杂等是互联网应用系统所具有的特点,这就要求系统服务器具有较高的性能。通常的小型系统中应用程序、数据库、文件等所有资源都在一台服务器上,但是随着系统的发展,一台服务器是不能满足系统发展的需求的。越来越多的用户访问导致性能越来越差

34、,越来越多的数据导致存储空间不足等问题将表现的愈来愈明显。为了克服上述问题,本系统的服务器设计采用分布式集群架构,其结构图如图2.3所示。系统服务器结构图由上图可知,服务器端由负载均衡调度服务器、应用服务器、文件服务器、缓存服务器、数据库服务器五部分组成,在服务器架构中,通过服务器对硬件资源的需求各不一样,我们将应用服务器与数据服务器分离。应用服务器需要强大的CPU来处理大量的业务逻辑;文件服务器需要大容量硬盘来存储大量用户上传的文件;数据库服务器需要更快的硬盘和更大的存来快速磁盘检索和进行数据缓存。系统通过负载均衡调度服务器,将来之用户的访问请求分发到应用服务器集群中的任何一台服务器上,使应

35、用服务器的负载压力不再成为整个系统的瓶颈。同时,通过使用缓存,是绝大部分数据读操作访问都可以不通过数据库就能完成,提高系统访问速率。由于目前主流数据库都提供主从热备份功能,通过配置两台数据库服务器主从关系,实现数据库读写操作分离,从而改善数据负载压力,同时保证数据安全。6. 系统客户端设计客户端是应用程序与用户之间交互的桥梁, 主要是负责数据显示、功能模块转换等功能。本系统有两个客户端,一个是Web端的Web管理客户端,其包括管理员功能界面和企业用户功能界面。另一个是Android应用客户端,只针对求职用户功能设计。Web管理客户端该客户端主要负责是对系统相关数据初始化与企业相关信息编辑管理,

36、相当于系统的后台管理入口,用户使用角色上有差异,但在结构设计上是一致的,其结构设计如图2.4所示。Web管理端结构图Web管理端的显示界面是基于JSP的动态网页,其通过访问相应的Action类来进入业务逻辑层(Service层)进行业务逻辑处理,当处理完成后则调用相应的数据层(Dao层)方法,进行相应的数据读写操作,并返回给JSP页面显示。Android应用客户端该客户端中应用界面与用户交互的基本功能单位是活动(Activity),一个Activity类通过加载一个xml布局文件就生成了一个界面,通过调用SetContentViewO方法来加载视图资源显示,通过Intent类来传递参数或者改变

37、活动。其结构设计如图2.5所示:由于Android应用客户端没有使用客户端数据库,全部数据均通过网络访问服务器端数据库,因此结果处理模块需要负责通过数据访问接口类,通过调用 Client类,请求相关URL,完成对Web Service接口来完成对数据的相关操作。综上所述,系统客户端结构主要由以下部分组成:(1) UI界面模块:该模块用于展示系统功能界面,接收用户的操作数据,返回处理结果并显示等。(2) 业务请求处理模块:该模块接收用户请求和传递数据给结果处理模块并接收该模块返回的数值。(3) 结果处理模块:该模块负责处理数据相关请求,转换数据格式,完成对数据库的读写等操作。三、 系统关键技术分

38、析与实现(一)Web Service框架分析与实现 Web Service实现了应用程序在不同平台和不同语言间的相互服务调用,是一种面向服务的编程(SOA ServiceOriented Architecture)架构。它通过基于 协议的方式进行应用间的交互,需要遵守Web服务定义语言(WSDL Web ServiceDefinition Language)和简单请求协议(SOAP Simple Object Access Protocol)的规。其基本实现了应用软件、Web、各种通信设备之间高度融合,促进了Web无缝集成环境的发展。1. Web Service基本结构与原理 服务提供者、服务

39、请求者和服务注册中心三种角色通过发布、发现和绑定行为共同组建了Web Service体系结构。Wreb Service核心是SOAP协议,SOAP是用于交换XML编码信息的轻量级协议,它规定义了SOAP消息的格式和XML数据编码方式,以与如何通过 协议来调用SOAP进行请求。 按照Web Service的相关标准描述,服务的提供者应该首先通过WSDL和UDDI(Universal Description Discovery and Integration统一描述、发现和集成规)注册到一个规定的服务器存储中心,然后将其能提供的相应服务的信息发布到这个服务器中。这样,服务的请求者就可以通过相应的协

40、议去访问服务器,发现到服务提供者提供的服务,并可以通过调用该服务提供的接口方法来使用这个服务。2. 系统的Web Service设计 在本系统设计中,Android客户端的大部分功能模块都被实现为Web Service服务并被封装在服务器端应用程序逻辑中。我们将系统功能分解为各种独立行为,这样系统功能就由各简单的Web Bean封装而成,并作为Web Service的提供者,Android客户端作为服务的请求者可以直接访问Web Service的URL来获取相应的数据来满足客户端的功能需求。图3.1显示了本系统的Web Service结构体系。系统WebService结构图对本系统的Web S

41、ervice主要包括:用户服务Users Service、推送资源服务ArticlePush Service、企业信息服务CompanyInformation Service、职位信息服务JobService、宣讲信息服务PreachInformation Service、分类信息服务包括行业分类Industry Service和职位类型Type Service。各具体功能如下:(1)用户服务Users Service 用户服务是指在Android客户端中注册的求职者,要成为系统合法用户,必须首先向系统提交注册申请,经过系统审核后,即可成为系统用户,对于这个服务而言,不同类型用户并没有什么本质

42、区别,只是系统提供的操作权限不同,并在登录过程中针对用户在使用系统提供的功能之前进行的身份验证,服务具备的功能有:注册功能、登录功能、注销功能。服务的接口如下。用户注册RegsitUser():接口参数为用户账号、真实、登录密码、性别、电子、用户身份权限值等。用户登录LoginUser():接口参数为用户登录名和登录密码。用户注销LogoutO:无接口参数(2)推送资源服务ArticlePush Service 对于这个服务主要是客户端用户来访问推送资源时,客户端必须获取相关的推送信息,并具备查看的功能。服务的接口如下。推送资源列表ArticlePushList0:接口参数为分类名:查询资源信

43、息GetArticleInfoO:接口参数为推送资源ID(3)企业信息服务CompanyInformation Service 系统提供的该服务主要是对企业信息进行查询,所具备的功能是:获取企业信息。服务的接口如下。企业列表CompanyList():无接口参数。查询企业信息GetCompanylnformation():接口参数为企业ID。(4)职位信息服务Job Service 该服务为用户提供职位查询、职位申请、职位收藏的功能,服务接口如下。职位列表JobList():无接口参数查询职位信息GetJobInformation():接口参数为职位ID。职位申请ApplyJob0:接12参数

44、为职位ID、用户ID(5)宣讲信息服务Preachlnformation Service 该服务主要是对宣讲会信息进行查询,服务的接口如下。宣讲会列表PreaehList():无接口参数。查询宣讲会信息GetPreachlnformation():(6)行业分类Industry Service该服务主要是对企业所涉与的行业进行分类,并可以通过分类来查询企业。服务的接口如下。行业分类列表IndustryList0:无接口参数发表行业分类查询QueryCompanyByIndustry0:接口参数为行业ID(7)职位类型Type Service 该服务主要是对企业发布的职位进行分类管理,以便通过职

45、位类型来查询相关职位服务的接口如下。职位类别列表TypeList0:无接口参数发表职位类别查询QueryJobByType0:接口参数为职位类别ID3. J2EE平台下Web Service的实现 随着技术的发展,SOAP协议已经进入比较成熟的阶段。许多的中间件可以帮组我们忽略SOAP底层是如何通过XML生成HTML脚本向 发出请求的过程。开发者只需关注Web Service接口方法的设计和实现。 使用JAVA EE和.NET两种技术实现Web Service是目前比较通用的方法。由于本文所研究的是基于Android平台下的应用开发,为了统一开发环境,所设计的系统选择Eclipse支持的JAV

46、AEE平台进行开发。 通过对多种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配置文件融合。

47、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) 应用框架

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号