交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分。

客户端设计面临两个问题:

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监控客户端设计的更多相关文章

  1. GPS部标平台的架构设计(四)-百度地图设计

    部标GPS软件平台之百度地图设计 地图是客户端中不可缺少的一个模块,很多人在设计和画图时候,喜欢加上地图引擎这样高大上的字眼,显得自己的平台有内涵,说白了就是用第三方的SDK来开发,早期的GPS监 控 ...

  2. GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台

    在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...

  3. GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台

    注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...

  4. GPS部标平台的架构设计(一)

    设计和开发一个GPS系统似乎并不太难,很多人马上就想到了地图,放大,缩小之类的功能,最多就是在加点报表之类的东西,就成了. 这种观点造成了业界内,很多GPS系统粗制滥造,不堪大用. 事实上,设计和开发 ...

  5. GPS部标平台的架构设计(六)-Android手机客户端和手机查车设计

    对于GPS软件平台,虽然有功能非常丰富的PC端或BS客户端,但是客户也是需要移动客户端来作为自己的辅助工具,也是需要的.做为GPS平台的设计者和开发者,在开发移动客户端的时候,也需要从常规的服务器开发 ...

  6. GPS部标平台的架构设计(五)-地图服务算法库

    GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...

  7. GPS部标平台的架构设计(二) 可扩展性设计

    在设计的前夕,设计人员喜欢把领导对未来业务的期望带入到设计目标当中,比如当前业务也不过是接入几千辆车,未来业务增长也不过几万台,但领导很多激情,强势要求二期平台的接入能力要达到20万台,这个要求带入到 ...

  8. GPS部标监控平台的架构设计(八)-基于WCF的平台数据通信设计

    总体来讲,GPS部标平台的软件开发是一个对网络通信和应用程序之间通信的技术应用密集型的开发工作,也是有一定设计技术含量的工作. 1.设计通信接口 在设计的时候,根据职责划分,拆分成不同的应用子系统,对 ...

  9. 基于C#和Asp.NET MVC开发GPS部标监控平台

    基于交通部796标准开发部标监控平台,选择开发语言和技术也是团队要思考的因素,其实这由团队自己擅长的技术来决定,如果擅长C#和Asp.NET, 当然开发效率就高很多.当然了技术选型一定要选用当前主流的 ...

随机推荐

  1. 数据结构之KMP算法next数组

    我们要找到一个短字符串(模式串)在另一个长字符串(原始串)中的起始位置,也就是模式匹配,最关键的是找到next数组.最简单的算法就是用双层循环来解决,但是这种算法效率低,kmp算法是针对模式串自身的特 ...

  2. eclipse安装genymotion插件。

    先发个我自己压缩的genymotion和VirtualBox,下载链接:http://pan.baidu.com/s/1o7wgJiU 1.在安装genymotion之后,打开eclipse,如下图操 ...

  3. React Native开发之npm start加速

    在Windows下好不容易安装好React Native环境之后,运行npm start,结果就是无限被等待,快的话160秒(将近3分钟啊....) 而Mac下因为有watchman所以是飞一样的速度 ...

  4. javascript创建跟随鼠标好玩的东西

    不说话,直接上代码. css: #createGoDivBox{ display: none; } #createGoDivBox div{ background-color: #00A6C2; po ...

  5. HTML5新的标签和属性

    <article>标签定义外部的内容.比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本.亦或是来自其他外部源内容. HTML5:<arti ...

  6. 如何获取google地图、baidu百度地图的坐标

    google:打开google地图-->查找目的地-->右键:此位置居中-->地址栏键入javascript:void(prompt('',gApplication.getMap() ...

  7. 【转】logback 常用配置详解(序)logback 简介

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  8. Neil·Zou 语录二

    1 “Later equals never !”LeBlanc法则   2 爱情使人忘记时间,时间也会使人忘记爱情,不要让太多的昨天占据你的今天,请相信:是你的不管你怎样任性他都不会离开你:失去的其实 ...

  9. 手机版本高于xcode,xcode的快速升级

    iPhone手机更新版本,xcode未更新时,不能真机测试 在xcode show in finder里面添加最新iPhone 版本 重启xcode即可 真机测试

  10. 创建两个对象的两种方法,一中\new,另外一种不new

    方法一:   String s1=new String("hello"); String s2=new String("hello");     这里是new了 ...