2024年度总结
项目
中心服务 - 设备管理模块
- 完成服务器设备管理:P2P服务器、转发服务器、集群对讲服务器、文件存储服务器、数证管理服务器等型号及实例管理
- 完成客户端设备管理:执法仪、指纹机、采集盒、NFC卡等型号及实例管理
- 完成设备关联管理:服务器与执法仪绑定、采集盒与指纹机绑定等
- 时间线:1月-3月完成基础框架搭建及界面美化
中心服务 - 直播模块
- 实现P2P直播(基于穿透科技方案及自有P2P隧道)
- 实现WebRTC直播(P2P模式、SFU模式基于Janus)
- 实现H264/H265视频编解码(硬解优先、软解兜底)
- 实现多屏直播、对讲功能、地图集成
- 时间线:3月开始P2P直播开发,4-5月WebRTC开发,8月H265支持,10月新UI集成
中心服务 - 历史回放模块
- 实现数证管理服务器文件索引分页查询
- 实现P2P文件传输(基于WebRTC Data Channel)
- 支持图片、音频、视频播放
- 时间线:4月历史回放开发,7月P2P传输Rust服务端开发
中心服务 - APP API接口
- 完成用户中心接口:手机号/邮箱注册、登录、找回密码
- 完成设备绑定、分享、管理接口
- 完成短信验证码服务集成(阿里云)
- 时间线:11月-12月集中开发
中心服务 - 新旧UI整合
- 旧UI基于React+Ant Design完成全站美化
- 新UI基于Remix+Shadcn/UI开发
- 微前端框架整合
- 时间线:2-3月旧UI美化,8-10月新UI开发,10月微前端整合
巴西定制版设备Web
- 完成FTP配置、4G配置、WiFi配置界面
- 完成设备激活、领用归还流程
- 时间线:4月开始,持续全年维护
P2P隧道Web插件
- 基于ASP.NET Core AOT开发
- 支持隧道建立、心跳保活、WebSocket事件推送
- 制作为安装程序,支持后台服务运行
- 时间线:4月开发完成
WebRTC服务端
- 部署Janus Gateway服务器(支持MQTT信令)
- 部署STUN/TURN服务
- 开发es-center-server-webrtc-service(Rust实现,部署在数证管理服务器)
- 时间线:4-7月
技能成长
- WebRTC:深入掌握P2P/SFU模式、H264/H265编解码、Data Channel文件传输、信令交互设计
- MQTT:掌握EMQX服务器部署、MQTT 5.0共享订阅、信令交互文档编写
- Rust:掌握Tokio异步编程、webrtc-rs库使用、并发性能优化
- 前端框架:Next.js → Remix迁移、Remix SPA模式、Shadcn/UI组件库
- 微前端:micro-app框架集成新旧UI
- Spring Boot:升级至3.4.x、虚拟线程、依赖包管理
- Docker:Docker Compose编排、镜像制作优化、Drone CI/CD集成
收获与避坑
收获
- WebRTC P2P成功率优化:通过STUN/TURN服务、ICE配置优化提升连接成功率
- 前端性能优化:SWR缓存、LocalStorage缓存、静态词条文件生成
- 并发性能优化:Rust DashMap替代
RwLock<HashMap>、异步任务资源回收 - 部署效率提升:Drone CI/CD自动部署、批量编译部署脚本
避坑
- WebRTC Candidate发送时机:需等待设置远程SDP后再发送,否则影响P2P成功率
- Remix SPA模式:打包体积从200MB+优化至50MB
- MQTT消息过滤:需通过region_id区分不同组件的消息,避免消息混乱
- 软解H265兼容性:需处理Firefox Blob类型与Chrome ArrayBuffer类型差异
Last updated on