1、本科毕业论文(20 届)实时路况系统的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要随着城市化进程的进一步加快,城市的人口和机动车拥有量也在急剧增长,城市交通交通压力日益加大,但是城市的一些交通的配套设施和管理措施没有跟上车辆增长的速度,从而交通拥挤堵塞现象日趋严重,交通事故时有发生。该系统在交通管理者与公众之间架起一座信息的桥梁,使交管部门所掌握的一手路况信息,能够准确、及时地发布给公众,从而达到指导出行、缓解拥堵的目的,让人们的出行能够通畅、快捷。从查看路况上网站,到导航仪实时播报拥堵信息,使得我们每天不在与道路拥堵“斗智斗勇”的时候,道路交通也越来越智能了。实时
2、路况系统在 Struts2HibernateSpring 框架的基础上,抓住 MVC 的思想的灵魂,用当今主流的网站开发技术 html5,jsp 语言并结合实用的javascript,ajax,servlet 过滤器等技术进行开发。该系统采用 B/S 体系结构,人们通过浏览器进行访问网站的主页,保证的服务器的安全。数据库采用免费,小巧,易用的mysql 数据库。该系统功能较齐全,用户可以搜寻路况信息,定位,查看监控视频。管理员可以管理各种路况、监控信息,以及搜索定位等功能。通过管理员及时的上传路况,监控信息,用户可以方便的查看自己路况的信息,选择合适的出行路线,使出行更加智能。本套论坛的优点在
3、于发效率快 稳定集成性能好,易于维护及扩展。关键字:实时路况,S.S.H(Struts ,Hibernate ,Spring),JAVA , MySQL ,JSP,html5AbstractAlong with With the further accelerate a city to change a process, the amount of city population and the vehicle is in rapid growth of city traffic, traffic pressure increasing, but some of the citys traff
4、ic facilities and management measures have not kept pace with the vehicle speed, and traffic congestion is becoming more and more serious, traffic accidents have occurred from time to time. The system sets up an information bridge between traffic managers and the public, the traffic control departme
5、nt of a traffic information, can accurately, timely release to the public, so as to achieve the guiding travel, alleviate the congestion to allow people to travel, to smooth, fast. The web site from the view on the road, to broadcast real-time traffic information navigator, so every day we do not in
6、 and road congestion “wits“, road traffic is becoming more and more intelligentThis Real-time traffic system based on Struts2+Hibernate+Spring framework, grab the MVC idea of the soul, with HTML5 web development technology of the current mainstream, JSP language and combining with the practical Java
7、Script, AJAX technology development. The system uses the B/S architecture, people visit the site through the browser home page, ensure the safety of the server. Database using free, compact, easy to use MySQL database. The system function is complete, the user can search traffic information, locatio
8、n, view the surveillance video. The administrator can manage various kinds of road conditions, monitoring information, and search features such as location.The forum is the efficiency of fast and stable integration of good performance, easy to maintain and extend.目录1绪论 .11.1 作品构思的创 意与价值 .11.1.1 背景 .
9、11.1.2 选题动机 .11.2 国内外研究现状和发展趋势 .12理论技术基础 .22.1 开发语言综述 .22.2MYSQL 数据库 .32.2JBOSS .32.3SSH 框架 .33.系统的分析与设计 .43.1 系统开发运行环境 .43.2 需求分析 .43.2.1 可行性分析 .43.2.2 系统功能分析 .53.3 总体设计 .53.3.1 逻辑结构设计 .53.3.2 路况维护流程图 .63.3.3 监控维护流程图 .73.3.4.基础设置流程图 .73.4 系统详细设计 .83.4.1 系统 E-R 图 .93.4.2 数据字典 .103.4.3 各模块流程图 .114系统的
10、实现 .144.1 目录结构 .144.2 框架配置文件 .154.2.1Struts 配置文件 .154.2.2Spring+Hibernate 配置文件 .164.3 系统权限管理 .174.4 路况维护 .184.4.1 路况添加 .184.4.2 路况管理 .214.5 监控维护 .234.5.1 监控添加 .234.5.2 监控管理 .254.6 基础设置 .275总结 .29参考文献 .3011绪论1.1作品构思的创意与价值1.1.1背景随着我国经济的快速发展,城市化、机动化的进程日益加快,交通工具的增长速度远远高于道路和其他交通设施的增长,随之引起了交通堵塞、环境污染、交通事故等
11、一系列的交通问题。本项目依托于河北省高速公路交警总队保定支队项目高速公路智能交通管理系统 ,是对该项目路况管理功能的扩充和延伸。实现由交管部门向公众发布实时路况,使公众在出行前、特别是出行中了解准确、及时的路况信息的功能,希望在一定程度上实现对公众的出行诱导,缓解交通拥堵问题。1.1.2选题动机现在,通过前期的调研,我们发现,目前存在两个问题:(1)公众在出行前、特别是出行中对于准确、及时的路况信息有着迫切的需求,目前在行车中公众主要是通过交通广播电台和司机手中两种途径获得路况信息,但这种信息往往是片面的,零散的,没有经过系统化的整理,对于公众出行的指导作用有限;(2)做为交通管理者的交警部门
12、、路政部门掌握着大量的一手的路况信息(如事故信息、交通管制信息、治安事件信息、监控信息等) ,但没有一个有效的平台将信息及时发布出去,以达到车辆分流、缓解拥堵的目的。本系统的目的就是要建立一个平台,在交通管理者与公众之间架起一座信息的桥梁,使交管部门所掌握的一手路况信息,能够准确、及时地发布给公众,从而达到指导出行、缓解拥堵的目的。1.2国内外研究现状和发展趋势目前,卫星定位导航领域走在世界最前沿的是美国的 GPS 系统。GPS 系统的前身是美国军方研制的一种子午仪卫星定位系统(Transit),1958 年研制,1964 年正式投入使用。该系统用 5 到 6 颗卫星组成的星网工作,每天最多绕
13、过地球 13 次,并且无法给出高度信息,在定位精度方面也不尽如人意。然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为 GPS 系统的研制埋下了铺垫。由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统。为此,美国海军研究实验室(NRL)提出了名为 Tinmation 的用 12 到 18 颗卫星组成10000km 高度的全球定位网计划,并于 67 年、69 年和 74 年各发射了一颗试验卫星,在这些卫星上初步试验了原子钟计时系统,这是 GPS 系统精确定位
14、的基础。而美国空军则提出了 621-B 的以每星群 4 到 5 颗卫星组成 3 至 4 个星群的计划,这些卫星中除 1 颗采用同步轨道外其余的都使用周期为 24h 的倾斜轨道,该计划以伪随机码(PRN)为基础传播卫星测距信号,其强大的功能,当信号密度低于环境噪声的 1%时也能将其检测出来。伪随机码的成功运用是 GPS 系统得以取得成功的一个重要基础。海军的计划主要用于为舰船提供低动态的 2 维定位,空军的计划能供提供高动态服务,然而系统过于复杂。由于同时研制两个系统会造成巨大的费用而且这里两个计划都是为了提供全球定位而设计的,所以 1973 年美国国防部将 2 者合二为一,并由国防部牵头的卫星
15、导航定位联合计划局(JPO)领导,还将办事机构设立在洛杉矶的空军航天处。该机构成员众多,包括美国陆军、海军、海军陆战队、交通部、国防制图局、北约和澳大利亚的代表。2由于种种原因,我国的卫星定位导航水平远远落后于信息基础设施的建设的水平。但通过近年来我国的大力发展,2000 年,首先建成北斗导航试验系统,使我国成为继美、俄之后的世界上第三个拥有自主卫星导航系统的国家。该系统已成功应用于测绘、电信、水利、渔业、交通运输、森林防火、减灾救灾和公共安全等诸多领域,产生显著的经济效益和社会效益。特别是在 2008 年北京奥运会、汶川抗震救灾中发挥了重要作用。为更好地服务于国家建设与发展,满足全球应用需求
16、,我国启动实施了北斗卫星导航系统建设。全国政协副主席、中国科学技术部部长万钢日前透露,2013 年将中国在东盟各国合作建设北斗系统地面站网。而根据中国卫星导航定位协会最新预测数据,到 2015 年,我国卫星导航与位置服务产业产值将超过 2250 亿元,至 2020 年则将超过 4000 亿元。鉴于上述卫星定位导航系统的日趋成熟和收集信息的情况,该系统充分综合应用了SSh 架构、Mysql、Html5、JSP 等技术,真正完好地达到服务于交通的计划。2理论技术基础2.1开发语言综述本系统是基于面向对象思想的 JAVA 语言中 J2EE 平台进行编写,J2EE 核心是一组技术规范与指南,其中所包含
17、的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循 J2EE 架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE 组件和“标准的” Java 类的不同点在于:它被装配在一个 J2EE 应用中,具有固定的格式并遵守 J2EE 规范,由 J2EE 服务器对其进行管理。J2EE 规范是这样定义 J2EE 组件的:客户端应用程序和 applet 是运行在客户端的组件;Java Servlet 和 Java Server Pages (JSP) 是运行在服务器端的 Web 组件;Enterprise Java Bea
18、n (E JB )组件是运行在服务器端的业务组件。J2EE 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1. 保留现存的 IT 资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE 架构可以充分利用用户原有的投资,如一些公司使用的 BEA Tuxedo、IBM CICS,IBM Encina, 、Inprise VisiBroker 以及 Netscape Application Server。这之所以成为可能是
19、因为 J2EE 拥有广泛的业界支持和一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的 J2EE 领域的升级途径。由于基于 J2EE 平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。2. 高效的开发:J2EE 允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:o 状态管理服务 - 让开发人员写更少的代码,不用关心如何管理状态,这样能够更3快地完成程序开发。o 持续性服务 - 让开发人员
20、不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。o 分布式共享数据对象 CACHE 服务 - 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。3. 支持异构环境:J2EE 能够开发部署在异构环境中的可移植程序。基于 J2EE 的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于 J2EE 的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE 标准也允许客户订购与J2EE 兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。4. 可伸缩性:企业
21、必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于 J2EE 平台的应用程序可被部署到各种操作系统上。例如可被部署到高端 UNIX 与大型机系统,这种系统单机可支持 64 至 256 个处理器。 (这是 NT 服务器所望尘莫及的)J2EE 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。5.稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET 是全球化的、无处不在的,即使在夜间按计
22、划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE 部署到可靠的操作环境中,他们支持长期的可用性。一些 J2EE 部署在 WINDOWS 环境中,客户也可选择鲁棒性更好的操作系统如 Sun Solaris、IBM OS/390。鲁棒性最好的操作系统可达到 99.999%的可用性或每年只需 5 分钟停机时间。这是实时性很强商业系统理想的选择。2.2MySQL数据库 MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS) ,MySQL 数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。比其它的数据库管理系统(DBMS)来说,MySQL 具有小巧
23、、功能齐全、查询迅捷等优点,对于一般中小型,甚至大型应用都能够胜任2.3JBossJBoss 是全世界开发者共同努力的成果,一个基于 J2EE 的开放源代码的应用服务器。因为 JBoss 代码遵循 LGPL 许可,可以在任何商业应用中免费使用它,而不用支付费用。除此之外,JBoss 需要的内存和硬盘空间比较小,支持集群。2.4SSH框架集成 SSH 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块4层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的 Web 应用程序。其中使用 Struts 作为系统的整体基础架构,负责 MVC 的分离,在 Struts 框架的模型
24、部分,控制业务跳转,利用 Hibernate 框架对持久层提供支持,Spring 做管理,管理struts 和 hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO(Data Access Objects)接口,并给出 Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 做管理,管理 struts 和 hibernate。系统的基本业务流程是: 在表示层中,首先通过 JSP 页面实现交互界面,负责传送请求(Re
25、quest)和接收响应(Response),然后 Struts 根据配置文件(struts-config.xml)将 ActionServlet 接收到的 Request 委派给相应的 Action 处理。在业务层中,管理服务组件的 Spring IoC 容器负责向 Action 提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于 Hibernate 的对象化映射和数据库交互,处理 DAO 组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底
26、分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。3.系统的分析与设计3.1系统开发运行环境鉴于系统的开发语言和数据库,采用如下的开发环境系统模式:B/S开发环境: Windows 2000NT JDK1.6WEB 服务器:Jboss硬件实现: Pentium2.4G 1G 内存 80G 硬盘开发语言: Java数 据 库: MySQL开发工具: MyEclipse10 框架:Struts2+Hibernate+Sprin
27、g预期成果: 一个可扩展的基于 MVC 模式的实时路况系统3.2需求分析3.2.1可行性分析在有限的时间中,完成高品质的系统,不得不提前考虑该系统的可行性。可行性的分析包括:经济可行性、技术可行性、操作可行性等等。(1)经济可行性:本系统采用 B/S 系统模式,采用开源的服务器和数据库,节约一定的财务支出,当系统建成之后,可以实现资源共享,节约用户的出行时间,还带来了经济效益,从经济上说是可行的。(2) 技术可行性我们已经系统的学习了 mysql,java,web 系统开发课程,并且已经深入学习了HTML5,CSS3,js,SSH 框架,ajax 等相关技术,为项目的完成提供了技术保障。(3)
28、 操作可行性本系统逻辑结构清晰,操作简单,易于理解,只需通过简单指导,系统管理员、以5及普通用户均能进行操作,操作可行性是完全可行的。综上所述:该实时路况系统效率高,成本低,出错率低,使用户的使用,总体上来说是完全可行的。3.2.2系统功能分析该实时路况系统实现以下管理功能:用户管理,路况查询,路况维护,监控维护,基础设置等。用户管理模块:该模块的主要功能是实现对用户的管理工作,包括用户的注册,登陆以及用户的修改删除功能。用户在注册时,利用 ajax 实现了在本页面内的刷新,来判断用户是否已经存在,并用 session 保存用户的信息。路况查询模块:该模块的主要是利用百度地图 API 完成用户
29、可以定位具体的位置,查询起始点到终止点的路线方案,以及放大缩小地图。路况维护模块:该模块主要功能是利用 SSH 完成路况信息的添加,路况的搜索,以及对路况的修改和删除操作还有定位等功能。监控维护模块:该模块的主要功能是利用 SSH 实现视频的上传,监控的搜索,以及对监控的修改和删除功能,这个模块将具体位置的视频录像清晰的展示给用户,使得用户准确的了解路况情况。基础设置模块:该模块的主要功能是利用 SSH 实现图标的上传,对图标的列表显示,以及图标的修改和删除等功能。3.3总体设计3.3.1逻辑结构设计该系统拥有管理员和普通用,逻辑结构如图 3-1 所示。管理员 普通用户用户管理路况查询监控维护路况维护基础设置路况查询监控搜索图 3-1 系统角色权限图3.3.2路况维护流程图登陆主页