看似先进的差分更新技术, 却并不完全是为你好

三易生活2024-07-19 23:07:02  122

就在最近这几天,微软方面发布了一个新的Windows 11测试版系统Dev Channel build 26120。除了一如既往的各种Bug修复和细节改善之外,这个版本的Windows还正式启用了一款名为“检查点累积更新”的新功能。

但值得注意的是,在Windows系统从诞生至今的几十年时间里,它仅仅只更调整过三次系统更新的机制。

几十年没变的Windows更新机制,近年来第二次大改

在最初很长很长的一段时间里,Windows使用的都是被称为“服务包”的更新机制。在当时,每一个更新安装包之间都是相对独立的。打个比方,假设某个Windows版本(比如Windows xp)自最初发布之日、到用户安装的那一天为止,已经发布了100个更新补丁,那么在用户安装完系统之后,就可能需要下载100个更新包,并且一个一个地安装完毕,才能让自己的系统补丁真正达到最新的状态。

事实上,但凡经历过Windows 9x、包括Windows XP时期的用户可能会记得,在当时给电脑“更新一次系统补丁”,很可能就意味着要消耗一整天的时间。

后来随着Windows 10、Windows 11的到来,微软方面推出了“积累更新”功能。在这个理念下,微软会定期发布名为“积累更新”的补丁包,而且每一个新版的积累更新都会包括之前所有版本里的变化。

这样一来,即便用户安装的是最初的RTM版本系统(比如Windows 11的21H1),那么在理论上来说,也只需要安装一到两个积累更新包,就能升级到最新的24H2版本,并拥有迄今为止全部的安全和功能补丁。

很显然,积累更新机制大大改善了Windows系统的更新效率、降低了更新安装的难度。但它依然有一个缺点,那就是对于本就正常使用电脑、而且经常更新系统的用户来说,“新版积累更新包含旧版全部内容”的设计就意味着他们实际上会浪费一部分网络流量和时间,去下载实际上可能早就安装过的补丁。

那么有没有一种更新设计,可以同时兼顾“很久才更新一次系统的用户”与“经常主动更新的用户”两者的最佳利益呢?有的,这便是微软此次发布“检查点积累更新”的意义。

在这种新的更新机制里,用户每安装一个系统更新,都将形成一个被称为“检查点”的特征码。无论这个更新是积累更新、独立更新,甚至是用户手动下载补丁包、离线安装的更新,都会被“检查点”机制所记录。

之后当微软再推出新的积累更新包时,服务器就会通过检测每一台电脑里的“检查点”,知道它实际上还需要安装哪些补丁,并专门为其定制下载内容,只下载那些没有安装过的补丁(而不是完整的积累包)。如此一来,从理论上来说,新的更新机制将可以显著减小补丁下载、安装时的流量和时间消耗。

检查点积累更新很好,但也不会造福所有的用户

但这是否就意味着这种新的Windows更新包机制,就没有任何缺点了呢?答案显然是否定的。

一方面,但凡折腾过近几代Windows系统、特别是参与过insider测试的用户可能都知道,Windows更新的意义实际上并不只是修复Bug和增添新功能。对于本就不稳定的测试版系统来说,过去的那种更新机制其实还有别的意义,正因为它包含了“用户已安装过的全部补丁”,所以一旦系统本身出现损坏时、更新操作往往可以起到修复的重要作用。

手动下载、安装更新包看起来麻烦,但有时候它能有很大的作用

相比之下,当新的“检查点积累更新”方式不再下载用户之前已经安装过的补丁内容时,就可能会失去这种修复缺损系统的额外作用。当然,只能说有这种可能,因为目前尚不清楚微软“检查点”机制的具体工作原理。假设它包含了对已安装更新的完整性检查,那么还是有可能保留这种“系统自我修复”的潜在功用的。但如果真的只是识别此前的更新记录,就确实可能会出现我们所担心的这个问题了。

另一方面,微软最新版的这种更新机制,明显是专注于优化“消费者用系统更新功能,从官方服务器上下载更新”的体验。但问题就在于,Windows系统并不是只有这一种更新方式,它本身也支持离线安装更新包。不管是最早的功能服务包、还是后来的积累更新程序,微软方面都允许用户手动通过官网来下载,然后自行拷贝给那些不联网的机器安装更新。

但很显然的是,最新的“检查点积累更新”技术是不适用于这种手动安装方式的,因为届时不同的电脑真正需要下载的更新包内容可能都会不同。因此微软对于那些依然还有手动安装需求的用户,最大的可能是继续在官网提供“全量更新包”的下载。这当然可以保证离线更新功能继续起作用,但它可就没有省流量、省时间的诸多好处了。

差分更新技术,行业进步还是控制收紧?

值得注意的是,类似的现象并非个例,而是目前在操作系统和软件行业正普遍发生的事情。不仅是Windows系统的更新机制,在许多朋友更熟悉的Android系统里,大量的机内应用商店以及App内部的热更新,现在都采用的是这种“差分更新”机制,也就是它们只会从服务器上下载最适合当前硬件、且只需要更新的那一部分代码。

Android的APP Bundle应用格式也是类似技术的一种体现

但是如果用户想要自己去下载或备份安装包,那么他们下载和安装的“完整版”程序Apk里,就很可能会包含大量对当前设备无用的部分。其中包括针对其他SoC的优化代码、针对低分辨率机型的图片素材,甚至是已经被废弃的旧版运行库等。换句话说,手动安装和更新的应用,可能会比联网自动更新的占据更多的存储空间,甚至可能在稳定性和执行效率上还存在微妙的差异。

很显然对于用户来说,这样的现象自然是不利的,但另一方面这就是厂商们相当于已经给出了选择。只要用户选择更“省事”的内置应用商店、选择应用自带的热更新,就能享受到新技术带来的好处。至于说这里是不是有厂商的有意引导、控制软件下载和运营渠道的意图,就只能说是“莫须有”了。

【本文图片来自网络】

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/923646.html
0
最新回复(0)