GPS部标平台的架构设计(九)-GPS监控客户端设计
交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分。
客户端设计面临两个问题:
1.基于CS还是基于BS,这是个问题
萝卜白菜各有所爱,客户要什么,我们就开发什么,从客户来讲,更适应桌面客户端,没有浏览器的七七八八问题,速度感觉上也比网页的快,操作方便。当然网页客户端也有很大的优势,部署和维护方便,不需要开发升级系统。
2.与服务端的交互通信,采用Socket, WebService还是WCF,这也是个问题
WebService的性能很差,这个基本上不考虑,Socket效率高,但开发效率低,难以维护,WCF是面向服务(Service Oriented)应用程序的统一框架,非常灵活,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义。
所以采用WCF框架,将传统的GPS软件转向了面向服务的GPS平台。通常我们在服务端,采用windows服务作为WCF的服务端宿主,采用tcp/ip协议作为传输协议,使得远距离互联网数据传输的性能大大提高,桌面客户端采用windows forms 作为wcf 客户端的宿主。客户端通信设计,参见:基于WCF的GPS平台数据通信设计
确定了两个问题后,开始确定两个设计:
1.服务端接口设计
面向服务开发,首先就要确定服务端为客户端提供什么样的服务,比如报警推送服务,报表分页查询服务,实时数据推送服务,基础数据服务,终端命令服务等。
2.客户端功能和界面设计
客户端的功能和服务端的接口是相辅相成的,功能的设计业决定了界面如何设计。
可以说部标平台的复杂性在于交互的复杂性,很多人对于开发的乐观,是因为在开发初期,无法清晰的看出具体的交互设计,更不能明确的估算工作量,由于交互,客户端的设计和服务端的设计是互相影响的,客户端增加一个功能,往往面临着服务端、通信端的功能逻辑的改变,虽然我们竭力从设计上采用面向服务的设计、面向对象的开发,仍然避免不了这种交互带来的互相影响和工作量的增加、测试难度的增加。购买部标平台源码联系2379423771@qq.com。
GPS软件界面设计,参见:GIS、GPS和视频监控界面设计
下面着重说下功能设计。
功能模块主要包括:
1.地图操作
主要包含了拉框放大、缩小、测距、电子围栏、标注、历史轨迹、区域查车等功能,当然了还有些依赖于地图的附加功能。
我们采用基于GMap.NET SDK来作为地图引擎,可以灵活的采用和切换谷歌地图、高德地图等,采用local cache的模式,浏览过的地图图片将会被存储在本地硬盘当中,提升了用户浏览地图的用户体验。GMap.NET具体开发参见:GMap.NET二次开发

对于地图的电子围栏坐标,我们采用地图算法库,直接转换为原生的GPS坐标,存入数据库中,这样便于电子围栏算法模块的判断和分析。
2.终端命令下发
包含了部标808标准中所要求的所有的指令下发功能,以可视化的形式提供给用户操作。
终端命令很多,大部分是用户不常用或不需要的功能,但又是必须的,或者是部标过检必须的,所以设计时,需要要考虑权限功能限制的可伸缩的功能布局。
终端命令下发的用户体验设计也是比较有难度的,从命令下发、服务器执行下发给终端、终端执行后应答、数据上传最后反馈到客户端界面,是个时间未知的异步过程,必须要设计一个超时跟踪的定时器跟踪命令状态,来给用户一种同步的命令执行的感觉,在点击按钮后,可以跟踪到命令执行的最终状态。部标808指令的开发参见:基于部标JT/T 808协议及数据格式的GPS服务器:

3.报表查询
部标中规定的所有的报表都需要显示在客户端,提供各种组合查询条件,当然了像BS网页客户端一样,也需要考虑分页查询和报表导出。

4.数据管理
平台所需要的用户、角色、权限分配、基础数据管理、车辆、车组、业户的管理、参数设置这些增删改查的功能,也必须要做入到客户端中;
5.报警推送
报警定义、报警推送、报警处理、报警弹窗声音地图展示的功能。

6.实时数据
实时数据的推送、状态刷新、地图显示等功能
7.图表
各种统计报表以柱状图、曲线等图表的形式显示出来,比如上线率统计、车速曲线图、油耗曲线图等。
8.运管平台对接
平台能够响应政府平台基于交通部部标809协议下发的岗位巡检指令,上报到政府平台。平台在收到车辆上报动态位置信息后,即刻向政府平台实时上报车辆的位置、状态信息和报警信息,响应政府平台对车辆的拍照和监听等车辆远程控制指令,并显示政府平台下发信息。809的开发,参见:基于JT/T 809-2011的(已过检)GPS平台数据交换及转发服务器
GPS部标平台的架构设计(九)-GPS监控客户端设计的更多相关文章
- GPS部标平台的架构设计(四)-百度地图设计
部标GPS软件平台之百度地图设计 地图是客户端中不可缺少的一个模块,很多人在设计和画图时候,喜欢加上地图引擎这样高大上的字眼,显得自己的平台有内涵,说白了就是用第三方的SDK来开发,早期的GPS监 控 ...
- GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...
- GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台
注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...
- GPS部标平台的架构设计(一)
设计和开发一个GPS系统似乎并不太难,很多人马上就想到了地图,放大,缩小之类的功能,最多就是在加点报表之类的东西,就成了. 这种观点造成了业界内,很多GPS系统粗制滥造,不堪大用. 事实上,设计和开发 ...
- GPS部标平台的架构设计(六)-Android手机客户端和手机查车设计
对于GPS软件平台,虽然有功能非常丰富的PC端或BS客户端,但是客户也是需要移动客户端来作为自己的辅助工具,也是需要的.做为GPS平台的设计者和开发者,在开发移动客户端的时候,也需要从常规的服务器开发 ...
- GPS部标平台的架构设计(五)-地图服务算法库
GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...
- GPS部标平台的架构设计(二) 可扩展性设计
在设计的前夕,设计人员喜欢把领导对未来业务的期望带入到设计目标当中,比如当前业务也不过是接入几千辆车,未来业务增长也不过几万台,但领导很多激情,强势要求二期平台的接入能力要达到20万台,这个要求带入到 ...
- GPS部标监控平台的架构设计(八)-基于WCF的平台数据通信设计
总体来讲,GPS部标平台的软件开发是一个对网络通信和应用程序之间通信的技术应用密集型的开发工作,也是有一定设计技术含量的工作. 1.设计通信接口 在设计的时候,根据职责划分,拆分成不同的应用子系统,对 ...
- 基于C#和Asp.NET MVC开发GPS部标监控平台
基于交通部796标准开发部标监控平台,选择开发语言和技术也是团队要思考的因素,其实这由团队自己擅长的技术来决定,如果擅长C#和Asp.NET, 当然开发效率就高很多.当然了技术选型一定要选用当前主流的 ...
随机推荐
- 使用Flexible实现手淘H5页面的终端适配
拿到设计师给的设计图之后,剩下的事情是前端开发人员的事了.而手淘经过多年的摸索和实战,总结了一套移动端适配的方案--flexible方案. 这种方案具体在实际开发中如何使用,暂时先卖个关子,在继续详细 ...
- ListView列表的简单案例
在android开发中ListView它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示.抽空把对ListView的使用做了整理,并写了个小例子 列表示例图: BaseActivity pa ...
- 最详细易懂的CRC-16校验原理(附源程序)
from:http://www.openhw.org/chudonganjin/blog/12-08/230184_515e6.html 最详细易懂的CRC-16校验原理(附源程序) 1.循环校验码( ...
- CentOS7中DHCP配置
因为需要网络引导系统的安装,所以需要安装和配置DHCP服务器.DHCP(Dynamic Host Configuration Protocol) 动态主机配置协议,它提供了一种动态指定IP地址和配置参 ...
- HDU5716 : 带可选字符的多字符串匹配
shift-and算法,设$v[i][j]$表示文本串长度为$i$的前缀能否匹配模式串长度为$j$的前缀,$f[i][j]$表示字符$i$能否匹配模式串的第$j$个位置,那么有$v[i+1][j+1] ...
- Phone Font Size
This table lists and describes the various font sizes that can be applied. Attribute = FontSize Na ...
- 【转】【Raspberry Pi】Unix NetWork Programming:配置unp.h头文件环境
一.初衷 近期正在做网络计算编程的作业.要求平台为unix/linux,想着Raspberry Pi装的Debian系统也是Linux改的,也应该能够勉强用着,所以就用它来做作业了! 二.说明 先把环 ...
- CI,从数据库读取数据
1.准备数据库,(用户,密码,数据库服务的地址) 2.CI链接数据库,配置database.php(配置文件) //application/config/database.php 3.准备 ...
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全
20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...
- Entity Framework 基于方法的查询语法
实体框架(Entity Framework )是 ADO.NET 中的一套支持开发面向数据的软件应用程序的技术. LINQ to Entities 提供语言集成查询 (LINQ) 支持,它允许开发 ...