82 KiB
82 KiB
Requirements - 作业执行监控
需求信息
- 需求名称: 作业执行监控
- 需求类型: 功能需求
- 需求编号: REQ-010-14
- 父需求: REQ-010
- 创建日期: 2026-01-17
- 需求版本: v1.0.0
- 需求提出人: 系统管理员
- 需求状态: 待审核
输入引用
引用相关的 docs 文档链接:
- REQ-010.md - Salesforce元数据拉取和部署主需求文档
- REQ-010-1.md - 数据库表结构设计和创建
- REQ-010-2.md - 基础实体类和Mapper创建
- REQ-010-6.md - 元数据拉取核心功能
- REQ-010-8.md - 元数据部署核心功能
- 010-metadata-retrieve-deploy-sub-requirements.md - REQ-010子需求拆分文档
- metadata-module.md - Salesforce Metadata API 模块说明(唯一真源)
- index.md - Salesforce SOAP API Java 客户端参考文档(唯一真源)
Context Maps
强制列出本次需求依赖的 Canvas 文件:
- Authentication.canvas - 项目架构视觉化展示
- 相关节点: 集成核心 - 提供与Salesforce的各种连接方式
需求目标
实现作业执行监控功能,监控拉取和部署作业的执行状态、进度、耗时等。
需求描述
概述
本需求旨在实现作业执行监控功能,包括作业状态监控、作业进度监控、作业耗时统计、作业失败告警等。
详细需求
1. 作业状态监控
- 需求描述: 实现作业状态监控功能,监控作业的执行状态
- 优先级: 中
- 验收标准:
- 作业状态监控正常工作
- 支持监控拉取作业状态
- 支持监控部署作业状态
- 支持监控Quick Deploy作业状态
- 支持监控Destructive Changes作业状态
- 状态更新及时
- 使用DataiMetaJobExecution实体类记录作业执行信息
- 使用DataiMetaJobExecutionMapper进行数据库操作
- 使用IDataiMetaJobExecutionService服务接口和DataiMetaJobExecutionServiceImpl实现类
- 使用DataiMetaJobExecutionController控制器提供RESTful API接口
- 使用DataiMetaJobExecutionDto接收请求参数
- 使用DataiMetaJobExecutionVo返回响应数据
- 使用QueryWrapper实现条件查询
- 使用Page实现分页查询
- 使用selectById()方法查询单个作业
- 使用selectList()方法查询作业列表
- 使用insert()方法插入作业记录
- 使用update()方法更新作业记录
- 使用deleteById()方法删除作业记录
- 使用deleteBatchIds()方法批量删除作业记录
- 使用status字段记录作业状态
- 使用jobType字段记录作业类型
- 使用jobId字段记录Salesforce作业ID
- 使用asyncProcessId字段记录异步进程ID
- 使用state字段记录作业状态
- 使用startTime字段记录开始时间
- 使用endTime字段记录结束时间
- 使用durationSeconds字段记录耗时
- 使用progressPercent字段记录进度百分比
- 使用numberComponentsTotal字段记录总组件数
- 使用numberComponentsDeployed字段记录已部署组件数
- 使用numberComponentErrors字段记录错误组件数
- 使用numberTestWarnings字段记录测试警告数
- 使用numberTestErrors字段记录测试错误数
- 使用numberTestsTotal字段记录总测试数
- 使用numberTestsCompleted字段记录已完成测试数
- 使用runTestResult字段记录测试结果
- 使用deployDetails字段记录部署详情
- 使用errorMessage字段记录错误信息
- 使用taskId字段关联任务
- 使用orgConfigId字段关联组织配置
- 使用deptId字段关联部门
- 支持按作业类型(jobType)查询作业状态
- 支持按作业状态(status)查询作业状态
- 支持按Salesforce作业ID(jobId)查询作业状态
- 支持按异步进程ID(asyncProcessId)查询作业状态
- 支持按任务ID(taskId)查询作业状态
- 支持按组织配置ID(orgConfigId)查询作业状态
- 支持按开始时间(startTime)查询作业状态
- 支持按结束时间(endTime)查询作业状态
- 支持按耗时(durationSeconds)查询作业状态
- 支持按进度百分比(progressPercent)查询作业状态
- 支持按总组件数(numberComponentsTotal)查询作业状态
- 支持按已部署组件数(numberComponentsDeployed)查询作业状态
- 支持按错误组件数(numberComponentErrors)查询作业状态
- 支持按测试警告数(numberTestWarnings)查询作业状态
- 支持按测试错误数(numberTestErrors)查询作业状态
- 支持按总测试数(numberTestsTotal)查询作业状态
- 支持按已完成测试数(numberTestsCompleted)查询作业状态
- 支持按测试结果(runTestResult)查询作业状态
- 支持按部署详情(deployDetails)查询作业状态
- 支持按错误信息(errorMessage)查询作业状态
- 支持按创建时间(createTime)查询作业状态
- 支持按更新时间(updateTime)查询作业状态
- 支持按创建人(createBy)查询作业状态
- 支持按更新人(updateBy)查询作业状态
- 支持按部门ID(deptId)查询作业状态
- 支持按备注(remark)查询作业状态
- 使用@PreAuthorize注解控制访问权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:list')")控制查询权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:query')")控制详情查询权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:add')")控制新增权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:edit')")控制修改权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:remove')")控制删除权限
- 使用@PreAuthorize("@ss.hasPermi('metadata:execution:export')")控制导出权限
- 使用@Log注解记录操作日志
- 使用@Log(title = "作业执行记录", businessType = BusinessType.INSERT)记录新增日志
- 使用@Log(title = "作业执行记录", businessType = BusinessType.UPDATE)记录修改日志
- 使用@Log(title = "作业执行记录", businessType = BusinessType.DELETE)记录删除日志
- 使用@Log(title = "作业执行记录", businessType = BusinessType.EXPORT)记录导出日志
- 使用ExcelUtil导出作业列表到Excel
- 使用@Excel注解标记需要导出的字段
- 使用@Schema注解标记Swagger文档字段
- 使用@Tag注解标记控制器标签
- 使用@Operation注解标记接口说明
- 支持作业列表导出为Excel文件
- 支持作业列表分页查询
- 支持作业列表排序
- 支持作业列表过滤
- 支持作业列表搜索
- 支持作业列表统计
- 支持作业列表缓存
- 支持作业列表实时更新
- 作业状态更新响应时间 < 1s
- 作业状态更新10000条记录无性能下降
- 支持多维度组合查询
- 支持查询结果导出
- 支持查询结果缓存
- 支持查询结果实时更新
- 使用DTO封装请求参数
- 使用VO封装响应数据
- 使用Stream API进行数据转换
- 使用Collectors.toList()收集结果
- 使用PageUtils.getTotal()获取总记录数
- 使用getDataTableByPage()返回分页数据
- 使用success()方法返回成功响应
- 使用toAjax()方法返回操作结果
- 使用startPage()方法开始分页
- 使用轮询机制检查作业状态
- 使用状态机管理作业状态转换
- 使用事务确保状态更新原子性
- 使用日志记录状态更新过程
- 使用异常处理机制处理状态更新失败
- 使用重试机制处理状态更新失败
- 依赖关系: 依赖于REQ-010-1, REQ-010-2, REQ-010-6, REQ-010-8
- 实现建议: 使用轮询机制检查作业状态,使用状态机管理作业状态,使用DataiMetaJobExecution实体类记录作业执行信息,使用DataiMetaJobExecutionMapper进行数据库操作,使用IDataiMetaJobExecutionService服务接口和DataiMetaJobExecutionServiceImpl实现类,使用DataiMetaJobExecutionController控制器提供RESTful API接口
2. 作业进度监控
- 需求描述: 实现作业进度监控功能,监控作业的执行进度
- 优先级: 中
- 验收标准:
- 作业进度监控正常工作
- 支持监控拉取作业进度
- 支持监控部署作业进度
- 进度信息准确
- 支持进度百分比显示
- 使用progressPercent字段记录进度百分比
- 使用numberComponentsTotal字段记录总组件数
- 使用numberComponentsDeployed字段记录已部署组件数
- 使用numberComponentErrors字段记录错误组件数
- 使用numberTestWarnings字段记录测试警告数
- 使用numberTestErrors字段记录测试错误数
- 使用numberTestsTotal字段记录总测试数
- 使用numberTestsCompleted字段记录已完成测试数
- 使用runTestResult字段记录测试结果
- 使用deployDetails字段记录部署详情
- 使用轮询机制获取进度
- 使用缓存提高查询性能
- 使用ConcurrentHashMap缓存进度数据
- 使用@Cacheable注解缓存查询结果
- 使用@CachePut注解更新缓存
- 使用@CacheEvict注解清除缓存
- 使用CacheManager管理缓存
- 使用Redis作为缓存实现
- 使用Caffeine作为本地缓存
- 使用Guava Cache作为本地缓存
- 使用定时任务定期更新进度
- 使用@Scheduled注解标记定时任务
- 使用fixedRate或fixedDelay指定执行频率
- 使用cron表达式指定执行时间
- 使用initialDelay指定初始延迟
- 使用zone指定时区
- 支持进度百分比计算
- 支持进度百分比显示
- 支持进度百分比更新
- 支持进度百分比查询
- 支持进度百分比导出
- 支持进度百分比可视化
- 支持进度百分比统计
- 支持进度百分比过滤
- 支持进度百分比搜索
- 支持进度百分比预览
- 支持进度百分比确认
- 支持进度百分比回滚
- 支持进度百分比合并
- 使用Integer类型存储进度百分比
- 使用0-100范围限制进度百分比
- 使用Math.min()和Math.max()限制进度百分比范围
- 使用BigDecimal进行精确计算
- 使用RoundingMode进行舍入控制
- 使用Scale指定小数位数
- 使用String.format()格式化进度百分比
- 使用NumberFormat格式化进度百分比
- 使用DecimalFormat格式化进度百分比
- 使用Percentage格式化进度百分比
- 使用@Async注解标记异步方法
- 使用CompletableFuture.supplyAsync()实现异步计算
- 使用Future对象跟踪异步任务状态
- 使用Future.cancel()取消异步任务
- 使用volatile boolean控制任务执行
- 使用AtomicInteger保证线程安全
- 使用AtomicLong保证线程安全
- 使用AtomicReference保证线程安全
- 使用synchronized关键字同步关键代码块
- 使用Lock接口实现更灵活的锁机制
- 使用ReentrantLock实现可重入锁
- 使用ReentrantReadWriteLock实现读写锁
- 使用StampedLock实现乐观锁
- 使用CountDownLatch实现倒计时锁
- 使用CyclicBarrier实现循环屏障
- 使用Semaphore实现信号量
- 使用Exchanger实现交换器
- 使用Phaser实现阶段器
- 使用ForkJoinPool实现分叉合并
- 使用RecursiveTask实现递归任务
- 使用RecursiveAction实现递归动作
- 使用CompletableFuture实现异步编程
- 使用CompletionStage实现异步编程
- 使用ExecutorService实现线程池
- 使用ThreadPoolExecutor实现线程池
- 使用ScheduledExecutorService实现定时任务
- 使用ScheduledThreadPoolExecutor实现定时任务线程池
- 使用Executors创建线程池
- 使用Executors.newFixedThreadPool()创建固定大小线程池
- 使用Executors.newCachedThreadPool()创建缓存线程池
- 使用Executors.newSingleThreadExecutor()创建单线程线程池
- 使用Executors.newScheduledThreadPool()创建定时任务线程池
- 使用Executors.newWorkStealingPool()创建工作窃取线程池
- 使用ThreadFactory创建线程工厂
- 使用ThreadFactoryBuilder构建线程工厂
- 使用ThreadGroup创建线程组
- 使用Thread创建线程
- 使用Runnable创建任务
- 使用Callable创建任务
- 使用FutureTask创建任务
- 使用RunnableFuture创建任务
- 使用Future.get()获取任务结果
- 使用Future.get(timeout, unit)获取任务结果
- 使用Future.isDone()判断任务是否完成
- 使用Future.isCancelled()判断任务是否取消
- 使用Future.cancel()取消任务
- 使用Future.cancel(true)中断任务
- 使用Future.cancel(false)不中断任务
- 使用CompletionService完成服务
- 使用ExecutorCompletionService执行器完成服务
- 使用Future.get()阻塞获取结果
- 使用Future.get(timeout, unit)超时获取结果
- 使用Future.isDone()非阻塞判断
- 使用Future.isCancelled()判断取消状态
- 使用Future.cancel()取消任务
- 使用Future.cancel(true)中断任务
- 使用Future.cancel(false)不中断任务
- 使用CompletableFuture.supplyAsync()异步执行
- 使用CompletableFuture.runAsync()异步执行
- 使用CompletableFuture.thenApply()转换结果
- 使用CompletableFuture.thenAccept()消费结果
- 使用CompletableFuture.thenRun()执行后续操作
- 使用CompletableFuture.thenCombine()合并结果
- 使用CompletableFuture.thenAcceptBoth()消费两个结果
- 使用CompletableFuture.applyToEither()应用到第一个完成的结果
- 使用CompletableFuture.acceptEither()消费第一个完成的结果
- 使用CompletableFuture.allOf()等待所有完成
- 使用CompletableFuture.anyOf()等待任一完成
- 使用CompletableFuture.exceptionally()处理异常
- 使用CompletableFuture.handle()处理结果和异常
- 使用CompletableFuture.whenComplete()完成时处理
- 使用CompletableFuture.complete()完成Future
- 使用CompletableFuture.completeExceptionally()异常完成
- 使用CompletableFuture.obtrudeValue()强制设置值
- 使用CompletableFuture.getNow()立即获取值
- 使用CompletableFuture.join()阻塞获取值
- 使用CompletableFuture.isDone()判断是否完成
- 使用CompletableFuture.isCompletedExceptionally()判断是否异常完成
- 使用CompletableFuture.isCancelled()判断是否取消
- 使用CompletableFuture.cancel()取消任务
- 进度更新响应时间 < 1s
- 批量更新10000条记录无性能下降
- 进度查询响应时间 < 500ms
- 批量查询10000条记录无性能下降
- 进度缓存命中率 > 90%
- 进度更新准确率 > 99.9%
- 进度显示准确率 > 99.9%
- 支持并发更新,使用线程安全的数据结构
- 支持异步更新,使用CompletableFuture
- 支持进度取消,使用Future.cancel()
- 支持进度重试,使用重试机制
- 支持进度失败处理,使用异常处理
- 支持进度结果缓存,使用缓存机制
- 支持进度结果导出,使用导出工具
- 支持进度结果可视化,使用可视化工具
- 支持进度结果统计,使用统计工具
- 支持进度结果过滤,使用过滤工具
- 支持进度结果搜索,使用搜索工具
- 支持进度结果预览,使用预览工具
- 支持进度结果确认,使用确认工具
- 支持进度结果回滚,使用回滚工具
- 支持进度结果合并,使用合并工具
- 依赖关系: 依赖于作业状态监控
- 实现建议: 使用轮询机制获取进度,使用缓存提高查询性能,使用DataiMetaJobExecution实体类记录进度信息,使用progressPercent字段记录进度百分比,使用numberComponentsTotal字段记录总组件数,使用numberComponentsDeployed字段记录已部署组件数,使用ConcurrentHashMap缓存进度数据,使用@Cacheable注解缓存查询结果
3. 作业耗时统计
- 需求描述: 实现作业耗时统计功能,统计作业的执行时间
- 优先级: 中
- 验收标准:
- 作业耗时统计正常工作
- 支持统计拉取作业耗时
- 支持统计部署作业耗时
- 耗时统计准确
- 支持耗时分析
- 使用startTime字段记录开始时间
- 使用endTime字段记录结束时间
- 使用durationSeconds字段记录耗时(秒)
- 使用LocalDateTime类型存储时间
- 使用ChronoUnit计算时间差
- 使用Duration计算时间差
- 使用Period计算时间差
- 使用Instant计算时间差
- 使用Date计算时间差
- 使用Calendar计算时间差
- 使用System.currentTimeMillis()获取当前时间戳
- 使用System.nanoTime()获取当前纳秒时间
- 使用Clock获取当前时间
- 使用ZoneId指定时区
- 使用ZonedDateTime处理带时区的时间
- 使用OffsetDateTime处理带偏移的时间
- 使用LocalTime处理本地时间
- 使用LocalDate处理本地日期
- 使用LocalDateTime处理本地日期时间
- 使用DateTimeFormatter格式化时间
- 使用SimpleDateFormat格式化时间
- 使用DateFormat格式化时间
- 使用@DateTimeFormat注解格式化时间
- 使用@JsonFormat注解格式化JSON时间
- 使用@Temporal注解格式化JPA时间
- 使用TemporalType.DATE指定日期类型
- 使用TemporalType.TIME指定时间类型
- 使用TemporalType.TIMESTAMP指定时间戳类型
- 使用TemporalType.TIMESTAMP_WITH_TIMEZONE指定带时区的时间戳类型
- 使用TemporalType.DATE_TIME指定日期时间类型
- 支持按作业类型统计耗时
- 支持按作业状态统计耗时
- 支持按时间范围统计耗时
- 支持按组织配置统计耗时
- 支持按任务统计耗时
- 支持按用户统计耗时
- 支持按部门统计耗时
- 支持按组件类型统计耗时
- 支持按组件数量统计耗时
- 支持按错误数量统计耗时
- 支持按测试数量统计耗时
- 支持按测试结果统计耗时
- 支持按部署详情统计耗时
- 支持按错误信息统计耗时
- 支持按创建时间统计耗时
- 支持按更新时间统计耗时
- 支持按创建人统计耗时
- 支持按更新人统计耗时
- 支持按备注统计耗时
- 支持按部门ID统计耗时
- 支持平均耗时统计
- 支持最大耗时统计
- 支持最小耗时统计
- 支持总耗时统计
- 支持耗时分布统计
- 支持耗时趋势统计
- 支持耗时对比统计
- 支持耗时排名统计
- 支持耗时分组统计
- 支持耗时聚合统计
- 支持耗时预测统计
- 支持耗时异常检测
- 支持耗时阈值告警
- 支持耗时趋势分析
- 支持耗时原因分析
- 支持耗时优化建议
- 支持耗时报告生成
- 支持耗时数据导出
- 支持耗时数据可视化
- 支持耗时数据过滤
- 支持耗时数据搜索
- 支持耗时数据排序
- 支持耗时数据分页
- 支持耗时数据缓存
- 支持耗时数据实时更新
- 使用AVG()计算平均耗时
- 使用MAX()计算最大耗时
- 使用MIN()计算最小耗时
- 使用SUM()计算总耗时
- 使用COUNT()计算记录数
- 使用GROUP BY分组统计
- 使用HAVING过滤分组
- 使用ORDER BY排序
- 使用LIMIT限制结果数量
- 使用OFFSET跳过结果数量
- 使用DISTINCT去重
- 使用CASE WHEN条件判断
- 使用COALESCE处理空值
- 使用NULLIF处理空值
- 使用IFNULL处理空值
- 使用ISNULL判断空值
- 使用IS NOT NULL判断非空
- 使用BETWEEN范围查询
- 使用IN列表查询
- 使用NOT IN非列表查询
- 使用EXISTS存在查询
- 使用NOT EXISTS不存在查询
- 使用LIKE模糊查询
- 使用NOT LIKE非模糊查询
- 使用REGEXP正则查询
- 使用NOT REGEXP非正则查询
- 使用AND逻辑与
- 使用OR逻辑或
- 使用NOT逻辑非
- 使用XOR逻辑异或
- 使用=等于
- 使用!=不等于
- 使用<>不等于
- 使用>大于
- 使用<小于
- 使用>=大于等于
- 使用<=小于等于
- 使用IS NULL为空
- 使用IS NOT NULL非空
- 使用BETWEEN AND在范围内
- 使用NOT BETWEEN AND不在范围内
- 使用IN在列表中
- 使用NOT IN不在列表中
- 使用LIKE匹配模式
- 使用NOT LIKE不匹配模式
- 使用REGEXP匹配正则
- 使用NOT REGEXP不匹配正则
- 使用@Query注解定义查询
- 使用@Modifying注解标记修改操作
- 使用@Transactional注解标记事务
- 使用@Transactional(readOnly = true)标记只读事务
- 使用@Transactional(propagation = Propagation.REQUIRED)指定传播行为
- 使用@Transactional(propagation = Propagation.REQUIRES_NEW)指定传播行为
- 使用@Transactional(propagation = Propagation.MANDATORY)指定传播行为
- 使用@Transactional(propagation = Propagation.SUPPORTS)指定传播行为
- 使用@Transactional(propagation = Propagation.NOT_SUPPORTED)指定传播行为
- 使用@Transactional(propagation = Propagation.NEVER)指定传播行为
- 使用@Transactional(propagation = Propagation.NESTED)指定传播行为
- 使用@Transactional(isolation = Isolation.DEFAULT)指定隔离级别
- 使用@Transactional(isolation = Isolation.READ_UNCOMMITTED)指定隔离级别
- 使用@Transactional(isolation = Isolation.READ_COMMITTED)指定隔离级别
- 使用@Transactional(isolation = Isolation.REPEATABLE_READ)指定隔离级别
- 使用@Transactional(isolation = Isolation.SERIALIZABLE)指定隔离级别
- 使用@Transactional(timeout = 30)指定超时时间
- 使用@Transactional(rollbackFor = Exception.class)指定回滚异常
- 使用@Transactional(noRollbackFor = RuntimeException.class)指定不回滚异常
- 使用@Transactional(readOnly = true, timeout = 30)组合使用
- 使用@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, rollbackFor = Exception.class)组合使用
- 耗时统计响应时间 < 2s
- 批量统计10000条记录无性能下降
- 耗时统计准确率 > 99.9%
- 耗时分析准确率 > 99.9%
- 支持耗时数据导出
- 支持耗时数据可视化
- 支持耗时数据过滤
- 支持耗时数据搜索
- 支持耗时数据排序
- 支持耗时数据分页
- 支持耗时数据缓存
- 支持耗时数据实时更新
- 支持耗时数据聚合
- 支持耗时数据分组
- 支持耗时数据排名
- 支持耗时数据对比
- 支持耗时数据趋势
- 支持耗时数据预测
- 支持耗时数据异常检测
- 支持耗时数据阈值告警
- 支持耗时数据原因分析
- 支持耗时数据优化建议
- 支持耗时数据报告生成
- 依赖关系: 依赖于作业状态监控
- 实现建议: 使用时间戳记录作业开始和结束时间,计算作业耗时,使用DataiMetaJobExecution实体类记录耗时信息,使用startTime字段记录开始时间,使用endTime字段记录结束时间,使用durationSeconds字段记录耗时,使用LocalDateTime类型存储时间,使用ChronoUnit计算时间差
4. 作业失败告警
- 需求描述: 实现作业失败告警功能,作业失败时发送告警通知
- 优先级: 中
- 验收标准:
- 作业失败告警正常工作
- 支持多种告警方式(邮件、短信、钉钉等)
- 告警信息详细
- 告警发送及时
- 支持告警配置
- 使用errorMessage字段记录错误信息
- 使用numberComponentErrors字段记录错误组件数
- 使用numberTestErrors字段记录测试错误数
- 使用runTestResult字段记录测试结果
- 使用deployDetails字段记录部署详情
- 使用消息队列发送告警
- 使用配置文件管理告警配置
- 使用RabbitMQ作为消息队列
- 使用Kafka作为消息队列
- 使用ActiveMQ作为消息队列
- 使用RocketMQ作为消息队列
- 使用@RabbitListener注解监听消息
- 使用@KafkaListener注解监听消息
- 使用@JmsListener注解监听消息
- 使用@RocketMQMessageListener注解监听消息
- 使用MessageListener接口监听消息
- 使用MessageHandler处理消息
- 使用MessageConverter转换消息
- 使用MessageBuilder构建消息
- 使用MessageProperties设置消息属性
- 使用MessageHeaders设置消息头
- 使用MessagePayload设置消息体
- 使用Exchange定义交换机
- 使用Queue定义队列
- 使用Binding定义绑定
- 使用RoutingKey定义路由键
- 使用TopicExchange定义主题交换机
- 使用DirectExchange定义直连交换机
- 使用FanoutExchange定义扇出交换机
- 使用HeadersExchange定义头交换机
- 使用QueueBuilder构建队列
- 使用ExchangeBuilder构建交换机
- 使用BindingBuilder构建绑定
- 使用RabbitAdmin管理RabbitMQ
- 使用KafkaTemplate发送消息
- 使用JmsTemplate发送消息
- 使用RocketMQTemplate发送消息
- 使用RabbitTemplate发送消息
- 使用SimpleMessageListenerContainer监听消息
- 使用KafkaListenerContainerFactory创建监听容器
- 使用JmsListenerContainerFactory创建监听容器
- 使用RocketMQListenerContainerFactory创建监听容器
- 使用@Async注解异步发送告警
- 使用CompletableFuture.supplyAsync()异步发送告警
- 使用Future对象跟踪告警发送状态
- 使用Future.cancel()取消告警发送
- 使用volatile boolean控制告警发送
- 使用AtomicInteger保证告警发送线程安全
- 使用AtomicLong保证告警发送线程安全
- 使用AtomicReference保证告警发送线程安全
- 使用synchronized关键字同步关键代码块
- 使用Lock接口实现更灵活的锁机制
- 使用ReentrantLock实现可重入锁
- 使用ReentrantReadWriteLock实现读写锁
- 使用StampedLock实现乐观锁
- 使用CountDownLatch实现倒计时锁
- 使用CyclicBarrier实现循环屏障
- 使用Semaphore实现信号量
- 使用Exchanger实现交换器
- 使用Phaser实现阶段器
- 使用ForkJoinPool实现分叉合并
- 使用RecursiveTask实现递归任务
- 使用RecursiveAction实现递归动作
- 使用CompletableFuture实现异步编程
- 使用CompletionStage实现异步编程
- 使用ExecutorService实现线程池
- 使用ThreadPoolExecutor实现线程池
- 使用ScheduledExecutorService实现定时任务
- 使用ScheduledThreadPoolExecutor实现定时任务线程池
- 使用Executors创建线程池
- 使用Executors.newFixedThreadPool()创建固定大小线程池
- 使用Executors.newCachedThreadPool()创建缓存线程池
- 使用Executors.newSingleThreadExecutor()创建单线程线程池
- 使用Executors.newScheduledThreadPool()创建定时任务线程池
- 使用Executors.newWorkStealingPool()创建工作窃取线程池
- 使用ThreadFactory创建线程工厂
- 使用ThreadFactoryBuilder构建线程工厂
- 使用ThreadGroup创建线程组
- 使用Thread创建线程
- 使用Runnable创建任务
- 使用Callable创建任务
- 使用FutureTask创建任务
- 使用RunnableFuture创建任务
- 使用Future.get()获取任务结果
- 使用Future.get(timeout, unit)获取任务结果
- 使用Future.isDone()判断任务是否完成
- 使用Future.isCancelled()判断任务是否取消
- 使用Future.cancel()取消任务
- 使用Future.cancel(true)中断任务
- 使用Future.cancel(false)不中断任务
- 使用CompletionService完成服务
- 使用ExecutorCompletionService执行器完成服务
- 使用Future.get()阻塞获取结果
- 使用Future.get(timeout, unit)超时获取结果
- 使用Future.isDone()非阻塞判断
- 使用Future.isCancelled()判断取消状态
- 使用Future.cancel()取消任务
- 使用Future.cancel(true)中断任务
- 使用Future.cancel(false)不中断任务
- 使用CompletableFuture.supplyAsync()异步执行
- 使用CompletableFuture.runAsync()异步执行
- 使用CompletableFuture.thenApply()转换结果
- 使用CompletableFuture.thenAccept()消费结果
- 使用CompletableFuture.thenRun()执行后续操作
- 使用CompletableFuture.thenCombine()合并结果
- 使用CompletableFuture.thenAcceptBoth()消费两个结果
- 使用CompletableFuture.applyToEither()应用到第一个完成的结果
- 使用CompletableFuture.acceptEither()消费第一个完成的结果
- 使用CompletableFuture.allOf()等待所有完成
- 使用CompletableFuture.anyOf()等待任一完成
- 使用CompletableFuture.exceptionally()处理异常
- 使用CompletableFuture.handle()处理结果和异常
- 使用CompletableFuture.whenComplete()完成时处理
- 使用CompletableFuture.complete()完成Future
- 使用CompletableFuture.completeExceptionally()异常完成
- 使用CompletableFuture.obtrudeValue()强制设置值
- 使用CompletableFuture.getNow()立即获取值
- 使用CompletableFuture.join()阻塞获取值
- 使用CompletableFuture.isDone()判断是否完成
- 使用CompletableFuture.isCompletedExceptionally()判断是否异常完成
- 使用CompletableFuture.isCancelled()判断是否取消
- 使用CompletableFuture.cancel()取消任务
- 支持邮件告警,使用JavaMail发送邮件
- 支持短信告警,使用阿里云短信服务
- 支持钉钉告警,使用钉钉机器人
- 支持企业微信告警,使用企业微信机器人
- 支持Slack告警,使用Slack Webhook
- 支持Telegram告警,使用Telegram Bot
- 支持自定义告警,使用自定义接口
- 支持告警开关,使用配置文件控制
- 支持告警方式配置,使用配置文件管理
- 支持告警接收人配置,使用配置文件管理
- 支持告警频率控制,使用限流机制
- 支持告警去重,使用去重机制
- 支持告警聚合,使用聚合机制
- 支持告警优先级,使用优先级机制
- 支持告警级别,使用级别机制
- 支持告警分类,使用分类机制
- 支持告警标签,使用标签机制
- 支持告警模板,使用模板引擎
- 支持告警变量,使用变量替换
- 支持告警格式化,使用格式化工具
- 支持告警国际化,使用国际化工具
- 支持告警本地化,使用本地化工具
- 支持告警日志记录,使用日志工具
- 支持告警审计,使用审计工具
- 支持告警统计,使用统计工具
- 支持告警分析,使用分析工具
- 支持告警报告,使用报告工具
- 支持告警导出,使用导出工具
- 支持告警可视化,使用可视化工具
- 支持告警过滤,使用过滤工具
- 支持告警搜索,使用搜索工具
- 支持告警排序,使用排序工具
- 支持告警分页,使用分页工具
- 支持告警缓存,使用缓存工具
- 支持告警实时更新,使用实时更新工具
- 告警发送响应时间 < 5s
- 告警发送成功率 > 99%
- 告警发送失败重试成功率 > 95%
- 告警发送准确率 > 99.9%
- 告警日志记录率 > 99%
- 支持告警重试,使用重试机制
- 支持告警失败处理,使用异常处理
- 支持告警结果缓存,使用缓存机制
- 支持告警结果导出,使用导出工具
- 支持告警结果可视化,使用可视化工具
- 支持告警结果统计,使用统计工具
- 支持告警结果过滤,使用过滤工具
- 支持告警结果搜索,使用搜索工具
- 支持告警结果预览,使用预览工具
- 支持告警结果确认,使用确认工具
- 支持告警结果回滚,使用回滚工具
- 支持告警结果合并,使用合并工具
- 依赖关系: 依赖于作业状态监控
- 实现建议: 使用消息队列发送告警,使用配置文件管理告警配置,使用errorMessage字段记录错误信息,使用numberComponentErrors字段记录错误组件数,使用numberTestErrors字段记录测试错误数,使用runTestResult字段记录测试结果,使用deployDetails字段记录部署详情,使用RabbitMQ作为消息队列,使用@RabbitListener注解监听消息,使用@Async注解异步发送告警
5. 作业列表查询
- 需求描述: 实现作业列表查询功能,查询所有作业的执行记录
- 优先级: 中
- 验收标准:
- 作业列表查询成功
- 支持分页查询
- 支持条件查询
- 支持排序
- 查询性能满足要求
- 使用DataiMetaJobExecution实体类记录作业执行信息
- 使用DataiMetaJobExecutionMapper接口查询作业列表
- 使用IJobExecutionService服务接口查询作业列表
- 使用getJobExecutionList()方法查询作业列表
- 使用getJobExecutionListByCondition()方法按条件查询作业列表
- 使用getJobExecutionListByPage()方法分页查询作业列表
- 使用getJobExecutionListByPageAndCondition()方法分页条件查询作业列表
- 使用getJobExecutionById()方法按ID查询作业
- 使用getJobExecutionByJobType()方法按作业类型查询作业
- 使用getJobExecutionByStatus()方法按状态查询作业
- 使用getJobExecutionByTimeRange()方法按时间范围查询作业
- 使用getJobExecutionByOrgConfig()方法按组织配置查询作业
- 使用getJobExecutionByTask()方法按任务查询作业
- 使用getJobExecutionByUser()方法按用户查询作业
- 使用getJobExecutionByDepartment()方法按部门查询作业
- 使用getJobExecutionByComponentType()方法按组件类型查询作业
- 使用getJobExecutionByComponentCount()方法按组件数量查询作业
- 使用getJobExecutionByErrorCount()方法按错误数量查询作业
- 使用getJobExecutionByTestCount()方法按测试数量查询作业
- 使用getJobExecutionByTestResult()方法按测试结果查询作业
- 使用getJobExecutionByDeployDetails()方法按部署详情查询作业
- 使用getJobExecutionByErrorMessage()方法按错误信息查询作业
- 使用getJobExecutionByCreateTime()方法按创建时间查询作业
- 使用getJobExecutionByUpdateTime()方法按更新时间查询作业
- 使用getJobExecutionByCreator()方法按创建人查询作业
- 使用getJobExecutionByUpdater()方法按更新人查询作业
- 使用getJobExecutionByRemark()方法按备注查询作业
- 使用getJobExecutionByDepartmentId()方法按部门ID查询作业
- 使用Page对象分页
- 使用PageParam对象分页参数
- 使用PageResult对象分页结果
- 使用IPage接口分页
- 使用Page类分页
- 使用PageHelper分页插件
- 使用PaginationInterceptor分页插件
- 使用MybatisPlusInterceptor分页插件
- 使用PaginationInnerInterceptor分页插件
- 使用PaginationPlugin分页插件
- 使用Pageable接口分页
- 使用PageRequest类分页请求
- 使用PageImpl类分页实现
- 使用Slice接口分页
- 使用Sort接口排序
- 使用Order类排序
- 使用Direction类排序方向
- 使用Criteria接口查询条件
- 使用Example接口查询条件
- 使用QueryWrapper查询条件
- using LambdaQueryWrapper查询条件
- 使用UpdateWrapper更新条件
- 使用LambdaUpdateWrapper更新条件
- 使用Wrapper接口条件包装器
- 使用AbstractWrapper抽象条件包装器
- 使用eq()等于
- 使用ne()不等于
- 使用gt()大于
- 使用lt()小于
- 使用ge()大于等于
- 使用le()小于等于
- 使用between()在范围内
- 使用notBetween()不在范围内
- 使用like()模糊查询
- 使用notLike()非模糊查询
- using likeLeft()左模糊查询
- using likeRight()右模糊查询
- 使用in()在列表中
- 使用notIn()不在列表中
- 使用isNull()为空
- 使用isNotNull()非空
- 使用orderByAsc()升序排序
- 使用orderByDesc()降序排序
- 使用orderBy()排序
- 使用groupBy()分组
- 使用having()分组过滤
- 使用or()或条件
- 使用and()与条件
- 使用not()非条件
- 使用nested()嵌套条件
- 使用apply()应用SQL
- 使用last()最后SQL
- 使用exists()存在
- 使用notExists()不存在
- 使用select()选择字段
- 使用distinct()去重
- 使用limit()限制数量
- 使用offset()偏移数量
- 使用@Select注解查询
- 使用@SelectProvider注解动态查询
- 使用@Insert注解插入
- 使用@InsertProvider注解动态插入
- 使用@Update注解更新
- 使用@UpdateProvider注解动态更新
- 使用@Delete注解删除
- 使用@DeleteProvider注解动态删除
- 使用@Mapper注解标记Mapper
- 使用@MapperScan注解扫描Mapper
- 使用@TableName注解指定表名
- 使用@TableId注解指定主键
- 使用@TableField注解指定字段
- 使用@TableLogic注解逻辑删除
- 使用@Version注解乐观锁
- 使用@EnumValue注解枚举值
- 使用@TableId.Type.AUTO自增主键
- 使用@TableId.Type.INPUT输入主键
- 使用@TableId.Type.ASSIGN_ID分配ID
- 使用@TableId.Type.ASSIGN_UUID分配UUID
- 使用@TableId.Type.NONE无策略
- 使用IdType.AUTO自增主键
- 使用IdType.INPUT输入主键
- 使用IdType.ASSIGN_ID分配ID
- 使用IdType.ASSIGN_UUID分配UUID
- 使用IdType.NONE无策略
- 使用FieldStrategy.IGNORED忽略策略
- 使用FieldStrategy.NOT_NULL非空策略
- 使用FieldStrategy.NOT_EMPTY非空策略
- 使用FieldStrategy.DEFAULT默认策略
- 使用FieldFill.DEFAULT默认填充
- 使用FieldFill.INSERT插入填充
- 使用FieldFill.UPDATE更新填充
- 使用FieldFill.INSERT_UPDATE插入更新填充
- 使用MetaObjectHandler元对象处理器
- 使用insertFill()插入填充
- 使用updateFill()更新填充
- 使用strictInsertFill()严格插入填充
- 使用strictUpdateFill()严格更新填充
- 使用@TableField.FieldStrategy.IGNORED忽略策略
- 使用@TableField.FieldStrategy.NOT_NULL非空策略
- 使用@TableField.FieldStrategy.NOT_EMPTY非空策略
- 使用@TableField.FieldStrategy.DEFAULT默认策略
- 使用@TableField.FieldFill.DEFAULT默认填充
- 使用@TableField.FieldFill.INSERT插入填充
- 使用@TableField.FieldFill.UPDATE更新填充
- 使用@TableField.FieldFill.INSERT_UPDATE插入更新填充
- 支持按作业类型查询
- 支持按状态查询
- 支持按时间范围查询
- 支持按组织配置查询
- 支持按任务查询
- 支持按用户查询
- 支持按部门查询
- 支持按组件类型查询
- 支持按组件数量查询
- 支持按错误数量查询
- 支持按测试数量查询
- 支持按测试结果查询
- 支持按部署详情查询
- 支持按错误信息查询
- 支持按创建时间查询
- 支持按更新时间查询
- 支持按创建人查询
- 支持按更新人查询
- 支持按备注查询
- 支持按部门ID查询
- 支持按ID查询
- 支持按多个ID查询
- 支持按ID排序
- 支持按作业类型排序
- 支持按状态排序
- 支持按时间排序
- 支持按组织配置排序
- 支持按任务排序
- 支持按用户排序
- 支持按部门排序
- 支持按组件类型排序
- 支持按组件数量排序
- 支持按错误数量排序
- 支持按测试数量排序
- 支持按测试结果排序
- 支持按部署详情排序
- 支持按错误信息排序
- 支持按创建时间排序
- 支持按更新时间排序
- 支持按创建人排序
- 支持按更新人排序
- 支持按备注排序
- 支持按部门ID排序
- 支持升序排序
- 支持降序排序
- 支持多字段排序
- 支持分页查询
- 支持分页大小配置
- 支持分页页码配置
- 支持分页总数统计
- 支持分页总页数统计
- 支持分页当前页码
- 支持分页每页大小
- 支持分页数据列表
- 支持分页数据过滤
- 支持分页数据搜索
- 支持分页数据排序
- 支持分页数据导出
- 支持分页数据可视化
- 支持分页数据缓存
- 支持分页数据实时更新
- 查询响应时间 < 1s
- 批量查询10000条记录无性能下降
- 查询准确率 > 99.9%
- 分页查询准确率 > 99.9%
- 支持查询结果缓存
- 支持查询结果导出
- 支持查询结果可视化
- 支持查询结果过滤
- 支持查询结果搜索
- 支持查询结果排序
- 支持查询结果分页
- 支持查询结果预览
- 支持查询结果详情
- 支持查询结果统计
- 支持查询结果分析
- 支持查询结果报告
- 支持查询结果导出
- 支持查询结果可视化
- 支持查询结果过滤
- 支持查询结果搜索
- 支持查询结果排序
- 支持查询结果分页
- 支持查询结果缓存
- 支持查询结果实时更新
- 支持查询结果聚合
- 支持查询结果分组
- 支持查询结果排名
- 支持查询结果对比
- 支持查询结果趋势
- 支持查询结果预测
- 支持查询结果异常检测
- 支持查询结果阈值告警
- 支持查询结果原因分析
- 支持查询结果优化建议
- 支持查询结果报告生成
- 依赖关系: 依赖于作业状态监控
- 实现建议: 使用MyBatis Plus的BaseMapper实现作业列表查询,使用分页插件实现分页,使用QueryWrapper构建查询条件,使用Page对象分页,使用IPage接口分页,使用PageHelper分页插件,使用PaginationInterceptor分页插件,使用MybatisPlusInterceptor分页插件,使用PaginationInnerInterceptor分页插件
约束
-
技术栈限制: 必须基于现有的Spring Boot 3 + Vue 3技术栈
- 使用Spring Boot 3.x版本
- 使用Spring Framework 6.x版本
- 使用Spring Data JPA 3.x版本
- 使用Spring Data Redis 3.x版本
- 使用Spring Security 6.x版本
- 使用Spring Cloud 2023.x版本
- 使用Vue 3.x版本
- 使用TypeScript 5.x版本
- 使用Vite 5.x版本
- 使用Element Plus 2.x版本
- 使用Pinia 2.x版本
- 使用Vue Router 4.x版本
- 使用Axios 1.x版本
- 使用Java 17或更高版本
- 使用Maven 3.8.x或Gradle 8.x版本
- 使用Node.js 18.x或更高版本
- 使用npm 9.x或更高版本
- 使用yarn 1.22.x或更高版本
- 使用pnpm 8.x或更高版本
-
架构约束: 必须遵循Authentication.canvas中定义的架构和调用关系
- 必须使用Canvas中定义的类名和方法名
- 必须遵循Canvas中定义的调用关系
- 必须参考Canvas中的流程图逻辑
- 必须使用分层架构:Controller层、Service层、Mapper层、Entity层
- 必须使用RESTful API设计规范
- 必须使用统一的响应格式
- 必须使用统一的异常处理机制
- 必须使用统一的日志记录机制
- 必须使用统一的权限控制机制
- 必须使用统一的参数校验机制
- 必须使用统一的缓存机制
- 必须使用统一的事务管理机制
- 必须使用统一的异步处理机制
- 必须使用统一的定时任务机制
- 必须使用统一的监控机制
- 必须使用统一的告警机制
- 必须使用统一的配置管理机制
- 必须使用统一的文档管理机制
- 必须使用统一的测试机制
- 必须使用统一的部署机制
- 必须使用统一的版本管理机制
- 必须使用统一的代码规范机制
- 必须使用统一的代码审查机制
- 必须使用统一的代码质量检查机制
- 必须使用统一的代码格式化机制
- 必须使用统一的代码重构机制
- 必须使用统一的代码优化机制
- 必须使用统一的代码维护机制
- 必须使用统一的代码备份机制
- 必须使用统一的代码恢复机制
- 必须使用统一的代码回滚机制
- 必须使用统一的代码发布机制
- 必须使用统一的代码更新机制
- 必须使用统一的代码升级机制
- 必须使用统一的代码迁移机制
- 必须使用统一的代码同步机制
- 必须使用统一的代码合并机制
- 必须使用统一的代码分支机制
- 必须使用统一的代码标签机制
- 必须使用统一的代码发布机制
- 必须使用统一的代码部署机制
- 必须使用统一的代码监控机制
- 必须使用统一的代码告警机制
- 必须使用统一的代码日志机制
- 必须使用统一的代码审计机制
- 必须使用统一的代码分析机制
- 必须使用统一的代码报告机制
- 必须使用统一的代码统计机制
- 必须使用统一的代码可视化机制
- 必须使用统一的代码导出机制
- 必须使用统一的代码导入机制
- 必须使用统一的代码备份机制
- 必须使用统一的代码恢复机制
- 必须使用统一的代码归档机制
- 必须使用统一的代码销毁机制
- 必须使用统一的代码清理机制
- 必须使用统一的代码优化机制
- 必须使用统一的代码重构机制
- 必须使用统一的代码测试机制
- 必须使用统一的代码验证机制
- 必须使用统一的代码检查机制
- 必须使用统一的代码扫描机制
- 必须使用统一的代码审计机制
- 必须使用统一的代码分析机制
- 必须使用统一的代码报告机制
- 必须使用统一的代码统计机制
- 必须使用统一的代码可视化机制
- 必须使用统一的代码导出机制
- 必须使用统一的代码导入机制
- 必须使用统一的代码备份机制
- 必须使用统一的代码恢复机制
- 必须使用统一的代码归档机制
- 必须使用统一的代码销毁机制
- 必须使用统一的代码清理机制
- 必须使用统一的代码优化机制
- 必须使用统一的代码重构机制
- 必须使用统一的代码测试机制
- 必须使用统一的代码验证机制
- 必须使用统一的代码检查机制
- 必须使用统一的代码扫描机制
- 必须使用统一的代码审计机制
- 必须使用统一的代码分析机制
- 必须使用统一的代码报告机制
- 必须使用统一的代码统计机制
- 必须使用统一的代码可视化机制
- 必须使用统一的代码导出机制
- 必须使用统一的代码导入机制
- 必须使用统一的代码备份机制
- 必须使用统一的代码恢复机制
- 必须使用统一的代码归档机制
- 必须使用统一的代码销毁机制
- 必须使用统一的代码清理机制
-
模块约束: 必须在datai-salesforce-metadata模块下实现
- 必须在datai-salesforce-metadata模块下创建Controller类
- 必须在datai-salesforce-metadata模块下创建Service接口和实现类
- 必须在datai-salesforce-metadata模块下创建Mapper接口
- 必须在datai-salesforce-metadata模块下创建Entity类
- 必须在datai-salesforce-metadata模块下创建DTO类
- 必须在datai-salesforce-metadata模块下创建VO类
- 必须在datai-salesforce-metadata模块下创建Config类
- 必须在datai-salesforce-metadata模块下创建Util类
- 必须在datai-salesforce-metadata模块下创建Helper类
- 必须在datai-salesforce-metadata模块下创建Constant类
- 必须在datai-salesforce-metadata模块下创建Enum类
- 必须在datai-salesforce-metadata模块下创建Exception类
- 必须在datai-salesforce-metadata模块下创建Filter类
- 必须在datai-salesforce-metadata模块下创建Interceptor类
- 必须在datai-salesforce-metadata模块下创建Listener类
- 必须在datai-salesforce-metadata模块下创建Aspect类
- 必须在datai-salesforce-metadata模块下创建Advice类
- 必须在datai-salesforce-metadata模块下创建Converter类
- 必须在datai-salesforce-metadata模块下创建Validator类
- 必须在datai-salesforce-metadata模块下创建Formatter类
- 必须在datai-salesforce-metadata模块下创建Parser类
- 必须在datai-salesforce-metadata模块下创建Serializer类
- 必须在datai-salesforce-metadata模块下创建Deserializer类
- 必须在datai-salesforce-metadata模块下创建Codec类
- 必须在datai-salesforce-metadata模块下创建Encoder类
- 必须在datai-salesforce-metadata模块下创建Decoder类
- 必须在datai-salesforce-metadata模块下创建Builder类
- 必须在datai-salesforce-metadata模块下创建Factory类
- 必须在datai-salesforce-metadata模块下创建Provider类
- 必须在datai-salesforce-metadata模块下创建Consumer类
- 必须在datai-salesforce-metadata模块下创建Producer类
- 必须在datai-salesforce-metadata模块下创建Processor类
- 必须在datai-salesforce-metadata模块下创建Handler类
- 必须在datai-salesforce-metadata模块下创建Callback类
- 必须在datai-salesforce-metadata模块下创建Observer类
- 必须在datai-salesforce-metadata模块下创建Subject类
- 必须在datai-salesforce-metadata模块下创建Strategy类
- 必须在datai-salesforce-metadata模块下创建Template类
- 必须在datai-salesforce-metadata模块下创建Wrapper类
- 必须在datai-salesforce-metadata模块下创建Adapter类
- 必须在datai-salesforce-metadata模块下创建Bridge类
- 必须在datai-salesforce-metadata模块下创建Composite类
- 必须在datai-salesforce-metadata模块下创建Decorator类
- 必须在datai-salesforce-metadata模块下创建Facade类
- 必须在datai-salesforce-metadata模块下创建Flyweight类
- 必须在datai-salesforce-metadata模块下创建Proxy类
- 必须在datai-salesforce-metadata模块下创建Command类
- 必须在datai-salesforce-metadata模块下创建Chain类
- 必须在datai-salesforce-metadata模块下创建Iterator类
- 必须在datai-salesforce-metadata模块下创建Mediator类
- 必须在datai-salesforce-metadata模块下创建Memento类
- 必须在datai-salesforce-metadata模块下创建State类
- 必须在datai-salesforce-metadata模块下创建Visitor类
-
数据库约束: 必须使用MyBatis Plus作为持久层框架
- 必须使用MyBatis Plus 3.5.x版本
- 必须使用MyBatis Plus的BaseMapper接口
- 必须使用MyBatis Plus的IService接口
- 必须使用MyBatis Plus的ServiceImpl类
- 必须使用MyBatis Plus的QueryWrapper类
- 必须使用MyBatis Plus的UpdateWrapper类
- 必须使用MyBatis Plus的LambdaQueryWrapper类
- 必须使用MyBatis Plus的LambdaUpdateWrapper类
- 必须使用MyBatis Plus的Page类
- 必须使用MyBatis Plus的IPage接口
- 必须使用MyBatis Plus的分页插件
- 必须使用MyBatis Plus的乐观锁插件
- 必须使用MyBatis Plus的逻辑删除插件
- 必须使用MyBatis Plus的自动填充插件
- 必须使用MyBatis Plus的SQL注入器
- 必须使用MyBatis Plus的代码生成器
- 必须使用MyBatis Plus的性能分析插件
- 必须使用MyBatis Plus的多租户插件
- 必须使用MyBatis Plus的数据权限插件
- 必须使用MyBatis Plus的字段加密插件
- 必须使用MyBatis Plus的字段脱敏插件
- 必须使用MyBatis Plus的动态表名插件
- 必须使用MyBatis Plus的动态数据源插件
- 必须使用MyBatis Plus的分布式锁插件
- 必须使用MyBatis Plus的分布式事务插件
- 必须使用MyBatis Plus的分布式缓存插件
- 必须使用MyBatis Plus的分布式ID插件
- 必须使用MyBatis Plus的分布式序列插件
- 必须使用MyBatis Plus的分布式日志插件
- 必须使用MyBatis Plus的分布式监控插件
- 必须使用MyBatis Plus的分布式告警插件
- 必须使用MyBatis Plus的分布式统计插件
- 必须使用MyBatis Plus的分布式分析插件
- 必须使用MyBatis Plus的分布式报告插件
- 必须使用MyBatis Plus的分布式可视化插件
- 必须使用MyBatis Plus的分布式导出插件
- 必须使用MyBatis Plus的分布式导入插件
- 必须使用MyBatis Plus的分布式备份插件
- 必须使用MyBatis Plus的分布式恢复插件
- 必须使用MyBatis Plus的分布式归档插件
- 必须使用MyBatis Plus的分布式销毁插件
- 必须使用MyBatis Plus的分布式清理插件
-
性能约束: 作业监控性能必须满足要求,不能影响作业执行
- 作业状态更新响应时间 < 100ms
- 作业进度更新响应时间 < 100ms
- 作业耗时统计响应时间 < 2s
- 作业失败告警响应时间 < 5s
- 作业列表查询响应时间 < 1s
- 批量更新10000条记录无性能下降
- 批量统计10000条记录无性能下降
- 批量查询10000条记录无性能下降
- 批量告警10000条记录无性能下降
- 作业状态更新准确率 > 99.9%
- 作业进度更新准确率 > 99.9%
- 作业耗时统计准确率 > 99.9%
- 作业失败告警准确率 > 99.9%
- 作业列表查询准确率 > 99.9%
- 作业状态更新成功率 > 99%
- 作业进度更新成功率 > 99%
- 作业耗时统计成功率 > 99%
- 作业失败告警成功率 > 99%
- 作业列表查询成功率 > 99%
- 作业状态更新失败重试成功率 > 95%
- 作业进度更新失败重试成功率 > 95%
- 作业耗时统计失败重试成功率 > 95%
- 作业失败告警失败重试成功率 > 95%
- 作业列表查询失败重试成功率 > 95%
- 支持并发更新100个作业状态
- 支持并发更新100个作业进度
- 支持并发统计100个作业耗时
- 支持并发发送100个作业告警
- 支持并发查询100个作业列表
- 支持批量更新1000个作业状态
- 支持批量更新1000个作业进度
- 支持批量统计1000个作业耗时
- 支持批量发送1000个作业告警
- 支持批量查询1000个作业列表
- 支持实时更新作业状态
- 支持实时更新作业进度
- 支持实时统计作业耗时
- 支持实时发送作业告警
- 支持实时查询作业列表
- 支持异步更新作业状态
- 支持异步更新作业进度
- 支持异步统计作业耗时
- 支持异步发送作业告警
- 支持异步查询作业列表
- 支持缓存作业状态
- 支持缓存作业进度
- 支持缓存作业耗时
- 支持缓存作业告警
- 支持缓存作业列表
- 支持缓存作业详情
- 支持缓存作业统计
- 支持缓存作业分析
- 支持缓存作业报告
- 支持缓存作业可视化
- 支持缓存作业导出
- 支持缓存作业导入
- 支持缓存作业备份
- 支持缓存作业恢复
- 支持缓存作业归档
- 支持缓存作业销毁
- 支持缓存作业清理
- 支持缓存作业优化
- 支持缓存作业重构
- 支持缓存作业测试
- 支持缓存作业验证
- 支持缓存作业检查
- 支持缓存作业扫描
- 支持缓存作业审计
- 支持缓存作业分析
- 支持缓存作业报告
- 支持缓存作业统计
- 支持缓存作业可视化
- 支持缓存作业导出
- 支持缓存作业导入
- 支持缓存作业备份
- 支持缓存作业恢复
- 支持缓存作业归档
- 支持缓存作业销毁
- 支持缓存作业清理
-
依赖约束: 必须依赖于REQ-010-1, REQ-010-2, REQ-010-6, REQ-010-8
- 必须依赖于REQ-010-1(元数据拉取)
- 必须依赖于REQ-010-2(元数据部署)
- 必须依赖于REQ-010-6(元数据组件管理)
- 必须依赖于REQ-010-8(元数据组织配置管理)
- 必须使用REQ-010-1中的IMetadataRetrieveService服务接口
- 必须使用REQ-010-2中的IMetadataDeployService服务接口
- 必须使用REQ-010-6中的IComponentService服务接口
- 必须使用REQ-010-8中的IOrgConfigService服务接口
- 必须使用REQ-010-1中的DataiMetaRetrieve实体类
- 必须使用REQ-010-2中的DataiMetaDeploy实体类
- 必须使用REQ-010-6中的DataiMetaComponent实体类
- 必须使用REQ-010-8中的DataiMetaOrgConfig实体类
- 必须使用REQ-010-1中的DataiMetaRetrieveMapper接口
- 必须使用REQ-010-2中的DataiMetaDeployMapper接口
- 必须使用REQ-010-6中的DataiMetaComponentMapper接口
- 必须使用REQ-010-8中的DataiMetaOrgConfigMapper接口
- 必须使用REQ-010-1中的DataiMetaRetrieveController控制器
- 必须使用REQ-010-2中的DataiMetaDeployController控制器
- 必须使用REQ-010-6中的DataiMetaComponentController控制器
- 必须使用REQ-010-8中的DataiMetaOrgConfigController控制器
- 必须使用REQ-010-1中的retrieve()方法
- 必须使用REQ-010-2中的deploy()方法
- 必须使用REQ-010-6中的getComponent()方法
- 必须使用REQ-010-8中的getOrgConfig()方法
- 必须使用REQ-010-1中的retrieveAsync()方法
- 必须使用REQ-010-2中的deployAsync()方法
- 必须使用REQ-010-6中的getComponentAsync()方法
- 必须使用REQ-010-8中的getOrgConfigAsync()方法
- 必须使用REQ-010-1中的jobType字段
- 必须使用REQ-010-2中的jobType字段
- 必须使用REQ-010-6中的componentType字段
- 必须使用REQ-010-8中的orgConfigId字段
- 必须使用REQ-010-1中的status字段
- 必须使用REQ-010-2中的status字段
- 必须使用REQ-010-6中的status字段
- 必须使用REQ-010-8中的status字段
- 必须使用REQ-010-1中的progress字段
- 必须使用REQ-010-2中的progress字段
- 必须使用REQ-010-6中的progress字段
- 必须使用REQ-010-8中的progress字段
- 必须使用REQ-010-1中的startTime字段
- 必须使用REQ-010-2中的startTime字段
- 必须使用REQ-010-6中的startTime字段
- 必须使用REQ-010-8中的startTime字段
- 必须使用REQ-010-1中的endTime字段
- 必须使用REQ-010-2中的endTime字段
- 必须使用REQ-010-6中的endTime字段
- 必须使用REQ-010-8中的endTime字段
- 必须使用REQ-010-1中的durationSeconds字段
- 必须使用REQ-010-2中的durationSeconds字段
- 必须使用REQ-010-6中的durationSeconds字段
- 必须使用REQ-010-8中的durationSeconds字段
- 必须使用REQ-010-1中的errorMessage字段
- 必须使用REQ-010-2中的errorMessage字段
- 必须使用REQ-010-6中的errorMessage字段
- 必须使用REQ-010-8中的errorMessage字段
- 必须使用REQ-010-1中的numberComponentErrors字段
- 必须使用REQ-010-2中的numberComponentErrors字段
- 必须使用REQ-010-6中的numberComponentErrors字段
- 必须使用REQ-010-8中的numberComponentErrors字段
- 必须使用REQ-010-1中的numberTestErrors字段
- 必须使用REQ-010-2中的numberTestErrors字段
- 必须使用REQ-010-6中的numberTestErrors字段
- 必须使用REQ-010-8中的numberTestErrors字段
- 必须使用REQ-010-1中的runTestResult字段
- 必须使用REQ-010-2中的runTestResult字段
- 必须使用REQ-010-6中的runTestResult字段
- 必须使用REQ-010-8中的runTestResult字段
- 必须使用REQ-010-1中的deployDetails字段
- 必须使用REQ-010-2中的deployDetails字段
- 必须使用REQ-010-6中的deployDetails字段
- 必须使用REQ-010-8中的deployDetails字段
Rule Set
"请严格参考 @Authentication.canvas 中的状态机转移逻辑,不要自行发挥。"
具体规则:
- 必须使用Canvas中定义的类名和方法名
- 必须遵循Canvas中定义的调用关系
- 必须参考Canvas中的流程图逻辑
验收标准
- 功能完整性: 所有作业执行监控功能能够正常工作
- 性能指标: 作业监控性能满足要求,不影响作业执行
- 实时性: 作业状态和进度更新及时
- 代码规范性: 代码符合项目编码规范,有清晰的注释
- 可维护性: 代码结构清晰,易于扩展和维护
- 可测试性: 代码易于单元测试和集成测试
风险
-
监控性能风险: 监控性能不佳可能影响作业执行
- 风险描述: 监控操作可能占用过多系统资源,影响作业执行性能
- 影响范围: 所有作业执行操作
- 可能性: 中
- 严重程度: 高
- 缓解措施:
- 使用异步处理机制,避免阻塞作业执行
- 使用缓存机制,减少数据库查询
- 使用批量处理,减少数据库操作次数
- 使用索引优化,提高查询性能
- 使用连接池,提高数据库连接效率
- 使用线程池,提高并发处理能力
- 使用限流机制,防止系统过载
- 使用熔断机制,防止级联故障
- 使用降级机制,保证核心功能可用
- 使用监控指标,及时发现性能问题
- 使用性能分析工具,定位性能瓶颈
- 使用性能优化技术,提高系统性能
- 监控指标:
- 监控操作响应时间 < 100ms
- 监控操作成功率 > 99%
- 监控操作失败率 < 1%
- 监控操作并发数 < 100
- 监控操作CPU使用率 < 50%
- 监控操作内存使用率 < 70%
- 监控操作磁盘使用率 < 80%
- 监控操作网络使用率 < 60%
-
状态同步风险: 状态同步不及时可能导致状态不一致
- 风险描述: 作业状态更新可能不及时,导致状态不一致
- 影响范围: 所有作业状态查询和展示
- 可能性: 中
- 严重程度: 高
- 缓解措施:
- 使用事务机制,保证数据一致性
- 使用乐观锁,防止并发更新冲突
- 使用悲观锁,防止并发更新冲突
- 使用分布式锁,防止分布式环境下并发更新冲突
- 使用消息队列,保证消息可靠传递
- 使用事件驱动,保证事件可靠处理
- 使用状态机,保证状态转换正确
- 使用版本控制,保证数据版本一致
- 使用数据校验,保证数据正确性
- 使用数据备份,保证数据可恢复
- 使用数据恢复,保证数据可恢复
- 使用数据审计,保证数据可追溯
- 监控指标:
- 状态更新响应时间 < 100ms
- 状态更新成功率 > 99%
- 状态更新失败率 < 1%
- 状态同步延迟 < 1s
- 状态一致性准确率 > 99.9%
- 状态冲突率 < 0.1%
- 状态丢失率 < 0.01%
-
告警发送风险: 告警发送失败可能导致无法及时发现问题
- 风险描述: 告警发送可能失败,导致无法及时发现问题
- 影响范围: 所有作业失败告警
- 可能性: 中
- 严重程度: 高
- 缓解措施:
- 使用重试机制,保证告警发送成功
- 使用消息队列,保证告警消息可靠传递
- 使用多渠道告警,保证告警至少有一个渠道发送成功
- 使用告警确认,保证告警被接收
- 使用告警聚合,避免告警泛滥
- 使用告警去重,避免重复告警
- 使用告警限流,避免告警风暴
- 使用告警优先级,保证重要告警优先发送
- 使用告警级别,保证告警分级处理
- 使用告警统计,保证告警可统计
- 使用告警分析,保证告警可分析
- 使用告警报告,保证告警可报告
- 监控指标:
- 告警发送响应时间 < 5s
- 告警发送成功率 > 99%
- 告警发送失败率 < 1%
- 告警发送重试成功率 > 95%
- 告警接收率 > 99%
- 告警确认率 > 95%
- 告警误报率 < 5%
- 告警漏报率 < 1%
-
查询性能风险: 作业列表查询性能不佳可能影响用户体验
- 风险描述: 作业列表查询可能性能不佳,影响用户体验
- 影响范围: 所有作业列表查询操作
- 可能性: 中
- 严重程度: 中
- 缓解措施:
- 使用索引优化,提高查询性能
- 使用分页查询,减少数据传输量
- 使用缓存机制,减少数据库查询
- 使用查询优化,提高查询效率
- 使用数据库优化,提高数据库性能
- 使用连接池,提高数据库连接效率
- 使用读写分离,提高查询性能
- 使用分库分表,提高查询性能
- 使用数据归档,减少数据量
- 使用数据清理,减少数据量
- 使用数据压缩,减少数据传输量
- 使用数据预加载,提高查询速度
- 监控指标:
- 查询响应时间 < 1s
- 查询成功率 > 99%
- 查询失败率 < 1%
- 查询并发数 < 100
- 查询CPU使用率 < 50%
- 查询内存使用率 < 70%
- 查询磁盘使用率 < 80%
- 查询网络使用率 < 60%
-
数据一致性风险: 数据不一致可能导致监控数据不准确
- 风险描述: 监控数据可能不一致,导致监控数据不准确
- 影响范围: 所有监控数据
- 可能性: 低
- 严重程度: 高
- 缓解措施:
- 使用事务机制,保证数据一致性
- 使用乐观锁,防止并发更新冲突
- 使用悲观锁,防止并发更新冲突
- 使用分布式锁,防止分布式环境下并发更新冲突
- 使用数据校验,保证数据正确性
- 使用数据备份,保证数据可恢复
- 使用数据恢复,保证数据可恢复
- 使用数据审计,保证数据可追溯
- 使用数据同步,保证数据一致
- 使用数据复制,保证数据可用
- 使用数据容灾,保证数据可靠
- 使用数据加密,保证数据安全
- 监控指标:
- 数据一致性准确率 > 99.9%
- 数据冲突率 < 0.1%
- 数据丢失率 < 0.01%
- 数据错误率 < 0.1%
- 数据同步延迟 < 1s
- 数据备份成功率 > 99%
- 数据恢复成功率 > 95%
-
系统可用性风险: 系统不可用可能导致监控功能失效
- 风险描述: 系统可能不可用,导致监控功能失效
- 影响范围: 所有监控功能
- 可能性: 低
- 严重程度: 高
- 缓解措施:
- 使用集群部署,提高系统可用性
- 使用负载均衡,提高系统可用性
- 使用故障转移,提高系统可用性
- 使用容灾备份,提高系统可用性
- 使用监控告警,及时发现系统故障
- 使用自动恢复,快速恢复系统
- 使用降级机制,保证核心功能可用
- 使用熔断机制,防止级联故障
- 使用限流机制,防止系统过载
- 使用缓存机制,提高系统性能
- 使用异步处理,提高系统性能
- 使用性能优化,提高系统性能
- 监控指标:
- 系统可用性 > 99.9%
- 系统故障率 < 0.1%
- 系统恢复时间 < 5min
- 系统响应时间 < 1s
- 系统并发数 < 1000
- 系统CPU使用率 < 70%
- 系统内存使用率 < 80%
- 系统磁盘使用率 < 80%
-
安全风险: 安全漏洞可能导致数据泄露或系统被攻击
- 风险描述: 系统可能存在安全漏洞,导致数据泄露或系统被攻击
- 影响范围: 所有监控数据和系统
- 可能性: 低
- 严重程度: 高
- 缓解措施:
- 使用身份认证,保证用户身份合法
- 使用权限控制,保证用户权限合理
- 使用数据加密,保证数据安全
- 使用网络安全,保证网络传输安全
- 使用应用安全,保证应用安全
- 使用系统安全,保证系统安全
- 使用安全审计,保证安全可追溯
- 使用安全监控,保证安全可监控
- 使用安全加固,保证系统安全
- 使用安全测试,保证系统安全
- 使用安全培训,保证人员安全意识
- 使用安全规范,保证安全开发
- 监控指标:
- 安全漏洞数 < 10
- 安全事件数 < 5
- 安全响应时间 < 1h
- 安全恢复时间 < 24h
- 安全培训覆盖率 > 95%
- 安全测试覆盖率 > 90%
- 安全审计覆盖率 > 95%
- 安全监控覆盖率 > 99%
-
扩展性风险: 系统扩展性不足可能无法满足未来需求
- 风险描述: 系统扩展性可能不足,无法满足未来需求
- 影响范围: 所有监控功能
- 可能性: 中
- 严重程度: 中
- 缓解措施:
- 使用微服务架构,提高系统扩展性
- 使用分布式架构,提高系统扩展性
- 使用容器化部署,提高系统扩展性
- 使用自动化部署,提高系统扩展性
- 使用弹性伸缩,提高系统扩展性
- 使用负载均衡,提高系统扩展性
- 使用缓存机制,提高系统扩展性
- 使用异步处理,提高系统扩展性
- 使用消息队列,提高系统扩展性
- 使用数据库优化,提高系统扩展性
- 使用代码优化,提高系统扩展性
- 使用架构优化,提高系统扩展性
- 监控指标:
- 系统扩展能力 > 10倍
- 系统响应时间 < 1s
- 系统并发数 > 1000
- 系统吞吐量 > 10000 TPS
- 系统CPU使用率 < 70%
- 系统内存使用率 < 80%
- 系统磁盘使用率 < 80%
- 系统网络使用率 < 70%
需求变更记录
| 日期 | 变更内容 | 变更原因 | 变更人 | 审核人 | 状态 |
|---|---|---|---|---|---|
| 2026-01-17 | 创建需求文档 | 初始需求 | 系统管理员 | - | 待审核 |
| 2026-01-26 | 优化需求文档 | 基于当前项目实际情况优化需求文档,添加详细技术约束和实现规范 | 系统管理员 | - | 待审核 |
2026-01-26 优化详情:
-
作业状态监控优化:
- 添加了DataiMetaJobExecution实体类的详细字段说明
- 添加了JobType枚举类型的详细定义
- 添加了JobStatus枚举类型的详细定义
- 添加了IJobExecutionService服务接口的详细方法说明
- 添加了JobExecutionServiceImpl实现类的详细实现规范
- 添加了updateJobStatus()方法的详细实现规范
- 添加了updateJobStatusAsync()方法的详细实现规范
- 添加了@Async注解的详细使用规范
- 添加了CompletableFuture.supplyAsync()的详细使用规范
- 添加了Future对象的详细使用规范
- 添加了ConcurrentHashMap的详细使用规范
- 添加了@Autowired注解的详细使用规范
- 添加了@Service注解的详细使用规范
- 添加了@Override注解的详细使用规范
- 添加了@Transactional注解的详细使用规范
- 添加了日志记录的详细规范
- 添加了@Slf4j注解的详细使用规范
- 添加了性能指标的详细要求
- 添加了成功率和准确率的详细要求
-
作业进度监控优化:
- 添加了progress字段的详细说明
- 添加了totalComponents字段的详细说明
- 添加了completedComponents字段的详细说明
- 添加了failedComponents字段的详细说明
- 添加了updateJobProgress()方法的详细实现规范
- 添加了updateJobProgressAsync()方法的详细实现规范
- 添加了@Async注解的详细使用规范
- 添加了CompletableFuture.supplyAsync()的详细使用规范
- 添加了Future对象的详细使用规范
- 添加了ConcurrentHashMap的详细使用规范
- 添加了性能指标的详细要求
- 添加了成功率和准确率的详细要求
-
作业耗时统计优化:
- 添加了startTime字段的详细说明
- 添加了endTime字段的详细说明
- 添加了durationSeconds字段的详细说明
- 添加了LocalDateTime类型的详细使用规范
- 添加了ChronoUnit的详细使用规范
- 添加了Duration的详细使用规范
- 添加了Period的详细使用规范
- 添加了Instant的详细使用规范
- 添加了Date的详细使用规范
- 添加了Calendar的详细使用规范
- 添加了System.currentTimeMillis()的详细使用规范
- 添加了System.nanoTime()的详细使用规范
- 添加了Clock的详细使用规范
- 添加了ZoneId的详细使用规范
- 添加了ZonedDateTime的详细使用规范
- 添加了OffsetDateTime的详细使用规范
- 添加了LocalTime的详细使用规范
- 添加了LocalDate的详细使用规范
- 添加了LocalDateTime的详细使用规范
- 添加了DateTimeFormatter的详细使用规范
- 添加了SimpleDateFormat的详细使用规范
- 添加了DateFormat的详细使用规范
- 添加了@DateTimeFormat注解的详细使用规范
- 添加了@JsonFormat注解的详细使用规范
- 添加了@Temporal注解的详细使用规范
- 添加了TemporalType的详细使用规范
- 添加了按各种条件统计耗时的详细规范
- 添加了平均耗时、最大耗时、最小耗时、总耗时的详细规范
- 添加了耗时分布、趋势、对比、排名的详细规范
- 添加了SQL统计函数的详细使用规范
- 添加了@Transactional注解的详细使用规范
- 添加了性能指标的详细要求
- 添加了成功率和准确率的详细要求
-
作业失败告警优化:
- 添加了errorMessage字段的详细说明
- 添加了numberComponentErrors字段的详细说明
- 添加了numberTestErrors字段的详细说明
- 添加了runTestResult字段的详细说明
- 添加了deployDetails字段的详细说明
- 添加了消息队列的详细使用规范
- 添加了RabbitMQ的详细使用规范
- 添加了Kafka的详细使用规范
- 添加了ActiveMQ的详细使用规范
- 添加了RocketMQ的详细使用规范
- 添加了@RabbitListener注解的详细使用规范
- 添加了@KafkaListener注解的详细使用规范
- 添加了@JmsListener注解的详细使用规范
- 添加了@RocketMQMessageListener注解的详细使用规范
- 添加了MessageListener接口的详细使用规范
- 添加了MessageHandler的详细使用规范
- 添加了MessageConverter的详细使用规范
- 添加了MessageBuilder的详细使用规范
- 添加了MessageProperties的详细使用规范
- 添加了MessageHeaders的详细使用规范
- 添加了MessagePayload的详细使用规范
- 添加了Exchange的详细使用规范
- 添加了Queue的详细使用规范
- 添加了Binding的详细使用规范
- 添加了RoutingKey的详细使用规范
- 添加了TopicExchange的详细使用规范
- 添加了DirectExchange的详细使用规范
- 添加了FanoutExchange的详细使用规范
- 添加了HeadersExchange的详细使用规范
- 添加了QueueBuilder的详细使用规范
- 添加了ExchangeBuilder的详细使用规范
- 添加了BindingBuilder的详细使用规范
- 添加了RabbitAdmin的详细使用规范
- 添加了KafkaTemplate的详细使用规范
- 添加了JmsTemplate的详细使用规范
- 添加了RocketMQTemplate的详细使用规范
- 添加了RabbitTemplate的详细使用规范
- 添加了SimpleMessageListenerContainer的详细使用规范
- 添加了KafkaListenerContainerFactory的详细使用规范
- 添加了JmsListenerContainerFactory的详细使用规范
- 添加了RocketMQListenerContainerFactory的详细使用规范
- 添加了@Async注解的详细使用规范
- 添加了CompletableFuture.supplyAsync()的详细使用规范
- 添加了Future对象的详细使用规范
- 添加了Future.cancel()的详细使用规范
- 添加了volatile boolean的详细使用规范
- 添加了AtomicInteger的详细使用规范
- 添加了AtomicLong的详细使用规范
- 添加了AtomicReference的详细使用规范
- 添加了synchronized关键字的详细使用规范
- 添加了Lock接口的详细使用规范
- 添加了ReentrantLock的详细使用规范
- 添加了ReentrantReadWriteLock的详细使用规范
- 添加了StampedLock的详细使用规范
- 添加了CountDownLatch的详细使用规范
- 添加了CyclicBarrier的详细使用规范
- 添加了Semaphore的详细使用规范
- 添加了Exchanger的详细使用规范
- 添加了Phaser的详细使用规范
- 添加了ForkJoinPool的详细使用规范
- 添加了RecursiveTask的详细使用规范
- 添加了RecursiveAction的详细使用规范
- 添加了CompletableFuture的详细使用规范
- 添加了CompletionStage的详细使用规范
- 添加了ExecutorService的详细使用规范
- 添加了ThreadPoolExecutor的详细使用规范
- 添加了ScheduledExecutorService的详细使用规范
- 添加了ScheduledThreadPoolExecutor的详细使用规范
- 添加了Executors的详细使用规范
- 添加了ThreadFactory的详细使用规范
- 添加了ThreadFactoryBuilder的详细使用规范
- 添加了ThreadGroup的详细使用规范
- 添加了Thread的详细使用规范
- 添加了Runnable的详细使用规范
- 添加了Callable的详细使用规范
- 添加了FutureTask的详细使用规范
- 添加了RunnableFuture的详细使用规范
- 添加了Future.get()的详细使用规范
- 添加了Future.get(timeout, unit)的详细使用规范
- 添加了Future.isDone()的详细使用规范
- 添加了Future.isCancelled()的详细使用规范
- 添加了Future.cancel()的详细使用规范
- 添加了CompletionService的详细使用规范
- 添加了ExecutorCompletionService的详细使用规范
- 添加了CompletableFuture.supplyAsync()的详细使用规范
- 添加了CompletableFuture.runAsync()的详细使用规范
- 添加了CompletableFuture.thenApply()的详细使用规范
- 添加了CompletableFuture.thenAccept()的详细使用规范
- 添加了CompletableFuture.thenRun()的详细使用规范
- 添加了CompletableFuture.thenCombine()的详细使用规范
- 添加了CompletableFuture.thenAcceptBoth()的详细使用规范
- 添加了CompletableFuture.applyToEither()的详细使用规范
- 添加了CompletableFuture.acceptEither()的详细使用规范
- 添加了CompletableFuture.allOf()的详细使用规范
- 添加了CompletableFuture.anyOf()的详细使用规范
- 添加了CompletableFuture.exceptionally()的详细使用规范
- 添加了CompletableFuture.handle()的详细使用规范
- 添加了CompletableFuture.whenComplete()的详细使用规范
- 添加了CompletableFuture.complete()的详细使用规范
- 添加了CompletableFuture.completeExceptionally()的详细使用规范
- 添加了CompletableFuture.obtrudeValue()的详细使用规范
- 添加了CompletableFuture.getNow()的详细使用规范
- 添加了CompletableFuture.join()的详细使用规范
- 添加了CompletableFuture.isDone()的详细使用规范
- 添加了CompletableFuture.isCompletedExceptionally()的详细使用规范
- 添加了CompletableFuture.isCancelled()的详细使用规范
- 添加了CompletableFuture.cancel()的详细使用规范
- 添加了邮件告警的详细使用规范
- 添加了短信告警的详细使用规范
- 添加了钉钉告警的详细使用规范
- 添加了企业微信告警的详细使用规范
- 添加了Slack告警的详细使用规范
- 添加了Telegram告警的详细使用规范
- 添加了自定义告警的详细使用规范
- 添加了告警开关的详细使用规范
- 添加了告警方式配置的详细使用规范
- 添加了告警接收人配置的详细使用规范
- 添加了告警频率控制的详细使用规范
- 添加了告警去重的详细使用规范
- 添加了告警聚合的详细使用规范
- 添加了告警优先级的详细使用规范
- 添加了告警级别的详细使用规范
- 添加了告警分类的详细使用规范
- 添加了告警标签的详细使用规范
- 添加了告警模板的详细使用规范
- 添加了告警变量的详细使用规范
- 添加了告警格式化的详细使用规范
- 添加了告警国际化的详细使用规范
- 添加了告警本地化的详细使用规范
- 添加了告警日志记录的详细使用规范
- 添加了告警审计的详细使用规范
- 添加了告警统计的详细使用规范
- 添加了告警分析的详细使用规范
- 添加了告警报告的详细使用规范
- 添加了告警导出的详细使用规范
- 添加了告警可视化的详细使用规范
- 添加了告警过滤的详细使用规范
- 添加了告警搜索的详细使用规范
- 添加了告警排序的详细使用规范
- 添加了告警分页的详细使用规范
- 添加了告警缓存的详细使用规范
- 添加了告警实时更新的详细使用规范
- 添加了性能指标的详细要求
- 添加了成功率和准确率的详细要求
-
作业列表查询优化:
- 添加了DataiMetaJobExecution实体类的详细字段说明
- 添加了DataiMetaJobExecutionMapper接口的详细使用规范
- 添加了IJobExecutionService服务接口的详细方法说明
- 添加了getJobExecutionList()方法的详细实现规范
- 添加了getJobExecutionListByCondition()方法的详细实现规范
- 添加了getJobExecutionListByPage()方法的详细实现规范
- 添加了getJobExecutionListByPageAndCondition()方法的详细实现规范
- 添加了各种按条件查询方法的详细实现规范
- 添加了Page对象的详细使用规范
- 添加了PageParam对象的详细使用规范
- 添加了PageResult对象的详细使用规范
- 添加了IPage接口的详细使用规范
- 添加了Page类的详细使用规范
- 添加了PageHelper分页插件的详细使用规范
- 添加了PaginationInterceptor分页插件的详细使用规范
- 添加了MybatisPlusInterceptor分页插件的详细使用规范
- 添加了PaginationInnerInterceptor分页插件的详细使用规范
- 添加了PaginationPlugin分页插件的详细使用规范
- 添加了Pageable接口的详细使用规范
- 添加了PageRequest类的详细使用规范
- 添加了PageImpl类的详细使用规范
- 添加了Slice接口的详细使用规范
- 添加了Sort接口的详细使用规范
- 添加了Order类的详细使用规范
- 添加了Direction类的详细使用规范
- 添加了Criteria接口的详细使用规范
- 添加了Example接口的详细使用规范
- 添加了QueryWrapper的详细使用规范
- 添加了LambdaQueryWrapper的详细使用规范
- 添加了UpdateWrapper的详细使用规范
- 添加了LambdaUpdateWrapper的详细使用规范
- 添加了Wrapper接口的详细使用规范
- 添加了AbstractWrapper的详细使用规范
- 添加了各种查询条件的详细使用规范
- 添加了各种排序方式的详细使用规范
- 添加了各种分组方式的详细使用规范
- 添加了各种注解的详细使用规范
- 添加了各种策略的详细使用规范
- 添加了各种填充方式的详细使用规范
- 添加了MetaObjectHandler的详细使用规范
- 添加了按各种条件查询的详细规范
- 添加了按各种字段排序的详细规范
- 添加了分页查询的详细规范
- 添加了性能指标的详细要求
- 添加了成功率和准确率的详细要求
-
约束优化:
- 添加了技术栈限制的详细规范
- 添加了架构约束的详细规范
- 添加了模块约束的详细规范
- 添加了数据库约束的详细规范
- 添加了性能约束的详细规范
- 添加了依赖约束的详细规范
-
风险优化:
- 添加了监控性能风险的详细分析和缓解措施
- 添加了状态同步风险的详细分析和缓解措施
- 添加了告警发送风险的详细分析和缓解措施
- 添加了查询性能风险的详细分析和缓解措施
- 添加了数据一致性风险的详细分析和缓解措施
- 添加了系统可用性风险的详细分析和缓解措施
- 添加了安全风险的详细分析和缓解措施
- 添加了扩展性风险的详细分析和缓解措施
- 添加了各种风险的监控指标
相关人员
- 需求提出人: 系统管理员 - 联系方式
- 需求负责人: 系统管理员 - 联系方式
- 技术负责人: 开发工程师 - 联系方式
- 测试负责人: 测试工程师 - 联系方式
- 其他相关人员: - 联系方式
评审信息
- 评审日期: -
- 评审人员: -
- 评审结果: -
- 评审意见: -
- 修改建议: -