3.1 KiB
3.1 KiB
需求:R-015 盘口数据内存化(QuoteSync/QuoteHub 统一管理)+ 数据同步指示灯
登记:2026-09-02 | 来源:架构演进讨论(老师逐项拍板)| 状态:已定稿 归属:迭代 13 | 计划:PLAN-014
归档头(2026-09-08) | 需求状态:已完成 | 归档日期:2026-09-08 | 实现迭代:13-盘口内存快照(盘口数据内存化+指示灯) 讨论记录索引:R-015.md 正文;实现细节见 04-迭代记录/13-盘口内存快照/ 归档路径:05-需求池/已完成/R-015.md 迭代状态标记:已实现(迭代 13,test-quote-sync 全绿 + 存量回归通过)→ 已归档(2026-09-08 老师归档指令确认验收)
需求描述
持仓数据已完成「内存快照统一管理」(R-014/迭代 12)。本轮把盘口(市场行情)数据收敛为同一模式:
- QuoteSync + QuoteHub 工具类(替换 MarketFeed/MarketDataHub,方案 A 替换不包壳):
- QuoteSync 管取数:启动 prime(持仓盘口)+ 5s REST 定时刷新(watch 集合);
- QuoteHub 管存查:内存快照 + watch 集合 + 读穿透兜底 + 对外 getQuote(s);
- 纯内存,market_quotes_cache 表退役(老师拍板 DROP):行情随时可重取、warmup bug 证明落库从未生效、重启 prime 1 秒内有价——三问全否不落库;价格单一入口 = QuoteHub;
- WS 通路去掉(老师拍板):从无生效结论(market-stats 诊断无结论文档)、全市场推送被 watch 过滤成本高、REST 5s 已覆盖;ingest 入口来源无关留再接入口子;
- 字段扩展:新增涨停价/跌停价(来源 /data/instrument,按交易日内存缓存,不落库);昨收 tick 自带;getInstrument 首次投入使用;
- 数据同步指示灯(老师提出):会话头部 QMT 健康灯旁加「持仓/盘口」两个同步状态圆点——绿(正常)/黄(同步失败中、快照陈旧)/灰(从未同步),悬停详情(同步时间/快照量/错误),点击 = 立即触发该域 syncNow;新增 sync-status 端点(吸收临时诊断 market-stats);
- 策略持仓表行情列扩展(老师确认并入):列设置新增 涨停价/跌停价/今开/最高 4 个基础列(纯价格展示,默认隐藏,列设置勾选开启);最低/成交量/成交额暂不加(单位口径另议);距涨停百分比类衍生展示另立需求;
- 同步失败保留上次价(AI 定,与持仓对称);前端不加价龄灰点(老师采纳预判:管道健康由全局灯表达,个股停牌属数据语义另议)。
边界
做:上述 1-6;watchCodes 维持现状(只进不出、无上限——去掉 WS 后膨胀仅轻微浪费,收缩不值成本)。
不做:不落库任何行情字段(涨停跌停也不落);不做 watch 收缩/降频;不做个股停牌标识;WS 不删除需求草稿(T-005 维持起草);PriceCell 不改动;最低/成交量/成交额列不做;距离涨停百分比衍生展示不做。
验收
见 docs/04-迭代记录/13-盘口内存快照/验收标准.md。