[年底被优化] 帮我看看项目经历如何修改 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1178615156
V2EX    求职

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

  •  
  •   1178615156 16 小时 10 分钟前 755 次点击

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


    项目: 手机报定位

    业务需求

    • 电话报警:手机拨打 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  
       12 小时 42 分钟前
    现在面试都问分布式和高并发,to B 的项目几乎接触不到这些
    1178615156
        3
    1178615156  
    OP
       12 小时 32 分钟前 via Android
    @Vesc 是的
    cowcomic
        4
    cowcomic  
       10 小时 50 分钟前
    可以说这几点
    - 落地了哪些地方的项目,客户是什么级别的,省?市?局?
    - 对接过政府端的什么系统,如果嵌入了他们的某个工作流更好
    - 过程中使用熟悉哪些国标或者行标的规范
    1178615156
        5
    1178615156  
    OP
       7 小时 27 分钟前
    @cowcomic 谢谢,这部分确实遗漏了.

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

    ## 业务
    - 短信报警(广东 12110):可以向 12110 发送短信进行报警
    - 微信小程序(广东 110/深圳 110):提交自助报警/视频通话,将警情分配给对应接警员
    - 电话报警:手机拨打 110/120/119 时候获取报警人当下位置,并传输给公安/急救/消防
    - 落地:全国 60%省市,如:广东省/湖北省/贵州省/浙江省/上海市...
    - 嵌入手机操作系统(小米,华为/OPPO/VIVO/...),和每家手机厂商进行 http 接口或短信对接,接收位置数据
    - 嵌入接处警调度系统,通过 websocket 推送位置到指定座席,或座席主动轮询 restful 接口获取位置/历史轨迹
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     857 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 20:16 PVG 04:16 LAX 12:16 JFK 15:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86