- 重命名 log_file 为 test_scenario(测试场景) - 拆分维度表:tx_panel、tx_hardware、tx_software、rx_type - 采用星型模型设计,消除数据冗余 - 为所有表添加软删除字段 is_deleted - 更新关系说明,包含全局查询过滤器配置 - 更新 ER 图和查询示例 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.0 KiB
4.0 KiB
Architecture: WCTDataMiner
无线充电 FOD(异物检测)日志数据采集系统,从日志文件中解析 Qfod 和 Ploss 数据并存储到数据库
文档索引
| 文档 | 说明 |
|---|---|
| 技术选型 | 技术栈总览、决策记录 |
| 模块划分 | 模块总览、分层架构、依赖关系 |
| 安全架构 | 认证方案、数据安全 |
| 解析器设计 | Qfod/Ploss 解析器详细设计 |
| 数据处理流程 | 解析流程、批量写入、错误处理 |
| 配置管理 | 配置文件、配置类定义 |
| CLI 命令设计 | 命令行接口定义 |
| 数据库切换支持 | SQLite/PostgreSQL 切换方案 |
架构图
┌─────────────────────────────────────────────────────────────┐
│ CLI Entry Point │
│ (Program.cs / System.CommandLine) │
├─────────────────────────────────────────────────────────────┤
│ Service Layer │
├─────────────────────────────────────────────────────────────┤
│ ParseService │ ErrorHandlingService │ ThresholdCalc │
├─────────────────────────────────────────────────────────────┤
│ Parser Layer │
├─────────────────────────────────────────────────────────────┤
│ QfodParser │ PlossParser │ LogFileReader │
├─────────────────────────────────────────────────────────────┤
│ Data Layer │
├─────────────────────────────────────────────────────────────┤
│ Models │ WctMinerDbContext │ IDbContextFactory │
├─────────────────────────────────────────────────────────────┤
│ Infrastructure │
├─────────────────────────────────────────────────────────────┤
│ Configuration │ Serilog │ AppSettings │
└─────────────────────────────────────────────────────────────┘
核心设计原则
| 原则 | 说明 |
|---|---|
| 技术栈 | .NET 8.0 LTS + C# 12.0 + EF Core 8.0 |
| 数据库 | SQLite(当前)/ PostgreSQL(后续),配置切换 |
| 解析模式 | 批处理,正则表达式匹配 |
| ORM 模式 | Code First,支持迁移自动化 |
| CLI 框架 | System.CommandLine,命令模式 |
假设/歧义标注
| 标注 | 内容 |
|---|---|
| [A] | 使用 .NET 8.0 LTS 版本 |
| [A] | 初期使用 SQLite,架构支持切换 PostgreSQL |
| [?] | 增量解析策略需确认 |
| [?] | 多次解析同一文件的处理策略需确认 |