• 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上报

    参数: {号码, 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数据等等, 可选), 页数, 每页数量}

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

     

     

    六. 插件

     

     





  • 相关阅读:
    EBGAN
    Inception Score
    对称加密系统,攻击方式
    tensorboard的使用
    pip更新后,下载慢,国内更新源
    VSCODE快捷键
    Ajax JS
    ORM操作之Django后台管理、外键、QuerySet、查询sql语句、用户管理
    ORM操作之分类、创建数据库表结构流程、基本操作、操作表结构、字段类型、字段参数
    路由系统 视图 默认数据交互规则 获取用户提交信息
  • 原文地址:https://www.cnblogs.com/wangk/p/5731413.html
Copyright © 2020-2023  润新知