乐于分享
好东西不私藏

SA8397P 软件架构深度拆解:一块芯片上同时跑 Android 和 QNX

SA8397P 软件架构深度拆解:一块芯片上同时跑 Android 和 QNX

做了几个月 SA8397P(Snapdragon Cockpit Elite)座舱 Android 开发,最大的感受不是高通这次堆了多少算力,而是:你的 Android App 旁边,跑着另一套随时不能挂掉的 QNX 系统。 搞懂了这两者怎么共存,才算真正理解这块平台的软件架构。

硬件底子速览

先花一点篇幅把硬件交代清楚,后面重点在软件。

项目
SA8295P(上代)
SA8397P(第五代)
提升
制程
5nm
4nm(台积电 N4P)
CPU
Kryo 695/670(8核)
Oryon 第三代(公开资料多称 18 核)
3x
AI 算力
30 TOPS(INT8)
320 TOPS(INT8,行业资料口径)
12x
GPU
Adreno 6 系
Adreno 7 系(含光追)
3x
屏幕支持
最多 6 块
最多 16 块 4K
存储带宽
~102 GB/s
~273 GB/s(行业资料口径)
安全岛
Cortex-R52 安全岛(行业资料口径)
新增

这里有个高通很熟的打法:SA8397P(Cockpit Elite)和 SA8797P(Ride Elite)是同一颗物理 Die,通过软件锁核做 SKU 区分。 8397 锁掉部分 ADAS 核心,专注座舱场景;8797 开放全核,支持舱驾融合。当年 SA8255/SA8775 也是类似路数。

锁了一部分核心的 8397 还剩多少资源给座舱?公开资料多称它采用 18 核 Oryon,NPU 算力行业口径约 320 TOPS,并支持 14B 参数级别的端侧大模型。至于大小核划分、内存位宽、R52 核心数这类细节,高通官方披露并不完整,工程上更该关注的是:这些资源怎么分给 Android 和 QNX,才是软件开发真正要面对的问题。

软件架构:Hypervisor 上同时跑两套系统

架构全景

SA8397P 的标准软件方案是 Type-1 Hypervisor + 多 OS 异构部署。Hypervisor 直接跑在裸金属上,上面挂多个虚拟机,每个虚拟机跑一套操作系统:

┌──────────────────────────────────────────────────────────┐│              SA8397P  座舱域控 软件架构                    ││                                                           ││  ┌──────────────────┐           ┌──────────────────┐      ││  │    QNX VM        │  共享内存  │   Android VM     │      ││  │    (安全域)       │◄────────►│   (娱乐域)        │      ││  │                   │           │                   │      ││  │  仪表盘 · HUD     │           │  IVI · 导航       │      ││  │  安全警报 · 360   │           │  语音 · 应用生态  │      ││  └────────┬─────────┘           └────────┬─────────┘      ││           │  中断直通                    │  VirtIO         ││           ▼                              ▼                 ││  ┌──────────────────────────────────────────────────────┐ ││  │  Type-1 Hypervisor (QNX Hypervisor / for Safety 8.0) │ ││  │                                                       │ ││  │  CPU 核心隔离  │  GPU 虚拟化  │  SMMU  │  VirtIO     │ ││  └──────────────────────────┬───────────────────────────┘ ││                              │                             ││                              ▼                             ││  ┌──────────────────────────────────────────────────────┐ ││  │                      物理硬件                         │ ││  │                                                       │ ││  │  18核Oryon · Adreno 7 · NPU 320TOPS · R52安全岛      │ ││  │  LPDDR5X 273GB/s · UFS 4.0 · PCIe 5.0                │ ││  └──────────────────────────────────────────────────────┘ ││                                                           │└──────────────────────────────────────────────────────────┘

量产方案里,通常会把两类负载拆开:

QNX 虚拟机(功能安全域) 跑仪表盘、HUD/AR-HUD、ADAS 安全警报、360 环视。这些功能的特点是「不能挂」。仪表盘显示车速的延迟抖动超过几十毫秒就是安全事件,所以必须上硬实时 OS。

Android Automotive 虚拟机(娱乐域) 跑 IVI 信息娱乐、导航、语音助手、第三方应用生态、游戏视频等。这些功能挂了最多被车主骂,不会出人命。

Android 作为 Guest VM 是怎么跑起来的

我们自己搞座舱 Android 开发,最容易忽略的一个事实是:你写的 App 不是直接跑在硬件上,是跑在 Hypervisor 的 Guest VM 里。

换句话说,Android 看到的「硬件」并不是裸设备——CPU 核心来自 Hypervisor 的分配,内存区域由 SMMU 隔离,GPU 访问也要经过虚拟化层。

但关键点在于,Android Automotive OS 不需要为 Hypervisor 重写整套系统。 黑莓 QNX Hypervisor 8.0 实现了 VirtIO 标准接口。VirtIO 是一套半虚拟化 IO 标准,Hypervisor 通过它向前端虚拟机暴露标准化的虚拟设备。Android 内核本身已有 VirtIO 支持,所以 Guest OS 侧不必为了虚拟化从零做一套 IO 驱动。

这件事对 OEM 很现实:不用为了上 Hypervisor 维护一个地狱版 Android Fork。但量产车机还是绕不开 BSP、HAL、显示/音频/相机链路和车载服务适配。高通和黑莓把 Hypervisor 与虚拟设备接口打通,Android 侧才能尽量靠近标准开发体验。

QNX 安全域:仪表盘为什么不跑 Android

这个问题我刚接触座舱开发时也问过。

原因并不复杂:Android 不是硬实时系统。 你调试过 Android 渲染管道就知道,GPU 帧合成、SurfaceFlinger 的调度、甚至 GC 都能让 UI 线程卡住几十毫秒。手机上微信卡一下你忍了,仪表盘上时速 120 时指针卡了半秒——不行。

QNX Neutrino 是微内核结构,文件系统、网络栈、设备驱动尽量放在用户空间单独进程跑,降低单点故障把系统整体拖死的概率。再配合 CPU 核心独占或强绑定,中断响应延迟才有可控的边界。仪表盘指针刷新、HUD 投影这类东西,要的就是这种确定性。

实操里还有个反直觉的点:仪表盘那套 3D 界面,并不意味着 QNX 必须独占整颗 GPU。 更常见的做法是 Hypervisor 对 GPU 做虚拟化或分区,不同 VM 拿到受控的 GPU 访问能力;安全域的显示路径和关键时序由 QNX 侧保障。

两套系统互不干扰,靠的不是一句“虚拟化”

Hypervisor 只是总开关。Android 和 QNX 不互相拖死,靠的是下面这几层硬隔离。

第一层是算力资源隔离。QNX 安全域需要确定性,所以 CPU 核心通常会做独占或强绑定,实时任务不会跟 Android 应用抢同一批调度资源。Android 侧就算有 App 把 CPU 打满,也不能把仪表盘刷新拖死。

第二层是内存和设备隔离。SMMU(System Memory Management Unit,系统内存管理单元)相当于硬件级内存防火墙,限制每个 VM 能访问哪段物理内存。GPU 虚拟化也是同一个思路:不是谁先抢到谁用,而是 Hypervisor 给不同 VM 划出可控的渲染通道和带宽边界。

第三层是通信接口收敛。Android 侧不直接碰底层设备,标准 IO 走 VirtIO;跨 VM 的大数据交换走共享内存或 HAB 这类封装好的通信框架。这样做牺牲了一点“裸奔性能”,但换来的是边界清晰、问题可定位。

外面还有 R52 安全岛兜底。它不是 Android 里的一个服务,也不是 QNX 里的一个进程,而是独立的 Cortex-R52 核心组,负责系统级监控和故障处理。说人话就是:你可以在 Android 侧作死,但别想把仪表盘一起带走。

Android 和 QNX 怎么通信?

两套独立 OS 不可能完全各玩各的。比如 Android 的导航路线要投射到仪表盘上显示,用户在中控屏调节空调温度要在仪表盘上同步反馈——这都涉及跨 VM 通信。

通信路径通常是两种:

  • 共享内存(Shared Memory)
    :Hypervisor 分配一段两块 VM 都能访问的共享内存区,适合大数据量的低延迟传输(比如导航地图数据)
  • 虚拟网络/虚拟串口(VirtIO-net/VirtIO-serial)
    :通过虚拟设备走标准网络协议栈或串口通信,适合事件、状态变更等轻量消息

高通在共享内存这块提供了自己的方案——HAB(共享内存通信框架)。相比直接用裸共享内存,HAB 封装了通道管理、多路复用、同步原语等,省掉了不少底层协议层的开发工作。对 Android 侧来说,通过 HAB 的 lib 接口就能跟 QNX 侧通信,不用关心物理内存布局和对齐细节。

实际项目里通常封装一个跨 VM IPC 框架,底层用什么传输对上层应用透明。对 Android App 开发者来说,调用的是一个 SDK 接口,数据从 AIDL 出去,底层 Hypervisor 帮你路由到 QNX 侧。

座舱 Android 开发到底跟手机开发差在哪

做了几个月,几个体感最明显的差异:

性能预期要先改。 手机 Android 默认整颗 SoC 都是你的,跑分看总分。座舱 Android 不行——部分 CPU、GPU、内存带宽会预留给安全域和系统服务。性能优化不再是你用了多少,而是你被分了多少、你省了多少

启动时间也不是只看 Android。 车机讲究点火即用,从 Hypervisor 启动、QNX 起来、Android 起来,到仪表盘和 IVI 全亮,整条链路都要纳入启动预算。具体数据不方便写,但手机 Android 的冷启动优化经验在这里只能复用一部分,Hypervisor 引导和 QNX 先启动的时序会直接影响 Android 的 init 窗口。

HMI 一致性会被低估。 仪表盘是 QNX 渲染的,中控屏是 Android 渲染的,但用户眼里这是一整套车机——色温、字体、动效、交互反馈都得一致。Android 侧的设计语言要配合 QNX 侧,连过渡动画的缓动曲线都得对齐。这个对齐不是设计师出张图就能解决的,两个渲染管线底层的差异会让同一段动画在两端看起来不一样。

调试链路会变长。 手机开发 debug 大多先看 adb logcat,座舱 Android 问题排查要多绕好几层——Android App 层、Android Framework 层、VirtIO 驱动层、Hypervisor 层、QNX 端应用层,问题可能在任一环节。一个仪表盘不更新的 bug,根因可能只是跨 VM 共享内存没配对。

一个实战案例:端侧大模型集成。 我们项目接入过第三方端侧大模型,跑在 Android 侧,做车内感知和用户身份校验这类场景。

看起来就是个 App 内调用模型推理的事对吧?一跑就踩坑。

第一坑是模型加载时机。端侧模型加载需要几秒钟,如果在 Android 系统还没完全就绪就触发加载,容易和系统初始化抢 IO 导致 ANR(应用无响应)。后来改成 Android 启动后期异步加载,前台配一个加载状态屏——但问题来了,这个状态屏的工期评估里,我们一开始根本没算 Hypervisor 层和 QNX 的启机时间对 Android 侧启动窗口的影响。

第二坑是NPU 推理的实际表现。SA8397P 的 Hexagon NPU 纸面算力很高,模型做 INT8 量化后,单次推理延迟可以压到可用范围内。但车内摄像头多路并发输入一上来,NPU 的上下文切换开销就比预期大很多——不是算力不够,是调度策略不够细。后来靠供应商工具链做算子融合和模型剪枝,才把延迟压下来。

最意外的是跨 VM 通信延迟。身份校验场景需要 Android 侧的模型推理结果同步给 QNX 侧的仪表盘做状态提示,走共享内存。看上去就是一次数据拷贝,但 QNX 和 Android 两边对 cache、内存屏障和共享内存映射的处理方式不同,第一次跨 VM 读取经常多出十多毫秒。后面只能把共享内存区提前映射、提前预热,再显式处理 cache flush/invalidate 和内存屏障。

你看,一个「调用端侧大模型」的需求,实际落地时要面对的是 Android 启机时序、NPU 调度策略、跨 VM 内存一致性问题——这三个东西分属三个不同技术域,但任何一环出问题你的功能就是跑不稳。

产业棋局:高通 × 黑莓 × 谷歌的铁三角

SA8397P 的软件生态是三家公司搭起来的:

  • 高通
     卖 SoC + BSP + AI 工具链 + Hypervisor 参考方案
  • 黑莓 QNX
     卖 QNX Hypervisor 8.0 / Hypervisor for Safety 8.0 + QNX OS for Safety + VirtIO 支持,其中 Safety 版本官方标称预认证到 ISO 26262 ASIL-D
  • 谷歌
     卖 Android Automotive OS + GMS for Automotive 生态

缺了谁这套方案都跑不完整。高通没有 Hypervisor 就解决不了混合关键系统的问题,黑莓缺了 Android 生态车厂不买账,Google 如果没人搞定安全域之外的基础设施,Android Automotive 也很难单独覆盖完整座舱体验。

Tier-1 方案商已经跑在前面的:

  • 中科创达
    :滴水 AIOS 2.1,原生 AI 座舱 OS,14B 端侧大模型
  • 斑马智行
    :全模态端侧大模型方案,主动智能、情景对话
  • 博泰(PATEO)
    :基于 QAM8397P 的新一代座舱方案,已获头部车企定点
  • 哈曼(Harman)
    :CCU 平台研发中,2026 下半年量产就绪

车型进展可以先按公开信息看:奇瑞捷豹路虎 FREELANDER 神行者 CONCEPT 97、零跑 D19/D99 已经有至尊版平台展示或搭载信息,哈曼、华勤、元戎启行也在推量产方案。据称奔驰、宝马、上汽通用、蔚来、理想也在筹备相关量产方案。能确定的是,SA8397P/8797 的生态推进比上代更快。

结论

回到标题:一块芯片上同时跑 Android 和 QNX,到底靠什么?不是简单把两个系统塞进同一个 SoC,而是用 Type-1 Hypervisor 做硬隔离,再用标准化通信接口把该连的地方连起来。隔离和通信这两件事缺一件,车机都会变成灾难现场。

如果你是做座舱 Android 的,别只盯着 App 层:

  • 别按手机 Android 的假设写
    。CPU 核数、GPU 带宽、内存带宽都不是全给你的
  • 先问清楚跨 VM 通信怎么走
    。SHM 还是 VirtIO,延迟和带宽天花板在哪,会直接影响交互设计
  • 性能优化别只看 Android 指标
    。有时候瓶颈不在 App,也不在 Framework,而是 Hypervisor 层的资源分配
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-31 16:53:53 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/689258.html
  2. 运行时间 : 0.109194s [ 吞吐率:9.16req/s ] 内存消耗:4,992.73kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5ec3fb5561633a13a1ee75e674074a2e
  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.000622s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000777s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000367s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000301s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000583s ]
  6. SELECT * FROM `set` [ RunTime:0.000235s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000585s ]
  8. SELECT * FROM `article` WHERE `id` = 689258 LIMIT 1 [ RunTime:0.000633s ]
  9. UPDATE `article` SET `lasttime` = 1780217634 WHERE `id` = 689258 [ RunTime:0.001582s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000571s ]
  11. SELECT * FROM `article` WHERE `id` < 689258 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000496s ]
  12. SELECT * FROM `article` WHERE `id` > 689258 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000389s ]
  13. SELECT * FROM `article` WHERE `id` < 689258 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001259s ]
  14. SELECT * FROM `article` WHERE `id` < 689258 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001333s ]
  15. SELECT * FROM `article` WHERE `id` < 689258 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000937s ]
0.113140s