熟练掌握spring、spring mvc、spring boot、mybatis plus、mysql、vue2、vue3、git、maven、Gson、Netty、E-Chart、MQTT、Magic-Byte、消息队列等
2022-10 ~ 2023-08 物联网显控终端软件平台后端开发
项目描述:该项目来自嘉兴某研究所,主要功能是依靠显控软件界面下发指令,经MQTT传入后端再转发给相关设备,或接收上级指令后再操作相关设备;具体的有操作伺服追踪目标轨迹,伺服自动撤收,电源控制,设备报警等显控功能 。
项目技术栈:Mosquito、MQTT、Netty、MySQL、Gson、E-Chart、Magic-Byte、Vue、消息队列、多线程。
项目职责:本人负责的内容为后端框架的搭建;
修改conf文件启动mosquito服务;
当后端连接本地服务器后使用MQTT协议对不同消息通过不同的topic发布/订阅,保证显控终端与后端信息流的交互通畅;
继承gson的TypeAdapter自定义系列化和反序列化的处理器,依此处理协议中的特殊字段转换;
搭建Netty客户端架构,与相关设备进行Socket连接,保证字节流在Server与Client之间通信通畅,继承ByteToMessageDecoder自定义字节解码器——自定义协议;
由于设备众多导致设备Server上行日志非常巨量,为保证消息不丢失,故设计消息队列在channelRead处将设备端上行消息输入消息队列;
主要成果:
支持10种设备量连接平台,已经在嘉兴验收;
将显控终端抽象成设备脱离了http协议,提高了整体的可控性的同时也解耦了前后端开发进程。
2022-03 ~ 2022-07 铁路信号实时诊断平台后端开发
项目描述:项目来自深圳某公司,在铁路背景下,有很多老旧工件无法人工一一查看,但是为保证铁路相关工件安全、或是及时诊断出其故障状态,利用大数据平台把信息上报给铁路工人,便能做到指向性检查,在保证安全的同时也能节省不少人力。具体目标拟实现对铁路相关工件信号的实时分析,并给出诊断结果。
项目技术栈:SSM、Netty、Gson、Magic-Byte、Kafka
项目职责:本人负责的内容为后端解析信号数据,然后分发近Kafka大数据平台;
该项目中运用反射机制,继承父类后自定义实现父类中的decode方法,分工合作快速处理较多的自定义协议接口;
在Netty架构下,针对不同的协议;抽象出相同点,依此解决粘包黏包问题;
把解析好的数据封装后通过topic分发到Kafka上做到消息解耦合。
主要成果:
成功搭建并交付了一套铁路信号上行、分发和诊断的系统