乐于分享
好东西不私藏

MetricBot服务端源码0.1发布:从零跑起整个项目

MetricBot服务端源码0.1发布:从零跑起整个项目

在当今企业数字化转型的大潮中,数据已经成为了最重要的资产之一。然而,数据 ≠ 价值。如何从海量数据中快速获取业务洞察,如何让非技术用户也能轻松进行数据分析,始终是企业数据团队面临的巨大挑战。

RuoYi-AI+metricbot,正是一站式解决这些痛点的企业级 AI 助手平台。它不仅在传统若依框架上集成了 AI 能力,更构建了一套完整的指标语义层 + ChatBI + 流程编排体系,让数据真正"说话"。

本文将从四个方面深度剖析 RuoYi-AI-MetricBot 的数据智能能力:

  1. 指标体系(Metrics)
  2. 数据集语义(Dataset Semantics)
  3. ChatBI(对话式商业智能)
  4. 指标归因分析

最后附上源码启动教程,带你从零跑起整个项目。


一、指标体系:让业务语言统一

1.1 什么是指标?

指标(Metric)是对业务现象的量化描述,它是连接业务世界和数据世界的桥梁。比如:

  • 日活跃用户(DAU)
     — 产品健康度的核心指标
  • 客单价
     — 衡量每单交易价值的指标
  • 净利润率
     — 企业经营效率的关键指标

在传统的数据分析中,指标散落在各个 SQL 查询和报表中,同名不同义、同义不同名的现象比比皆是。RuoYi-AI 通过指标语义层来解决这个问题。

1.2 RuoYi-AI-MetricBot 的指标模型

RuoYi-AI-MetricBot 的指标以 metric_info 表为核心,包含以下关键字段:

字段
说明
示例
metric_cn_name
指标中文名(面向用户)
订单金额
metric_name
指标英文名(面向技术)
total_amount
level
数据层级:dw/dm/da
dw(明细)、dm(中间)、da(应用)
type
指标类型:atom/custom
atom(原子指标)、custom(派生指标)
business_caliber
业务口径
用户成功支付的订单金额总和
caliber
计算口径(SQL 表达式)
sum(total_amount)
table_name
关联数据集
mysql_query_result.orders
relate_metric
指标拆解关系
总金额, 就诊人次

1.3 原子指标 vs 派生指标

指标体系的核心在于分层设计:

  • 原子指标(atom)
    :从数据源直接计算的不可再分指标,如 sum(total_amount)count(distinct user_id)
  • 派生指标(custom)
    :基于原子指标通过四则运算组合而成,如 均次费 = [总金额] / [就诊人次]

这种分层设计让指标体系具备极强的可维护性和可扩展性。当底层的原子指标口径调整时,上层所有派生指标自动生效。

1.4 指标管理的可视化

RuoYi-AI 的管理后台提供了完整的指标 CRUD 界面,支持按主题分组管理、指标状态控制(启用/停用),以及指标的导入导出功能。用户可以在界面中清晰地查看和维护整个指标体系。


二、数据集语义:连接指标与物理数据

2.1 语义层的作用

数据集语义层是介于业务指标物理数据表之间的中间层。它的核心作用是:

  1. 屏蔽物理表的复杂性
    :业务用户不需要知道数据存在哪张表、用什么 join、字段名是什么
  2. 提供统一的语义视图
    :将物理表映射为业务概念(数据集),每个数据集包含若干维度
  3. 实现指标的可复用性
    :一个指标定义好后,可以在任何查询、任何仪表盘中复用

2.2 RuoYi-AI-MetricBot 的数据集模型

数据集以 dataset_info 表为核心:

字段
说明
示例
name
数据集名称
小红书行为天数据集
datasource
关联数据源
小红书 MySQL
dimensions
可用维度列表
实验组别名称-experiment_group, 指标日期-stat_date
metric_sql
指标查询 SQL(子查询)
select stat_date, experiment_group, ... from da_redbook_behavior_day
dimension_sql
维度查询 SQL
用于维度值的下拉选择
date_column
日期字段
stat_date

2.3 语义层的执行流程

当用户发起一个查询(如"近 30 天各渠道的订单金额趋势")时,语义层的工作流程如下:

用户问题    ↓LLM 语义匹配 → 选出相关指标和维度    ↓数据集过滤 → 匹配指标关联的数据集和可用维度    ↓DQL 解析 → 生成分析查询 DSL    ↓SQL 生成   → AnalyticSqlGenerator 生成可执行 SQL    ↓数据执行   → 连接数据源,执行查询,返回结果    ↓结果格式化 → 格式化为表格或图表

2.4 关键组件:AnalyticSqlGenerator

这个核心解析器基于阿里巴巴 Druid SQL AST 解析器构建,能够:

  • 接收 DQL(类 SQL 的分析查询语言)描述
  • 根据指标定义验证度量合法性和维度匹配性
  • 自动处理多表关联(table_ref 字段配置)
  • 在多个层级(dw/dm/da)的候选表中选择最优的查询路径
  • 生成最终的、可执行的 SQL 语句

例如,一个 ROE(净资产收益率)指标的计算口径为 [ROA]*[权益乘数],解析器会自动展开为多层子查询,最终生成完整的 SQL。


三、ChatBI:对话式商业智能

3.1 什么是 ChatBI?

ChatBI = Chat + Business Intelligence,即通过自然语言对话的方式来进行数据分析。用户不需要掌握 SQL,不需要了解数据库表结构,只需要用中文描述问题,系统就能自动完成:

  1. 理解意图 → 2. 匹配指标 → 3. 生成 SQL → 4. 查询执行 → 5. 结果呈现

3.2 RuoYi-AI-MetricBot 的 ChatBI 架构

RuoYi-AI 的 ChatBI 能力融入在AI Flow 工作流引擎中,包含多个核心组件:

SqlAgent(智能数据库代理) 基于 Langchain4j 构建,具备以下能力:

  • 自动查询数据库的所有表和表结构
  • 理解用户自然语言问题
  • 调用 executeSql 工具生成并执行 SQL
  • 返回格式化的分析结果

MetricQueryService(指标查询服务) 这是 ChatBI 的中枢模块,执行完整的指标查询流程:

  1. 从数据库中加载所有指标定义
  2. 使用 LLM 对用户问题进行语义匹配,选出相关指标
  3. 根据数据集维度信息进行维度过滤
  4. 再次使用 LLM 推荐分析维度
  5. 返回结构化的指标元数据和推荐维度

MultiAgentEngine(多智能体引擎) 支持 Supervisor 模式的智能体编排,将复杂的分析任务分解为子任务:

  • TaskDecomposer 负责任务分解
  • 多个 Agent 并行执行子分析任务
  • 汇总结果生成综合分析报告

3.3 ChatBI 的交互方式

RuoYi-AI 提供了两种 ChatBI 交互方式:

  1. 对话式 Chat 界面
    :用户直接在聊天界面提问,AI 实时生成答案,支持 SSE 流式输出
  2. AI Flow 工作流
    :通过可视化拖拽编排分析流程,支持 MetricQuery 节点、SQL 查询节点、LLM Answer 节点等组合

3.4 实际场景示例

用户提问:"最近 30 天首页曝光人数的趋势怎么样,按实验组别分组"

系统执行流程:

  1. LLM 匹配指标 → 选出"首页曝光人数"
  2. 匹配数据集 → 找到"小红书行为天数据集"
  3. 维度推荐 → 推荐"指标日期"和"实验组别名称"
  4. 生成 DQL → {metrics: ["首页曝光人数"], dimensions: ["指标日期", "实验组别名称"], ...}
  5. 解析生成 SQL → SELECT stat_date, experiment_group, SUM(home_exposure_users) ...
  6. 执行查询 → 连接数据源获取数据
  7. 可视化呈现 → 展示为折线图或表格

四、指标归因分析:从"是什么"到"为什么"

4.1 归因分析的价值

常规的数据分析回答的是**"是什么"——指标涨了还是跌了。而归因分析要回答的是"为什么"**——什么因素导致了指标的变化。

4.2 RuoYi-AI-MetricBot 的归因分析设计

RuoYi-AI-MetricBot 通过 relate_metric(指标拆解)字段来实现归因分析的能力。核心体现在两个方面:

1. 指标拆解关系定义

派生指标通过 relate_metric 记录其依赖的原子指标:

ROE → ROA, 权益乘数ROA → 销售净利率, 资产周转率销售净利率 → 净利润, 销售收入净利润 → 销售收入, 全部成本, 其他利润, 所得税全部成本 → 销售成本, 销售费用, 管理费用, 财务费用

这就构成了一棵指标拆解树,从顶层指标可以一路下钻到最底层的原子指标。

2. 杜邦分析模型

RuoYi-AI 内置了完整的杜邦分析指标链(某医药公司的财务域案例):

                       ROE                      /    \                  ROA    权益乘数                /     \         销售净利率  资产周转率          /    \       /    \       净利润  销售收入  销售收入  总资产       /  |   \       /       /    \   收入  全部成本  其他利润 所得税  流动资产  非流动资产         / | \ \               / |  | \     成本 费用 管理  财务   现金 应收 存货 其他

这种链式结构让用户可以逐层下钻,定位指标变动的根因。

4.3 归因分析在 ChatBI 中的应用

当用户分析一个派生指标时,系统能够:

  1. 自动展开
    :将派生指标展开为底层原子指标
  2. 同步查询
    :一次性查询所有相关指标的数据
  3. 对比分析
    :计算各因子对顶层指标变化的贡献度
  4. 智能解读
    :用自然语言描述变化原因

例如,查询"净利润率下降的原因",系统会查询净利润、销售收入等底层指标,对比不同期间的变化,给出类似以下的结论:

"净利润下降的主要原因是销售成本增长 15% 和财务费用增长 8%,虽然销售收入增长了 5%,但成本增速超过收入增速导致净利润率下降 2.3 个百分点。"


五、源码启动教程

5.1 项目结构

ruoyi-ai/          # Java 后端(Spring Boot 3 + Langchain4j)├── ruoyi-admin         # 启动入口,端口 6039├── ruoyi-modules/│   ├── ruoyi-chat      # AI 聊天 + Agent 智能体│   ├── ruoyi-aiflow    # AI Flow 工作流引擎│   └── ruoyi-data-asset # 数据资产管理(指标+数据集+数据源)├── ruoyi-common/│   └── ruoyi-common-parser # SQL/指标解析器ruoyi-ui/          # 管理后台前端(Vue 3 + Vben Admin 5)apps/web-antd/src/views/├── chat/               # 聊天界面├── aiflow/             # 工作流设计器├── data-asset/         # 数据资产管理└── ...

5.2 方式一:Docker 一键启动(推荐)

最简单的方式,无需安装 JDK、Node.js 等开发环境:

git clone https://github.com/ageerle/ruoyi-ai.gitcd ruoyi-ai# 一键启动所有服务docker-compose -f docs/docker/ruoyi-ai/docker-compose-all.yaml up -d

启动成功后访问:

  • 管理后台:http://localhost:25666(账号:admin / admin123)
  • 后端 API:http://localhost:26039

5.3 方式二:源码编译启动

后端启动

前置条件:JDK 21、Maven 3.6+、MySQL 8.0、Redis

# 1. 修改配置文件 ruoyi-admin/src/main/resources/application-dev.yml#    配置 MySQL 连接(默认 127.0.0.1:3306/ruoyi_ai)#    配置 Redis 连接(默认 127.0.0.1:6379)#    页面配置 AI 模型 API Key(如 DeepSeek)
#    使用DBeaver导入
数据库文件
到mysql:ruoyi-ai-source\ruoyi-ai\docs\script\sql\dump-ruoyi_ai-202605092221.sql
# 2. 编译打包mvn clean install -DskipTests# 3. 启动服务# 运行 RuoYiAIApplication.java(位于 ruoyi-admin 模块)# 或使用 Maven 插件:cd ruoyi-adminmvn spring-boot:run -Dspring-boot.run.profiles=dev

后端端口:启动后服务运行在 http://localhost:6039

管理后台前端启动

前置条件:Node.js 18+、pnpm

# 1. 安装依赖pnpm install# 3. 配置后端地址# 修改 apps/web-antd/.env.development 中的 VITE_GLOB_API_URLVITE_GLOB_API_URL=http://localhost:6039# 4. 启动开发服务器pnpm dev:antd

前端端口:启动后访问 http://localhost:5666

5.4 核心配置说明

在启动前,需要修改 application-dev.yml 中的配置:

# 数据源配置spring:datasource:url:jdbc:mysql://127.0.0.1:3306/ry-ai?useUnicode=true&characterEncoding=utf8username:rootpassword:your_password# Redis 配置redis:host:127.0.0.1port:6379# AI 模型配置(以 DeepSeek 为例)langchain4j:chat-model:api-key:sk-your-api-keymodel-name:deepseek-chaturl:https://api.deepseek.com/v1

数据库初始化脚本位于 ruoyi-ai/sql/ 目录下,首次运行需要先执行建表脚本。

5.5 启动步骤总结

步骤
操作
校验方式
1
安装 MySQL 8.0 + Redis
确保服务正常运行
2
执行初始化 SQL 脚本
数据库中有 ruoyi_ai所有表
3
配置 application-dev.yml
数据库、Redis、AI API Key
4
启动后端(IDEA 或 Maven)
访问 http://localhost:6039 返回 JSON
5
启动前端(pnpm dev:antd)
访问 http://localhost:5666 正常登录

总结

RuoYi-AI 通过指标语义层实现了业务语言的统一,通过数据集语义屏蔽了底层数据的复杂性,通过ChatBI让非技术用户也能自助分析,通过指标归因分析让用户不仅知道"是什么",更理解"为什么"。

这套完整的数据智能体系,让企业可以在开源的基础上,快速构建属于自己的 AI 驱动的数据分析平台。


如果你觉得本文有帮助,欢迎点赞、在看、转发三连,让更多人看到开源的力量!

gitee :
https://gitee.com/zhenglv123456/metric-bot
https://gitee.com/zhenglv123456/dcluster
如果使用有问题,方便留言区沟通与讨论。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 14:06:02 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/603136.html
  2. 运行时间 : 0.100249s [ 吞吐率:9.98req/s ] 内存消耗:4,699.80kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1de7f27782adf3f1f6f45dcb4106ddb4
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000606s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000924s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000379s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000267s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000469s ]
  6. SELECT * FROM `set` [ RunTime:0.000206s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000597s ]
  8. SELECT * FROM `article` WHERE `id` = 603136 LIMIT 1 [ RunTime:0.000564s ]
  9. UPDATE `article` SET `lasttime` = 1778479563 WHERE `id` = 603136 [ RunTime:0.008533s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000263s ]
  11. SELECT * FROM `article` WHERE `id` < 603136 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000440s ]
  12. SELECT * FROM `article` WHERE `id` > 603136 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000354s ]
  13. SELECT * FROM `article` WHERE `id` < 603136 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001796s ]
  14. SELECT * FROM `article` WHERE `id` < 603136 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000728s ]
  15. SELECT * FROM `article` WHERE `id` < 603136 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003008s ]
0.102394s