V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1178615156
V2EX  ›  求职

[年底被优化] 帮我看看项目经历如何修改

  •  
  •   1178615156 · 15 小时 4 分钟前 · 745 次点击

    两个项目主要面向政企,感觉不太好写-_-


    项目: 手机报警定位

    业务需求

    • 电话报警:手机拨打 110/120/119 时候获取报警人当下位置,并传输给公安/急救/消防
    • 短信报警:发送短信到 12110 将短信内容推送到公安系统
    • 微信小程序(广东 110/深圳 110):提交自助报警/视频通话,将警情分配给对应接警员

    负责以下开发内容

    1. 负责系统架构/微服务设计/网络拓扑/容器化部署
    2. 使用 Java+SpringBoot 开发:
      1. Netty 开发 TCP 程序收集信令采集器上报的数据
      2. 对接手机厂商/运营商获取位置信息
      3. 开发接口供接处警系统(接警员)查询位置
    3. 使用 Python+FastAPI 开发:
      1. 数据统计
      2. SIP 网络抓包解析
      3. Prometheus 监控告警/飞书机器人提醒等
      4. 各种定制化需求
    4. 其他:
      1. CCE(Kubernetes)集群配置维护/VPN(Wireguard)搭建配置/等保 3.0/国产 arm 芯片/数据库/操作系统适配...

    难点(短信加密): 手机没有开启 VoLET 时,通话会断网,只能用短信传输数据

    1. 短信存在长度限制 140byte
    2. 短信必须使用文本格式发送,bin 短信有很多问题
      1. 高通芯片 BUG 发送 bin 短信发送失败
      2. 运营商 2G 退网也会导致 bin 短信发送失败
    3. 文本短信有会涉及到 android 的短信编码问题
      1. 如\r\t\0 等等 chat 虽然是合法的 ascii 编码但不是合法的短信内容会被过滤
      2. 根据安卓中SmsMessage.java中相关实现,绕过限制
    4. 可选的加密算法有限,如:AES 对称加密,密钥需要保持到手机侧不安全

    难点(私有化部署): 项目需要同时在云端部署和客户本地私有化部署

    1. 云端:使用华为云的 CCE(Kubernetes),配置 Deployment+Service+Ingress 部署到华为云的 CCE 集群中
    2. 私有化部署:使用 Docker-Compose 部署
      1. 配置 Nginx 替代 K8S 中的 Service+Ingress
      2. 程序可以统一使用 service-name 通过 DNS 解析方式进行服务调用

    难点(网络拓扑复杂): "互联网","公安网","政务网","IDC 机房"都是独立网络的,无法直接访问

    1. 使用 VPN(wireguard)串联互联网和政务网
    2. 使用 SSH 隧道串联互联网和 IDC 机房
    3. 互联网和公安网物理隔离的,需先将数据打包成文件上传到 FTP 中
      1. 互联网侧: 用 Python+FastAPI 写一个 HTTP 接口,收到数据后将 HTTP 报文打包成 txt 文件上传到 FTP 中
      2. 公安网侧: 用 Python 程序轮询 FTP,解析文件中 HTTP 报文,并在公安网内发起请求

    难点(数据量大,统计困难): 项目后期数据超过 100 亿条,每个用户都需要进行数据报表,统计

    1. Java 中做基本 CRUD,写入到数据库(Mysql/Gauss/达梦/海量...)中
    2. 将数据库中数据同步到 Clickhouse,避免各种数据库之间语法差异
    3. Python+FastAPI 开发统计程序,在 Clickhouse 进行统计查询并优化:
      1. 使用 Partition by 将数据按年月分区
      2. 使用 Order by 按照 user_id 进行排序
      3. 使用 LowCardinality/DubleDelta/Projection 等特性,优化 SQL 统计查询

    项目:智慧油库

    需求:

    • 接入中石油全省加油站监控摄像头,进行高危预警和营销分析

    难点:

    • 摄像头多:一个省大致有 6000 个摄像头,平均需要 1000 个盒子,需要全部纳入 K8S 集群进行统一管理
    • 网络复杂:加油站摄像头分布上各个地方,无法在 IDC 机房中直接接入
    • 文件存储:视频文件需要长期存储,数据量大>100TiB

    负责内容:

    1. 搭建 VPN(Wireguard)将智能盒子和 IDC 机房服务器联通起来
    2. 基于 VPN 搭建 Kubernetes,将所有服务器和智能盒子纳管到 K8S 中,进行运维部署
    3. 负责解决文件存储问题,搭建 Minio 集群(4 * 16 * 16T),存放图片和视频
    4. 使用 Python+Clickhouse 开发数据统计需求
    5 条回复    2025-12-27 20:48:18 +08:00
    Vesc
        2
    Vesc  
       11 小时 35 分钟前
    现在面试都问分布式和高并发,to B 的项目几乎接触不到这些
    1178615156
        3
    1178615156  
    OP
       11 小时 26 分钟前 via Android
    @Vesc 😂是的
    cowcomic
        4
    cowcomic  
       9 小时 44 分钟前
    可以说这几点
    - 落地了哪些地方的项目,客户是什么级别的,省?市?局?
    - 对接过政府端的什么系统,如果嵌入了他们的某个工作流更好
    - 过程中使用熟悉哪些国标或者行标的规范
    1178615156
        5
    1178615156  
    OP
       6 小时 21 分钟前
    @cowcomic 谢谢,这部分确实遗漏了.

    行标这个就有点为难了,项目就是因为"信通院",他们将自己的规划加到手机入网许可中了,导致经营困难...

    ## 业务
    - 短信报警(广东 12110):可以向 12110 发送短信进行报警
    - 微信小程序(广东 110/深圳 110):提交自助报警/视频通话,将警情分配给对应接警员
    - 电话报警:手机拨打 110/120/119 时候获取报警人当下位置,并传输给公安/急救/消防
    - 落地:全国 60%省市,如:广东省/湖北省/贵州省/浙江省/上海市...
    - 嵌入手机操作系统(小米,华为/OPPO/VIVO/...),和每家手机厂商进行 http 接口或短信对接,接收位置数据
    - 嵌入接处警调度系统,通过 websocket 推送位置到指定座席,或座席主动轮询 restful 接口获取位置/历史轨迹
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 19:09 · PVG 03:09 · LAX 11:09 · JFK 14:09
    ♥ Do have faith in what you're doing.