项目描述:
该项目主要负责车辆远程诊断,车辆通过绑定诊断任务的方式下载诊断序列和诊断包,下载完成后自行执行诊断。
负责模块:
我主要负责项目的搭建,采用springboot的基础架构搭建项目。然后对诊断任务、诊断策略和统计模块进行开发。其中统计模块的设计比较复杂,下面进行重点描述。
统计模块按小时和天的维度进行数据统计,为了高效的查询统计数据,我设计了按小时和按天为维度的统计表。车辆执行诊断任务会上报诊断日志到kafka,我使用线程池从kafka读取诊断日志进行消费。使用固定时间段的方式对redis key进行划分,将某个时间段内消费到的数据存到固定的redis key中。然后采用xxl-job定时任务每隔固定时间对redis key进行统计,将统计到的数据更新到mysql数据库统计表中。这样用户查询统计数据时,只需要查询对应统计表的数据,大大提高了接口响应效率。
主要成果:
我负责了该项目从0到1的整体实现,帮助该项目在汽车行业中取得了铃轩奖。
点击空白处退出提示
评论