交通路况预测模拟系统数据库设计
2016-03-22陈佳
陈佳
摘要:交通路况预测是城市管理一大难点,对于提高道路通行率具有重要意义。该文着重对交通路况预测模拟系统的数据库设计进行了研究,系统分析了用户需要和基于地图的路况预测,主要是通过基于不同时段车流量信息数据,实现对路况的预测功能及流量数据可视化的展现。
关键词:交通;系统;数据库
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2016)02-0001-02
为了缓解交通压力,减少城市交通事故率,提升交通相关部门的调度能力,在已经逐步步入交通大数据时代的背景下,运用城市交通路况预测系统来缓解城市交通问题有很大的意义[2]。该系统的设计严格遵守软件工程规范的开发流程,采用JavaEE平台,以Eclipse为开发软件,MySQL5.6数据库为后台数据库,Tomcat7.0服务器,使用Servlet和JSP等技术进行编码实现,并使用JavaScript、JQuery和CSS等技术改善系统前台界面的交互性。系统最终实现了如路况显示、流量统计、实时预测、实时调度以及交通流量智能显示等功能,并且系统代码采用模块化设计,对不同功能模块进行封装,系统不同业务逻辑间的耦合均依赖于抽象接口,很好地提高了系统代码的安全性和可复用性。
1 开发环境与项目技术
1.1 本系统开发环境为:Eclipse + Tomcat7.0 + MySQL5.6
Eclipse是一个开放源代码的、基于Java的可扩展开放平台,它提供了一个框架和一组服务,方便用于通过插件组件构建开发环境,并且附带了一个标准的插件集[4]。本系统属于JavaWeb系统,用Eclipse进行开发可以最优使用所需Web环境,本套系统也可以根据自身的习惯专注于系统的最优实现。其中,Tomcat是由Apache组织支持的一款开源的应用服务器,MySQL是一款开源的关系型数据库管理软件,MySQL是本系统开发的最佳数据库。
1.2 本系统开发技术为:Servlet + JSP +JSTL+ ECharts设计
Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分, Servlet 本质上是 Java 编程语言中的一个类,它被用来扩展服务器的性能,在服务器上可以通过“请求-响应”编程模型来访问的应用程序[5]。本系统中利用Servlet开发,体现了Java语言在服务器端的优秀性能,而且现在使用非常广泛的JSP技术也是基于Servlet的原理,JSP+JavaBeanstalk+Servlet成为实现MVC模式的一种有效的选择。JSTL是一个开放源代码的JSP标签库,其在应用程序服务器之间提供了标准接口,本系统使用JSTL标签为了最大程度地提高WEB应用的可移植性,简化了本系统的开发。ECharts是一款开源、功能强大的用于数据可视化的商业级图表产品,一个纯JavaScript的图表库,可以流畅地运行在各类PC终端及移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力[6]。
2 需求分析
本套交通路况预测模拟系统,模拟生成交通实时数据,以交通管理部门的工作人员为使用对象,结合交通部门日常调度工作的流程,实现对交通的实时预测及人员调度。编写数据模拟生成器,实时生成交通路况数据,并且调用地图接口显示,同时将生成的数据保存下来,用于生成道路流量统计图表,方面工作人员明显快速的看到历时道路状况。同时也根据当前道路情况,进行交通指挥人员的实时调度。
2.1 系统用户用例图
用户作为本系统唯一角色,具有操作系统的一切权限,具体功能如图1所示:
2.2 功能分析
本系统所实现的是一个路况预测的核心业务,以基于地图的实现进行展开。主要是通过基于不同时段车流量信息数据,实现对路况的预测功能及流量数据可视化的展现。系统功能分析图,如图2所示:
3 数据库设计
数据库是信息的存储库,供应用程序的其他部分进行管理使用并显示给用户。进行数据库设计时,我们必须先清楚地定义系统目标,这样可以确保开发工作进展顺利、实现良好的工作效率以及数据库模型完整和准确。以下为本系统的概念结构设计与逻辑结构设计[7]。
3.1 概念结构设计
经系统的功能需求分析可知,主体业务数据表为:用户信息表、道路信息表、道路通行量数据表、路口通行量数据表、道路路口信息表、交通指挥人员信息表、指挥人员工作状态表。系统主体业务数据表的E-R图如图3所示:
3.2 逻辑结构设计
根据系统的业务需求和最终目标,以及系统数据库E-R图,在MySQL数据库中建立系统主体业务数据表7张,以下是本系统所用到的7张数据表的设计。由于篇幅的限制,在数据库表的逻辑结构设计部分,我仅仅对系统主体业务数据表的逻辑结构进行阐述。系统主体业务数据表具体结构如表1到表6所示:
此以外,还需要进行详细功能的设计、预测算法设计等系统详细设计,当然也需要进行系统功能实现、系统功能测试等具体问题的设计。
参考文献:
[1] 庄洪波. 智能交通系统中的地图路况服务研究与实现[D]. 北京: 北京邮电大学硕士学位论文, 2013.
[2] 刘明然. 智能交通系统在交通拥堵治理中的应用分析[C]. 中国智能交通协会,第八届中国智能交通年会论文集, 2013.
[3] 戎亚萍. 基于路况数据的交通流预测模型及其对比分析[D]. 北京: 北京交通大学硕士学位论文, 2013.
[4] 愈建明. 基于Java语言的套接字编程及多线程服务器编程[J]. 福建电脑, 2008 (12): 161-162.
[5] 佟彤. 基于JSP技术网上书店的设计与实现[D]. 长春: 吉林大学硕士学位论文, 2013.
[6]. 基于Canvas的纯JavaScript图表库: ECharts[EB/OL]. (2013-07-10). http://www.open-open.com/lib/view/open13734175658 62.html.