Cleanup 模块功能需求
1. 需求概述
1.1 业务背景
在开发和测试过程中,系统会产生大量的测试数据和运行数据。这些数据需要定期清理以:
- 保持测试环境的干净状态
- 减少数据库存储压力
- 提高系统性能
- 便于重复测试
1.2 核心需求
- 提供灵活的数据清理配置功能
- 支持多种清理策略和条件
- 确保清理过程的安全性和可控性
- 提供完整的清理日志和统计信息
2. 功能模块
2.1 配置管理模块
2.1.1 表扫描功能
功能描述:自动扫描系统中的所有数据表,识别表结构和数据特征。
具体需求:
- 扫描所有以
kku_开头的数据表
- 自动识别表的模块归属(根据表名前缀)
- 分析表的数据特征(记录数、大小、时间字段等)
- 自动分类表的数据类型(用户数据、日志数据、配置数据等)
- 生成默认的清理配置建议
输入:无
输出:表扫描结果和配置建议
2.1.2 清理配置管理
功能描述:为每个数据表配置具体的清理规则和条件。
具体需求:
- 支持配置清理类型(清空、按时间删除、按条件删除等)
- 支持配置清理条件(时间范围、用户范围、状态条件等)
- 支持设置清理优先级和批处理大小
- 支持启用/禁用特定表的清理
- 提供配置模板和快速配置功能
输入:表名、清理规则、条件参数
输出:配置保存结果
2.1.3 配置验证功能
功能描述:验证清理配置的正确性和安全性。
具体需求:
- 验证SQL条件的语法正确性
- 检查时间字段的存在性
- 验证用户字段的有效性
- 检查配置的逻辑一致性
- 提供配置风险评估
输入:清理配置
输出:验证结果和风险评估
2.2 清理执行模块
2.2.1 预览功能
功能描述:在实际清理前预览将要清理的数据统计。
具体需求:
- 统计每个表将要删除的记录数
- 计算清理后释放的存储空间
- 显示清理的影响范围
- 提供清理时间估算
- 支持按模块、分类查看预览结果
输入:清理任务配置
输出:清理预览报告
2.2.2 清理执行功能
功能描述:执行实际的数据清理操作。
具体需求:
- 支持多种清理策略(TRUNCATE、DELETE等)
- 按优先级顺序执行清理
- 支持分批处理大数据量表
- 实时显示清理进度
- 支持清理过程的暂停和恢复
- 提供清理失败的回滚机制
输入:清理任务
输出:清理执行结果
2.2.3 安全控制功能
功能描述:确保清理过程的安全性。
具体需求:
- 多重确认机制(特别是危险操作)
- 权限验证(只有授权用户可以执行清理)
- 操作审计(记录所有清理操作)
- 备份提醒(清理前提醒用户备份重要数据)
- 紧急停止功能
输入:用户操作
输出:安全验证结果
2.3 任务管理模块
2.3.1 任务创建功能
功能描述:创建和配置清理任务。
具体需求:
- 支持创建不同类型的清理任务
- 支持选择目标模块和数据分类
- 支持自定义清理条件
- 支持任务模板和快速创建
- 支持任务调度(立即执行或定时执行)
输入:任务配置参数
输出:任务创建结果
2.3.2 任务监控功能
功能描述:监控清理任务的执行状态和进度。
具体需求:
- 实时显示任务执行进度
- 显示当前处理的表和记录数
- 显示执行时间和剩余时间估算
- 支持任务状态变更通知
- 提供任务执行的详细日志
输入:任务ID
输出:任务状态和进度信息
2.3.3 任务历史功能
功能描述:管理和查看历史清理任务。
具体需求:
- 查看历史任务列表
- 查看任务执行详情
- 支持按时间、状态、创建者筛选
- 支持任务结果的导出
- 提供任务执行统计分析
输入:查询条件
输出:任务历史记录
2.4 日志管理模块
2.4.1 操作日志功能
功能描述:记录所有清理操作的详细日志。
具体需求:
- 记录每个表的清理操作详情
- 记录操作前后的数据统计
- 记录执行的SQL语句
- 记录操作耗时和性能指标
- 支持日志的查询和筛选
输入:清理操作
输出:操作日志记录
2.4.2 统计报告功能
功能描述:生成清理操作的统计报告。
具体需求:
- 生成清理效果统计报告
- 显示存储空间释放情况
- 显示清理性能指标
- 支持按时间段统计
- 支持报告导出和分享
输入:统计时间范围
输出:统计报告
2.5 后台管理模块
2.5.1 配置管理界面
功能描述:提供友好的配置管理界面。
具体需求:
- 表格形式显示所有表的配置
- 支持批量编辑和操作
- 提供配置导入导出功能
- 支持配置的复制和模板化
- 提供配置验证和预览功能
2.5.2 任务管理界面
功能描述:提供任务创建和管理界面。
具体需求:
- 向导式任务创建流程
- 任务列表和状态监控
- 任务详情查看和操作
- 支持任务的暂停、恢复、取消
- 提供任务执行的实时监控
2.5.3 日志查看界面
功能描述:提供日志查看和分析界面。
具体需求:
- 分页显示清理日志
- 支持多维度筛选和搜索
- 提供日志详情查看
- 支持日志的导出和下载
- 提供可视化的统计图表
3. 非功能需求
3.1 性能需求
- 支持处理百万级记录的大表清理
- 清理操作不应显著影响系统正常运行
- 分批处理机制确保内存使用可控
- 清理进度更新频率不超过每秒一次
3.2 安全需求
- 所有清理操作必须经过权限验证
- 敏感操作需要多重确认
- 完整的操作审计日志
- 支持操作的撤销和恢复
3.3 可用性需求
- 界面操作简单直观
- 提供详细的操作指导
- 支持批量操作提高效率
- 提供操作结果的及时反馈
3.4 可维护性需求
- 模块化设计便于扩展
- 清晰的代码结构和文档
- 支持新清理规则的快速添加
- 提供完整的错误处理机制
4. 约束条件
4.1 技术约束
- 必须兼容现有的数据库结构
- 不能破坏数据表之间的关联关系
- 必须支持事务回滚机制
- 清理操作必须是幂等的
4.2 业务约束
- 配置数据表默认不允许清理
- 用户核心数据需要特殊保护
- 清理操作必须有明确的业务授权
- 必须保留必要的审计信息
4.3 运维约束
- 清理操作应在业务低峰期执行
- 大规模清理前必须进行数据备份
- 清理过程必须可监控和可中断
- 必须提供清理效果的验证机制