Appearance
收益数据与监控模块
1. 模块目标
统一接收外部收益相关数据和设备监控数据,形成调度可用的利润视图与异常状态视图。
2. 模块边界
对外提供
- 矿池产量采集
- 币价数据采集
- 功耗数据采集
- 分时电价事实数据(按集群维护,表
cluster_tariffs/cluster_tariff_periods) - 利润计算服务
- 监控聚合与状态判断
不负责
- 直接执行矿机控制动作
- 最终调度编排
- 门户入口逻辑
3. 核心对象
- 20 分钟粒度产币量
- 币价
- 功耗
- 电价 / 分时电价
- 单机净利润
- 异常状态
4. 核心流程
- 从矿池、币价源、BMC 等获取外部数据
- 与设备上下文、币种配置维度进行聚合
- 形成利润视图与监控状态
- 向门户展示层与调度决策层输出数据
- 异常时触发冻结相关信号
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 schedulerprofit_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:根据系统骨架与需求边界生成模块文档