您的位置: turnitin查重官网> 计算机 >> 软件原理 >探究查询系统长株潭公交一体化查询系统设计和实现

探究查询系统长株潭公交一体化查询系统设计和实现

收藏本文 2024-01-16 点赞:7881 浏览:25059 作者:网友投稿原创标记本站原创

摘要:近年来,随着长株潭城市群的经济快速发展,人口数量也急剧增加,给人们的出行带来了极大的问题。该文从用户的角度出发设计了一个适用于用户的长株潭公交一体化查询系统。在对用户的需求进行了分析以后,对系统开发环境、关键技术、总体要求分析、系统流程模型、数据流图、总体设计等方面进行了深入的分析。该文采用Dijkstra算法为基础理论

源于:论文摘要怎么写www.udooo.com

进行算法的优化,从而使用户在以最少时间、最少花费、最少换乘等条件下进行公交的换乘工作。
关键词:长株潭;公共交通;公交查询;一体化;换乘查询
1009-3044(2013)02-0292-07
近年来,由于长株潭经济的快速发展,城市人口相比于以前也增加了很多。为了能方便人们的出行,所以需要增加城市中的道路数量。随之带来了一个城市公交路线的调整的问题,但同时这也给人们的出行了带来不便。正是由于这个原因,急需要一个公交查询系统来方便人们用来查询长株潭最新的公交车信息和道路状况,人们就可以不用因为公交线路的变换而头疼了。城市公交的主要职责就是为人民的出行来怎么写作的,在城市生活中占据了极其重要的作用。
城市公交对城市的经济发展和居民生活具有直接影响,对城市经济的发展具有全局性、先导性的影响。因为城市公交具有方便、快捷、容量大等优点,所以成为现代城市交通的主体。但现在的问题是随着公交系统的日益庞大,公交信息也在经常发生变化,人们对于公交信息就不能及时、准确的获得,这样必然会给广大市民的出行带来不便。因此,一个方便、快捷的公交信息查询方式,不仅能够使三市间的交通更方便,也能通过三市连接区的公共交通体系,实现三市人、物、资金乃至信息的充分流动。而且更能体现出一个城市的智能公交系统的水平,更显示出城市的数字化、信息化水平。

1 系统需求分析

本系统集JSP技术和JaBean技术的有效结合,成功设计并实现了一个公交查询系统,解决了公交查询实现中遇到的数据库连接、模糊查询、分页技术等相关技术问题;该系统完备的功能模块处理,能满足用户的查询,发布留言、查询与浏览公交信息等诸多需求,使网络公交查询更加便捷。该系统基于JSP和JaBean技术的实践,对其它网络公交查询的开发具有一定的理论意义和实际应用价值。
1)本系统采用B/S体系结构分别为不同身份的用户进行怎么写作。为公交管理人员提供的怎么写作主要包括:添加、修改、删除、检查结果记录管理及查询;为普通用户提供的怎么写作主要包括:各种不同的查询;为系统管理员提供的怎么写作主要包括:用户帐户管理及对系统配置的功能。
2)本系统是以JSP语言为前台的应用程序进行开发,后台使用Oracle数据库。系统采用JSP技术来开发,采用B/S模式来实现浏览器端和怎么写作器端的访问,系统所使用的技术有足够的可行性和明显的针对性。
3)本系统采用结构化设计的方法来实现系统总体功能。能够极好的提高系统的各项指标。结构化设计的主要方法是通过将整个系统合理的划分成为几个功能相对独立的模块,然后对模块之间和模块内部的联系以及和数据库的联系进行正确的处理,定义各个模块的内部结构,进而达到实现整个系统的功能的目的。
通过对本系统主要功能的分析,得出本系统的主要设计结果。对于面向用户的前台模块的主要设计分为:线路查询、站点查询、公交换乘模块、留言板模块。具体功能如表1所示。
表1 前台模块的功能设计
1.png> 对于面向管理员的后台模块,主要需要实现的是一些管理员所需要的工作,具体功能如表2所示。
表2 后台模块

2 基于公交路径最优的查询算法

2.1 Dijkstra算法
二十世纪五十年代后期,迪杰斯特拉(Dijkstra)提出了一个算法专门用来解决最短路径问题,并以自己名字命名此算法。
Dijkstra算法的具体过程描述如下:
1)在本文中用weight来表示带权有向图,weight是一个二维数组。行和列分别表示这个带权有向图中的节点。也就是说weight[i][j]表示弧上的权值。但是如果这个弧不存在,也就是说不存在直接从vi到vj的路径,则将weight[i][j]设置为∞(在实际的计算机编程中可用一个比较大的值来表示最大值)。为了将已经找到从v到某些节点的最短路径的节点记录下来,使用了一个集合S表示,这个集合的初始状态为空集。在这个基础上,我们可以将这个带权有向图中的除节点v以外的其他节点到节点v的初始长度设置为L[i]=weight[locate Vex(G,v)][i]vi∈V,设置循环次数为n;
2)设置最短路径的终点为节点vj,那么vj的取值就是所有能到达此节点的路径的最小值,我们也就求出了所需要的最短路径了。由于j满足集合S的条件,所以令S=S∪{j};
3)根据上面的结果,可以修改从初始点到任意V-S这个集合中的最短路径的长度。也就是说如果根据上面求出的最短路径使得V-S中的某个点的路径变短了则进行修改,否则不需要修改L[j]的值。
4)将循环次数减1,判断是否为0。如果为0则算法结束,否则跳转到2)。由上面的算法可以看出,Dijkstra算法可以求出从起始点到目标点的最短路径,但同时也会求出从始点到其他任意节点的最短路径。
由于Dijkstra算法在实际的操作过程中具有稳定性、能适应网络拓扑的变化,此算法在很多需要求出最短距离的问题中得到应用。虽然Dijkstra算法具有以上这些优点,但公交信息查询网络并不像其他的一般的线路查询算法,它具有它们所不曾有的特性,这也直接导致Dijkstra算法不能直接用来解决公交信息查询网络中的线路查询问题。如果采用该算法,缺点主要表现在:抽象存储图结构的数据结构复杂;系统反应时间较长;冗余的节点较多。

2.2 查询算法的改进

本文的主要理论依据是“最优路径的子路径都是最优路径”,这个理论也就意味着如果一个比较长的路径是最优路径的话,那么这个路径上的所有子路径也是最优的,反过来也是可以的。该文先求出换乘次数比较少的最优路径,然后利用这些最优路径求取换乘次数比较多的最优路径。并利用关系数据库技术进行最优路径集合的生成和优化,从而进行多目标路径搜索。算法基本思路如下:检测设最大换乘次数为k,定义最优路径表,即STR0(直达路径表),STR1(1次换乘路径表),[…],STRk(k次换乘路径表)。
为了更清楚的表述本系统的问题,需要将在查询过程中所用到的数据表的定义列出来。本系统定义了站点表(station)、线路站点关系表(line)、车次表(bus)。
本文利用关系数据库技术本身的特点,也就是如果用表line和表station直接连接即可得到表STR0,然后再用表STR0进行自连接即可得到表STR1,接着用表STR0和表STR1相连即可得到表STR2,[…],同理用表STR0和表STR(k-1)连接即可得到表STRk。
为了得到最优路径表,需要将其中的非最优路径的换乘路径表进行删除,然后进行重新命名即表STRB0,表STRB1,[…],表STRBk。根据表之间的关系可以明显看出如果两个表具有相同的换乘次数,那么它们的优化路径表的表结构也会相同。
在查询算法的最后,将所有优化路径表生成STRBEST(最优路径表)。然后就可以将STRBEST用于公交线路最优路径的查询,具体表结构如表4所示。
表4 STRBEST结构
5.png> 由于对一个路径是否是最优的评价标准是换乘次数

源于:查抄袭率职称论文www.udooo.com

最少或是花费最少,所以如果将最少换乘算法作为标准的话,本算法可以成为最少换乘算法。如果想要花费最少,则本算法可以变成最少花费算法。

3 车次信息的设计与实现

查询车次的流程图如图1所示。

4 结束语

公交路线查询系统实现了站点查询和线路查询功能,解决了站点查询和线路查询的问题。能够帮助出行人员最快时间内查询到想要的准确线路信息和站点信息。系统还在普通查询的基础上实现了模糊查询功能。在实现了以上功能的情况下系统还创新性的实现了换乘功能,能够在没有直达线路的情况下为用户提供最短路径和快速、经济有效地转乘线路。

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号