深色模式
运维手册
面向: 系统管理员 / 客户服务人员。覆盖部署、启动、监控、备份、故障排查。 版本: 1.0.0
一、系统组成(部署视角)
| 组件 | 说明 | 位置 |
|---|---|---|
| 桌面程序 | 博衍通主程序(自包含 exe) | 软件安装目录 |
| PostgreSQL | 数据库(便携版或已有实例) | 数据目录 {LocalAppData}\Futures\pgdata |
| 采集进程 | Python 打包的采集 exe | 软件目录 py_scripts\ |
| Redis(可选) | 行情缓存加速(无 Redis 自动回退) | — |
| 更新服务器 | version.json + 更新包(可选) | 你的 Web 服务器 |
| 错误上报端 | error_report_server.py(可选) | 你的 Web 服务器 |
二、部署(客户安装)
- 解压软件包(含
pgsql/+py_scripts/)到目标目录 - 双击
Futures.Desktop.exe - 首启向导:「一键使用便携数据库」→ 天勤账号 → (可选)导入数据包
- 完成 → 进入主界面
详见 07-发布流程 客户安装章节。
三、启动与停止
正常启动
双击 Futures.Desktop.exe 即可。便携 PG 由首启向导初始化后自动启动;后续启动时数据库已在运行则直接连接。
采集进程(独立 exe,由系统监控页管理)
tq_futures_pg.exe— 国内期货实时unified_options_main.exe— 期权实时(多线程)tq_overseas_futures_pg.exe— 外盘实时daily_update_*.exe— 日线更新(调度执行)tq_mapping_pg.exe— 主力合约映射update_calendar.exe— 交易日历
用「系统监控」页面启动/停止/重启各脚本,或「调度配置」设置定时任务。
停止
关闭主程序窗口。采集进程由「系统监控」页逐个停止(或随调度停止)。
四、监控
日常检查(5 分钟例行)
| 检查项 | 位置 | 正常状态 |
|---|---|---|
| 采集脚本运行 | 系统监控页 | 实时采集 3 个进程运行中 |
| 数据库连接 | 系统监控页 / 首启 | PG 绿灯 |
| 数据新鲜度 | 系统监控页表概览 | 实时表最新时间 ≈ 当前 |
| 自动执行状态 | 交易机会页自动执行面板 | 挂单/持仓正常 |
| 日志 | 日志中心 / 任务日志 | 无 ERROR 刷屏 |
采集心跳
- 采集脚本写
system_logs,系统监控页显示心跳状态 - 脚本异常退出会自动重启(supervisor 逻辑,期权主程序内建)
五、备份与恢复
定期备份(建议)
- 结构备份: 「数据备份与维护」→ 结构备份(DDL 全库)
- 数据导出: 静态表全量 + 日线(SQL/CSV)
- 初始数据包: 「制作数据包」生成 .backup(U盘/网盘分发用)
恢复
- 空库: 首启向导「初始化数据库」→ 导入数据包
- 已有库: 「导入数据包」ON CONFLICT DO NOTHING(不覆盖已有)
便携 PG 数据目录
- 位置:
{LocalAppData}\Futures\pgdata - 备份: 复制该目录(需先停止 PG)
- 重置: 删除后首启向导会重新 initdb
六、故障排查手册
1. 软件打不开 / 闪退
| 原因 | 排查 | 解决 |
|---|---|---|
| .NET 运行库缺失 | 报错提示 | 用自包含版(免装) |
| 配置损坏 | 看 logs/ 日志 | 重置 config/appsettings.json |
| 数据库不可达 | 启动卡住 | Debug 版无限制;Release 版 5 秒超时自动跳过 |
2. 采集无数据
| 原因 | 排查 |
|---|---|
| 天勤账号失效 | 系统设置检查 TqUser/TqPassword |
| 非交易时段 | 交易时间门禁(周末/节假日晚无夜盘) |
| 脚本未运行 | 系统监控页查看进程 |
| 主力映射缺失 | 运行 tq_mapping_pg |
3. 自动执行没生效
| 原因 | 排查 |
|---|---|
| 开关未开 | 交易机会页两个开关(期货/期权独立) |
| 非交易时段 | 交易时间门禁记录 skip 日志 |
| 评分未达标 | 期权需"建议执行"≥7分;期货需"优/良" |
| 无可用资金 | broker_account 余额不足 |
4. 数据库异常
| 现象 | 处理 |
|---|---|
| 磁盘满 | 「数据备份与维护」清理旧行情 |
| 连接失败 | 检查 PG 进程(pg_ctl status) |
| 表损坏 | 「数据备份与维护」REINDEX |
5. 更新失败
| 现象 | 处理 |
|---|---|
| 下载失败 | 检查网络 + UpdateServerUrl |
| 校验失败 | 服务器 version.json 的 sha256 与 zip 不符 |
| 更新后异常 | 用上一版 zip 手动覆盖回滚 |
七、性能与容量
| 项 | 参考值 | 建议 |
|---|---|---|
| quotes_realtime | 每交易日 ~500万行 | 保留 N 天定期清理 |
| quotes_option_realtime | 每交易日 ~400万行 | 同上 |
| 数据库总容量 | ~41GB | 定期 VACUUM + 清理 |
| 便携 PG | 客户机默认 | 磁盘 ≥50GB 建议 |
八、安全注意事项
- 凭证: appsettings.json 密码 DPAPI 加密(当前用户),禁止明文分享
- RSA 私钥: tools/LicenseGenerator/license_keys/private_key.xml 绝不外泄
- 错误上报: 内容已脱敏(不含密码),可设置页关闭
- 远程支持: 客户机远程时建议用加密通道