Contents
  1. 1. 一个文件的更新
  2. 2. 全量更新
  3. 3. 增量(Delta)更新
  4. 4. 快速(Express)更新
  5. 5. 质量(Quality)更新
  6. 6. 各种更新方式的比较
  7. 7. 参考阅读

2018年8月微软宣布了新的Windows更新设计质量(Quality)更新,我们来回顾一下Windows更新的格式变化来看看能给我们什么启发。

一个文件的更新

针对一个文件的更新,通常有两种方式,一个是整个文件,一个是补丁

整个文件 补丁
大小
适用性 可以更新任何版本 只能更新一个版本

假设我们只有一个文件,并且这个文件的初始主版本是F0,之后每个月发布一个更新,分别是F1,F2,F3(这个月没有任何变化,所以F3==F2),F4和F5。那我们就会有如下的更新。

更新 这个文件 补丁(主版本) 补丁(1月) 补丁(2月) 补丁(3月) 补丁(4月)
1月 F1 F0到F1
2月 F2 F0到F2 F1到F2
3月
4月 F4 F0到F4 F1到F4 F2到F4
5月 F5 F0到F5 F1到F5 F2到F5 F4到F5

下面我们扩展到多个文件的情况,假设我们系统的初始主版本是M0,之后每个月发布一个更新,分别是M1,M2,M2(这个月没有任何变化),M4和M5。

全量更新

全量更新最简单,它就是包含从主版本M0以来所有变化的文件,这就保证了无论你现在机器上装的是什么版本,你都能成功的更新到最新的版本。所以更新服务器上放的东西就如下所以。请注意在3月和2月的更新服务器上放的东西是一样的。Windows全量更新的大小大概是1G。

全量更新 服务器上的内容
1月 M1-M0
2月 M2-M0
3月 M2-M0
4月 M4-M0
5月 M5-M0

增量(Delta)更新

这里增量(Delta)是文件级别的,不是字节级别的。就是说增量(Delta)和补丁没关系。增量更新是全量更新的一个缩减版本,就是包含了从上一个版本以来所有变化的文件。Windows增量更新的大小大概是300M到500M。这样只要用户的版本一直是保持最新的,就能用较小的更新大小更新到下一个版本了。

增量更新 服务器上的内容
1月 M1-M0
2月 M2-M1
3月
4月 M4-M2
5月 M5-M3

快速(Express)更新

快速(Express)更新是在全量更新的基础上加上了从最开始到最新版本的补丁。Windows通常补丁的大小是150M到200M。这样大部分情况都能找到针对某个客户端的补丁,从而实现通过补丁的方式来更新,更少的网络传输。如果你装了不是每月补丁的东西(比如hotfix补丁)那么就需要回退到全量更新的方式来更新。

快速更新 服务器上的内容
1月 M1,M1-M0补丁
2月 M2,M2-M0补丁,M2-M1补丁
3月 M2,M2-M0补丁,M2-M1补丁
4月 M4,M4-M0补丁,M4-M1补丁,M4-M2补丁
5月 M5,M5-M0补丁,M5-M1补丁,M5-M2补丁,M5-M4补丁

质量(Quality)更新

质量(Quality)更新包含两个部分:

  • 从初始版本到现在的补丁,我们叫它正向补丁
  • 从现在版本到初始版本的补丁,也就是反向补丁

这两个补丁的大小大概是250M。对于客户端来说,每次更新,都会用上次更新中的那个反向补丁把系统回退到初始状态,然后再用这次的正向补丁来升级。

质量更新 服务器上的内容
1月 M1-M0补丁,M0-M1补丁
2月 M2-M0补丁,M0-M2补丁
3月 M2-M0补丁,M0-M2补丁
4月 M4-M0补丁,M0-M4补丁
5月 M5-M0补丁,M0-M5补丁

现在质量(Quality)更新已经取代了之前的所有的更新方式,成为唯一的更新方式。

各种更新方式的比较

全量更新 增量更新 快速更新 质量更新
更新成功前提 总能成功 只有当前系统装了上次更新才能更新成功 总能成功,因为有全量更新作为退路 总能成功
服务器端存储 大(大概1G) 全量的1/3到1/2(300M-500M) 体积比全量更新大,但是平均网络带宽只需要全量更新的1/7到1/5 全量的1/3
和服务器交互 较少 多,客户端需要量身定制下载什么
对缓存友好 不太友好
服务器端逻辑 简单 简单 复杂 简单

参考阅读

本文参考了下面这些文章:

Survey of Windows update formats: The Full update
Survey of Windows update formats: The Delta update
Survey of Windows update formats: The Express update
Survey of Windows update formats: The Quality update, which obsoletes all the others
Quality updates: Consequences for rogue-patched binaries
What’s next for Windows 10 and Windows Server quality updates
Windows 10 quality updates explained and the end of delta updates

Contents
  1. 1. 一个文件的更新
  2. 2. 全量更新
  3. 3. 增量(Delta)更新
  4. 4. 快速(Express)更新
  5. 5. 质量(Quality)更新
  6. 6. 各种更新方式的比较
  7. 7. 参考阅读