广州道路实时路况移动短信应用项目建设规划方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

广州道路实时路况移动短信应用项目技术规划方案二〇二〇年七月七日1系统分析报告一、数据分析(开发人员角度)1.1数据流程图系统中的基础数据包括布线位置数据和地图数据。这些数据已经由其他系统提供,只需要按用户需求对数据做适当转换即可满足手机用户的需要。数据流如下图:1.2线圈数据与交通状况的对应关系线圈数据表如上图,由于业务系统(线圈)记录的数据非常多,而且不够直接,往往很难从其中看出具体的交通状况信息,因此需要对这些数据进行抽象,定义一些规则,业务数据库数据读取地图生成终端用户2如什么样的数据表示塞车,总结出具体的交通状况信息,然后以日常中熟知的形式表示。例如,根据某个时段的车流量、车速和车长,推断当前的交通状况。因此,需要提供交通状况的数据字典,以及相应的匹配规则。1.3线圈数据与web地图位置的对应关系将交通状况信息标记到地图上时,由于这些数据(地理位置+交通信息)中的地理位置的表示形式(如下图)可能会与web地图的格式不一致,不支持某些线圈地理位置的表示形式,因此需要进行转换或给出线圈具体的精度纬度,否则很难再web地图上标记该线圈所在路段。这样就要求在数据库系统中的线圈数据表需要添加属性,以记录精度纬度值。因此,需要地理信息管理系统,对线圈的信息进行管理。1.4交通路况需要显示的数据以及显示方式交通状况分类:1、畅通,2、缓行,3、拥挤。另外,是否还有一些其他的附加信息,如该时刻某线圈所在路段车长,是否有交通事故发生等等。交通状况信息显示形式,如图,这样地图中绿色段表示畅通,黄色段表示缓行,红色段表示拥挤。二、业务分析(用户角度)2.1系统业务描述系统涉及的用户包括系统管理员,普通手机终端用户。因此业务需求分为系统管理员和手机终端用户两部分需求。3系统管理员:1、管理系统用户信息。包括添加用户,删除用户。2、管理布线数据。包括添加布线点,删除布线点,查看布线点的使用情况是否异常(需要根据车流量判断)。3、统计报表。了解各阶段各个布线点的车流量分布情况。手机终端用户:1、查看某个布线点所在路段的车流量信息。初步估计包括以上业务。系统管理员操作流程图:手机终端用户操作流程图:三系统设计本系统由两部分组成,一是以手机为平台的移动设备端,即客户端;另一部分则为服务器端。系统结构可以采用两种结构:B/S结构和C/S结构。分别叙述登录输入查询条件接收实时地图登入系统管理用户信息管理布线信息统计报表4如下:3.1B/S结构采用B/S结构时,主要的工作都集中在服务器端,包括线圈数据的嵌入,路况信息的判断等。手机端不需要开发专门的软件,只需要通过手机浏览器访问服务器即可。由于要实时获取交通状况信息时,需要获取手机的地理位置信息,因此需要向移动提请求,以获得手机的地理位置。每个手机用户需要注册一个账户,将其绑定到手机号上面。(可以用手机号申请注册,密码信息会发送到该用户的手机上,增加安全性。)B/S交通数据获取的流程:访问服务器时,手机登入系统,其中手机号会绑定到用户信息中,服务器获取手机号之后向移动发请求,获取该号码所对应的手机的地理位置信息。根据手机地理位置信息,服务器实时将其周边的路况信息发送给手机用户。其流程图如下:3.1.1客户端设计在手机端的软件设计中,本文采用了J2ME技术,并将结构设计为视图层、模型层和控制层,即MVC结构。视图层用来显示用户使用界,模型层则用来封装业手机用户登入访问服务器服务器向移动发请求,获取手机号所对应手机地理位置信息服务器根据手机地理位置信息,实时将交通状况信息发送给手机用户5务逻辑和核心数据,控制层用来控制用户的机器的交互工作。3.1.2服务器端设计在服务器端,本文采用了J2EE技术,并用到了struts,hibernate等中间件。通过struts中间件,我们将用户请求拦截,并进行处理。根据请求的不同,调用不同的action来处理请求,用hibernate则可以与数据库进行通信。3.1.3客户端与服务器端的通信在设计好手机端和服务器端后,通过使用Http-Connection接口,使两端进行有效的通信。即通过HttpConnection接口,用来建立网络连接。这样,我们就可以通过网络来进行数据通信了.3.1.4UI展示一般说来,网页浏览所消耗的流量并不是很大,普通页面仅会产生几十KB的流量,图片较多的页面会产生几百KB流量,只有网站首页(有很多图片、FLASH)才会消耗1MB左右的流量。Web地图中包含大量的信息,势必会很耗费流量,流量可能达到4~5M。为了减小手机流量耗费,需要将地图数据文件存储在手机端,这样服务器传数据时只需要传送辅助定位的数据即可。由于传送的据减少,也提高了系统的实时性。Web地图交通状况信息浏览如下:63.2C/S结构采用C/S结构时,手机端需要开发专门的软件,用来查看该用户周边的交通状况信息。目前智能手机的主流操作系统有:Symbian、WindowsMobile、MacOSX、PalmOS、Linux、GoogleAndroid、BlackBerry。各种操作系统都支持java,但开发环境都不尽相同。要为每一个系统单独开发一套软件,开发成本会比较大。信息发送的协议采用UDP,这样可以加快通讯的速度。信息发送方式采用图片的形式,由于要实时获取路况信息,因此需要频繁地发送图片,从而获得最新的交通状况信息。这样的话,势必会花费很大的流量。另外,由于一定的时间段内,手机用户总是局限在某个区域内,因此在这段时间内所发图片的背景是固定的。基于这个原因,服务器在发送一张该区域交通状况信息图片后,只需发送实时的交通数据即可,不需要附加地图,用此数据更新之前图片中的相应路况信息。当用户离开该区域后,需要重新发送图片更新上一张图片(背景)。这样就可以较快速地获取交通状况信息了。如果需要查看详细数据,则需要根据要求的数据形式,在其中作相应补充即可。C/S访问流程基本上与B/S类似,主要操作也是集中在服务器,客户端需要进行的操作比较少。3.2.1客户端设计在手机端的软件设计中,本文采用了J2ME技术,并将结构设计为视图层、模型层和控制层,即MVC结构。视图层用来显示用户使用界,模型层则用来封装业务逻辑和核心数据,控制层用来控制用户的机器的交互工作。3.2.2服务器端设计在服务器端,本文采用了J2EE技术,并用到了struts,hibernate等中间件。通过struts中间件,我们将用户请求拦截,并进行处理。3.2.3客户端与服务器端的通信用户登入系统后,服务器可以通过移动公司获得手机用户的地理位置信息,7即可将手机用户周边路段的交通状况信息以广播的形式发送给各个用户。此时,客户端与服务器采用UDP通信协议,这种协议不需要在客户端与服务器之间建立连接,因此发送信息的速度比较快,但是可能会有丢包的可能。3.2.4UI展示一般情况下,发送一张普通彩信图片需要占用约30Kb的流量。为了保证实时性,服务器必须不间断地向手机用户发送图片信息。如上面所述,如果不频繁更新背景图片,即可以减少很大一部分流量。同样也能提高系统的实时性。手机客户端看得到的界面如下:3.3系统架构图四开发技术、工具与架构等(JAVA中相关技术)1.开发平台的选取(J2ME+J2EE)8J2ME技术以其稳定性、平台无关性、分布性等特点,特别是它所提供的网络特性,使得手机等无线设备具备了网络访问能力;并且现在市面上的手机很大一部分都是支持J2ME的。而J2EE技术以其稳定性、分布式和平台无关性等特点,被大量的使用在服务器端。因此,我们可以通过在手机等无线设备端,借助J2ME技术来访问使用J2EE技术的服务器,并利用服务器端的强大数据处理、存储、检索能力,来实现对指定地点的查询并通过网络将信息实时、快速的发送给查询者,实现利用网络为众多的手机设备使用者提供指定地点查询的服务功能。图(一)J2ME-J2EE框架图2.J2ME技术J2ME技术是Java技术中面向嵌入式系统发展出来的一个版本,它相对于Java的其他版本(J2SE、J2EE)而言,其针对的平台计算、存储能力有限。这也意味着它和其他Java版本有较大的区别。这些区别主要体现在:1.J2ME平台是由配置(Configuration)和简表(Profile)构成的。而配置和简表,这些概念在Java的其他版本中是没有的。所谓配置,是指提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。所谓简表,是指针对一系列设备提供的开发包集合。正是通过配置和简表,才使得J2ME技术能够在计算和存储能力都有限的平台上运行。2.J2ME的配置又分为两个不同的版本:CDC和CLDC。这两种配置是按照设备的硬件性能来区分的。其中,CDC是连接设备配置(ConnectedDeviceConfiguration)目标设备总内存大于2MB,其内存可以为RAM、ROM或是Flash闪存,其虚拟机支持Java2虚拟机的全部功能;CLDC是连接设备受限配置设备是小型的资源,是有限连接受限的设备,内存在160~512kB之间,处理器速9度较慢,通常是靠电池给设备供电,并且网络连接通常表现为间歇性连接而且带宽有限。本文所使用的配置为CLDC。3.需要的工具:JDK(jdk1.6.0_02)WTK(2.5.2)Eclipse(3.3.2)EclipseME(1.7.9)平台的搭建参考:技术J2EE技术是现在服务器端编程的主流技术之一。它是由一系列的标准和技术规范构成的,其核心是J2SE。它在很好保留J2SE优点的同时,还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)、中间件以及XML技术的全面支持,从而使软件的开发效率得到了大幅度的提升。当然,在本文中并没有使用到J2EE的所有技术。下面将对使用到的技术进行介绍:1.Struts。Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller(MVC)设计模式的应用框架(WebFramework),是MVC经典设计模式中的一个经典产品。在Struts中,已经由一个名为ActionServlet的Servlet充当控制器(Controller)的角色。它根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作)。这两个概念子系统,分别对应Struts里的ActionForm与Action两个需要继承实现父类。在这里,Struts可以与各种标准的数据访问技术结合在一起,包括EnterpriseJavaBeans(EJB)、JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServerPages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表10现层组件技术(产品)进行整合。比如,VelocityTemplates、XSLT等。通过应用Struts的框架,最终我们可以把大部分的关注点放在自己的业务逻辑(Action)与映射关系的配置文件(struts-config.xml)中。2.Hibernate。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序中使用,也可以在Servlet/JSP的Web应用中使用。最具革命意义的是,Hiber

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功