Mises à jour de Windows à l’aide de différentiels vers l’avant et vers l’arrière

Pour garantir la cohérence et la simplicité des mises à jour de qualité mensuelle de Windows 10. Dans le cas d’une plate-forme de système d’exploitation telle que Windows 10, qui reste en prise en charge sur plusieurs ans, la taille des mises à jour de qualité mensuelle peut rapidement augmenter considérablement, ce qui a un impact direct sur la consommation de bande passante du réseau.

Pour le moment, ce problème est résolu par l’utilisation des téléchargements rapides, dans lesquels les téléchargements différentiels pour chaque fichier modifié dans la mise à jour sont générés en fonction des révisions historiques sélectionnées et de la version de base. Dans cet article, nous introduisons une nouvelle technique de création de packages de mise à jour de logiciels compacts qui s’appliquent à toutes les versions de la version de base, puis décrivent la façon dont les mises à jour de qualité Windows 10 utilisent cette technique.

Conditions générales

Les termes généraux suivants s’appliquent à l’ensemble du document:

  • Version de base: une version majeure du logiciel avec des modifications importantes, telles que Windows 10, version 1809 (Windows 10 Build 17763,1)

  • Révision: les versions mineures intermédiaires entre les versions majeures de version, telles que KB4464330 (Windows 10 Build 17763,55)

  • Fichiers de stockage de correctifs de base (fibres de polyesters de base): fichiers de stockage de correctifs contenant des fichiers binaires ou des fichiers complets

Introduction

Dans cet article, nous introduisons une nouvelle technique qui peut générer des mises à jour logicielles compactes pour toute paire de révisions de destination/destination. Pour ce faire, le calcul transmet la variable différentielle d’un fichier modifié à partir de la version de base et de la version inverse de la version de base. Les différentiels vers l’avant ou vers l’arrière sont alors empaquetés comme une mise à jour et distribués aux points de terminaison exécutant le logiciel à mettre à jour. Le contenu du package de mise à jour peut être symbolisant comme suit:

Représentation symbolique du contenu de package de mise à jour. zone contenant deux expressions: une transformation de sous-zéro Delta vers la sous-N

Les points de terminaison disposant de la version de base du fichier(v 0) hydratent la révisioncible(v N) en appliquant une transformation simple:

Équation: V sous zéro + Delta sur la transformation de sous-zéro

Les points de terminaison ayant la révision N du fichier (VN), hydratez la révision cible (vR) en appliquant les transformations suivantes:

Équation 1: V sous n + Delta sous n et transformation en 0 = V Dim 0; Équation 2: V sous zéro + Delta sous 0 transformation en R = V Sub

Les points de terminaison conservent les écarts de la version de logiciel sur laquelle ils sont activés, de telle sorte qu’ils peuvent être utilisés pour l’hydratation et l’application de la mise à jour suivante.

À l’aide d’une planification courante, cette technique génère un package de mise à jour unique présentant de nombreux avantages:

  • Taille compacte

  • Applicable à tous les plannings de référence

  • Simplicité de création

  • Installation efficace

  • Redistribuable

Historique des mises à jour de Windows 10 qualité (Windows 10, version 1803 et les versions plus anciennes prises en charge de Windows 10) sont optimisées à l’aide du téléchargement rapide. Le téléchargement rapide est optimisé de telle sorte que la mise à jour des systèmes Windows 10 télécharge le nombre minimum d’octets. Pour ce faire, il est possible de générer des écarts pour chaque fichier mis à jour en fonction des révisions de base historiques sélectionnées du même fichier + sa version de base ou RTM.

Par exemple, si la mise à jour de la qualité du mois d’octobre a mis à jour le bloc-notes, la mise à jour du fichier bloc-notes. exe, différentielle pour le fichier bloc-notes. exe passe de septembre à octobre à octobre. Toutes ces différences sont stockées dans un fichier de stockage de correctif (fibres multifonctions, également appelées «télécharger les fichiers») et sont hébergés ou mis en cache sur Windows Update ou d’autres serveurs de distribution ou de gestion des mises à jour (par exemple, Windows Server Update Services (WSUS), System Center Configuration Manager, ou un serveur de distribution ou de gestion des mises à jour non Microsoft qui prend en charge les mises à jour rapides. Un appareil tirant parti des mises à jour rapides utilise le protocole réseau pour déterminer les différentiels optimaux, puis télécharge uniquement ce qui est nécessaire pour les points de terminaison de distribution de mise à jour.

Le Flipside de téléchargement rapide est que la taille des fichiers de polyester peut être très importante en fonction du nombre de lignes de base historiques par rapport auxquelles les différentiels ont été calculés. Le téléchargement et la mise en cache de grands fichiers de distribution de contenus multidestinataires vers des serveurs de distribution de mises à jour en local ou à distance sont problématiques pour la plupart des organisations, de sorte qu’ils ne peuvent pas utiliser les mises à jour rapides pour maintenir leur parc d’appareils Windows 10 à jour. Par ailleurs, en raison de la complexité de la génération de différentiels et de la taille des fichiers exportés qui doivent être mis en cache sur les serveurs de distribution de mise à jour, il est uniquement possible de générer des fichiers de téléchargement rapide pour les plannings de référence les plus courants, donc les mises à jour rapides sont uniquement applicable aux lignes de base sélectionnées. Pour finir, le calcul de la différence est coûteux en termes d’utilisation de la mémoire système, en particulier pour les systèmes à faible coût, en ayant un impact sur la possibilité de télécharger et d’appliquer une mise à jour en toute transparence.

Dans les sections suivantes, nous décrivons le fonctionnement des mises à jour de qualité de Windows 10 en fonction de cette technique basée sur les différentiels vers l’avant ou vers l’arrière pour les versions ultérieures de Windows 10 et Windows Server afin de résoudre les problèmes liés aux téléchargements rapides.

Conception de haut niveau

Package de mise à jour

Les packages de mise à jour de Windows 10 Quality contiennent des écarts de mise à jour de qualité pour les plannings de mise à jour de qualité (∆ RTM → N) et les écarts vers la version finale (∆ N → RTM) pour chaque fichier qui a changé depuis RTM. À l’aide de la version RTM comme référence, nous vous assurons que tous les périphériques présentent une charge utile identique. Les métadonnées de package de mise à jour, les manifestes de contenu et les différences directes et inverses sont empaquetées dans un fichier CAB (. cab). Ce fichier. cab et la logique d’applicabilité seront également encapsulés au format Microsoft Standalone Update (. msu).

Dans certains cas, les nouveaux fichiers sont ajoutés au système lors de la maintenance. Ces fichiers n’ont pas de planning de référence RTM, par conséquent, les différentiels suivants ne peuvent pas être utilisés. Dans ces scénarios, les différentiels null seront utilisés pour gérer la maintenance. Les écarts de valeurs NULL sont une version légèrement compactée et optimisée des fichiers binaires complets. Les packages de mise à jour peuvent avoir les différentiels vers l’avant ou vers l’arrière, ou un écart nul de n’importe quel binaire donné. L’image suivante symbolisant le contenu d’un programme d’installation de Windows 10 Quality Update:

Zone extérieure étiquetée. msu contenant deux sous-zones: 1) logique d’applicabilité, 2) zone intitulée. cab qui comporte quatre sous-cases: 1) de mise à jour des métadonnées, 2) la transformation sous la version RTM (fichier 1, fichier2, etc.) et 4) Delta Sub N. etc.)

Hydratation et installation

Lorsque les contrôles d’applicabilité standard sont exécutés sur le package de mise à jour et sont déterminés comme applicables, l’infrastructure de maintenance des composants Windows alimente les fichiers complets lors de la préinstallation, puis effectue le processus d’installation habituel.

Vous trouverez ci-dessous une séquence d’activités de haut niveau que l’infrastructure de maintenance des composants sera exécutée dans une transaction pour terminer l’installation de la mise à jour:

  • Identifiez tous les fichiers nécessaires à l’installation de la mise à jour.

  • Hydrater tous les fichiers nécessaires à l’aide delaversion actuelle (v n) du fichier,dela valeur différentielle inverse (v N--->RTM) du fichier à la mise à jour de laversionRTM/de la version de base et de l’opération différentielle (V RTM--->R) à partir de la mise à jour de fonctionnalité RTM/version de base vers la version cible. Par ailleurs, utilisez une alimentation différentielle null pour hydrater les fichiers compressés null.

  • Dépassez les fichiers hydratés (fichier complet), les différentiels vers l’avant (dans le dossier «f») et les écarts inverses (sous le dossier «r») ou les fichiers compressés null (sous «n») dans le magasin de composants (dossier%windir%\WinSxS).

  • Résoudre les dépendances et installer les composants.

  • Nettoyer l’état antérieur (VN-1); l’état précédent VN est conservé pour la désinstallation, la restauration ou la réparation.

Hydratation résiliente

Pour garantir la résilience pour le stockage des composants endommagés ou les fichiers manquants qui pourraient se produire en raison de la susceptibilité de certains types de matériel à la corruption du système de fichiers, un service de réparation de corruption a traditionnellement été utilisé pour récupérer le magasin de composants. automatiquement («réparation automatique de corruption») ou à la demande («réparation manuelle de la corruption») à l’aide d’une source de réparation locale ou en ligne. Ce service sera toujours en mesure de réparer et de récupérer du contenu pour l’hydratation et de procéder à une mise à jour, si nécessaire.

En cas de détection de corruption lors des opérations de mise à jour, la réparation automatique de corruption démarre normalement et utilise le fichier de stockage de correctifs de base publié sur Windows Update pour chaque mise à jour pour corriger les manifestes endommagés, les écarts binaires ou les fichiers complets. Les fichiers de stockage de correctifs de base ne contiennent pas de différentiels et de fichiers complets pour chaque composant mis à jour. Le hachage est vérifié dans les fichiers de réparation.

La réparation de corruption utilise le manifeste du composant pour détecter les fichiers manquants et obtenir des hachages pour la détection de corruption. Lors de l’installation de la mise à jour, les nouveaux indicateurs de Registre pour chaque étape différentielle sur l’ordinateur seront définis. Lorsque la réparation d’une corruption automatique s’exécute, elle analyse les fichiers en attente à l’aide des fichiers manifeste et différentielle en utilisant les indicateurs. S’il est introuvable ou vérifié, il est ajouté à la liste d’endommagements à réparer.

Réparation tardif de la corruption automatique

«Une réparation paresseuse automatique de corruption» s’exécute pendant les opérations de mise à jour pour détecter les fichiers. Lors de l’application d’une mise à jour, en cas d’échec de l’alimentation d’un fichier, une réparation «paresseuse» automatique de corruption automatique démarre, identifie le fichier binaire ou différencié endommagé, puis l’ajoute à la liste d’endommagements. Par la suite, l’opération de mise à jour continue dans la mesure du possible, de telle sorte que la réparation «paresseuse» de corruption automatique peut recueillir autant de fichiers endommagés que possible. À la fin de la section hydratation, la mise à jour échoue et la réparation de la corruption automatique démarre. La réparation de corruption automatique s’exécute comme d’habitude et à la fin de son fonctionnement, ajoute la liste d’endommagement générée par une réparation de corruption automatique de «Lazy» en haut de la nouvelle liste pour réparation. La réparation de corruption automatique répare les fichiers dans la liste d’endommagement et l’installation de la mise à jour réussira lors de la prochaine tentative.