当前 core/ 目录包含 25 个文件,功能混杂在一起。为了提高代码的可维护性和可读性,建议按功能模块进行重新组织。
core/
├── __init__.py # 主入口,导出公共API
├── analysis/ # 分析相关模块
│ ├── __init__.py
│ ├── parser.py # 日志解析器
│ ├── rule_engine.py # 规则引擎
│ └── threat_analyzer.py # 威胁分析器
├── ai/ # AI/ML相关模块
│ ├── __init__.py
│ ├── ai_analyzer.py # AI分析器基础
│ ├── ai_config.py # AI配置管理
│ ├── connectors/ # AI连接器
│ │ ├── __init__.py
│ │ ├── lm_studio.py # LM Studio连接器
│ │ ├── deepseek.py # DeepSeek连接器
│ │ └── ollama.py # Ollama连接器
│ ├── analyzers/ # AI分析器
│ │ ├── __init__.py
│ │ ├── threat.py # 威胁分析
│ │ ├── intelligent.py # 智能分析
│ │ └── nlp.py # 自然语言处理
│ └── models/ # 模型管理
│ ├── __init__.py
│ └── model_manager.py # 模型管理器
├── infrastructure/ # 基础设施
│ ├── __init__.py
│ ├── config/ # 配置管理
│ │ ├── __init__.py
│ │ ├── config_manager.py # 配置管理器
│ │ └── unified_config.py # 统一配置管理
│ ├── logging/ # 日志系统
│ │ ├── __init__.py
│ │ ├── logging_config.py # 日志配置
│ │ └── formatters.py # 日志格式化
│ ├── exceptions/ # 异常处理
│ │ ├── __init__.py
│ │ ├── exceptions.py # 异常定义
│ │ └── handlers.py # 异常处理器
│ └── performance/ # 性能监控
│ ├── __init__.py
│ ├── performance.py # 性能监控
│ └── metrics.py # 指标收集
├── data/ # 数据处理
│ ├── __init__.py
│ ├── cache/ # 缓存系统
│ │ ├── __init__.py
│ │ ├── memory_cache.py # 内存缓存
│ │ ├── file_cache.py # 文件缓存
│ │ └── multi_level.py # 多级缓存
│ ├── processors/ # 数据处理器
│ │ ├── __init__.py
│ │ ├── memory_optimized.py # 内存优化处理器
│ │ └── streaming.py # 流式处理器
│ └── utils/ # 工具函数
│ ├── __init__.py
│ ├── ip_utils.py # IP工具
│ └── utils.py # 通用工具
├── events/ # 事件系统
│ ├── __init__.py
│ ├── event_bus.py # 事件总线
│ └── handlers.py # 事件处理器
├── output/ # 输出模块
│ ├── __init__.py
│ ├── reporter.py # 报告生成器
│ └── formats/ # 输出格式
│ ├── __init__.py
│ ├── html.py # HTML格式
│ ├── json.py # JSON格式
│ └── markdown.py # Markdown格式
├── security/ # 安全模块
│ ├── __init__.py
│ ├── validator.py # 输入验证
│ └── sanitizer.py # 数据清洗
└── interfaces/ # 接口定义
├── __init__.py
├── analysis.py # 分析接口
├── config.py # 配置接口
├── data.py # 数据接口
└── security.py # 安全接口
-
创建新的目录结构
mkdir -p core/{analysis,ai/{connectors,analyzers,models},infrastructure/{config,logging,exceptions,performance},data/{cache,processors,utils},events,output/formats,security,interfaces} -
迁移文件
- 逐步迁移文件到新的目录结构
- 更新导入语句
- 确保所有测试通过
-
更新导入
- 更新
__init__.py文件 - 提供向后兼容的导入
- 更新
-
测试验证
- 运行所有测试确保功能正常
- 检查导入路径是否正确
- 更好的组织: 相关功能模块分组在一起
- 更清晰的依赖: 模块间依赖关系更清晰
- 更易维护: 新功能可以添加到适当的目录
- 更好的测试: 可以针对子模块进行测试
- 更好的文档: 每个模块可以有独立的文档
为了保持向后兼容性,在主 __init__.py 中提供别名:
# 向后兼容的导入
from .analysis.parser import LogParser
from .analysis.rule_engine import RuleEngine
from .ai.ai_analyzer import AIAnalyzer
# ... 其他导入- 阶段 1: 创建新目录结构 (1天)
- 阶段 2: 迁移核心模块 (2天)
- 阶段 3: 迁移AI模块 (2天)
- 阶段 4: 迁移基础设施模块 (1天)
- 阶段 5: 更新测试和文档 (1天)
- 阶段 6: 验证和优化 (1天)
总预计时间: 8个工作日
- 保持现有API不变
- 逐步迁移,避免大爆炸式重构
- 每次迁移后都要确保测试通过
- 更新所有相关文档