个人介绍
我是程序员客栈的青梅JAVA;
我担任过北京车联天下信息技术有限公司的JAVA开发工程师;
负责过的xxxx车联网TSP平台、新能源监控平台的开发;
熟悉JAVA语言,熟练操作windows、Linux系统
l 熟练掌握SpringBoot、SpringCloud、myBatis、Nacos等开源技术或框架
l 熟练操作mysql、redis、MongoDB、hbase、hive等主流数据库
l 熟练使用Eclipse、IDEA等开发工具
l 熟练使用Tomcat服务器与SVN,GIT等版本控制器
l 熟练使用Kettle,实现关系型数据库之间的数据迁移
l 熟练使用Sqoop,实现Hive和传统型数据库之间的数据传递
l 熟练使用Flink,实现对数据的实时统计,使用Spark,实现对数据的离线统计
l 了解hadoop 基础技术
如果我能帮上您的忙,请点击“立即预约”或“发布需求”!
工作经历
2016-12-25 -至今北京车联天下信息有限公司JAVA开发工程师
车联天下向汽车整车厂客户及终端用户,提供端到端的车联网服务解决方案及相关产品和服务,包括智能联网车机、T-Box联网终端、数字仪表、智能驾舱、自动驾驶产品、智能车载操作系统、车联网云平台、智能手机应用、大数据产品、车联网运营服务等。 主要负责车联网服务的开发。
教育经历
2012-09-01 - 2015-06-01陕西能源职业技术学院计算机应用技术本科
技能
主要是用于监控应用服务的运行数据、集群的节点信息、应用组件的状态信息、业务的核心数据等,任意应用服务通过集成指定SDK,监控平台即可周期性的抓取应用服务的监控指标并分析,从而实现在发生异常时立刻推送告警信息,这样也提升异常问题排查与解决的效率,同时优化应用服务,使得应用服务运行更稳定。 应用服务监控平台包括以下四个模块: 首页:展示应用服务的系统信息和业务核心数据,如系统运行时间、节点信息、内存大小、线程数、报文总数、转发总数、在线车辆数、消费状态等信息。 系统设置:维护目标系统的信息,以及对首页参数、告警规则参数、运行参数等数据进行备份。 异常告警数据:监控应用服务上报的异常信息、告警信息、运行数据等。 告警与参数:维护各个功能的配置参数,如首页信息参数、告警规则参数、运行参数等。 技术框架:SpringBoot+Mybatis+Maven+AngularJS+Bootstrap
主要是对新能源汽车的整车数据、车辆位置、燃料电池、发动机、报警数据等关键系统运行安全状态的监测和管理,按照《电动汽车远程服务与管理系统技术规范》(GB/T 32960)国家标准要求,将新能源车辆相关安全状态信息实时上传至地方监测平台,同时也会设置国家监测平台接口,在接到国家监测平台的调用指令后,将对应车辆的相关安全状态信息转发至国家监测平台,以此接受国家监测平台的监督抽查,同时也加强了对新能源汽车的监管,确保用户使用安全,新能源汽车运营安全。 主要有以下几个模块: 首页:展示当前平台车辆总数,在线车辆,今日新增车辆,总里程,今日行驶里程,以及车辆分布统计信息。 系统管理:对当前平台进行统一的账号管理,角色管理,权限管理,以及车型和车辆配置的管理。 基础信息:维护车辆基础信息。 车辆监控:监控车辆的实时信息和CAN信息,以及根据指定时间对车辆历史CAN信息的查看。 故障管理:维护车辆的故障信息和报警信息,并且可实时监控报警数据,并提示处理报警功能。 统计分析:按不同维度统计车辆运行数据,报警数据,以及SOC的数据。 路由设置:监控国标平台,地标平台的路由转发情况。 技术框架:springBoot+Maven+myBatis+Kafka 负责统计分析:车辆运行数据和报警数据的清洗,比如某辆车每天的3级,2级,1级报警的个数,每天上报的电池最低最高值等需求(网关将报文写入kafka,大数据的HDP平台,通过flume将kafka的数据写入HDFS中,然后spark每天凌晨一点从HDFS中读取昨天的数据,转换成临时表,通过Spark SQL对数据进行清洗,最终将清洗过的数据写入Hive和mysql中,写入Hive的数据是用于个别需求需要和前一天的数据进行比较计算,写入mysql的数据是用于TSP的显示),整个过程的数据属于离线统计,当天只能显示T-1天的数据。
技术框架:springCloud + springBoot + Maven + mybatis 系统介绍:主要是车、TBOX的交互。核心功能为车辆远控、TBOX注册、TBOX登录、OTA升级、车辆行程、驾评等,整个项目主要涉及三个部分,TSP平台、APP、GATEWAY; 1. APP:旨在为车主提供车联网服务,比如远控功能,可远程操作开启/关闭发动机,解锁/上锁车窗等功能; 2. TSP平台:旨在对客户、车辆、TBOX、SIM卡等信息的管理,包括可对TBOX进行OTA升级等一系列的功能模块; 3. GATEWAY:主要是用于TBOX的交互,比如,我们可以采集TBOX的 CAN数据信息;采集车辆点火熄火信息;采集TBOX的报警信息(防盗,异动,碰撞等);通过TBOX注册,登录,记录TBOX、SIM、VIN的绑定关系等; 主要工作: 1. 负责提供APP远控接口(APP通过MQ将远控指令下发至网关,网关组装成TBOX可识别的probuf协议,下发至TBOX端,TBOX端在60s之内返回给网关远控的结果,网关将结果记录并返回给APP端显示); 2. 负责APP的行程(主要是将成对的点火熄火匹配,形成行程,再将这段行程中的GPS信息描绘成行程轨迹); 3. 负责APP的驾评(主要对每一段行程进行某些行为的统计,比如每段行程中急加速和急减速的次数,未系安全带的次数等); 4. 负责TSP的OTA升级(先上传升级包;然后添加升级任务,选择要升级的设备和升级包;接着将升级任务下发至网关,网关经过一系列逻辑判断,下发至TBOX;随后TBOX经过对升级包的检验等操作返回至网关升级状态;最后网关再将升级结果返回至TSP平台); 5. 负责TSP数据可视化(主要是展示APP的活跃用户数,车辆的活跃数等基础指标,以及操作行为的指标,比如发动机指令,寻车指令等。这些数据基本都是来源于APP埋点数据,以及Tbox上报的车辆状态数据,通过ETL,将最终的数据写入至mysql),ETL的过程是:APP埋点,TBOX将数据分为不同的topic写入kafka,大数据通过flume将kafka的数据写入HDFS中,并通过crontab定时执行spark任务,spark从HDFS中读取到数据之后进行清洗,并写入hive和mysql中。 6. 负责短信下发功能(主要分普通短信和物联网短信;普通短信,是指登录APP时涉及的验证码,以及车辆碰撞等报警短信,通过http的get请求调用国都短信接口实现;物联网短信,指下发远控功能时,设备处于睡眠状态,需要下发短信将其唤醒,通过SOAP协议通信); 7. 负责SIM卡管理功能(因为各个项目的TBOX注册都会涉及到SIM卡,同时唤醒短信也会涉及到SIM卡,所以为了统一管理,我们根据不同的厂商,产品,供应商,通道来管理SIM卡,在TBOX注册平台之前,会根据不同的通道申请一批SIM卡,并将SIM卡上传); 难点: 1. 前期TBOX上报的数据存储在MongoDB中,后来因为数据量大,导致TSP查询比较慢,之后又将MongoDB做了分片,但是维持了几个月之后,仍旧查询慢,最后舍弃MongoDB,使用了Hbase。