一. 需求概要

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上报;                   // string 号码, MGPS 位置

event Action<string , string , string > 状态上报;      // string 号码, string 状态, string 描述

bool有管理界面 {get;}

bool运行中{get;}

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

2 输出接口

void 初始化();

void 开启();

void 关闭();

string 接口名称 {get;}

string 接口描述 {get;}

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

void 接收状态(string 号码, string 状态, string 描述);

bool有管理界面 {get;}

bool 运行中{get;}

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

四. 应用

1 订阅

流程

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

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

属性

号码总数

客户端总数

方法

增加

参数: [号码]

删除

参数: [号码]

查询客户端概要

参数: 无

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

查询客户端明细

参数: IP, 端口号

返回值: [号码]

查询所有号码

参数: 无

返回值: [号码]

查询号码

参数: 号码

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

事件

GPS上报

参数: {号码,GPS}

状态上报

参数: {号码, 状态}

2 GPS数据

方法

查询轨迹

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

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

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

查询最后位置

参数: 条件{号码列表[号码](可选), 页数(可选), 每页数量(可选)}

返回值: {总数, 列表[{号码, 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服务器需求分析的更多相关文章

  1. 在局域网中搭建自己的gis服务器

    在局域网中搭建自己的gis服务器 需求        在客户的B/S应用系统中使用电子地图.该系统只可运行于内部网中. 分析        由于系统中的电子地图只能运行于局域网中所以不能采用googl ...

  2. 【LoadRunner】如何对GIS服务器进行性能测试

    1.需求了解 首先确定对gis服务器压测的测试范围,形成具体的测试用例,gis平台都是通过网页端的javascript api调用的gis集群服务接口,通过LR录制上一步中的业务操作,找到javasc ...

  3. GIS服务器开发资源文档

    JAVA开发gis后台服务可以参照此文学习,持续跟新... 几何基础类库 代表: JTS(Java), GEOS(C++), Shapely(Python) JTS封装了点.线等等对象   数据源实现 ...

  4. 【转】关于 Web GIS

    以下部分选自2015-03-01出版的<Web GIS从基础到开发实践(基于ArcGIS API for JavaScript)>一书中的前言部分: Web GIS 概念于1994 年首次 ...

  5. GIS性能策略

    当一个地理平台上线运行,我们经常会遇到这些问题:1.系统刚上线时速度较快,一段时间后访问较慢?2.在地理平台目前的配置下,发布多少个服务才合理?一个服务配置多少个实例数才合适?这些问题,都涉及整个地理 ...

  6. GIS学习和开发的在线资源

    1.OpenGIS Consortium标准,http://www.opengeospatial.org.著名的OGC标准是每个GIS开发者最后都不得不学习的,或深或浅. 2.SharpMap,Pro ...

  7. .NET 开源GIS解决方案一 概述

    写在前面 最近开始研究开源GIS,国内开源GIS的资料很少,而基于.net的又是少之又少.所以决定把自己研究的资料进行总结整理,技术在于分享,本系列(计划是写一个系列,如果我可以坚持下来的话)部分是自 ...

  8. 开源GIS软件 1

    1. 在线地图浏览器 GMap.NET GMap.NET 是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, ...

  9. 即插即用,基于阿里云Ganos快速构建云上开源GIS方案

    对于轻量级GIS应用,选择具备时空能力的云上数据库再搭配开源GIS软件,能够快速构建稳定.廉价.实用的GIS解决方案.Ganos是阿里云自研时空基础设施(PaaS层)的核心引擎,该引擎整合了云上异构计 ...

随机推荐

  1. Codeforces Round #376 (Div. 2) C D F

    在十五楼做的cf..一会一断...比赛的时候做出了ABCF 就没有时间了 之后没看题解写出了D..E是个神奇的博弈(递推或者dp?)看了题解也没有理解..先写了CDF.. C 有n个袜子 每个袜子都有 ...

  2. Objective-c 代理模式(delegate)

    Objective-c 代理模式(delegate) (2012-07-31 22:04:39) 转载▼ 标签: 杂谈 分类: iOS Objective-c 代理模式(delegate)     一 ...

  3. Mac OS X 懒人版安装教程(之前的图全部挂了,所以重发了)

    请版主把我之前发的那个帖子删了!因为所有的图全部挂了,所以麻烦版主了…… 安装中出现五国的话就请进入这里看看是那里的错误http://bbs.pcbeta.com/viewthread-863656- ...

  4. Ruby--strftime

    -- [17 Oct 2016 05:37:18AM]:%e %b %Y %H:%M:%S%p -- [Oct 17, 2016]:%b %d, %Y -- [10-17-16 05:37]:%m-% ...

  5. PHP检测移动设备类mobile detection使用实例

    目前,一个网站有多个版本是很正常的,如PC版,3G版,移动版等等.根据不同的浏览设备我们需要定向到不同的版本中.不仅如此,我们有时候还需要根据不同的客户端加载不同的CSS,因此我们需要能够检测浏览设备 ...

  6. 安装sphinx

    安装Sphinx全文检索服务器 Sphinx默认不支持中文索引及检索, 以前用Coreseek的补丁来解决,目前Coreseek 不单独提供补丁文件,而基于sphinx开发了Coreseek 全文检索 ...

  7. 自定义 导航条分割线,tabBar分割线颜色(或者是 去掉)

    UIView * lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, bgView.frame.size.width, 0.5)]; l ...

  8. eNSP的使用

    1- 进入华为路由器界面配置ipThe device is running!####################################Nov  1 2016 23:39:24-08:00 ...

  9. Jmeter进行数据库压测

    一.配置并发用户 新建线程组,设置线程数,Ramp-up和循环次数 二.添加JDBC请求 先选中JDBC Users(线程组),右键选中ADD-Config Element--JDBC Connect ...

  10. 能套用的tab栏切换

    效果: 在style.js文件里封装了一个Show函数,有4个参数,di(当前点击的按钮),num(按钮个数,也可以说是下面具体内容个数),divn(一个id前缀,这个例子里是ta,),active( ...