linux C开发,2010年参加工作至今已有15年工作经验。
熟练掌握linux C,tcp/ip,socket,多进程多线程并发,shell脚本,gdb调试;
对音视频传输有一定经验;
有良好的编码规范,编写的代码有很好的逻辑性与可读性;
擅长优化代码结构,提高代码执行效率、产品性能与稳定性;
对mysql等常用数据库能做到熟练使用。
1. Database审计产品性能优化
独立开发,重写流量传输引擎模块,完成tlv格式协议传输、数据流量包lz4压缩传输、内存块管理、哈希队列管理tcp会话连接、FIFO接收重组流量等处理机制
效果:经过优化后,4C8G的ECS处理流量由原来的30K/s增加到50M/s,短会话处理能力有原来的3000cps增加到20000cps。
2.Database审计Saas产品sql入库性能优化
独立开发,针对阿里云上saas审计产品,重写审计信息入库流程,由原有的读写tlog文件入库模式改为直接解析内存数据直接入库阿里SLS,异常或压力大时再记tlog文件单独入库。入库时采用异步写入多线程lz4压缩发送。
效果:8C16G单审计节点达到入库每秒8万+且无读写文件开销。
3. 离散存储的视频流数据实现多进程间共享
实现功能:海思平台,内核存储数据采用伙伴系统+block方式,初始化时申请若干固定大小且物理内存连续的内存块,依数据大小获取合适的内存,映射内存块基址到用户进程,内核维护映射表,多进程可访问共享数据且内存块可动态申请释放。
优点:减少视频数据进程间数据拷贝,减少内存碎片。
该项目主要解决单机版本的DB审计系统出现异常或down机时导致审计中断或数据丢失问题;审计存储使用mysql数据库,该项目使用mysql的binlog机制同步审计数据并伴随周期同步配置,其他所需同步的文件采用0拷贝机制进行同步;主备节点需向管理端周期上报状态,由机器管理者确认及下
该方案针对使用低版本mysql数据库需要对表文件进行加密的用户,部署时做到轻量化,不替换原有的mysql文件。该方案中利用mysql的plugin功能,而加密相关的功能单独编译为动态库。部署前先通过获取符号变的工具获取相关api的符号表,使用plugin命令加载加密代码编译的库文