Skip to content

收益数据与监控模块

1. 模块目标

统一接收外部收益相关数据和设备监控数据,形成调度可用的利润视图与异常状态视图。

2. 模块边界

对外提供

  • 矿池产量采集
  • 币价数据采集
  • 功耗数据采集
  • 分时电价事实数据(按集群维护,表 cluster_tariffs / cluster_tariff_periods
  • 利润计算服务
  • 监控聚合与状态判断

不负责

  • 直接执行矿机控制动作
  • 最终调度编排
  • 门户入口逻辑

3. 核心对象

  • 20 分钟粒度产币量
  • 币价
  • 功耗
  • 电价 / 分时电价
  • 单机净利润
  • 异常状态

4. 核心流程

  1. 从矿池、币价源、BMC 等获取外部数据
  2. 与设备上下文、币种配置维度进行聚合
  3. 形成利润视图与监控状态
  4. 向门户展示层与调度决策层输出数据
  5. 异常时触发冻结相关信号

5. 对外能力

  • 提供单机净利润
  • 提供币种净利润对比
  • 提供告警与异常状态
  • 提供功耗或功耗缺失状态

5.1 Go Scheduler 所需收益输入

T0044 后,Go scheduler 需要收益数据与监控模块提供或聚合以下输入:

  • 当前分时电价(按参与机器所属集群逐机匹配)
  • 单机在候选项目下的算力基准
  • 单机在候选项目下的功耗基准
  • 候选项目收益输入状态
  • 输入缺失、过期或异常状态

数据库结构设计中,单机项目基准落在 smart_schedule_machine_project_benchmarks,基准采集任务落在 smart_schedule_benchmark_runs,分时电价落在 cluster_tariffs / cluster_tariff_periods(一集群一套,门户在集群创建/编辑维护;旧 smart_schedule_tariff* 已由 20260618-cluster-tariffs.sql 迁移废弃)。

6. 依赖关系

  • 依赖外部矿池接口、价格数据接口、BMC 数据来源
  • 被平台接入与控制台模块用于展示
  • 被调度与执行编排模块用于决策输入
  • 与设备与 Agent 管理模块交换机器上下文与功耗状态
  • 与币种与挖矿配置模块共享币种维度信息

7. 约束

  • 负责事实数据、配置数据与聚合状态结果
  • 收益口径当前为 实时净利润 = 产量 × 币价 - 机器能耗 × 电价
  • 当前允许收益模型先近似,不要求一开始绝对精准

8. 已知问题

  • 币价取值口径与异常容错细则尚未展开

9. 最近变更

  • 2026-06-18:根据 T0075,分时电价从策略级绑定迁为集群 1:1;表重命名为 cluster_tariffs / cluster_tariff_periods;Go scheduler profit_guard 按机器 → 集群 → 当前时段取价;缺集群/缺电价/无匹配时段时单机 skip,不伪造 0 净收益
  • 2026-06-05:根据 T0066,Go scheduler 基准采样完成后从 machine_mining_runtime(算力)与 metric_powers(功耗)回填 smart_schedule_machine_project_benchmarks
  • 2026-06-03:根据 T0061,Go scheduler 支持 BLSFLOW_SCHEDULER_USDT_TO_CNY_RATE 将 USDT 日收益折算为 CNY 后再减电费;T0060 收益连续失败可冻结策略组
  • 2026-06-03:根据 T0051,Go scheduler dry-run 已可调用收益估算器;quote=CNY 时计算净收益,非 CNY 时明确标记缺汇率
  • 2026-06-02:根据 T0050,Go scheduler dry-run 已能装配有效基准组合的收益输入明细,并按当前电价计算日电费成本输入
  • 2026-06-02:根据 T0049,Go scheduler 已接入外部收益 API client 配置与 /v1/estimate 请求能力,尚未进入单机净收益测算
  • 2026-06-02:根据 T0048,Go scheduler dry-run 已支持当前电价匹配,并将单机项目基准缺口细分为 missing、expired、invalid
  • 2026-06-02:根据 T0047,Go scheduler dry-run 已能统计启用电价时段数量与单机项目基准覆盖情况,下一步接入当前电价匹配与外部收益查询
  • 2026-06-02:根据 T0044 补充 Go scheduler 所需收益输入与数据库结构落点
  • 2026-04-03:根据系统骨架与需求边界生成模块文档