Adi

拖拉的根本原因是能力不足!

个人简历

宋春地


专业概述

资深技术经理和软件工程师,拥有超过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 连接,自定协议。
0%