码迷,mamicode.com
首页 > 其他好文 > 详细

GIS服务器需求分析

时间:2016-08-03 09:03:15      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

一. 需求概要

1 边界

技术分享

 

核心职责

接收并存储外部各方系统GPS数据

GPS数据实时分发, 轨迹检索

 

2 流程

GIS客户端向GIS服务器订购

GIS客户端向GIS服务器订购号码(仅有号码这一项业务参数, 支持批量订购), 只要GIS服务器收到指定号码的GPS信息后, 转发给客户端, 不存在订购失败, 无需关心该号码的GPS来源, GIS客户端的订购信息, 仅限于GIS客户端与GIS服务器连接上的这段时间, 断开后重新订购

 

向移动终端订购

理想方案是, GPS上报逻辑与参数可以作为终端基础数据一部分, 由交换管理, 通过网管配置, 当终端向交换登记时, 回传GPS参数给基站, 该方案涉及改动较大, 暂不采用

 

3 界面

服务器运行环境管理工具

技术分享
技术分享
技术分享
技术分享
技术分享

服务器管理工具      

技术分享

技术分享 
技术分享
技术分享
 
插件管理工具示例    

技术分享

技术分享

客户端示例
技术分享
技术分享
技术分享
技术分享
技术分享
        


二. 设计概要

技术分享

 

HTTP路由: ”/对象/方法”, 例如”/轨迹/单个查询”, GET/POST方式提交, 参数/返回值以json方式封装

 

三. 插件接口

1 输入接口

void 初始化();

void 开启();

void 关闭();

string 接口名称 {get;}

string 接口描述 {get;}

event Action<string , MGPS> GPS上报;

bool有管理界面 {get;}

bool 运行中{get;}

Action<string> 记录日志 { get; set; }

 

2 输出接口

void 初始化();

void 开启();

void 关闭();

string 接口名称 {get;}

string 接口描述 {get;}

void 接收GPS(string 号码, MGPS gps);

bool有管理界面 {get;}

bool 运行中{get;}

Action<string> 记录日志 { get; set; }

 

四. 应用

1 订阅

流程

客户端每次连接服务器后, 都重新订阅号码, 断开连接后, 服务器自动清除订阅关系

 

GPS: {经度(格式示例: 116.000001), 纬度, 时间(格式: yyyy-MM-dd HH:mm:ss), 速度(可选, 单位:公里/小时), 高度(可选, 单位:), 方向(可选), 精度(可选, 单位:)}

 

号码范围: [{起始, 结束}]

: 可以考虑优化成格式”x,x-x,x”    例如: 72020200, 72020300-72030400, 72020500, 72020600

 

属性

号码总数

客户端总数

 

方法

增加

参数: 号码范围

 

删除

参数: 号码范围

 

查询客户端概要

参数:

返回值: [{IP, 端口号, 订阅总数, 开始时间}]

 

查询客户端明细

参数: IP, 端口号

返回值: 号码范围

 

查询所有号码段

参数:

返回值: 号码范围

 

查询所有号码

参数:

返回值: [号码]

 

查询号码

参数: 号码

返回值: [{IP, 端口号}]

 

事件

GPS上报

参数: {号码, GPS}

 

2 GPS数据

方法

查询轨迹

参数: 条件{号码, 开始时间, 结束时间, 页数(可选), 每页数量(可选)}

返回值: {总数, 列表[GPS]}

 

: 出于查询性能考虑,“开始时间结束时间限定为1天内, 不允许跨日期

 

查询最后位置

参数: 条件{号码范围, 开始时间, 结束时间, 页数(可选), 每页数量(可选)}

返回值: {总数, 列表[{号码, GPS}]}

 

查询休眠号码

参数: 条件{开始时间, 结束时间, 号码范围(可选)}

返回值: {总数, 号码范围}

 

: 暂不实现

 

查询活跃号码

参数: 条件{开始时间, 结束时间, 号码范围(可选)}

返回值: {总数, 号码范围}

 

: 暂不实现

 

查询最后位置快照

参数: 条件{号码范围, 开始时间, 结束时间, 图片长度(像素), 图片宽度(像素)}

返回值: 图片(base64编码, png格式?)

 

: 暂不实现

 

统计实际GPS频率

参数: 条件{开始时间, 结束时间, 号码范围(可选)}

返回值: 频率(/)

 

: 暂不实现

 

统计GPS时间分布

参数: 条件{开始时间, 结束时间, 时段单位(小时, , ), 号码范围(可选)}

返回值: [{开始时间, 结束时间, 数量}]

 

: 暂不实现

 

3 栅格地图

: 暂不实现

 

HTTP地址: “/地图类型/层级/X/Y”

HTTP响应: png图片

 

: 使用另外的端口号, 建议轻地图应用使用该接口, 建议重地图应用使用离线地图(响应快)

 

4 地址服务

需互联网支持

: 暂不实现

 

五. 管理

1 插件

属性

配置: [{名称, 描述, 启用, 有管理界面}]

 

方法

设置

参数: 配置[{插件名称, 启用(bool)}]

 

2 数据库

属性

账号

密码

数据源

连接字符串

保留天数

 

方法

设置连接参数

参数: 账号, 密码, 数据源(MS SQL SERVER, 例如 192.168.1.1, .\SQLEXPRESS)

 

检测连接

参数: 账号, 密码, 数据源(MS SQL SERVER, 例如 192.168.1.1, .\SQLEXPRESS)

返回值: 检测结果

 

设置保留天数

参数: 天数

 

3 GPS过滤

属性

启用(bool)

 

方法

设置

参数: 启用(bool), ,

 

4 日志

方法

查询

参数: 条件{ 开始时间, 结束时间, 类别(系统/订阅/GPS数据等等, 可选), 页数, 每页数量}

返回值: { 总数, 列表[{时间, 类别, 描述, 账号}]}

 

 

六. 插件

 

 





GIS服务器需求分析

标签:

原文地址:http://www.cnblogs.com/wangk/p/5731413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!