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

整体来说,GPS部标平台的软件开发是一个对网络通讯和应用程序之间通讯的技术应用密集型的开发工做,也是有必定设计技术含量的工做。程序员

1.设计通讯接口服务器

在设计的时候,根据职责划分,拆分红不一样的应用子系统,对各个子系统进行功能隔离,并经过设计接口规定子系统直接的调用规约。网络

首先咱们根据部标平台的要求,设计和开发出各个主要的服务器子系统,这是平台中最核心的子系统,在实际的应用中,因为车辆规模的大小和行业需求,还会扩展出各类业务子系统。核心子系统以下:框架

1)808GPS服务器,采用交通部的部标808协议,负责与终端的数据接收、指令下发; 参见:基于部标JT/T 808协议及数据格式的GPS服务器异步

2)809转发服务器,采用交通部的部标809协议,做为企业下级平台,负责转发GPS数据到政府平台的服务器;参见:基于JT/T809-2011的(已过检)GPS平台数据交换及转发服务器spa

3)809政府服务器,采用交通部的部标809协议,做为政府上级平台,负责与下级平台进行全双工通讯。设计

4)GPS监控客户端,采用自定义的数据通讯协议与服务器进行数据通讯,为用户提供监控UI,各类监控功能都直接反映在此客户端上。交通部的部标检测和认证的全部工做,虽然涉及了平台的各个部分,可是检测的发起都是从客户端发起的,其余的子系统,咱们统称为后台。须要购买部标平台源码的能够联系(2379423771@qq.com)blog

2.接下来,咱们须要肯定子系统直接的通讯框架。接口

不少老牌的GPS程序员,对于Socekt特别熟悉,只要是通讯,就设计协议,而后使用Socket框架,里面侵入了大量的业务逻辑。时间长了,代码很是难以维护。开发

如今开发技术的发展彷佛与他们绝缘。连WebService都少用。更不用说瑞士军刀WCF框架了。这种面向字节的设计和开发,经常要重复编写大量的二进制字节转换,而如今咱们更喜欢的是面向接口的设计和开发,底层的东西咱们已经不须要考虑,经过简单的配置就能够快速的构建出两个应用程序之间的数据通讯。采用WCF,可让咱们基本摆脱掉那些使人厌恶的Socket套路。

好比咱们再808中,设计一个实时数据服务,RealDataService和接口IRealDataService,  编写一个获取实时数据的方法,经过WCF框架的配置,就能够快速的为其余子系统提供实时数据的推送和转发服务了。

并且,咱们也能够经过配置,将WCF转换成JSON格式,这样手机查车等手机客户端引用也能够和服务器进行数据通讯,获取数据。

3.全双工通讯

  实际上子系统的通讯基本全是全双工的通讯,好比拍照的通讯:809下级平台服务器收到上级平台的拍照指令后,将指令下发808服务器,808服务器再下发给终端,终端拍照应答给808服务器,808服务器再将拍照数据转发给809下级平台,809下级平台再将拍照数据转发给809上级平台。虽然咱们描述流程的时候,仿佛是同步的,实际上网络通讯是异步的全双工通讯。能够看出部标要求的通讯需求决定了子系统之间的通讯的复杂性,而WCF的通讯框架较好的隐藏掉底部通讯的复杂性,知足顶层业务开发的需求。

 

4)部标流程检测和运行检测

部标平台开发的复杂性就在于,咱们能够快速开发出一个大面上过得去的东西,可是却没法开发出一个严格符合要求的部标平台,从上图中能够看出一个拍照指令,须要贯穿四个子系统,而且是异步的。如何跟踪各类指令在横跨各个子系统或平台时的发送状态、执行状态和应答状态,不只仅是一个须要在用户体验上面下功夫的功能,在交通部的部标认证的检测中,最最麻烦的就是运行检测,由于要跨两个平台,政府平台和企业平台,企业平台内部要跨越终端、808服务器、809下级平台服务器等多个子系统。检测失败,可能出如今各个环节当中,检测人员只是平静的告诉你没有经过,而咱们剩下就是猜了。因此每一个系统必需要有较好的指令监控的功能,以便于较好的应对实际的部标检测中出现的意外状况。如下是对809转发服务器的指令的数据包监控。

相关文章
相关标签/搜索