Novus OS 自研分级增量更新体系完整规范
Novus OS 自研分级增量更新体系完整规范
1. Novus OS 自研更新架构核心体系
Novus OS 搭载完全自研、独立可控、工业级稳定的分类补丁、分级推送、分通道灰度、断点续传、事务原子回滚、服务端统一管控更新体系,专为自研操作系统量身设计,架构轻量化、逻辑透明、可手动调试、可全自动批量部署,为系统长期迭代、安全风控、软件运维提供标准化底层支撑。
1.1 Novus OS 三大官方补丁体系(永久冻结)
-
.hotpth 紧急安全热修复补丁:专注高危漏洞、远程代码执行、内核提权、权限绕过等安全风险紧急兜底修复,最高系统优先级,强制静默更新
-
.npth 系统通用累积补丁:负责系统内核、NKM驱动、HAL层、系统基础库、核心服务的常规累积迭代、稳定性优化与功能迭代
-
.apth 应用软件专属补丁:面向NUC应用、第三方软件、桌面组件、用户工具的独立增量更新,隔离系统核心层与用户应用层更新逻辑
-
.novu 全量安装包:承接系统大版本跨代升级、首次装机、系统重置重装场景,作为增量补丁的底层兜底载体(替代已占用NUP格式,为全新自研专属后缀)
1.2 Novus OS 五级官方更新推送通道(永久冻结)
系统内置自研五级更新分级机制,覆盖从紧急安全修复、稳定版本推送、灰度功能预览、普通可选更新、开发者内测更新全场景,分级策略独立、权限隔离、互不干扰,适配普通用户、进阶用户、开发者、企业批量运维全群体需求:
-
紧急安全推送(level_urgent):专属安全漏洞热修复,系统最高优先级,无拦截、无延后、强制即时修复
-
稳定推荐推送(level_recommend):系统与软件稳定版迭代更新,默认推荐安装,保障设备稳定性与兼容性
-
版本预览推送(level_preview):新功能灰度尝鲜版本,仅主动查询可见,无被动弹窗推送
-
普通可选推送(level_optional):非必要体验优化、辅助功能迭代,用户自主选择安装或忽略
-
开发者内测推送(level_dev):开发调试版、未稳定内测版本,默认隐藏,仅开发者模式解锁可见
2. Novus OS 自研更新核心机制与技术规范
2.1 服务端核心:全局唯一统一更新大表架构
Novus OS 远程更新服务端采用自研单全局唯一更新索引大表架构,为所有终端设备更新的唯一权威数据源,摒弃分散分表的复杂设计,架构极简、检索高效、运维便捷。
核心运行逻辑:
-
服务端统一收录全部 .npth/.apth/.hotpth 格式补丁数据,集中管控所有版本、灰度、策略信息
-
客户端后台常驻定时轮回查询大表,静默完成版本比对与补丁匹配
-
所有复杂逻辑(版本适配、分级筛选、灰度命中、策略判定)由服务端统一完成
-
客户端仅负责下载、校验、执行更新,逻辑轻量化,降低系统资源占用与故障概率
2.2 客户端核心:分层优先级更新队列机制(冻结)
系统内置固定优先级更新队列,多补丁同时存在时,严格按照既定优先级串行执行,避免更新冲突、资源抢占、版本错乱问题。
更新执行优先级(从高至低,永久冻结):
.hotpth 紧急安全热修复 > .npth 系统累积更新 > .apth 关键软件更新 > 预览版灰度更新 > 普通可选更新 > Dev开发者内测更新
2.3 自研事务性原子更新与智能回滚机制
-
更新前置自动快照备份系统关键文件、权限配置、版本信息,留存完整回滚镜像
-
针对更新中断、设备断电、文件异常、校验失败等所有异常场景,触发全自动事务回滚
-
严格杜绝半更新状态,保障系统文件完整性与运行稳定性
-
所有更新操作具备事务唯一性,要么全部成功生效,要么完整还原初始状态
2.4 自研差分增量更新与断点续传机制
-
全系补丁默认启用字节级差分增量更新,仅传输文件变更数据块,极大降低远程更新流量开销
-
内置下载进度持久化模块,支持断网、断电、退出中断后无缝接续下载
-
安装阶段支持断点续执行,已完成的差分块、文件操作无需重复执行,提升更新效率
7. Novus OS 更新体系二进制文件头规范(全局冻结|可直接编码)
本节定义 .novu / .npth / .apth / .hotpth 四类更新载体的统一二进制文件头结构。所有结构体强制 packed、4字节对齐、字段偏移永久锁定,用于解析器精准识别文件类型、校验合法性、读取更新策略,杜绝后缀伪造、文件篡改、格式错乱。
核心设计原则:后缀与文件头魔数强绑定、类型字段二次校验、标志位控制行为、全局哈希防篡改、预留位保证向前兼容。
7.1 全局公共定义(全部文件通用|冻结)
// 全局版本冻结
#define NOVUS_UPDATE_HDR_VER_MAJOR 1
#define NOVUS_UPDATE_HDR_VER_MINOR 0
// 文件类型枚举(永久唯一)
#define NOVU_TYPE_FULL 0 // .novu 全量安装包
#define NOVU_TYPE_SYS_PATCH 1 // .npth 系统通用补丁
#define NOVU_TYPE_APP_PATCH 2 // .apth 软件专属补丁
#define NOVU_TYPE_HOT_PATCH 3 // .hotpth 紧急热修复补丁
// 五级更新分级枚举(绑定服务端大表策略)
#define UPDATE_LVL_OPTIONAL 0
#define UPDATE_LVL_RECOMMEND 1
#define UPDATE_LVL_PREVIEW 2
#define UPDATE_LVL_URGENT 3
#define UPDATE_LVL_DEV 4
7.2 四类文件专属魔数(防伪造|一一对应|冻结)
文件头魔数为第一校验依据,后缀仅为系统展示用,解析器以魔数为准,防止手动改后缀伪装补丁。
// 小端内存序、文件存储序统一
#define NOVU_FULL_MAGIC 0x554E5653 // NVUS → .novu
#define NOVU_NPTH_MAGIC 0x50544853 // PTHS → .npth
#define NOVU_APTH_MAGIC 0x41505448 // APTH → .apth
#define NOVU_HOTPTH_MAGIC 0x484F5450 // HOTP → .hotpth
7.3 统一标准文件头结构体(128Byte 固定|四类文件通用)
四类更新文件共用同一套128字节头部布局,仅 magic、file_type、默认 update_level 不同,极大降低解析器代码冗余,同时严格隔离四类载体行为。
typedef struct __attribute__((packed)) {
// 0x00 基础魔数与版本
uint32_t magic; // 四类文件专属魔数
uint16_t ver_major;
uint16_t ver_minor;
// 0x08 文件类型 + 更新分级
uint8_t file_type; // 0=novu 1=npth 2=apth 3=hotpth
uint8_t update_level; // 0~4 对应五级更新通道
uint8_t remote_support; // 1=允许远程下发 0=仅本地手动安装
uint8_t reserved_0;
// 0x0C 全局标志位(位掩码控制更新行为)
uint32_t flag_bits;
// 0x10 版本适配区间
uint64_t target_os_ver; // 目标适配系统版本
uint64_t min_compat_ver; // 最低兼容兜底版本
// 0x20 内容块计数
uint32_t entry_count; // 文件操作项/资源项总数
uint32_t delta_block_count; // 差分块数量(全量包可为0)
// 0x28 各区块文件偏移与长度
uint32_t meta_offset; // 元数据/Manifest 偏移
uint32_t meta_len;
uint32_t table_offset; // 操作表/索引表偏移
uint32_t table_len;
uint32_t data_offset; // 原始数据/差分数据区偏移
uint32_t data_len;
uint32_t snapshot_offset; // 快照回滚哈希表偏移
uint32_t snapshot_len;
// 0x60 全局完整性校验
uint8_t file_sha256[32]; // 整包除签名区外哈希
// 0x80 签名信息
uint32_t sig_offset;
uint32_t sig_len;
// 0x88 补丁唯一ID(16位十六进制ID二进制存储)
uint8_t patch_uuid_bin[8];
// 0x90 预留填充至128字节,向前兼容扩展
uint8_t reserved_fill[24];
} novus_update_header_t;
7.4 全局 Flag 位掩码定义(冻结)
统一位掩码控制各类更新行为,客户端/服务端按位判定策略。
bit0 = 1 开启快照回滚
bit1 = 1 差分增量模式 / 0 全量替换模式
bit2 = 1 支持断点续传
bit3 = 1 支持内核热更新(无需重启)
bit4 = 1 允许覆盖系统只读路径
bit5 = 1 更新后自动刷新桌面/服务
bit6 = 1 远程静默安装模式
bit7 = 1 安全紧急强制兜底模式
bit8~31 保留
7.5 四类文件头部字段差异化绑定规则(永久冻结)
统一结构体 + 差异化固化参数,保证格式统一、行为隔离、层级严谨。
| 文件后缀 | Magic | file_type | 默认 update_level | 核心行为固化 |
|---|---|---|---|---|
| .novu 全量包 | NVUS | 0 | 1(推荐级) | 大版本替换、支持回滚、仅重大迭代使用 |
| .npth 系统补丁 | PTHS | 1 | 1(推荐级) | 系统核心迭代、后台执行、可延后次数管控 |
| .apth 软件补丁 | APTH | 2 | 0(可选级) | 用户态更新、弹窗询问、可永久忽略 |
| .hotpth 热修复 | HOTP | 3 | 3(紧急级) | 最高优先级、静默强制、禁止延后、插队执行 |
7.6 16进制补丁UUID 二进制存储规范
对外文件名:16位大写十六进制字符串
对内文件头:8字节原生二进制存储(16Hex = 64bit)
校验逻辑双向绑定冻结:
-
打包器由SHA256摘要截取前64bit生成唯一ID
-
写入头部
patch_uuid_bin[8] -
同时格式化输出16位大写Hex作为文件名
-
解析器校验:文件名Hex <-> 头部二进制ID 必须一致,不一致直接拒绝安装,判定为非法篡改包
7.7 头部合法性校验流水线(硬件级可靠|冻结流程)
客户端/服务端接收任意更新文件,严格按以下顺序校验,任意一步失败直接丢弃:
-
校验前128字节头部完整性
-
匹配对应魔数,判定真实文件类型
-
校验主次版本兼容
-
校验二进制UUID与文件名一致性
-
校验系统版本适配区间
-
校验全局SHA256完整性
-
校验Ed25519数字签名合法性
-
通过后按 update_level 进入对应更新队列
7.8 区块偏移通用排布规则(四类文件统一)
所有更新文件从偏移0开始排布顺序永久固定:
128B文件头 → Meta元数据区 → 文件操作索引表 → 差分数据表 → 数据正文区 → 快照哈希区 → 签名区
保证解析器线性读取、无需自适应判断,极致降低解析复杂度与BUG率。
3. Novus OS 自研更新体系增强策略规范
基于自研架构迭代优化,新增多项工业级增强策略,完善全场景更新能力,所有扩展规则兼容原有冻结底层结构,无破坏性变更。
3.1 智能空闲时段静默更新策略
为兼顾更新时效性与用户使用体验,自研分时更新调度机制:
-
.hotpth 紧急安全补丁:不受时段限制,即时后台静默修复,优先保障系统安全
-
系统、软件常规更新:自动识别设备空闲、锁屏、夜间低活跃时段,后台静默执行更新
-
支持用户自定义免打扰时段,期间禁止非紧急类更新触发
3.2 更新失败智能重试与设备自愈降级策略
-
单次更新异常失败后,系统自动触发3次梯度重试,重试间隔逐级递增,规避临时环境异常问题
-
多次重试持续失败,自动标记该补丁与当前设备不兼容,服务端自动拉黑停止推送
-
本地自动留存故障日志、更新快照、异常信息,同步上报服务端,形成运维闭环
3.3 设备维度精细化灰度放量机制
服务端统一大表内置完整灰度管控逻辑,支撑版本平稳迭代:
-
支持按设备ID、设备批次、硬件机型、系统版本、用户分组精细化灰度推送
-
支持百分比放量更新,小范围验证稳定后逐步全量铺开,规避批量BUG风险
-
开发者预览、内测版本支持白名单专属推送,仅授权设备可获取更新
3.4 系统后台驻留更新服务(完整后台能力闭环)
Novus OS 更新体系内置系统级常驻后台更新守护服务,独立于前台UI、独立生命周期、低功耗驻留系统内核服务层。所有更新检测、版本比对、下载预载、静默安装、状态同步、撤回预处理全部支持后台无感知运行,支持前台退出、锁屏待机、用户离线状态下持续完成更新全流程。
3.4.1 后台服务核心属性(系统常驻级)
-
内核级守护驻留:更新服务为系统核心自启动服务,开机自动挂载、后台长期常驻、不受前台应用退出影响,无闪退、无后台冻结,保障更新链路持续可用
-
低资源占用调度:后台空闲休眠、轮询时段轻量化唤醒,仅版本比对与增量校验时瞬时占用CPU,常态内存占用极低,不影响整机性能与续航
-
独立任务生命周期:下载、校验、安装、回滚、残留清理均为后台独立任务,前台关闭设置界面、切换用户、锁屏待机不中断任务执行
-
断电续任务:后台所有更新任务状态持久化写入系统更新注册表,重启后自动恢复未完成任务断点,接续执行剩余流程
3.4.2 后台完整可执行能力清单
所有更新核心逻辑完全后台化,无需前台介入:
-
后台静默轮询检测:常驻后台定时轮回查询远程统一大表,自动匹配本机适配补丁、分级筛选更新队列
-
后台静默下载预载:空闲时段后台自动下载差分补丁包,下载完成静默缓存,等待最佳安装时机,实现“开机即用最新版本”
-
后台静默校验鉴权:后台自动完成魔数校验、UUID双向校验、SHA256完整性校验、Ed25519签名校验,非法包后台自动丢弃并日志归档
-
后台静默安装执行:紧急安全补丁、后台许可的稳定补丁可完全后台静默安装,无弹窗、无打扰、无需用户确认
-
后台快照备份预处理:检测到待更新任务时,后台提前异步生成增量快照,前置备好撤回环境,更新失败可瞬时回滚
-
后台残留自动清理:更新完成、更新撤回、任务终止后,后台自动清理差分缓存、临时文件、无效配置,保持系统整洁
-
后台状态上报同步:安装结果、撤回结果、失败日志、设备版本基线后台自动同步至远程大表,完成运维闭环
-
后台自愈重试降级:更新异常后台自动梯度重试,多次失败后台自动标记设备兼容状态、停止推送问题补丁
3.4.3 后台任务场景适配规则
-
前台活跃场景:仅执行检测、下载、预缓存任务,延迟高IO安装任务,避免占用系统资源、造成卡顿
-
用户空闲/锁屏场景:自动放行全部后台安装、回滚、清理任务,全速完成更新迭代
-
低电量/流量受限场景:后台智能节流,暂停大体积补丁下载,仅保留紧急安全热修复流程,兼顾续航与资费
-
多用户切换场景:后台服务全局唯一,不受用户切换影响,跨用户持续完成系统级更新
3.4.4 后台权限与安全隔离机制
-
后台更新服务拥有系统专属更新权限,仅可操作更新指定文件目录与配置项,禁止越权篡改用户私有数据,权限最小化管控
-
所有后台操作全程日志溯源,记录操作时间、任务ID、执行步骤、结果状态,可审计、可追溯、可排查异常
-
非授权第三方程序禁止劫持、终止、篡改后台更新服务,保障更新链路安全不被劫持
3.4.5 后台与五级更新分级联动策略
-
level_urgent 紧急补丁:后台最高优先级插队执行,无视空闲策略、无视节流限制,即刻静默修复
-
level_recommend 推荐补丁:后台空闲自动下载、锁屏静默安装,延后次数由后台自动计数管控
-
level_preview 预览补丁:后台仅检测、不下发自动安装,等待用户前台确认后再执行后台任务
-
level_optional 可选补丁:后台仅版本比对、静默展示列表,不主动下载、不后台安装
-
level_dev 开发补丁:默认后台隐藏,仅开发者模式解锁后后台可见可更新
3.5 更新撤回与卸载回滚子系统(工业级完整闭环)
3.5 更新撤回与卸载回滚子系统(工业级完整闭环)
Novus OS 原生支持已完成更新的可逆撤回能力,支持所有增量补丁与小版本迭代更新一键卸载、还原更新前状态、自动清理更新残留、恢复原始文件权限与注册表配置,适配用户误更新、版本兼容异常、功能迭代不适配等场景,形成「更新-生效-撤回-复原」完整闭环。
本机制为系统原生底层能力,无需重装系统、不丢失用户数据、不破坏应用环境,区分「可撤回更新」与「永久固化更新」,权限分级可控、日志全程溯源。
3.5.1 撤回适用范围界定(永久冻结规则)
四类更新载体撤回权限差异化管控:
-
.apth 软件专属补丁:完全支持一键撤回,卸载后恢复软件旧版本、还原旧配置,无任何残留
-
.npth 系统通用累积补丁:支持常规小迭代更新撤回,仅重大核心基线更新固化不可撤回
-
.hotpth 紧急安全热修复补丁:默认禁止用户主动撤回,防止安全漏洞复现;仅系统底层故障自愈时自动静默回滚
-
.novu 全量大版本包:支持跨版本回滚至上一稳定大版本,保留用户数据分区,还原系统基线环境
3.5.2 更新快照增量存档机制(撤回核心底层)
系统摒弃全量备份冗余方案,采用增量快照存档,仅备份更新被修改、替换、删除的原始文件与配置,节省磁盘空间同时保证100%可复原:
-
每次更新成功写入后,自动生成「更新快照存档」,绑定当前补丁16进制唯一UUID
-
快照内容包含:原始文件二进制备份、文件权限掩码、目录结构、系统配置快照、服务启动项状态
-
快照生命周期可控:常规补丁默认保留30天快照,紧急安全补丁永久留存快照,大版本快照保留60天
-
过期快照自动后台轻量化清理,仅保留更新日志与版本溯源记录,不影响系统运行
3.5.3 系统更新索引注册表(撤回溯源核心)
系统内置专属更新索引数据库,记录每一条已安装更新的完整元数据,为撤回功能提供精准索引:
单条更新索引固定字段:
-
补丁16进制唯一UUID、文件后缀类型、更新分级等级
-
安装时间、安装状态、是否成功生效、是否已撤回
-
关联修改文件列表、差分块映射表、快照存档存储路径
-
可撤回标记、固化锁定标记、过期清理时间戳
-
更新版本前后基线号、适配系统版本区间
所有已安装更新在系统更新列表可视化展示,支持按时间、类型、版本筛选,用户可自主选择指定更新单独撤回,支持精准单条回滚、不影响后续其他更新。
3.5.4 分层撤回执行流程(原子事务级冻结)
撤回操作全程事务化,遵循「要么完全撤回、要么原样保留」的原子原则,杜绝半撤回异常状态:
-
前置校验:校验补丁合法性、快照完整性、当前系统基线匹配度,检测是否存在依赖后置更新
-
依赖检测:若当前更新被后续高阶更新依赖,弹窗提示依赖关系,支持「连带撤回后续增量更新」或「禁止单独撤回」
-
文件复原:依据增量快照覆盖还原原始文件、恢复权限、修复目录结构
-
配置回滚:还原系统服务项、开机自启、环境变量、应用配置旧状态
-
残留清理:自动删除本次更新新增冗余文件、无效注册表项、废弃差分缓存
-
状态刷新:静默刷新系统核心服务、桌面环境、应用挂载状态,无需冗余重启(内核级变更按需提示重启)
-
日志归档:记录撤回时间、操作主体、回滚结果,同步更新索引数据库状态
3.5.5 特殊锁定与豁免策略
-
安全补丁锁定策略:.hotpth 紧急安全修复永久锁定用户撤回入口,杜绝人为关闭安全防护导致漏洞暴露
-
基线固化策略:系统重大基线累积更新自动标记为固化版本,禁止普通用户撤回,保障系统底层稳定性
-
开发者豁免策略:开发者模式下可解锁全部撤回权限,支持任意版本回滚,适配调试与二次开发场景
3.5.6 服务端同步撤回策略
-
客户端撤回操作自动同步上报远程统一大表,服务端更新设备版本基线状态
-
针对批量设备灰度异常更新,服务端可远程下发「批量撤回指令」,全网统一回滚问题补丁
-
已撤回的问题补丁自动降级灰度放量比例,严重问题补丁全网下架、停止推送
3.5.7 撤回能力差异化总表
| 补丁类型 | 可用户撤回 | 可自动自愈回滚 | 快照保留周期 | 依赖联动策略 |
|---|---|---|---|---|
| .hotpth 紧急热修复 | 否(锁定保护) | 是(故障自愈) | 永久保留 | 禁止单独回滚,保障安全基线 |
| .npth 系统累积补丁 | 是(非基线版) | 是 | 30天 | 检测后续依赖,支持连带回滚 |
| .apth 软件补丁 | 是(完全开放) | 是 | 30天 | 独立应用隔离,无系统依赖 |
| .novu 全量版本包 | 是(大版本回退) | 是 | 60天 | 整体基线还原,清空增量迭代记录 |
3.4 稳定版更新延后管控策略
-
level_recommend 稳定推荐更新,支持用户自主延后1-3次更新,适配临时工作场景需求
-
延后次数耗尽后自动强制安装,避免设备版本长期滞后、漏洞堆积、兼容性断层问题
-
紧急安全热修复补丁不支持延后、忽略、拦截,保障系统安全底线
4. Novus OS 自研更新体系能力总览表
| 系统能力模块 | Novus OS 自研实现方案 | 能力状态 |
|---|---|---|
| 紧急安全漏洞修复 | .hotpth 最高优先级静默热修复体系 | 已完全落地冻结 |
| 系统核心累积迭代 | .npth 系统通用增量补丁体系 | 已完全落地冻结 |
| 用户软件独立更新 | .apth 应用软件专属增量补丁体系 | 已完全落地冻结 |
| 系统大版本升级 | .novu 全量安装包兜底方案 | 已完全落地冻结 |
| 远程统一更新管控 | 全局唯一大表 + 客户端后台轮询架构 | 已完全落地冻结 |
| 五级精细化更新分级 | 紧急/推荐/预览/可选/开发 全通道体系 | 已完全落地冻结 |
| 字节级增量差分更新 | 自研Delta差分数据块更新机制 | 已完全落地冻结 |
| 原子更新与事务回滚 | 快照备份+全自动异常回滚体系 | 已完全落地冻结 |
| 断点续传续更能力 | 下载与安装进度持久化机制 | 已完全落地冻结 |
| 智能时段调度更新 | 空闲识别+免打扰时段自定义策略 | 待编码落地 |
| 精细化灰度推送管控 | 设备维度百分比放量+白名单机制 | 已支持 |
| 更新失败自愈与重试 | 梯度重试+设备兼容拉黑+日志上报闭环 | 待编码落地 |
5. Novus OS 自研更新体系定位总结
Novus OS 更新体系为100%纯自研、完全独立知识产权、工业级稳定的操作系统原生更新架构,无任何第三方架构依赖,完全适配自研系统生态:
-
搭建了独有的「三类补丁格式+五级更新通道」分层更新模型,精准区分安全修复、系统迭代、软件更新场景,权责隔离、层级清晰。
-
采用轻量化服务端大表管控+客户端极简执行架构,兼顾批量运维效率与终端系统稳定性。
-
融合自研差分增量、原子事务回滚、断点续更、智能调度、灰度自愈核心能力,形成安全、高效、可控、可调试的完整更新生态闭环。
6. 后续开发落地清单
-
落地客户端智能空闲时段识别与分时更新调度逻辑
-
实现更新失败梯度重试、自愈检测、设备兼容拉黑机制
-
完善服务端大表设备维度百分比灰度推送、放量管控逻辑
-
完成稳定版更新延后次数统计、阈值管控、强制更新策略模块开发