功能需求.md 6.8 KB

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 运维约束

  • 清理操作应在业务低峰期执行
  • 大规模清理前必须进行数据备份
  • 清理过程必须可监控和可中断
  • 必须提供清理效果的验证机制