返回首页

ZVM 特性:交付式版本管理

01 背景:从学术创新到工程交付

ZVM 项目自 2021 年启动研发以来,坚持以开源方式推进技术演进,目前已形成多款稳定运行的基础发行版,并在此基础上持续向不同甲方交付定制化版本。随着研发周期拉长、功能模块不断丰富,以及参与研发的教师、博士、硕士、本科生和工程师数量持续增加,ZVM 的代码版本数量与复杂度迅速上升。 在这种背景下,如何同时满足多人并行开发的灵活性、基础发行版的长期稳定性以及交付版本的可靠性,成为 ZVM 工程实践中必须正面解决的问题。为应对上述挑战,团队逐步建立并完善了一套明确、可执行的版本管理机制,对不同用途、不同稳定级别的代码进行分层管理,从制度层面保证 ZVM 的研发效率与交付质量。

02 版本划分:个人、基础与交付

ZVM 建立了明确的三层版本管理机制,对不同用途、不同稳定级别的代码进行分层管理:

1. 个人开发版

维护在个人私有仓库,用于日常研发、功能探索与前沿方案尝试,不设统一规范,鼓励创新自由。

ZVM个人开发版

2. 基础发行版

团队共同维护的稳定基线。目前已形成针对 RK3588、E2000、D2000 和 D3000 的四大核心发行版。

ZVM发行版

3. 交付版

面向甲方具体需求,在基础版之上进行增量集成。以项目满足度为目标,不反向影响发行版稳定性。

03 基础发行版的五大核心模块

尽管不同基础发行版在平台和应用场景上有所差异,但团队明确规定,五大核心模块必须在所有基础发行版中保持一致并长期稳定。这五大核心模块包括:

VirtIO 半虚拟化框架 Zshm 共享内存通信 vCPU 超映射 VisualZVM 可视化管理 中断管理

注:这些模块被视为 ZVM 的“核心课程”,任何演进必须以不破坏其稳定性为最高前提。

04 基础发行版的版本控制与测试机制

基础发行版的每一次代码合入都必须经过“模块负责人审批”与“多平台闭环测试”的双重验证:

1

变更申请

开发者需提前通知五大核心模块的负责人,确保变更符合架构演进方向。

2

全平台测试

功能需在 RK3588 / E2000 / D2000 / D3000 四大平台同步验证,确保兼容性。

3

纸质存证

在实验室完成测试并填写纸质测试记录表,由各模块负责人亲笔签字确认。

4

合入审批

通过 Gitee 提交 PR,由项目总负责人进行最终代码审查与分支合并。

审计提示: 所有的测试记录均存档于研发中心,支持对每一行合入代码的质量溯源。

ZVM研发测试记录表

图3. ZVM 研发测试记录表 (部分)

ZVM真实测试实拍

图4. ZVM 实验室真实硬件测试环境

05 交付版的管理原则

交付版同样建立在基础发行版之上,但其管理原则与基础发行版保持一致。交付版可以根据甲方需求引入特定功能,例如在 ZVM-D3000 基础发行版上增加并交付 SR-IOV 功能。但这类功能如果不属于五大核心模块,就不会被反向集成到其他基础发行版中。

与基础发行版相同,交付版在功能集成完成后,也必须对五大核心模块进行完整测试,并由对应模块负责人确认测试结果,确保定制功能不会对 ZVM 的核心能力产生影响。通过这种方式,团队在满足定制需求的同时,依然能够保持整体技术体系的稳定性。

总结

“ZVM 通过三层版本管理体系,在尊重个人创新灵活性与满足甲方定制化需求的同时,确保了核心基石的确定性。这套‘制度驱动研发’的体系,为 ZVM 的长期演进和工程化高质量交付提供了最坚实的保障。”

扫码查看视频介绍

小红书二维码

小红书视频

微信二维码

微信视频号/公众号