智能资讯系统技术架构

📑 目录
  1. 概述
  2. 技术栈总览
  3. 系统架构分层
  4. 核心功能模块
  5. 数据库设计
  6. 前端路由与页面
  7. 后端 API 总览
  8. 项目流程
  9. 部署说明
  10. 源文件清单

智能资讯系统技术架构

概述

智能资讯系统(InsightForge)是一套面向金融资讯管理的后台系统,提供新闻模板管理、工作流编排、新闻自动生成、行情查询等功能。系统采用前后端分离架构,前端为 React 管理后台,后端为 .NET 6 Web API。


技术栈总览

层级技术说明
前端框架React 18 + Umi Max + TypeScript企业级中后台框架
UI 组件库Ant Design + Ant Design Pro Components专业中后台 UI 体系
可视化编排AntV X6 + @flowgram.ai工作流可视化编辑器
编辑器Monaco Editor + wangEditor代码编辑与富文本编辑
后端框架ASP.NET Core Web API (.NET 6)RESTful 服务
身份认证JWT Bearer无状态令牌认证
任务调度Quartz.NET定时任务与动态调度
数据访问Dapper + MySqlHelper/OracleHelper/ClickHouseHelper多数据库支持
数据库MySQL + ClickHouse + Oracle业务库 / 行情库 / 历史库
API 文档Swashbuckle (Swagger)自动生成 API 文档

系统架构分层

┌─────────────────────────────────────────────────────────┐
│                    前端层 (React SPA)                     │
│  ├─ 模板管理页    ├─ 工作流编辑页    ├─ 新闻查询页        │
│  ├─ 基础配置页    ├─ 登录页          ├─ 首页              │
│  └─ 服务层: src/services/smart-info/                     │
│       用户 / 模板 / 基础数据 / 行情                      │
├────────────────────── HTTP API ─────────────────────────┤
│                  后端层 (ASP.NET Core Web API)            │
│  ├─ Controllers/      ├─ Jobs/            ├─ Services/   │
│  │  ├─ UserController  │  ├─ TemplateJob  │  ├─ Scheduler│
│  │  ├─ BasicController │  └─ SyncJob      │  ├─ Template │
│  │  ├─ TemplateCtrl    │                  │  ├─ Flows    │
│  │  └─ QuotesController│                  │  └─ NewsGen  │
│  ├─ Data/              ├─ Module/         ├─ DTOs/       │
│  │  ├─ TemplateRepo    │  ├─ ConfigHelper │              │
│  │  └─ DbQueryExecutor │  └─ BlacklistMgr │              │
│  └─ wwwroot/ (前端构建产物)                               │
├────────────────────── 数据层 ────────────────────────────┤
│  MySQL (业务数据)    ClickHouse (行情数据)   Oracle (历史) │
└─────────────────────────────────────────────────────────┘

核心功能模块

1. 用户鉴权模块

  • 登录/登出/修改密码
  • JWT 签发(默认有效期 3 个月)
  • Token 黑名单机制(进程内 ConcurrentDictionary)
  • 请求拦截器自动注入 Authorization: Bearer

2. 模板管理模块

  • 模板 CRUD(新建、编辑、复制、发布、暂停、删除)
  • 工作流可视化编辑(基于 AntV X6)
  • 流程步骤编排与试运行
  • 试运行进度回传(轮询 GetRunProgress)

3. 任务调度模块

  • 基于 Quartz.NET 动态调度
  • JobSynchronizationJob 每 30 分钟同步数据库激活模板
  • 动态注册/更新/删除 Quartz 作业
  • 模板自动执行引擎(TemplateEngine -> FlowsExecutor -> NewsGenerator)

4. 新闻生成模块

  • 模板执行引擎按流程步骤逐节点执行
  • 新闻渲染生成(NewsGenerator)
  • 新闻去重策略:时间窗口 + 标题双重校验
  • 频率控制与批次内去重

5. 行情查询模块

  • ClickHouse 行情数据查询
  • 码表查询、L1 实时行情、1 分钟线行情
  • 支持上交所、深交所、北交所、周边市场

6. 基础配置模块

  • 来源、类型、作者管理
  • 数据源元信息管理
  • 跨库 SQL 查询执行器

数据库设计

ClickHouse 行情数据库

市场头信息表 (marketinfohead)

字段类型说明
market_idUInt8市场编号
market_statusUInt8市场状态
dateDate日期
timeString时间 (HHMMSS)
ware_countUInt16商品数量
periodsArray(String)交易时间段
ENGINEMergeTreeORDER BY (market_id, date)

市场类别详情表 (marketinfodetail)

字段类型说明
market_idUInt8市场编号
kind_nameString类别名称
price_rateUInt8价格倍率指数
lot_sizeUInt16每手数量
ENGINEMergeTreeORDER BY (marketid, kindname)

商品码表 (name_table)

字段类型说明
market_idUInt8市场编码
serialUInt16商品序号
codeString商品代码 (GBK)
nameString商品名称 (GBK)
ENGINEMergeTreeORDER BY serial

L1 实时行情快照表

  • snapshotsseL1 - 上交所 L1 快照(指数+股票)
  • snapshotszseL1 - 深交所 L1 快照
  • snapshotbseL1 - 北交所 L1 快照
  • snapshotminorL1 - 周边市场 L1 快照
  • 包含:最新价、开盘价、最高价、最低价、昨收价、成交量、成交金额、五档买卖盘等
  • ENGINE: MergeTree PARTITION BY toYYYYMMDD(markettime) ORDER BY (markettime, markettype, codestr)

1 分钟级行情快照表

  • snapshotsse1m - 上交所 1 分钟线
  • snapshotszse1m - 深交所 1 分钟线
  • snapshotbse1m - 北交所 1 分钟线
  • snapshotminor1m - 周边市场 1 分钟线
  • 包含:开盘价、最高价、最低价、收盘价、成交量、成交金额

前端路由与页面

路由页面说明
/login登录页用户名密码登录
/home首页系统概览
/write/template模板管理模板列表与 CRUD
/workflow新增流程新建模板工作流
/workflow/:id编辑流程编辑模板工作流
/write/froms来源列表基础配置
/write/types类型列表基础配置
/write/authors作者列表基础配置
/news/list新闻列表新闻查询与已同步新闻

后端 API 总览

User 控制器

  • POST /api/User/Login
  • POST /api/User/OutLogin
  • POST /api/User/ChangePassword

Basic 控制器

  • POST /api/Basic/GetBasicInfo / SetBasicInfo
  • POST /api/Basic/GetSourceDBList / GetSourceTableList / GetSourceFieldList
  • POST /api/Basic/GetDBTableRecord
  • POST /api/Basic/GetLsString / GetLsStringBase64

Template 控制器

  • POST /api/Template/GetTemplateList / GetTemplateDetails
  • POST /api/Template/SetTemplateIndex / SetTemplateDetails
  • POST /api/Template/RunTemplate / GetRunProgress
  • POST /api/Template/GetNews / CopyTemplate

Quotes 控制器

  • POST /api/Quotes/GetQuotesCodeNameTable
  • POST /api/Quotes/GetL1Quotes
  • POST /api/Quotes/GetOneMinuteQuotes

项目流程

程序启动 → 注册编码/初始化日志 → 加载配置/市场列表
  → 遍历每个市场 → 启动守护任务 (RunMarketSessionAsync)
    → 创建市场会话 → 首次加载码表
    → 启动定时刷新任务 → 启动心跳任务 → 启动行情接收任务
    → 任一任务异常 → 重试/清理/恢复

部署说明

  • 后端监听:http://0.0.0.0:9100
  • 前端构建:npm run build 输出 dist/ 目录
  • 部署方式:前端 dist/ 同步到后端 InsightForge_WebApi/wwwroot/
  • 后端通过 MapFallbackToFile("index.html") 支持 SPA 路由
  • 代理配置:dev 代理到 http://192.168.1.136:9100/,test/pre 代理到 https://autonews.loongtech.net/

源文件清单

文件路径
前端页面技术文档.mdE:\钱龙\智能资讯\前端页面技术文档.md
后端服务器技术文档.mdE:\钱龙\智能资讯\后端服务器技术文档.md
数据表结构.mdE:\钱龙\智能资讯\数据表结构.md
智能资讯—数据库结构说明V1.1.0.xlsxE:\钱龙\智能资讯\二期\
智能资讯需求文档E:\钱龙\智能资讯\智能资讯需求文档260414.docx
龙讯财经中心资讯整体规划方案E:\钱龙\智能资讯\龙讯财经中心 资讯整体规划方案V1.12(1).docx