系统架构概览
(当前架构持续演进中):
- 事件流通过Kafka处理
- 媒体文件通过Media Gateway存入MinIO对象存储
- 分析引擎使用ClickHouse
- 为GUI提供轻量级Read API
- 采集系统生成WARC存档文件
- 摘要作为sidecar对象存储,以文本哈希为键
核心组件详解
1. 数据采集子系统
采用分级爬取策略:
- 基础采集:aiohttp/scrapy处理静态页面
- 中级采集:Playwright+隐身插件应对JS渲染
- 高级采集:Crawl4AI+移动代理突破复杂反爬
|
|
2. 脏数据处理
安全防护措施:
- 隔离未验证数据到独立网络域
- 使用YARA规则进行静态分析
- 文件哈希比对威胁情报库
- 未来计划集成Cuckoo沙箱
3. 智能摘要生成
选用Phi4-medium模型原因:
- 140亿参数平衡性能与效果
- 支持本地化部署
- 可微调适配特定领域
摘要质量检查维度:
- 长度合理性验证
- 实体一致性检查(防幻觉)
- 关键信息完整性
- 数值准确性校验
4. 实体识别
spaCy定制化方案:
- 训练领域特定NER模型
- 集成EntityRuler规则匹配
- 实体消歧(如"Apple"公司vs水果)
- CPU/GPU混合部署策略
5. 数据关联分析
基于Rust实现的核心功能:
- 统计显著性检验(p值计算)
- 点间互信息(PMI)分析
- 历史模式比对
- 结果存储于Neo4j图数据库
数据存储架构
存储类型 | 技术选型 | 用途 |
---|---|---|
结构化数据 | ClickHouse | 时序分析/历史数据 |
媒体文件 | MinIO集群 | 原始内容存储 |
元数据 | PostgreSQL | 系统资产注册表 |
关联关系 | Neo4j | 实体关联网络 |
前端实现
- WebApp架构选择考量
- 与后端Handler的RESTful交互
- 控制事件的安全约束
- 富媒体呈现方案
关键挑战
- 持续对抗的反爬技术演进
- 数据投毒防御机制
- 多源异构数据标准化
- 系统资源调度优化
“借鉴Spruce先生的胆识——在技术探索中突破’可行性’的思维限制,保持对不可能的无视态度。” —— Bill Anderson