Skip to content

Latest commit

 

History

History
213 lines (145 loc) · 19.3 KB

File metadata and controls

213 lines (145 loc) · 19.3 KB

万物皆事件(AE - Anything is Event):基于怀特海过程哲学的数字宇宙实现方法——时空引擎技术白皮书

同时发表:https://zhang.blog.csdn.net/article/details/159661988

作者:张亮
版本:1.0
版权:Copyright © 2026 张亮. All rights reserved.
日期:2026年2月
联系方式350137278@qq.com
许可证:本文档采用 CC BY-ND 4.0 许可协议。您可以自由分享(复制、传播)本文档,但不得修改,不得明示或暗示地声称为作者。复制、转载和传播本文档必须署名原作者。本文档描述的引擎源代码 Aether 为闭源,不在此许可证范围内。

免责声明:本文中关于 Unity、Unreal 等商业引擎的描述仅为作者基于个人使用经验与参考AI等公开资料的主观认识,不代表相关产品的官方技术说明。如有不准确或疏漏之处,敬请指正。本文旨在阐述本引擎的设计哲学与实现方法,无意贬低或否定任何商业产品的价值。

开创性声明

本文是首个系统性地将阿尔弗雷德·诺思·怀特海的过程哲学工程化、落地为可运行的数字宇宙暨时空计算引擎的技术文献。作者经全网检索确认,截至2026年3月,尚未发现有其他工作将“现实实有→事件”“摄入→ECS组件读写”“客观不朽→状态累积”等核心概念完整映射为引擎架构并公开实现。本文旨在为数字孪生、实时仿真、GIS实时应用、游戏服务器等领域提供一种全新的、从哲学到代码完全自洽的构建路径。

原创声明

本文所阐述的“万物皆事件”哲学架构、怀特海过程哲学到工程实现的完整映射方法、以及文中所述的所有技术设计或实现(包括但不限于事件中枢 evbuf、时间多分辨率事件轮、ECS 组件系统、无锁ringbuf、2D、3D、4D金字塔空间多分辨率索引、memarena 内存池、基于 dyncall 实现的扩展插件系统等)均为作者————张亮独立原创。作者自2012年起持续进行底层研究与工程实践,历经多次重构与哲学深化,最终形成本白皮书所呈现的自洽体系。未经作者书面许可,任何单位或个人不得以改编、演绎、抄袭等方式将本文的核心思想、方法论或技术设计用于发表论文、申请项目或商业开发。作者保留一切法律追究权利。

libae.so / libae.dll 是引擎核心模块预留的标准库命名,其中 ae 取自“万物皆事件”(Anything is Event)或 Aether 的缩写。

由于时间仓促,错误和疏漏之处在所难免,敬请指正。


摘要

本文提出一种全新的数字宇宙实现方法————时空引擎设计,其核心哲学根基为阿尔弗雷德·诺思·怀特海(Alfred North Whitehead,1861–1947,20世纪重要的英国数学家、哲学家,过程哲学的创始人)的过程哲学(Process Philosophy)。引擎将“事件”作为第一性实在,彻底摒弃传统“实体优先”的宇宙观,构建了以事件中枢、ECS 组件系统和金字塔空间索引三位一体的纯 C 实现。通过将怀特海的“现实实有”、“摄入”、“客观不朽”、“永恒客体”等核心概念直接映射为数据结构与调度机制,引擎在确定性、性能、可审计性上达到前所未有的高度。本文旨在论证:只有建立在正确哲学之上的引擎,才能真正模拟变化与因果,为数字孪生、实时仿真、游戏及关键任务系统提供可信的时空计算基础。

设计范围与扩展意义
本文所述的引擎专注于数字宇宙的时空管理、事件调度、实体-组件系统与内存控制等核心底层机制,不包含图形渲染、物理仿真、音频处理、网络协议等上层表现层或通信层。引擎核心可独立运行于服务器、嵌入式环境等,渲染层可通过系统提供的事件接口与外部渲染器对接,实现表现与逻辑的彻底解耦。

这一设计赋予了引擎极强的扩展意义

  • 核心纯粹性:引擎内核完全基于怀特海过程哲学,保持确定性、可审计性与硬实时能力,不受上层表现层或外部库的干扰。
  • 插件化扩展:通过标准化接口与动态加载机制(如 dyncall 插件系统),用户可自由添加自己的渲染、音频、网络、物理、算法、业务等扩展模块,而无需修改内核源码。这种“内核稳固、扩展开放”的设计模式既保护了用户的核心知识产权,又为不同应用场景提供了灵活的定制能力。
  • 跨领域适配:引擎可嵌入游戏客户端(对接 Unity/Unreal 渲染)、数字孪生平台(对接 Cesium, Three.js, GIS 可视化)、或作为纯后端服务器运行,通过同一套事件流与组件数据与多种前端或服务无缝协作。
  • 生态友好:扩展模块的开发者只需遵循扩展接口协议,即可在不破坏核心确定性的前提下,构建丰富的数字宇宙上层功能。

因此,本引擎不仅是时空模拟的“数学计算引擎”,更是一个可生长、可集成的数字宇宙内核,为未来虚拟世界、工业仿真、关键任务系统提供了坚实且开放的底层支撑。


1. 引言:传统引擎的哲学盲区

实时仿真、数字孪生、大型游戏等系统,本质上是对现实世界变化的模拟。然而,主流商业引擎(Unity、Unreal)乃至传统 ECS 框架,其底层世界观均根植于实体优先的形而上学——世界由持久不变的物质实体构成,变化只是实体的偶性,时间与空间被视为外在于实体的容器。这种哲学预设导致:

  • 状态与变化割裂:实体状态被存储为快照,变化通过“更新函数”临时修改,无法追溯因果链;
  • 时间难以内嵌:时间作为全局时钟独立于实体,无法表达“生成即实在”的过程性;
  • 并发困难:多事件同时修改同一实体状态时,必须借助锁或事务,牺牲确定性;
  • 不可审计:系统行为难以从状态快照中还原,安全与可靠性依赖黑盒优化。

上述问题根源在于缺乏哲学自觉。当我们试图构建“数字宇宙”而非简单业务系统时,必须首先回答:宇宙的基本单位是什么?变化如何可能?因果如何传递? 这些问题无法从算法库或设计模式中获得,必须回到哲学。

怀特海的过程哲学正是对“变化”最深刻、最自洽的回答。它指出:宇宙的根本实在不是物质,而是瞬间的事件(现实实有);所谓持久物体,不过是事件序列中稳定模式的抽象;时间与空间从事件关系中派生,因果通过事件之间的“摄入”传递。 这一思想与“万物皆事件”的直觉完美吻合,为数字时空引擎提供了不可辩驳的形而上学基础。


2. 核心理念:怀特海过程哲学与引擎映射

怀特海在《过程与实在》中构建了一个以“现实实有”为终极实在的宇宙论。我们将核心概念逐一映射为引擎的设计原则:

怀特海概念 哲学含义 引擎映射
现实实有 宇宙中最基本的存在,每一个都是瞬间的、自我构成的事件,它的“存在”就是“生成”。 引擎中一切皆事件:AeEvent 实例是唯一的基本单元。任何状态变更、定时触发、用户输入、系统更新均封装为事件。事件从创建、调度到执行完成的全过程即是它的“生成”。
摄入 一个现实实有对其他现实实有的“感受”或“参照”,是因果传递的唯一方式。每个现实实有都内在地包含它所摄入的其他实有的数据。 事件只能通过读写 ECS 组件来相互影响。事件不直接引用其他事件,而是通过修改共享组件,使后续事件“摄入”这些变化。组件是客观世界的“公共数据层”。
客观不朽 现实实有一旦生成结束,便作为客观材料永远保存,供后续实有摄入。 事件执行后,其对组件的修改立即生效并永久留存(除非显式撤销)。世界状态始终是所有已执行事件的累积结果。任何时刻的状态均可从事件日志重建。
永恒客体 形式的、不变的可能模式,如几何形状、数字、类型。它们本身不是实在,但参与现实实有的构成。 事件类型、组件类型、签名、空间索引层级等静态元数据。它们定义了“可能性空间”,具体事件是这些永恒客体的实例化。
合生 多个现实实有综合为一个统一体(如一个时间片内的复杂事件)。 引擎支持时间轮槽内事件的批量调度与聚合,允许将一组原子事件合生为更高阶事件(如“一次交易”)。
时空结构 时空不是预设容器,而是从现实实有的摄入关系中派生出的广延秩序。 金字塔空间索引与分层时间轮不预设绝对时空,而是由事件的时间戳与空间坐标动态组织。每个事件携带自己的时空标记,索引结构仅为查询优化而存在。

基于以上映射,引擎确立了以下铁律:

  • 无事件,无状态:任何持久化状态的变更必须伴随至少一个事件;
  • 事件唯一通信:事件之间不允许直接调用,只能通过组件间接影响;
  • 时空派生:时间轮与空间索引由事件属性动态构建,不独立于事件存在;
  • 类型为永恒客体:事件类型、组件类型等元数据一经定义不可变,但实例可无限生成。

这些原则确保了引擎行为与怀特海宇宙论同构,从而在根源上保证确定性与可理解性。


3. 架构设计:过程哲学的工程实现

引擎完全采用纯 C 语言编写,全部为张亮原创,所有数据结构透明可审计。核心模块严格遵循上述哲学映射。

3.1 事件中枢(Event Bus)——现实实有的调度器

事件中枢是实现“现实实有”生成与转化的核心。它基于时间多分辨率——分层时间轮(最高 8 层,每层 256 槽)提供 O(1) 复杂度的定时管理,支持从10纳秒到数千年的超时范围。关键组件:

  • 无锁环形缓冲区:多生产者单消费者模型,利用原子变量实现高吞吐事件提交,避免锁竞争——对应“现实实有”独立生成、互不干扰的特性。
  • 原子状态机:工作线程与定时器线程通过原子标志切换状态,确保无锁同步——确保“生成”过程的确定顺序。
  • 跨平台信号量:精准唤醒线程,避免忙等——模拟事件间的“客观不朽”传递,只有前事件完成后才唤醒后续。

事件生命周期

  1. 创建:从内存池分配 AeEvent,填充类型、时间戳、参数。
  2. 提交:入队无锁环形缓冲区,同时将定时信息插入时间轮。
  3. 调度:时间轮触发,事件进入工作线程。
  4. 执行:调用对应的处理器,执行过程中读写 ECS 组件。
  5. 完成:事件标记为完成,其效果(组件修改)永久留存,事件对象本身可回收。

整个生命周期对应怀特海的“现实实有”的生成、进入客观不朽的过程。

3.2 ECS 核心——摄入的载体

ECS(实体-组件-系统)并非传统意义上的实体存储,而是事件之间“摄入”的媒介。设计如下:

  • ECS存储金字塔网格组件:每个网格作为实体,用户的图形是组件,附加在实体网格之上。
  • 组件按类型独立分池:每个组件类型拥有连续内存池,同类型组件连续存放,缓存友好。
  • 实体仅为标志位:实体本身无数据,仅用 1 字节标志位标记所拥有的组件类型。实体 ID 是事件间引用的纽带。
  • 组件是摄入的痕迹:事件执行时,通过组件 ID 读取或修改组件。修改结果立即全局可见,后续事件通过读取同一组件实现“摄入”。
  • 引用计数:允许组件被多个实体共享(如共享几何数据),对应怀特海“摄入可共相”。

这种设计使得数据布局完全透明,开发者可以精确控制缓存行,避免隐藏开销。同时,ECS 系统的遍历过程就是“客观不朽”的累积扫描。

3.3 金字塔空间索引——时空的派生秩序

空间索引不预设绝对坐标系,而是由事件携带的位置属性动态构建:

  • 时空多分辨率网格:2D/3D/4D(含时间维)金字塔索引,根据物体外包矩形自动选择层级。
  • 分区回调:将复杂物体拆分为多个子部分分别存入不同层级,支持 LOD 和视距剔除。
  • 网格即实体:每个网格单元本身可视为 ECS 实体,存储指向物体卡片的有序链表——体现了“空间由事件关系派生”的思想。用户时空事件数据是网格的组件,支持任意自定义组件。
  • 反向映射:从物体 ID 到所有卡片位置的 O(1) 映射,确保事件更新位置时索引同步。

时空索引仅作为查询优化而存在,世界本身的时空结构完全由事件序列定义。任何时空查询都是对已发生事件投影的计算。

3.4 内存管理——memarena:客观不朽的物理基础

怀特海的“客观不朽”要求事件效果永久留存,而传统动态分配器会导致不可预测的碎片和延迟。memarena 实现:

  • 尾栈记录器:在每个内存块尾部逆向生长栈区,记录分配大小和释放标记,O(1) 定位。
  • 任意顺序释放:通过标记和批量回退,支持非顺序释放,适应事件生命周期的不确定性。
  • 多页池:双向循环链表管理内存页,自动扩展与惰性回收。
  • 性能:比系统分配器快 30% 以上。

所有组件存储、事件对象、临时缓冲区均从 memarena 分配,确保内存行为可预测,满足关键任务的硬实时要求。

3.5 双时空融合:GIS + Game

把GIS与游戏引擎开发统一在一个范式之下。通过统一的时空索引管理。事件可在两种坐标系间转换,例如 GIS 天气事件触发游戏内粒子效果。这一能力源于怀特海“时空结构可派生”的观点:只要定义了坐标变换规则,事件关系就可映射到任意时空表达。


4. 与传统商业引擎的对比:哲学优势

方面 本引擎(怀特海过程哲学) Unity / Unreal(实体优先)
核心抽象 事件第一性,一切皆事件;状态是事件的累积结果 实体第一性,状态为实体属性;事件是实体方法的调用
时间处理 时间轮调度,时间内嵌于事件 全局帧时钟,时间外在于实体
因果模型 事件通过组件摄入相互影响,显式可追溯 消息传递或直接调用,因果链隐含
内存管理 memarena,无动态分配,确定性 不确定
可审计性 世界状态可由事件日志完全重建 仅保存当前快照,无法还原历史
并发模型 无锁事件调度,原子状态机 任务系统 + 锁,易引入竞争
关键任务适用性 ✅ 确定性、可审计 ❌ 难预测、黑盒、许可证限制

哲学上的根本差异带来了工程上的本质优势:当变化是第一性时,所有机制都为变化而设计;当实体是第一性时,变化永远是第二等的“修补”


5. 关键应用价值:可信数字孪生的基石

在国防、航天、工业仿真、自动驾驶等关键任务领域,软件的确定性、可审计性和实时性不可妥协。本引擎的怀特海根基赋予其独特价值:

  • 完全可审计:所有状态变更以事件日志形式永久留存,任何时刻的世界状态均可从日志重建。这满足最高等级的安全合规要求。
  • 确定性行为:事件调度基于绝对时间戳与时间轮,无随机性,相同输入序列产生完全相同输出。
  • 硬实时能力:无 GC、无隐藏动态分配,内存操作时间可预测,响应延迟微秒级。
  • 无许可证风险:纯 C 自研,不依赖第三方黑盒组件,可部署于任何环境(包括裸机、RTOS)。

实测数据进一步支撑:

  • 80 万 GIS 多边形插入金字塔索引:从文件中读取到插入金字塔用时约 1.2 秒
  • 事件吞吐量:一个线程写入一个线程读出:大于 7 百万事件/秒(每个事件64字节)
  • 内存分配速度:比系统分配器快约 30%

6. 未来展望

基于怀特海过程哲学的持续深化,我们将进一步完善:

  • 形式化验证:对核心调度算法进行过程逻辑建模,形式化证明其确定性;
  • 分布式事件同步:将事件序列化后跨网络传输,实现全球尺度数字孪生;
  • 量子过程扩展:探索将过程哲学与量子理论结合,模拟叠加态与纠缠;
  • 可视化工具链:以事件流为中心的可视化调试与时间旅行调试。

7. 结论

我们并非从代码开始,而是从哲学出发。怀特海的过程哲学揭示:存在即是生成,实在即是事件。基于这一洞察,我们构建了“万物皆事件”的数字时空引擎——事件作为第一性实在,状态作为事件的累积,时空作为事件关系的派生。纯 C 实现、透明数据结构、无锁调度与高性能内存管理,使引擎在确定性、可审计性和实时性上超越传统方案。

在构建数字宇宙的征途中,哲学不是装饰,而是底层约束。唯有与宇宙运行的基本规律同构,软件才能获得真正的可信与自由。本引擎的诞生,证明了过程哲学从思辨走向工程的可行性。我们坚信,这是下一代数字时空引擎的必然方向。


“现实世界是一个过程,它从一种实在状态向另一种实在状态转化。每一种状态都是因果效力的产物,又是未来状态的缘由。”
——阿尔弗雷德·诺思·怀特海《过程与实在》


附录:核心术语对照表

怀特海术语 英文 引擎对应
现实实有 Actual Entity AeEvent 实例
摄入 Prehension 事件对组件的读写
客观不朽 Objective Immortality 组件状态的持久累积
永恒客体 Eternal Object 事件类型、组件类型、签名
合生 Concrescence 时间轮槽内的事件批处理
广延连续体 Extensive Continuum 金字塔空间索引 + 时间轮

关于作者

张亮,独立研究者、系统程序员。拥有30年以上的C语言底层开发经验,专注于高确定性系统、数字时空引擎与过程哲学的工程化落地。曾为多家科技公司提供系统架构咨询,现致力于研究和构建基于怀特海过程哲学的下一代数字宇宙时空计算引擎,探索从哲学到代码的完整自洽之路。

如有合作、学术交流或技术咨询需求,可通过邮箱:350137278@qq.com 联系。


文档版本:1.0
最后更新:2026年2月