chore: 以本地为准,上传全部并替换 GitHub
This commit is contained in:
231
.apm/docs/architecture.md
Normal file
231
.apm/docs/architecture.md
Normal file
@@ -0,0 +1,231 @@
|
||||
# 🏗️ 神射手系统架构图
|
||||
|
||||
> 📅 更新: 2026-01-31
|
||||
> 🎯 版本: v1.3.0
|
||||
|
||||
---
|
||||
|
||||
## 一、系统总览
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 神射手数据中台 v1.3 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ 数据概览 │ │ 数据接入 │ │ 标签画像 │ │ AI Agent │ │
|
||||
│ │ 首页AI对话 │ │ 数据源管理 │ │ 标签管理 │ │ 渠道配置 │ │
|
||||
│ │ 数据统计 │ │ AI标签引擎 │ │ 用户画像 │ │ AI打标 │ │
|
||||
│ │ │ │ 清洗规则 │ │ 人群圈选 │ │ AI清洗 │ │
|
||||
│ │ │ │ 任务调度 │ │ 流量池 │ │ 智能报告 │ │
|
||||
│ │ │ │ 数据血缘 │ │ │ │ │ │
|
||||
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||||
│ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 数据市场 │ │
|
||||
│ │ API服务 │ │
|
||||
│ │ 流量包管理 │ │
|
||||
│ └─────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、技术架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 客户端层 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ 浏览器 (Web) │ 飞书机器人 │ 企业微信 │ API调用方 │
|
||||
└────────┬──────────┴────────┬────────┴───────┬───────┴──────────┬────────────┘
|
||||
│ │ │ │
|
||||
▼ ▼ ▼ ▼
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 网关层 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Next.js 14 (localhost:3001) │ FastAPI Gateway (卡若AI) │
|
||||
│ - 前端页面 │ - /feishu/events │
|
||||
│ - /api/* 接口 │ - /wecom/callback │
|
||||
│ - SSR渲染 │ - /shensheshou/* │
|
||||
└────────┬────────────────────────────────┴──────────────────────┬────────────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 服务层 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │
|
||||
│ │ 用户查询服务 │ │ 标签引擎服务 │ │ AI对话服务 │ │
|
||||
│ │ - 手机号查询 │ │ - RFM计算 │ │ - 意图识别 │ │
|
||||
│ │ - QQ号查询 │ │ - 用户分级 │ │ - 数据拆解 │ │
|
||||
│ │ - 智能搜索 │ │ - 标签生成 │ │ - 画像输出 │ │
|
||||
│ └───────────────────┘ └───────────────────┘ └───────────────────┘ │
|
||||
│ │
|
||||
│ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │
|
||||
│ │ 流量池服务 │ │ 数据清洗服务 │ │ 报告生成服务 │ │
|
||||
│ │ - 人群圈选 │ │ - 手机号格式化 │ │ - 日报/周报 │ │
|
||||
│ │ - 流量包管理 │ │ - 数据去重 │ │ - AI分析报告 │ │
|
||||
│ │ - 导出功能 │ │ - 质量评估 │ │ - 模板管理 │ │
|
||||
│ └───────────────────┘ └───────────────────┘ └───────────────────┘ │
|
||||
│ │
|
||||
└────────┬────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 数据层 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ MongoDB (localhost:27017) │ │
|
||||
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
|
||||
│ │ │ KR │ │KR_腾讯 │ │KR_微博 │ │KR_京东 │ │KR_存客宝│ ... │ │
|
||||
│ │ │ 4.7GB │ │ 62.5GB │ │ 18.7GB │ │ 20.1GB │ │ 0.44GB │ │ │
|
||||
│ │ │用户估值│ │QQ+手机 │ │UID+手机│ │ 消费 │ │用户资产│ │ │
|
||||
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
|
||||
│ └─────────────────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 总计: 26个数据库 | 20.13亿条记录 | 222GB存储 │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、数据流向
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
||||
│ 数据源 │ ──▶ │ AI标签引擎 │ ──▶ │ 用户估值 │ ──▶ │ 流量池 │
|
||||
│ KR_腾讯 │ │ 字段拆解 │ │ RFM计算 │ │ 人群分层 │
|
||||
│ KR_微博 │ │ 数据清洗 │ │ 等级划分 │ │ 标签筛选 │
|
||||
│ KR_京东 │ │ 标签生成 │ │ 画像合并 │ │ 流量包输出 │
|
||||
│ KR_存客宝 │ │ │ │ │ │ │
|
||||
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
|
||||
│ │ │ │
|
||||
│ │ │ │
|
||||
▼ ▼ ▼ ▼
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ KR.用户估值 (核心表) │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ phone │ user_evaluation_score │ unified_tags │ traffic_pool │
|
||||
│ phone_masked │ rfm_scores │ source_channels│ user_level │
|
||||
│ name │ data_quality │ merge_evidence │ created_at │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、API架构
|
||||
|
||||
```
|
||||
/api/
|
||||
├── ai-chat/ # AI智能对话
|
||||
│ ├── GET → 获取状态
|
||||
│ └── POST → 发送查询
|
||||
│
|
||||
├── data-sources/ # 数据源管理
|
||||
│ ├── GET → 列表+统计
|
||||
│ └── POST → 连接测试
|
||||
│
|
||||
├── tags/ # 标签服务
|
||||
│ └── GET → 标签统计
|
||||
│
|
||||
├── portrait/ # 用户画像
|
||||
│ └── GET → 画像查询
|
||||
│
|
||||
├── traffic-packages/ # 流量池
|
||||
│ ├── GET → 池统计
|
||||
│ └── POST → 创建流量包
|
||||
│
|
||||
├── crowd-pools/ # 人群圈选
|
||||
│ └── GET → 项目/池/用户
|
||||
│
|
||||
├── database-structure/ # 数据库结构
|
||||
│ └── GET → 血缘数据
|
||||
│
|
||||
└── monitoring/ # 系统监控
|
||||
└── GET → 健康状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、GitHub参考项目
|
||||
|
||||
### 5.1 Tracardi CDP
|
||||
- **仓库**: github.com/tracardi/tracardi
|
||||
- **星数**: 621+
|
||||
- **技术**: Python + FastAPI + Elasticsearch
|
||||
- **可借鉴**:
|
||||
- Profile合并算法
|
||||
- 事件处理工作流
|
||||
- 插件架构设计
|
||||
|
||||
### 5.2 Crowd.dev
|
||||
- **仓库**: github.com/CrowdDotDev/crowd.dev
|
||||
- **星数**: 3.3k+
|
||||
- **技术**: TypeScript + PostgreSQL
|
||||
- **可借鉴**:
|
||||
- 社区数据整合
|
||||
- 活跃度计算
|
||||
- 成员画像
|
||||
|
||||
### 5.3 借鉴要点
|
||||
|
||||
| 功能 | 参考项目 | 核心代码 |
|
||||
|------|----------|----------|
|
||||
| 用户合并 | Tracardi | profile/merger.py |
|
||||
| 事件追踪 | Tracardi | domain/event.py |
|
||||
| 标签计算 | Tracardi | process/tagging.py |
|
||||
| 活跃度 | Crowd.dev | services/member.ts |
|
||||
|
||||
---
|
||||
|
||||
## 六、优化方向
|
||||
|
||||
### 6.1 性能优化
|
||||
```yaml
|
||||
当前问题:
|
||||
- 大表查询慢 (>10s)
|
||||
- 内存占用高
|
||||
|
||||
解决方案:
|
||||
- $sample采样 ✅ 已实施
|
||||
- 索引优化
|
||||
- 分页查询
|
||||
- 缓存层
|
||||
```
|
||||
|
||||
### 6.2 架构优化
|
||||
```yaml
|
||||
计划:
|
||||
- 引入Redis缓存热点数据
|
||||
- 分离读写库
|
||||
- 增加消息队列(RabbitMQ)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、部署架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 生产环境 │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │
|
||||
│ │ Nginx反向代理 │ ──▶│ Next.js服务 │ ──▶│ MongoDB集群 │ │
|
||||
│ │ SSL证书 │ │ PM2进程管理 │ │ Docker容器 │ │
|
||||
│ │ 负载均衡 │ │ 端口:3001 │ │ 端口:27017 │ │
|
||||
│ └───────────────────┘ └───────────────────┘ └───────────────────┘ │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ ┌───────────────────┐ │
|
||||
│ │ FastAPI网关 │ │
|
||||
│ │ 飞书/企微回调 │ │
|
||||
│ │ 端口:8000 │ │
|
||||
│ └───────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
Reference in New Issue
Block a user