GIS服务器需求分析
一. 需求概要
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上报
状态上报
参数: {号码, 状态}
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服务器需求分析的更多相关文章
- 在局域网中搭建自己的gis服务器
在局域网中搭建自己的gis服务器 需求 在客户的B/S应用系统中使用电子地图.该系统只可运行于内部网中. 分析 由于系统中的电子地图只能运行于局域网中所以不能采用googl ...
- 【LoadRunner】如何对GIS服务器进行性能测试
1.需求了解 首先确定对gis服务器压测的测试范围,形成具体的测试用例,gis平台都是通过网页端的javascript api调用的gis集群服务接口,通过LR录制上一步中的业务操作,找到javasc ...
- GIS服务器开发资源文档
JAVA开发gis后台服务可以参照此文学习,持续跟新... 几何基础类库 代表: JTS(Java), GEOS(C++), Shapely(Python) JTS封装了点.线等等对象 数据源实现 ...
- 【转】关于 Web GIS
以下部分选自2015-03-01出版的<Web GIS从基础到开发实践(基于ArcGIS API for JavaScript)>一书中的前言部分: Web GIS 概念于1994 年首次 ...
- GIS性能策略
当一个地理平台上线运行,我们经常会遇到这些问题:1.系统刚上线时速度较快,一段时间后访问较慢?2.在地理平台目前的配置下,发布多少个服务才合理?一个服务配置多少个实例数才合适?这些问题,都涉及整个地理 ...
- GIS学习和开发的在线资源
1.OpenGIS Consortium标准,http://www.opengeospatial.org.著名的OGC标准是每个GIS开发者最后都不得不学习的,或深或浅. 2.SharpMap,Pro ...
- .NET 开源GIS解决方案一 概述
写在前面 最近开始研究开源GIS,国内开源GIS的资料很少,而基于.net的又是少之又少.所以决定把自己研究的资料进行总结整理,技术在于分享,本系列(计划是写一个系列,如果我可以坚持下来的话)部分是自 ...
- 开源GIS软件 1
1. 在线地图浏览器 GMap.NET GMap.NET 是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, ...
- 即插即用,基于阿里云Ganos快速构建云上开源GIS方案
对于轻量级GIS应用,选择具备时空能力的云上数据库再搭配开源GIS软件,能够快速构建稳定.廉价.实用的GIS解决方案.Ganos是阿里云自研时空基础设施(PaaS层)的核心引擎,该引擎整合了云上异构计 ...
随机推荐
- chmod() has been disabled for security reasons
最近用 codeigniter 写一个小系统,引用了session 库,codeigniter默认的session存储方式为files.鉴于安全性,文件即肯定涉及到权限问题. 在类 UNIX 操作系统 ...
- LoadRunner11.00安装问题及解决方法
1.安装提示:“安装程序已确定正在等待重新启动....” 解决方法:打开安装包,找到:\Additional Components\IDE Add-Ins\MS Visual Studio .NET\ ...
- Dedecms织梦系统修改文章描述字数长度的方法
1进入数据库修改表: dede_archives, 字段 description varchar(500): 2 进入织梦后台,找到 系统-->系统基本参数--> 其它选项自动摘要长度( ...
- VC6在win7环境下无法添加以及打开现有文件的解决办法
在VC6.0中使用键盘快捷键或者是文件菜单打开现有文件以及添加文件出现编辑器停止响应,弹出内容为Microsoft(R) Developer Studio已停止工作 Windows正在检查解决该 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-WinForm部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改. ...
- 连接弹性和命令拦截的 ASP.NET MVC 应用程序中的实体框架
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 上篇博客我们学习了EF 之 MVC 排序,查询,分 ...
- .Net分布式架构(二):基于Redis的Session共享
一:Session简介 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台web服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台web服务器建立连 ...
- ThinkPHP讲解(十)——第三方类的引入:以分页为主
第三方类的引入,以分页类为例: 1.在控制器里新建一个分页的操作方法FenYe() 注意:第三方类Page.class.php放在Think或Home文件夹下,并新近一个文件夹,放在里面,并在其类里加 ...
- 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)
除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...
- 编译openssl
windows: 下载openssl-1.0.1h.tar.gz文件 32位: 在解压的包中,有INSTALL.W32文件,按照文件提示安装 64位: 在解压的包中,有INSTALL.W64文件,按照 ...