教育经历
西安电子科技大学 软件工程 / 本科
工作经历
即构科技
-
2021.03 - 2022.03
-
后台开发中心,信令/质量组
-
实时音视频信令开发、质量诊断平台建设。
深圳迈瑞
-
2018.07 - 2020.06
-
血球软件中心,算法组
-
算法模块的预研开发、性能优化。
项目经历
[即构] 1 质量诊断平台
-
2021.08 - 2020.12 | 搭建质量诊断和指标监控的运营系统。
-
1.1 质量诊断模块:
- 设计指标的诊断路径,从房间入手诊断,检索推流用户→推流服务器→中间链路→拉流服务器→拉流用户的各段的链路指标质量。
- 设计综合的诊断面板,把链路的拓扑图、推拉流用户的时序指标集中显示,对诊断路径和面板进行联动。
- 设计基于流的查询系统,检索查询混流、推拉流、转推流的指标,支持不同维度间的指标对比。比如,同一推流不同拉流用户间的指标对比。
-
1.2 指标监控模块:
- 设计灵活检索的面板,组合IP、ISP、Geo等条件,基于ElasticSearch引擎,生成对应的Filter,对指标进行统计计算,前端通过ECharts进行友好展示。
- 设计指标监控面板,基于数据接口,对拉流并发、卡顿率、端到端延迟等质量指标做实时监控。
- 1.3 外部工单模块:
- 基于开源项目进行开发,重新设计表结构和状态机流转模型,使用mysql存储,redis缓存,附件保存至OSS。支持分类模板创建、邮件和微信通知,使用Prometheus监控告警。
- 1.4 云端录制模块:
- 在信令服务设计旁路分支,采集用户信息。使用 Pipe-Filter 模型,通过 nsq 消息队列,把数据交付下游处理模块。 下游服务调用录制 SDK,把房间内推流信息录制在对象储存文件。
[即构] 2 房间鉴权设计
-
2021.04 - 2020.05 | 抵御房间被黑客入侵,对原有鉴权进行升级。
-
设计鉴权标记位,在登录和推流时分别鉴权。标记位异常则鉴权失败。同时对推流的stream_id进行校验,支持推流白名单限制。使用服务端的通信密钥和随机向量作为AES参数,对token进行加密,组合过期时间,转换为base64编码对外提供。
-
使用ZooKeepr做统一配置管理,能够向前兼容,灵活根据appid开启鉴权功能。
-
设计定时拉取房间用户及流列表的功能,用于风控和异常用户、流的排查。
[迈瑞] 3 算法性能优化
-
2020.04 - 2020.05 | 缩短算法模块的计算耗时,降低对硬件平台的性能依赖。
-
搭建Benchmark性能测试的运行环境,选择高中低值测试样本,使用Profiler工具对热点模块进行分析。
-
考虑过使用编译期优化,查表法,CUDA编程,SIMD指令等优化手段。
-
通过二维高斯模糊优化、改进原有稀疏数组排序算法、调用fftw/intel-mkl数学库加速fft计算时间、优化热点模块的内存分配等方案对原有算法库进行优化。多种优化方案后,整体性能提升30%左右。
[迈瑞] 4 参数校准模块
-
2019.05 - 2019.06 | 血细胞分析系统的参数校准模块设计。
-
设计参数校准的方案,基于Qt/MiniGui,对算法模块、应用界面、通信字段等模块进行更改。
-
向前兼容设计,解决多模式多场景参数计算、数据库兼容、升级兼容、数据通信、信号数据储存等问题。
-
提供面向测试的模拟操作接口,能够模拟特定的计算模式,方便调试及数据验证。
[迈瑞] 5 样本过滤工具
-
2018.09 - 2018.10 | 负责异常特征样本过滤工具的算法模块,实现临床提供的过滤算法。
-
分析算法参数的存储协议格式,解析离线样本文件中的特征数据,实现过滤算法。
-
通过CRC校验,头部长度字段校验,改进了算法在过滤不完整样本场景中的容错性和鲁棒性。
-
设计分析报告,展示过滤的特征参数与检测结果。
技能
编程语言:熟悉Go,了解C/C++,用过JavaScript、Java、Lua、Shell。
技术框架:Gin、Beego、Go Mirco、MySQL、Redis、Elasticsearch、Vue、Echarts。
英语水平:CET-6.