当前位置:首页>农业>农业数据采集与汇聚:7种数据源、4种接入方式,一篇说透怎么把数据收进来

农业数据采集与汇聚:7种数据源、4种接入方式,一篇说透怎么把数据收进来

  • 2026-08-21 02:43:19
农业数据采集与汇聚:7种数据源、4种接入方式,一篇说透怎么把数据收进来

智慧农业数据平台系列 · 第二篇 | 采集与汇聚

农业数据采集与汇聚:7种数据源、4种接入方式,一篇说透怎么把数据收进来

···

"项目进场第一周,甲方带我们看了六个系统:墒情监测的、虫情测报的、气象站的、遥感解译的、农情调度的、农机管理的。然后问了一句话——'你们什么时候能把数据都接到一张图上?'

我说先得搞清楚每个系统的数据怎么出来、什么格式、什么频率。甲方说'都是标准接口,很简单'。

结果第二天蹲机房抓包发现:墒情系统说是 MQTT 实际是 HTTP POST,虫情系统接口返回的是 HTML 不是 JSON,气象站连文档都没有,农机平台要 VPN 拨号才能进内网。

六个系统,四种协议,三个没文档。这就是农业数据采集的真实开局。"

上一篇说了数据工程就四件事——搬洗整供。这一篇专讲"搬"。采集汇聚是数据工程的第一道关,这一关过不好,后面洗整供全是空中楼阁。

一、农业数据源到底有几种

先把范围搞清楚。农业项目里常见的数据源,按来源分七大类:

类别
典型数据
在哪
特点
物联网传感
土壤墒情、田间气象、水质监测
墒情监测系统、气象站设备
高频推送(10-30分钟),协议杂(MQTT/Modbus/HTTP/RS485),设备厂商多
遥感影像
作物长势(NDVI)、种植结构提取、土壤盐分
遥感云服务平台、卫星数据
低频(周/月),数据量大,需解译,受云覆盖影响
虫情/灾情
虫情照片+AI识别、病情上报
虫情测报灯、植保平台
每日/不定期,图片为主,识别结果需人工复核
农机作业
GPS轨迹、作业面积、作业深度
农机调度平台、车载终端
实时流,NMEA报文,需匹配地块
业务台账
种植台账、农户信息、补贴发放
农情调度系统、Excel表格
每季/每年更新,人工录入,格式不统一
空间数据
地块图斑、行政区划、高标准农田
GIS成果库、Shapefile文件
一次性导入为主,偶尔更新
第三方接口
天气预报、市场价格、政策文件
气象局API、农业遥感云平台
调别人接口,格式对方定,稳定性不可控

七类数据源,接法各不相同。但归纳下来就四种接入方式

二、四种接入方式

方式一:消息订阅(实时推送)

适用:物联网传感数据——墒情、气象、水质。

设备主动把数据推上来,你订阅接收。最常见的协议是 MQTT。

原理不复杂:设备作为客户端连接 MQTT Broker,把数据发到指定主题(Topic),你写个消费者订阅这个 Topic,收到消息解析存库。

设备 → MQTT Publish → Broker → MQTT Subscribe → 你的消费者 → 解析存库

实操关键点:

  • 主题设计
    :按"区域/设备类型/设备ID/数据类型"分层,比如 county_hefei/soil/ST001/moisture,别用一个 Topic 塞所有设备的数据
  • QoS 选 1
    :至少收到一次。QoS 0 会丢包,QoS 2 太重,农业场景 QoS 1 够用
  • 心跳监控
    :设备 30 分钟没发数据要告警,可能是断电、断网、传感器故障
  • 报文格式
    :要求厂商给 JSON 文档,别接纯二进制——调试的时候 JSON 能直接看,二进制要对着协议手册逐字节拆

真实坑:某项目墒情设备厂商说"支持MQTT",实际是 HTTP POST 一个 JSON 到指定 URL。不是真正的 MQTT Broker 订阅模式,只是借了个名字。开工前一定要现场抓包确认协议,别信文档别信口头。

方式二:接口调用(定时拉取)

适用:虫情测报、遥感解译、第三方API、农机平台。

对方有 HTTP 接口,你写定时任务去拉。跟实时推送的区别是你主动去取,不是等它推

实操关键点:

  • 拉取频率
    :按数据更新频率定。虫情每天拉一次,遥感每月拉一次,农机作业数据可以5分钟拉一次
  • 增量拉取
    :别每次全量拉。带时间参数——?startTime=2026-08-19 00:00:00&endTime=2026-08-20 00:00:00,只拉新增的
  • 重试机制
    :接口超时、返回500、返回空数组——三种情况三种处理。超时重试3次,500告警,空数组记日志不告警(可能真没新数据)
  • 分页处理
    :大数据量接口一般分页返回,要循环拉完,别只拉第一页

真实坑:某虫情测报平台的接口返回的不是 JSON,是 HTML 页面里嵌了一个 table。对方说"有接口",你得先看接口返回的是什么格式——HTML 解析比 JSON 复杂十倍,而且对方改个页面样式你就挂了。碰到这种直接要求对方出 RESTful JSON 接口。

方式三:数据库直连(批量抽取)

适用:农情调度系统、植保平台等内部业务系统的数据库。

对方有数据库,你直接连过去抽数据。听起来最简单,实际最容易出问题。

实操关键点:

  • 只读账号
    :让对方给你开一个只读权限的账号,千万别用管理员账号连——你抽数据时写错一条 SQL 就能把人家业务库搞崩
  • 只抽副本
    :别直连生产库,让对方开个只读副本或者每天凌晨做个快照,你从副本里抽
  • 只抽数据不改结构
    :你只在对方库里 SELECT,不在对方库里建表建视图。你自己的数据搬回你的临时区再处理
  • 抽取时间
    :凌晨 2:00-5:00 抽,别在业务高峰期连人家数据库
  • 字段映射文档
    :让对方给一份字段说明——哪个字段是什么意思、编码规则是什么、有没有枚举值、空值代表什么

真实坑:某县农情调度系统的作物编码字段,前缀"A"代表粮食作物、"B"代表经济作物,但文档里没写。抽过来的数据一看"A01"以为是编号,做统计时把粮食和经济作物混在一起,结果全县种植结构统计全错。字段映射文档一定要拿到,没文档就让对方口头解释一遍你记下来确认。

方式四:文件导入(手动+半自动)

适用:Excel 台账、Shapefile 图斑、CSV 报表、PDF 文件。

这是最原始但最常见的方式。农业口大量数据还停留在 Excel 阶段——种植台账、补贴名单、产量统计,都是乡镇报上来汇总成 Excel。

实操关键点:

  • 模板固定
    :别指望每次收到的 Excel 格式都一样。先定一个标准模板,让填报方按模板填,不按模板的打回去重填
  • 校验规则前置
    :导入前先校验——必填字段有没有空、数值范围合不合理、编码在不在映射表里、日期格式对不对
  • 导入留痕
    :每次导入记录:谁导的、什么时间、哪份文件、导了多少条、成功几条失败几条、失败原因
  • Shapefile 导入
    :注意坐标系——Shapefile 的 .prj 文件记录了坐标系,导入前先检查是不是 CGCS2000,不是的话先投影转换

真实坑:乡镇报上来的种植台账 Excel,表头每次都不一样——上次叫"作物名称"这次叫"种植品种",上次"面积(亩)"这次"面积"。导入脚本每次都要改。解决方法:给乡镇发固定模板,第一行是字段名不允许改,数据从第二行开始填。模板不服从的打回去。

三、七种数据源的接入方案汇总

数据源
接入方式
频率
技术方案
注意事项
土壤墒情
消息订阅
30分钟
MQTT 消费者订阅 Topic,解析JSON存时序表
抓包确认协议,心跳监控30分钟无数据告警
田间气象
消息订阅/接口
10分钟
Modbus TCP 轮询或MQTT订阅
Modbus要写寄存器地址映射表,地址错了读出来全是0
虫情测报
接口调用
每日
HTTP GET 拉图片+识别结果,存对象存储+结构化表
确认返回JSON不是HTML,图片走对象存储别存数据库
遥感影像
接口调用
每月
调遥感云平台API下载NDVI栅格+矢量,按地块裁剪
云覆盖导致数据缺失要有降级方案,别指望每月都能拿到
农机轨迹
接口调用/消息
5分钟/实时
拉GPS轨迹点或接NMEA流,按农机ID分组
轨迹点稀疏时插值,离线轨迹补传要处理
业务台账
数据库直连/文件
每季
从农情调度库抽取或Excel导入
只读账号+只读副本,字段映射文档必须拿到
地块图斑
文件导入
一次性
导入Shapefile到空间表
检查.prj坐标系,非CGCS2000先投影转换

四、数据落在哪里——临时区设计

数据采进来第一件事不是清洗,是原样落盘到临时区

临时区也叫贴源层(ODS),意思是源数据长什么样,落下来就什么样,一个字段不改

为什么不能采进来直接清洗?

  • 可追溯
    :清洗出了问题,可以回临时区查原始数据对比
  • 可重跑
    :清洗规则改了,可以重新从临时区跑一遍,不用重新采集
  • 可审计
    :甲方问"这数据从哪来的",临时区有完整记录

临时区的设计原则:

原则
说明
原样存
源数据什么格式就存什么格式,JSON存JSON,CSV存CSV,不改字段名不转格式
带元数据
每条数据附三个字段:数据来源(source)、采集时间(collect_time)、原始报文(raw_payload)
分区存
按日期分区,方便按天重跑和清理过期数据
设保留期
原始数据保留90天,超期归档。别把临时区当历史库用,临时区是临时停靠不是长期仓库

五、实时 vs 批量:不是所有数据都要实时

很多甲方上来就要求"所有数据实时"。实际上农业场景里,大部分数据用批量就够了,只有少数场景需要实时

数据
实时/批量
为什么
土壤墒情
批量(30分钟)
土壤温湿度变化慢,30分钟够用,不需要秒级
田间气象
批量(10分钟)
气象站10分钟报一次,本来就批量的
虫情测报
批量(每日)
虫情灯每天拍照一次,没有实时的必要
农机轨迹
实时(5分钟)
农机调度要看实时位置和作业进度,延迟太大调度没意义
遥感影像
批量(每月)
卫星过境就那几天,本来就是月级数据
干旱预警
准实时(1小时)
墒情数据到阈值要触发预警,30分钟采集+30分钟处理=1小时响应
业务台账
批量(每季)
人工填报的数据,季度更新一次

判断标准很简单:数据变化速度有多快,业务响应需要多快。土壤湿度一天变不了几个百分点,没必要实时。农机位置5分钟就跑出一两百米,调度必须实时。

别被"实时"两个字绑架。实时意味着更高的技术复杂度、更多的服务器资源、更难的运维。能用批量解决的就用批量,实时的成本是批量的3-5倍。

六、采集监控:采进来的数据怎么知道有没有丢

采集任务上线后最怕什么?静默失败——任务没报错,但数据没进来,或者进来的数据量突然减半,你不知道。

这种情况在农业项目里非常常见:墒情设备太阳能板被杂草挡了,电量低自动休眠,不发数据了;虫情接口升级了,返回格式变了,解析全部失败但任务没挂;农机平台VPN断了,连不上但超时重试后标记成功。

必须建三层监控:

层级
监控什么
阈值
告警方式
任务级
采集任务有没有正常执行
任务失败、执行超时(>30分钟)
立即告警(短信/微信)
数据量级
每次采集的数据量是否正常
环比下降50%以上、连续两次空数据
1小时内告警
字段级
关键字段是否有值、值是否在合理范围
空值率>20%、关键字段全为null
当日告警

举个具体例子:墒情监测点42个,每30分钟应该收到42条数据。如果某个时段只收到20条,说明有22个点没报数——可能是设备故障、网络断了、或者太阳能板没电了。数据量级监控会在1小时内告警,你就能主动发现而不是等农技站打电话来说"数据怎么不刷新了"。

七、某县实操案例:7个数据源的采集方案

把上面的方法用到一个真实项目里。某县农业农村局,7个数据源,10周完成采集汇聚:

第1-2周:摸底+抓包

  • 逐个系统对接,列数据源清单——7个系统、7种协议、12个接口
  • 墒情系统现场抓包确认是HTTP POST不是MQTT
  • 气象站找到设备厂商要到Modbus寄存器地址表
  • 虫情平台要求对方出JSON接口(原来返回HTML,谈了一周才改)
  • 农机平台要VPN账号远程接入

第3-5周:开发采集程序

  • 墒情:写HTTP接收服务,解析JSON存临时区
  • 气象:写Modbus TCP客户端,10分钟轮询一次
  • 虫情:写定时任务,每天凌晨拉前一天数据
  • 遥感:写API调用脚本,每月1号下载上月NDVI
  • 农机:写NMEA解析器,5分钟拉一次轨迹
  • 台账:写数据库抽取脚本,每季末跑一次
  • 图斑:写Shapefile导入工具,一次性导入

第6-7周:监控+联调

  • 三层监控全配齐——任务级、数据量级、字段级
  • 跟农情调度系统联调,确认抽取数据跟源系统一致
  • 跟农机平台联调,确认轨迹数据完整不丢点

第8-10周:上线+试运行

  • 采集程序部署上线,7个数据源全部跑通
  • 试运行2周,每天检查监控告警
  • 发现3个问题:墒情设备夜间低电量不报数、虫情接口偶发超时、农机GPS信号弱时轨迹飘
  • 逐个修复,采集稳定率从82%提升到98%

关键数据:7个数据源、12个接口、日均采集约12万条记录、采集稳定率98%、从进场到采集跑通10周。

八、采集阶段踩坑清单

序号
怎么避免
1
协议跟文档对不上
开工前现场抓包,文档只做参考,以实际报文为准。厂商口头承诺一律不信任
2
接口返回格式不是JSON
第一天就调接口看返回什么,HTML/XML/纯文本都有可能。不是JSON的让对方改,改不了的要写适配解析器
3
设备太阳能供电夜间断电
墒情设备低电量会休眠,夜间没数据是正常的。监控告警设"连续6小时无数据"而不是"30分钟无数据"
4
Modbus寄存器地址跟厂商给的不一致
自己用Modbus调试工具读一遍,对照地址表确认。温度湿度风速雨量每个寄存器都要验证
5
农机GPS信号弱轨迹飘
轨迹点精度低于15米的标记为低质量,做空间过滤+速度异常剔除
6
遥感数据云覆盖严重
一个月的Sentinel-2数据可能有50%被云挡住。要用多时相合成——取一个月内无云像素拼接,不是单张影像
7
直连业务库被甲方IT拒绝
提前沟通,提供只读账号申请文档,承诺只查不改、凌晨执行、不影响业务。对方实在不让直连就用导出文件方式
8
Excel模板每次格式不一样
下发固定模板+数据校验规则,第一行字段名锁定不允许改。不符合模板的打回去重填
9
Shapefile坐标系不是CGCS2000
导入前先读.prj文件检查坐标系,不是CGCS2000的先做投影转换再导入
10
采集静默失败不知道
必须建三层监控:任务级(失败告警)、数据量级(环比下降50%告警)、字段级(空值率超20%告警)
11
接口升级格式变了采集挂了
采集程序做异常捕获——解析失败的数据存到死信队列,不阻断后续数据。接口变更要走变更通知流程
12
所有数据都要求实时
按场景定:农机轨迹准实时,墒情气象批量够用。实时成本是批量的3-5倍,别被甲方一句话绑架

九、采集做完的标准是什么

很多项目采集做完了但不知道好不好,因为没标准。给一个验收清单:

序号
验收项
标准
1
数据源覆盖率
项目范围内的数据源100%接入,未接的有书面说明
2
采集稳定率
连续7天日均采集成功率≥95%
4
数据完整性
关键字段空值率≤5%,非关键字段空值率≤15%
5
数据时效性
实时数据延迟≤采集频率的2倍,批量数据在约定时间窗口内完成
6
监控告警
三层监控全部配置,连续7天无静默失败
7
原始数据留存
临时区保留≥90天原始数据,含来源标记和采集时间
8
采集文档
每个数据源有接入说明:协议、格式、频率、接口地址、认证方式、异常处理

···

采集汇聚这关过了,数据就从"散在各系统"变成了"全部收进临时区"。但收进来的还是原始脏数据,不能直接用——墒情传感器有跳值,农机轨迹有飘点,台账有错填,遥感有云遮挡。

下一篇讲"洗"——数据清洗与处理,怎么把脏数据洗成可用数据。

智慧农业数据平台系列 · 第二篇

上一篇:数据工程到底干什么——不是写代码,是把数据从"有"变"好用"

下一篇:数据清洗与处理——传感器跳值、轨迹飘点、台账错填怎么洗

最新文章

随机文章

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