Skip to Content

2025年04月14日

上周工作回顾

信息化管理完善:优化工作周报文档结构, 提炼为可共享模板

  • 目标:在持续改进个人工作周报的过程中, 优化文档结构, 提炼出一个易于使用的工作周报模板, 并提供下载包。
  • 进度:已完成 100% 达成预期目标。

信息化管理完善:BUG管理平台

  • 目标:搭建BUG管理平台, 实现测试结果的全生命周期跟踪(支持已处理和待处理状态的可视化)。同时, 维护项目和账户, 并及时通知相关人员, 确保平台能够得到有效使用。
  • 进度:已完成 100% 达成预期目标。

信息化管理完善:对外文档平台

  • 目标:构建多语言支持的对外文档平台, 实现国际化适配。同时, 维护账户, 并及时通知相关人员, 确保平台能够得到有效使用。
  • 进度:已完成 100% 达成预期目标。

信息化管理完善:内部文档平台

  • 目标:建立集中化内部文档平台, 确保研发过程可追溯及接口文档协同开发。同时, 维护账户, 并及时通知相关人员, 确保平台能够得到有效使用。
  • 进度:已完成 100% 达成预期目标。

信息化管理完善:工作周报平台

  • 目标:构建透明化工作周报平台, 实现研发过程全量可视化。同时, 维护账户, 并及时通知相关人员, 确保平台能够得到有效使用。
  • 进度:已完成 100% 达成预期目标。

信息化管理完善:对外文档内容维护

  • 目标:丰富对外文档内容, 优先维护近期客户所需的部分。后续将根据实际情况对文档进行整理和优化。
  • 进度:已完成 100% 达成预期目标。

中心服务平台:app 接口改进

  • 目标:根据郭工联调反馈的信息, 对接口进行改进。具体包括区分系统错误信息和业务验证错误信息, 以及复现并修复某个接口的 SQL 插入错误问题。
  • 预期进度:计划完成 50%, 实际完成 50% 达成预期目标。在编写接口文档上投入了较多时间。

本周工作计划

中心服务平台:app 接口改进

  • 目标:根据郭工联调反馈的信息, 对接口进行改进。具体包括区分系统错误信息和业务验证错误信息, 以及复现并修复某个接口的 SQL 插入错误问题。
  • 预期进度:计划完成 100%。

中心服务平台:中心服务器测试 250327.xlsx 中的任务处理

  • 目标:优先处理耗时较少的任务。对于耗时较长的任务, 具体如下:
    • 轨迹回放:涉及大量定位信息、电量信息和开关机记录等数据, 这些数据不能存储在业务数据库中, 以免影响其性能和备份。因此, 需额外集成 Elasticsearch 服务来存储和快速查询这些大数据。
    • 位置信息(最好是解析后的地理位置信息):将集成 Photon 位置解析服务, 并提供授权的 API 接口, 确保只有经过身份验证的用户才能访问。
  • 预期进度:计划完成 30%。

日常协作事宜

以下为当前需协作完成的关键任务列表。姚海涛作为主要协助人员, 将全力配合各位同事, 保障项目高效推进。

APP 接口联调与文档优化

  • 内容:协助郭工对 APP 的 HTTP API 和 MQTT 信令交互接口进行全面联调。采用专业测试工具与规范测试方法, 严格验证接口功能的正确性、数据传输的准确性与稳定性。同时, 系统梳理相关接口文档, 补充接口参数(如参数类型、取值范围、默认值等)、返回值格式(如数据结构、字段含义等)以及异常处理(如异常类型、错误码、处理方式等)的详细说明, 确保文档符合行业规范、逻辑清晰, 便于后续开发与测试人员参考使用。

KH2248 项目设备 WEB 前端定制开发技术支持

  • 内容:为韦工在 KH2248 项目的设备 WEB 前端定制开发中提供全方位技术支持。针对开发过程中可能出现的页面布局合理性、交互效果流畅性、浏览器与设备兼容性等问题, 凭借专业知识和实践经验进行深入分析。与韦工保持高效沟通, 及时了解项目进展与问题反馈, 共同制定可行解决方案, 确保项目按时交付高质量前端页面。

设备对接接口联调与文档优化

  • 内容:协助孙工在设备联调过程中, 运用先进的通信监测与数据验证工具, 全面检查设备与服务间的通信状况, 确保数据传输稳定、准确且无丢包。同时, 深度优化对接设备的 MQTT 信令交互接口文档, 详细记录调试经验、问题及解决方案, 为服务的平稳过渡和稳定运行提供坚实的文档支撑, 方便后续维护人员快速解决问题。

数证管理服务器对接接口联调与文档优化

  • 内容:协助绍工对数证管理服务器的 HTTP API 和 MQTT 信令交互接口进行联调。运用数据验证算法和模拟测试场景, 严格测试前后端数据交互的准确性与完整性。使用网络监测与性能分析工具, 检查采集站与服务器间的通信和数据采集传输情况。全面优化对接接口文档, 补充联调细节, 如网络配置参数、数据采集频率、异常处理机制及问题解决方案, 确保系统功能完整、运行稳定, 为平台上线做好准备。

平台使用咨询、测试问题排查与文档优化

  • 内容:协助王工为中心服务平台提供专业的使用咨询服务。针对用户在平台操作流程、功能使用及系统故障等方面的问题, 及时响应并提供准确、详细的解答与指导。在测试阶段, 利用专业技术和问题定位工具, 深度排查测试问题, 分析问题根源并制定解决方案。同时, 全面优化测试说明文档, 记录问题排查过程与解决方案, 为后续测试工作提供清晰有效的指导, 提升用户使用体验和平台满意度, 为平台优化升级提供支持。

本周工作进度

中心服务平台:app 接口改进

  • 目标:根据郭工联调反馈的信息, 对接口进行改进。具体包括区分系统错误信息和业务验证错误信息, 以及复现并修复某个接口的 SQL 插入错误问题。
  • 当前进度:完成 100%
  • 任务清单
    • 业务验证错误信息与系统错误信息的区分, 接口返回的错误代码做区别处理。
    • 复现并修复某个接口的 SQL 插入错误问题。

中心服务平台:安装程序优化改进

  • 目标:上个月自测通过的多个程序, 根据王工的测试反馈并进行进一步优化改进
  • 当前进度:完成 10%
  • 任务清单
    • 主线版本安装程序
    • 主线版本增量升级程序
    • Coturn 服务独立安装程序
    • Janus 服务独立安装程序
    • 越南客户定制版安装程序
    • 越南客户定制版增量升级程序

中心服务平台:中心服务器测试 250327.xlsx 中的任务处理

  • 目标:优先处理耗时较少的任务。
  • 当前进度:完成 30%
  • 任务清单
    • 错误 #2: 初次浏览器登录系统后语言切换需要刷新手动刷新浏览器才会生效
    • 错误 #3: 如果清除浏览器缓存(或者是没有登录过的用户第一次登录), 看不到设备的定位图标, 需要不知道多久后才能显示定位图标
    • 错误 #4: 多屏直播如果把设备列表那一块隐藏, 那右边的播放界面会有跳动的情况
    • 错误 #5: 360极速登录后加载不了看看是什么情况
    • 功能 #6: 设备不在线可以不需要显示定位图标, 或者定位图标也显示成和离线状态一样的颜色
    • 功能 #7: 这里显示的信息, 可以慢慢的改成客户需要关注的信息了, 下面是我认为客户比较关注的信息:设备ID及名称, 组织信息, 设备电量, 设备存储卡信息, 录像状态, 位置信息(最好是解析后的地理位置信息), 网络状态等
    • 功能 #8: 系统web端登录后无操作自动退出时间是多久?感觉很快就又要重新登录了。
    • 功能 #10: 右边的显示是否可以直接做成hide menu模式, 具体显示的标题可以做成鼠标放到那里才显示标题
    • 功能 #11: 看看怎么实现快速在地图上看到某个设备的位置(比如设备数量多起来的话, 地图上都是设备的定位点, 但是要移动鼠标到地图上的定位图标才知道这个定位图标是哪个设备, 建议可以做个复选框, 选中该设备就自动定位到该设备在地图上的位置, 并冒泡显示该设备的一些设备简要信息)
    • 功能 #12: 多地图模式下, 能否做到自动检测地理位置默认打开哪个地图, 比如检测到时国内的就默认打开国内的地图, 国外的IP登录就默认打开google地图
    • 功能 #13: 单屏直播的时候可以做成另外一边同时显示地图, 方便视频和定位同时监控
    • 功能 #14: 是否多加一个轨迹回放的功能(历史定位回放)?

中心服务平台:WEB 客户端依赖库升级

  • 目标:升级已停止维护的 Web 客户端依赖库, 确保应用能够正常运行。
  • 当前进度:完成 100%
  • 任务清单
    • 从 Remix v2 升级到 React Router v7:由于 Remix v2 已不再维护, 决定将其升级至 React Router v7。这是在 Remix v2 停止支持后的首选替代方案。Remix v2 依赖于 React 18, 而其他库的新版本则依赖于 React 19。为了保持项目的一致性并避免使用过时的技术, 按照官方文档进行了此次升级。升级指南 
    • “remix-utils/promise” 替换为 “p-timeout”:鉴于 Remix 生态系统已停止维护, 选择了 p-timeout 作为其替代品。
    • 其它库的升级:所有相关的库已被更新至最新版本, 以确保它们与 React 19 兼容。

采用减少依赖库升级风险的操作步骤

为降低因依赖库升级带来的潜在风险, 采用了基于 Git 分支管理的方法来执行这一系列操作。具体步骤如下:

# 创建并切换到新分支 git checkout -b upgrade-package-20250417 # 在新创建的分支上根据各个库提供的升级指南进行相应的依赖包更新 # 这一步涉及修改代码、配置文件等, 确保应用能够顺利运行且通过所有测试 # 添加所有更改到暂存区 git add . # 提交更改并添加描述信息 git commit -m "Upgrade dependencies and pass tests" # 切换回主分支 git checkout master # 拉取最新的远程改动 git pull origin master # 合并升级分支到主分支 git merge upgrade-package-20250417 # 推送更改到远程仓库 git push origin master # 删除本地分支 git branch -d upgrade-package-20250417

中心服务平台:改进安装程序, 针对王工的测试反馈并进行进一步优化

  • 目标: 测试发现的问题处理。
  • 当前进度:已完成 100%。
  • 任务清单
    • 移除了除 es-center-server-launcher 外的所有服务开机启动配置, 改由 es-center-server-launcher 服务统一管理。这样可以确保各个服务按照预定的顺序依次启动, 并在不同服务之间设置适当的延时, 以避免连续启动导致的资源竞争和性能问题。
    • 移除了将当前用户添加到 docker 组的步骤, 因为通常客户会使用 root 账户进行安装。对于非 root 用户, 只需在 docker 命令前加上 sudo 即可。
    • 在安装过程中移除了自动申请 SSL 证书的功能, 因为越南客户1提供的 Linux 服务器的 80 端口已被占用, 导致该功能无法使用。通过子命令 update-server-ssl, 单独申请或更新或申请 SSL 证书。
    • 在更新配置子命令时, 也移除了自动申请 SSL 证书的支持, 原因同样是越南客户1提供的 Linux 服务器的 80 端口已被占用, 无法使用该功能。
    • 添加了以下可配置项:
      • ES_CENTER_SERVER_JANUS_RTP_PORT_RANGE=40000-59999
      • ES_CENTER_SERVER_COTURN_LISTENING_PORT=3478
      • ES_CENTER_SERVER_COTURN_MIN_PORT=20000
      • ES_CENTER_SERVER_COTURN_MAX_PORT=39999
    • 对 spring-boot 程序的默认 JAVA_OPTS 参数进行了优化, 以更好地适配 2 核 4GB 内存的服务器环境。优化后的参数为:-Xmx1024m -Xms512m -Xmn256m -XX:MaxDirectMemorySize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200
    • 在部署运行 spring-boot 程序的 docker-compose.yml 文件中, 添加了 mem_limitmem_reservation 配置:
      • mem_limit: 2g:限制容器最多使用 2GB 的内存。
      • mem_reservation: 512m:设定容器期望使用的内存量为 512MB。
    • 将所有 docker-compose.yml 文件中的 restart: always 修改为 restart: on-failure:9, 以避免无限重启循环。
    • Docker 配置调整:
      • 将所有服务的 docker-compose.yml 文件中的 restart: on-failure:9 更改为 restart: no
      • 在所有服务的 docker-compose.yml 文件中添加了 restart_policy 设置, 以实现延时重启, 避免因连续重启导致 CPU 资源耗尽。
    • 默认数据目录变更:
      • 默认数据目录已从 /opt/es-center-server-data 更改为 /var/lib/es-center-server-data, 以更好地遵循 Linux 目录规范。
    • cli upgrade-server 子命令逻辑调整:
      • 新增了处理 docker-compose.yml 及相关配置文件升级的逻辑, 以应对可能需要升级的情况。
    • cli install-server-coturn-service 子命令调整:
      • 添加了 --internal-eth-name 参数, 用于指定 Coturn 服务的内部网卡名称。
    • 集成 docker:cli 容器:
      • 集成了 docker:cli 容器, 以便在开机自启后按指定顺序延时启动其他 Docker 容器。这样做的原因是, 开机时多个容器同时启动会对低配服务器造成巨大压力, 可能导致 CPU 超过 100%, 从而使某些服务无法正常启动。
Last updated on