2023-12
核心功能：基站转发、测站解算、结果推送、断点续传
待实现和优化的功能：
1、自动断点续传：
1）增加一个断点续传任务表。当设备上线时检查上次的状态，如果是掉线，则向设备发补传数据指令，并添加一条新的断点续传任务，包括设备号、时间段
2）收到最后一条补传消息，则将任务设置为已完成

2、推送任务：
1）按项目号、推送参数ID将在线设备信息打包成若干个List
2）根据推送参数ID生成相应的推送对象，含协议、地址、端口、推送格式，传入设备List
3）推送对象推送设备最近的解算记录

3、私有化部署UI优化：
1）首页：显示地图和在线/掉线/告警统计，告警信息实时滚动
2）告警：告警信息、告警设置
3）设备状态：温湿度、延迟仅开发者可见
3）配置：组参数配置、解算参数（仅开发者可见）、推送参数、设备参数（可导出excel表）、命令行（仅开发者可见）
4）设备消息（仅开发者可见）
5）数据分析：解算结果，可导出excel表
6）用户设置：用户名、手机号、权限（管理员、普通），内置开发者用户。管理员可以增删改查，普通用户只能查

2024-6
功能定义、端口分配：
                http        netty              功能
beidou          9901(外)                         UI、配置管理、状态管理
beidou-rtcm     9904        9902(外),9903(外)     解算相关，包括解算、解算异常处理
beidou-fwd      9906                            解算结果推送
ntrip-proxy     9910        11001(外)            ntrip服务器代理
beidou-exapi    9908(外)                         API
beidou-ehm      9912                            健康检查、SIM卡检查
vermgr          9914        9916(外)             版本管理服务

2024-9
算法：
1）固定值筛选：a）排序，取中间50%；b）取距离参考点最近的50%
2）坏点判断：a）和前一个比较；b）和参考点比较
3）幅度压缩：压缩值=上个周期平滑值+(单位周期解算值-上个周期平滑值)*幅度压缩系数，平滑值=滤波窗口内avg(压缩值)
4）初值作为参考点的有效时长，缺省为1个周期。从初始值更新时间开始算起

小树林算法：1b+2b+3高程0.1+4的48小时

2024-11
告警：
1）离线：设备记录最后一次收到任何数据的时间。定时任务检查设备最后一次时间，如果与当前时间差距大于门限，则判断为离线；D3F0/D3F2清除离线告警
2）连续无效解：每次解算完，如果是无效解，则无效解次数加1；否则清0；如果等于N，则产生一次告警。
3）连续无固定解：每个周期结束，如果是有效解解，则记录当前时间；D3F2检测当前时间和最近一次有效解时间差距，如果大于N，则产生一次告警。

2025-03
优化推送策略：
1）解算数据表增加一个字段：是否稳定。每次滤波时检查滤波窗口内的原始数据时间，当前时间距离最后一条时间超过滤波窗口的2/3时，稳定字段设为true，否则false
2）每次推送只推送稳定字段为true的结果
例如滤波窗口是24小时，最近一次上线时间是0点，13点上线，则将开始上线时间置为13点，第二天13点开始推送

2025-04
1）告警参数配置增加一个字段：单位
2）健康检查增加连续无有效解的时长之和统计

3）批量升级：
a）在系统管理里增加一页固件升级页面，包括固件列表和设备列表
   1）固件列表：固件名、固件大小、创建时间。每次升级只能单选一个固件
   2）设备列表：所属组织、设备号、项目、桩号、版本号、使用状态（正常、维护、停用）、当前状态（工作、休眠、离线）、最近一次版本升级时间
   3）设备可多选，筛选条件：所属组织、设备号、项目、桩号、版本号
b）升级过程：
   1）WEB服务：选择固件->筛选设备->勾选设备
   2）WEB服务：点击“升级”，系统检查所勾选的设备批次与所选固件是否一致，如果有不一致，弹出“固件不匹配”提示窗口，结束升级
   3）WEB服务：向版本服务发升级命令UpgradeCmd(deviceList)，版本服务如果应答UpgradeAck，则把待升级的设备改为“维护”状态，发连接服务器指令，升级按钮变灰；否则提示“版本服务未启动”的提示，结束升级
   4）版本服务：当收到WEB服务发来的升级命令UpgradeCmd(deviceList)，回应答UpgradeAck，为每个待升级设备启动30s升级定时器
   5）版本服务：当收到TCP连接响应，则向对端发版本查询指令，开始版本传输流程，升级过程向WEB服务发送进度指示UpgradeInd(deviceid,progress)，每次收到ACK则刷新定时器。
   6）版本服务：当设备升级完毕，或升级定时器超时，结束升级流程，向WEB服务发升级完成指示UpgradeCompleteInd(deviceid,result)。当所有设备升级结束，再给WEB发一个全部升级完成的指示UpgradeCompleteInd(all)
   7）WEB服务：当收到全部升级结束指示，按钮变正常，升级设备状态改为正常
   8）WEB服务：保存升级记录
c）增加一页固件升级记录表，包括所属组织、设备号、项目、桩号、升级时间、升级固件、是否成功
