宋春地
- 男 | 35岁
- 河南大学 | 计算机应用技术
- 18662433683 | songchundi@163.com | 简历下载
专业概述
资深技术经理和软件工程师,拥有超过12年的丰富经验。专注于后端系统开发、API设计、性能优化和项目管理。精通多种编程语言和技术栈,包括Java、Python、Nodejs等。具备出色的问题解决能力和团队领导经验,能够设计和实现高性能、可扩展的系统架构。
核心技能
- 编程语言: Java, Python, Nodejs, PHP
- 后端框架: Spring Boot, Django, Flask, Pyramid,Netty
- 数据库: MySQL, Redis, PostgreSQL, TDengine
- 消息队列: Kafka, RabbitMQ
- 微服务: Dubbo, gRPC, Thrift
- 容器化: Docker, Kubernetes,Rancher
- 版本控制: Git
工作经历
北京捷方联科技有限公司(2019-01 - 2024.08)
任职:技术经理
项目:卫星地面站前端接口服务
- 开发语言与工具:
- Java、Dubbo、Zookeeper、Netty
- 项目描述:
- 一个与卫星地面测控设备及系统交互的服务
- 通过Dubbo接口对地面其他服务提供交互接口
- 使用Zookeeper实现服务的主备运行
- 使用Zookeeper实现配置数据的读取及更新
- 使用UDP组播实现与地面测控系统的交互
- 使用TCP协议实现与基带设备、天线设备的交互
- 主要功能包括天线模式设置、卫星测距、卫星测角、设备数据读取等
- 项目结构:
%%{init: {'theme': 'neutral'}}%%
flowchart BT
SAT[航天器]
subgraph 地面系统
ANT[天线1]
DRV[天线驱动1]
ANT2[天线2]
DRV2[天线驱动2]
end
subgraph 前端接口服务组
M[Master]
S1[Standby 1]
S2[Standby 2]
end
subgraph 注册与配置中心
Z[Zookeeper]
D[Dubbo]
K[Kafka]
end
subgraph 其它应用
C1[App 1]
C2[App 2]
end
ANT <--> SAT
DRV <--> ANT
ANT2 <--> SAT
DRV2 <--> ANT2
D --> Z
M <-->|UDP| DRV
M <-->|TCP| ANT
M <-->|UDP| DRV2
M <-->|TCP| ANT2
M -->|注册 Active| D
S1 -->|注册 Standby| D
S1 -..->|监控Master| M
S2 -->|注册 Standby| D
S2 -..->|监控Master| M
M <-->|状态维护| Z
M -->|发布数据| K
D <-.-> C1
D <-.-> C2
C1 -->|控制请求| M
C2 -->|控制请求| M
项目:在轨操作客户端软件
- 开发语言与工具:
- Java、Eclipse RCP、Redis、Zookeeper、Kafka
- 项目描述:
- 一个用于连接卫星设备运行操作程序的工具,可以通过该工具向卫星发送指令、执行程序、监控遥测等
- 可对操作程序进行调试,支持单步、暂停、继续、停止等操作
- 内部实现了一个卫星操作程序的解释器
项目:空间站在轨实时数据解析服务
- 开发语言与工具:
- Node、Redis
- 项目描述:
- 针对空间站在轨实时数据解析分发
- 功能包括数据接收、实时统计、丢包率计算、数据归档等
- 使用UDP组播接收实时数据
- 数据解析速度不低于500MB/s
项目:深空探测器模拟飞行测试平台
- 开发语言与工具:
- Java、SpringBoot、Redis、MongoDB
- 项目描述:
- 一个提供对深空探测器进行测试程序设计、执行,执行过程记录、监视,测试程序版本迭代管理的系统
- 包括飞行程序的管理、测试程序的编辑、迭代、运行等功能
项目:卫星热试验控制系统
- 开发语言与工具:
- Java、SpringBoot、Kafka、Timescale(Postgres)
- 项目描述:
- 一个用于管理/控制卫星进行地面热试验的系统
- 包括型号、线路、热电偶、试验计划等的管理,对试验过程的操作如启动、停止,以及测试数据的监控、报警、数据归档等功能。
项目:北斗卫星在轨健康状态实时评估
- 开发语言与工具:
- Nodejs、Thinkjs、Kafka
- 项目描述:
- 用于对北斗系统在轨卫星运行状态进行评估的系统
- 包括当前卫星基线(如设备开关状态、电流电压等)管理,卫星实时数据解析、状态评估、数据曲线显示、数据报警等功能
项目:物联网基础平台
- 开发语言与工具:
- Java、SpringBoot、MQTT、Redis、TDengine
- 项目描述:
- 一个用于接收处理硬件设备数据的物联网基础平台
- 功能包括设备管理、数据收集、规则引擎、报警处理、消息通知、数据存储、历史数据分析等
- 硬件设备数据通过MQTT协议上报到系统,加了一个代理对数据解析/解密后发布到Redis(使用Redis Stream)作为消息总线,其他服务从Redis接收数据后进行后续处理
- 使用了时序数据库taos作为设备数据存储
- 项目结构:
%%{init: {'theme': 'neutral'}}%% graph LR DEV1[DEV] DEV2[DEV] MQTT[MQTT] PROXY[PROXY] QUEUE[QUEUE] MYSQL[(MYSQL)] TAOS[(TAOS)] RULE_ENGINE[RULE_ENGINE] MANAGE[MANAGE] DATA_SINK[DATA_SINK] NOTIFIER[NOTIFIER] MONITOR[MONITOR] STATISTICS[STATISTICS] ALARM[ALARM] DEV1 --> MQTT MQTT --> DEV1 DEV2 --> MQTT MQTT --> DEV2 MQTT --> PROXY PROXY -->|encode| MQTT PROXY -->|decode| QUEUE QUEUE --> DATA_SINK --> TAOS QUEUE --> NOTIFIER --> MONITOR NOTIFIER --> ALARM QUEUE -->|Data| RULE_ENGINE QUEUE -->|Update Info| RULE_ENGINE QUEUE --->|Ctrl| PROXY RULE_ENGINE -->|Ctrl| QUEUE RULE_ENGINE -->|Alarm| QUEUE MANAGE --> RULE_ENGINE MANAGE -->|Update Info| QUEUE MANAGE -->|Ctrl| PROXY MANAGE <--> MYSQL NOTIFIER --> MANAGE TAOS --> STATISTICS
项目:日志审计系统
- 开发语言与工具:
- Java、Flume、ElasticSearch、Mysql
- 项目描述:
- 用于对客户端用户日常操作进行审计的系统
- 包括用户、设备管理,规则维护,数据监控、采集,数据接收、解析、归档、报警等功能
- 客户端通过监控用户操作,使用Syslog协议发送到Flume,Flume中对数据进行接收、解析、存储,之后管理人员可以在管理平台对各项数据进行查看
- 项目结构:
%%{init: {'theme': 'neutral'}}%% graph LR subgraph CLIENT DEV1[PC] --> AGENT[Agent] DEV3[Server] DEV2[Dev] end subgraph FLUME subgraph SOURCES TCP_SOURCE[TCP Source] UDP_SOURCE[UDP Source] SNMP_SOURCE[SNMP Source] end subgraph INTERCEPTERS NOR_INTERCEPTER1[Normalize Interceptor] ALRM_INTERCEPTER2[Alarm Interceptor] NOR_INTERCEPTER1 --> ALRM_INTERCEPTER2 end CHANNEL[Channel] subgraph SINKS ES_SINK[ES Sink] OTHER_SINK[... Sink] end HTTP[WebSocket] end AGENT -->|Syslog TCP| TCP_SOURCE DEV3 -->|Syslog UDP| UDP_SOURCE DEV2 -->|Snmp| SNMP_SOURCE SOURCES --> INTERCEPTERS INTERCEPTERS --> CHANNEL CHANNEL --> SINKS HTTP --> INTERCEPTERS ES_SINK -->|Data| ES MANAGER[Manager] --> HTTP DB[Mysql] --> MANAGER
其他项目:
- 基本都是一些增删改查相关的内容,主要是业务逻辑不同
- 主要技术方案:Java、SpringBoot、Mysql、Redis等
项目名称 | 项目说明 |
---|---|
智慧党建系统 | 企业党建管理平台,包括党员、组织关系管理,关系转接,活动组织会议学习等功能 |
高校学生管理系统 | 用于管理高校应届毕业生学籍和毕业照管理的系统 |
高校服务平台 | 用于管理高校应届毕业生毕业照采集、冲洗、邮寄、收费的系统,主要服务对象是高校老师和学生,包括高校端、学生端和管理端 |
北京市低碳出行碳减排量核验平台 | 用于管理百度、高德等国内地图平台用户绿色出行碳减排量计算、统计、核验的平台 |
矿山综采平台 | 用于矿山/矿井等日常运行数据的维护,包括设备管理、人员管理、数据采集、统计分析等。数据采集用的ModBus协议,数据存储用的ES |
首约科技(北京)有限公司(2018-06 - 2018.08)
项目:首约科技车辆管理 SAAS 系统
- 任职:后端技术经理
- 开发语言与工具:
- PHP、Lavarel、Mysql
- 项目描述:
- 一个帮助网约车加盟商管理车辆及司机的系统
- 项目实现了车辆、车牌、司机等相关资源的管理
- 实现了合同的新建、管理,车辆、合同、司机等资源的关联
- 实现了根据合同自动生成相应的账单信息,支持费用一次结清、月付、季付等
- 实现了财务信息的管理,收款单、催款单的生成等
- 实现了手机扫码同步数据功能
北京元甲信息技术有限责任公司(2018.05 - 2018.06)
项目:元甲律师办案系统
- 任职:后端技术经理
- 工作内容:
- 任务分配,项目排期等
- 开发语言与工具:
- Python、Django、Mysql
- 项目描述:
- 一个帮助律师处理案件的流程编排系统,旨在提高律师处理案件的效率
- 开发语言是 Python,Django 框架,MySQL 数据库
- 实现了法务人员对案件处理流程的自定义设计、编排
- 实现了法务流程中任务的自动生成,任务的指派
微信小程序:记账无忧(已下线)(2018.04 - 2018.05)
项目:记账无忧
- 开发语言与工具:
- Python3 + Gunicorn + gevent + Flask + SQLAlchemy + PostgreSQL
- 项目描述:
- 一个面向工地、工厂工人的工分记录工具
- 实现了按天记录工分、工分按月/年份汇总、工资预支记录及工友相互借款记录
- 项目部署于阿里云 Docker Swarm 容器服务,Git + 镜像自动构建 + Swarm 自动部署
北京万象新天网络科技有限公司(应用明星衣橱)(2012.10 - 2018.03)
项目:明星衣橱应用后端api
- 任职:项目经理
- 团队人数:9人
- 工作内容:
- 团队组建、进度管理
- 与产品人员共同完成功能设计
- 系统架构设计与开发维护
- 开发语言及工具:
- Python、Pyramid、uWSGI
- 项目描述:
- 明星衣橱应用的后端系统
- 主要开发语言是 Python,pyramid 框架 + uWSGI,对外接口使用 RESTful 风格
- 使用 twemproxy + Redis 搭建了缓存集群
- 使用 Redis + MySQL 双写实现用户关注等 Feed 类功能
- 数据存储使用的 MySQL 和 Redis ,实现了读写分离,使用 SQLAlchemy 与数据库交互
- 部分业务微服务化,使用 Thrift 协议完成 RPC 调用
- 使用 Celery 对耗时业务进行了异步处理
- 使用 ElasticSearch 完成商品、文章、社区搜索,搜索数据同步使用 RabbitMQ
- 项目指标:
- 300+的接口,采用RESTful设计风格
- 平均接口返回时长不超过30ms
- 1200+万注册用户,100+万日活
其他项目:(2012.10 - 2018.03)
- 用户系统:支持手机注册、登录与多家第三方登录,可以实现第三方登录与手机的关联绑定。
- 自建图像存储处理系统:底层使用 FastDFS 存储,服务层封装图片处理接口,上层对接网宿、七牛 CDN,支撑了用户头像、社区发帖、图片抓取等功能。
- 数据中间层服务:按业务垂直切分的微服务层,Gunicorn + Thrift 实现,添加业务功能与日常维护。
- 移动设备 push 系统:提供了单用户的手机推送以及按不同手机型号、应用版本、登录时间等多维度批量推送,支持实时和定时推消息。为保证到达率采用自有推送通道,配合多家第三方推送通道实现。
- 社区管理后台:提供社区帖子的审核、编辑、排序、统计,用户的封禁、屏蔽等功能。
- 实体店设备消息转发、推送服务:提供线下实体店各种设备之间的通信,使用 Go + Websocket 协议开发。实现了消息的转发、临时存储,设备的断线重连等。
- 另外还有用户权限系统、淘宝客链接转换、短链接等项目。
天脉聚源(北京)传媒科技有限公司(2010.06 - 2011.10)
项目:公司对外产品
- 任职:开发工程师
- 开发语言与工具:
- C#、.net framework 3.5
- 项目描述:
- 一款类浏览器的桌面应用程序;
- 主要功能有视频的浏览、播放、下载等;
- 窗口内容实现了多标签展示,不同标签使用不同线程获取数据互不干扰;
- 静态文件进行本地缓存,定期清理;
- 视频文件使用 FTP 方式异步下载,播放调用的 windows 内置播放器。
项目:公司对外产品
- 任职:开发工程师
- 开发语言与工具:
- C#、.net framework 3.5
- 项目描述:
- 一款用于制作电视节目的软播控平台,主要功能是生成 EPG 电子节目单预览功能。
- 程序使用 WPF 来实现窗体,通过内容拖拽的方式对从 CMS 库中读出来的数据进行排序、定时、生成节目单;
- 数据库使用的 MySQL,视频播放使用的 VLC 开源库。与服务器通信使用的 TCP 连接,自定协议。