정방향 및 역방향 차등을 사용 하 여 Windows 업데이트

Windows 10 월간 품질 업데이트는 일관성과 단순성을 보장 하기 위해 이전에 릴리스된 모든 수정 내용을 포함 하 여 누적 됩니다. 여러 해에 대 한 지원이 유지 되는 Windows 10과 같은 운영 체제 플랫폼의 경우 월간 품질 업데이트의 크기를 빠르게 증가 시킬 수 있으므로 네트워크 대역폭 소모에 직접적인 영향을 미칩니다.

현재이 문제는 업데이트에서 변경 된 모든 파일에 대 한 차등 다운로드가 선택한 기록 수정 내용 및 기본 버전을 기준으로 생성 되는 빠른 다운로드를 사용 하 여 처리 됩니다. 이 문서에서는 기본 버전의 모든 버전에 적용 되는 압축 소프트웨어 업데이트 패키지를 빌드하는 새로운 기술을 소개 하 고 Windows 10의 품질 업데이트에서이 기술을 사용 하는 방법에 대해 설명 합니다.

일반 용어

이 문서 전체에 적용 되는 일반적인 용어는 다음과 같습니다.

  • 기본 버전: windows 10 버전 1809 (Windows 10 빌드 17763.1)와 같이 중요 한 변경 사항이 있는 주요 소프트웨어 릴리스
  • 수정: KB4464330 (Windows 10 빌드 17763.55)와 같은 주 버전 릴리스 간 보조 릴리스
  • 기본 버전이 아닌 패치 저장소 파일 (기본 버전이 없음 PSF): 전체 바이너리 또는 파일을 포함 하는 패치 저장소 파일

소개

이 문서에서는 모든 원본/대상 수정 쌍에 최적화 된 압축 소프트웨어 업데이트를 생성할 수 있는 새로운 기술을 소개 합니다. 이는 기본 버전에서 변경 된 파일의 미분을 계산 하 고 역방향 차등을 기본 버전으로 다시 전달 하는 것입니다. 이후 정방향 및 역방향 차등은 업데이트로 패키지 되며 업데이트 될 소프트웨어를 실행 하는 끝점에 배포 됩니다. 업데이트 패키지 콘텐츠는 다음과 같은 기호로 인식 될 수 있습니다.

업데이트 패키지 콘텐츠의 기호 표현입니다. 두 개의 식을 포함 하는 상자: 델타 하위 0에 하위 N으로 변형 하 고 그 다음 델타 하위 N 번을 하위 0으로 변환 합니다.

기본 버전의 파일 (v 0)이 있는 끝점은 간단한 변환을 적용 하 여 대상 개정 (vN)을 hydrate.

수식: V sub zero + 델타 하위 0에 하위 N = V 하위 n으로 변형

파일의 개정이 N 인 (v n) 인 끝점은 다음 변형 집합을 적용 하 여 대상개정(v R)을 hydrate.

수식 1: V 하위 n + 델타 하위 n에 0 = V sun 0으로 변환 수식 2: V 하위 0 + 델타 하위 0 변환-R = V 하위 R

끝점은 해당 사용자가 사용 중인 소프트웨어 개정에 대 한 역방향 차등 hydrating 유지 되므로 다음 수정 버전 업데이트를 적용 하 고 적용할 수 있습니다.

이 기술은 일반적인 기준을 사용 하 여 다양 한 혜택을 제공 하는 단일 업데이트 패키지를 생성 합니다.

  • 압축 크기
  • 모든 초기 계획에 적용
  • 간단 하 게 작성
  • 효율적인 설치
  • 재배포

지금 까지는 빠른 다운로드를 사용 하 여 windows 10, 버전 1803 및 이전에 지원 되는 Windows 10 버전 업데이트의 다운로드 크기가 최적화 되었습니다. 빠른 다운로드는 Windows 10 시스템 업데이트에서 최소 바이트 수를 다운로드 하도록 최적화 되어 있습니다. 이는 같은 파일의 선택 된 기록 기준 수정 내용 (기본 또는 RTM 버전)에 따라 업데이트 된 모든 파일에 대해 차등 생성을 수행 하 여 달성할 수 있습니다.

예를 들어 10 월 월 단위 업데이트에서 Notepad.exe를 업데이트 한 경우 Notepad.exe 파일을 9 월부터 10 월, 8 월, 10 월, 6 월, 10 월, 11 월, 11 월, 원본 기능 릴리스에서 생성 됩니다. 이러한 모든 차등은 패치 저장소 파일 ("익스프레스 다운로드 파일"이 라고도 함)에 저장 되며 Windows Update 또는 기타 업데이트 관리 또는 배포 서버 (예: WSUS (Windows Server Update Services), 시스템)에 호스트 되거나 캐시 됩니다. PSF 센터 구성 관리자 또는 express 업데이트를 지 원하는 Microsoft 이외의 업데이트 관리 또는 배포 서버입니다. 빠른 업데이트를 활용 하는 디바이스는 네트워크 프로토콜을 사용 하 여 최적의 차등을 결정 한 다음 업데이트 배포 끝점에서 필요한 기능만 다운로드 합니다.

빠른 다운로드의 플립은 PSF 파일의 크기가 차등 계산에 대 한 기록 기준 수에 따라 매우 커질 수 있다는 것입니다. 온-프레미스 또는 원격 업데이트 배포 서버에 대 한 대용량 PSF 파일을 다운로드 하 고 캐시 하면 대부분의 조직에서 문제가 발생 하므로, Windows 10을 실행 하는 장치를 최신 상태로 유지 하기 위해 빠른 업데이트를 활용할 수 없습니다. 둘째로, 업데이트 배포 서버에서 캐시 해야 하는 express 파일의 차등 및 크기를 생성 하는 것이 복잡 하기 때문에 가장 일반적인 기준에 대 한 빠른 다운로드 파일만 생성 하는 것이 가능 하므로 빠른 업데이트만 있으면 됩니다. 선택한 기준에 적용 됩니다. 마지막으로, 매우 저렴 한 비용으로, 업데이트를 원활 하 게 다운로드 하 고 적용할 수 있는 기능에 영향을 주는 시스템 메모리 사용량 측면에서 최적의 편차 계산에 많은 비용이 듭니다.

다음 섹션에서는 빠른 다운로드의 문제를 해결 하기 위해 windows 10 및 Windows Server의 최신 릴리스에 대 한 정방향 및 역방향 차등에 따라 Windows 10의 품질 업데이트가이 기술을 활용 하는 방법을 설명 합니다.

상위 수준 디자인

패키지 업데이트

Windows 10 품질 업데이트 패키지에는 RTM 이후 변경 된 각 파일에 대 한 품질 업데이트 RTM 기준 (∆ RTM → N)과의 착신 전환 및 RTM (∆ N → RTM)으로 다시 전환 하는 것이 포함 됩니다. RTM 버전을 기준으로 사용 하면 모든 장치의 페이로드가 동일 하 게 유지 됩니다. 업데이트 패키지 메타 데이터, 콘텐츠 매니페스트 및 정방향 및 역방향 차등은 캐비닛 파일 (.cab)에 패키지 됩니다. 이 .cab 파일과 적용 가능 논리는 Microsoft 독립 실행형 업데이트 (.msu) 형식으로도 래핑 됩니다.

서비스를 실행 하는 동안 시스템에 새 파일을 추가 하는 경우가 있을 수 있습니다. 이러한 파일에는 RTM 기준선이 없기 때문에 정방향 및 역방향 차등 사용은 사용할 수 없습니다. 이러한 시나리오에서 null 차등은 서비스를 처리 하는 데 사용 됩니다. Null 차등은 전체 바이너리의 약간 압축 되 고 최적화 된 버전입니다. 업데이트 패키지에는 정방향 또는 역방향 차등 또는 해당 이진 파일의 null 차등 중 하나가 있을 수 있습니다. 다음 이미지는 Windows 10 품질 업데이트 설치 관리자의 콘텐츠를 상징.

두 개의 하위 상자를 포함 하는 .msu (1) 적용 가능성 로직, 2) box (4 개의 하위 상자를 포함 하는 cab)에 게 메타 데이터 업데이트, 2) 콘텐츠 매니페스트, 3) 델타 sub RTM에서 하위 N (파일 1, file2 등) 및 4 개의 델타 하위 N에 대 한 변환 (파일 1, 파일) 2 등)

Hydration 및 설치

업데이트 패키지에 대 한 일반적인 적용 가능성 검사를 수행 하 고 적용 가능한 것으로 판단 되는 경우 Windows 구성 요소 서비스 인프라는 사전 설치 중에 전체 파일을 hydrate 하 고 일반적인 설치 프로세스를 진행 합니다.

다음은 업데이트 설치를 완료 하기 위해 구성 요소 서비스 인프라가 트랜잭션에서 실행 되는 작업의 상위 수준 순서입니다.

  • 업데이트를 설치 하는 데 필요한 모든 파일을 식별 합니다.
  • 파일의 Hydrate (v n), 파일의 역방향 차등 (vn--->RTM)을 사용 하 여 필요한 각 파일을 다시 품질 업데이트 RTM/기본 버전 및 정방향 차등 (vRTM--->R)로 보냅니다. 기능 업데이트 RTM/기본 버전에서 대상 버전으로 또한 null 차등 hydration를 사용 하 여 null 압축 파일을 hydrate 합니다.
  • 구성 요소 저장소 (%windir%\WinSxS 폴더)의 hydrated 파일 (전체 파일), 정방향 차등 (' f ' 폴더의 경우), 역방향 차등 (' r ' 폴더의 경우) 또는 null 압축 파일 (' n ' 개)
  • 종속성을 확인 하 고 구성 요소를 설치 합니다.
  • 오래 된 상태를 정리 합니다(V N-1). 이전 상태 VN 은 제거 및 복원 또는 복구를 위해 유지 됩니다.

탄성 Hydration

특정 유형의 하드웨어를 파일 시스템 손상으로 susceptibility 인해 발생할 수 있는 구성 요소 저장소 손상 또는 누락 된 파일에 대 한 복구를 위해 일반적으로 손상 복구 서비스를 사용 하 여 구성 요소 저장소 복구 온라인 또는 로컬 복구 원본을 사용 하 여 자동 ("자동 손상 복구") 또는 요청 시 ("수동 손상 복구") 이 서비스는 필요한 경우 hydration의 콘텐츠를 복구 및 복구 하 고 업데이트를 성공적으로 설치 하는 기능을 계속 제공 합니다.

업데이트 작업 중에 손상이 발견 되 면 자동 손상 복구가 평소 대로 시작 되 고 각 업데이트에 대해 Windows 업데이트에 게시 된 버전이 없는 패치 저장소 파일을 사용 하 여 손상 된 매니페스트, 이진 차등 또는 hydrated 또는 전체 파일을 수정 합니다. 기본 버전이 아닌 패치 저장소 파일에는 업데이트 된 각 구성 요소에 대 한 역방향 및 정방향 차등 및 전체 파일이 포함 됩니다. 복구 파일의 무결성이 해시 확인 됨

손상 복구는 구성 요소 매니페스트를 사용 하 여 누락 된 파일을 검색 하 고 손상 감지를 위한 해시를 가져옵니다. 업데이트 설치 중에 컴퓨터에 준비 된 각 차등에 대 한 새 레지스트리 플래그가 설정 됩니다. 자동 손상 복구가 실행 되 면 플래그를 사용 하 여 매니페스트 및 차등 파일을 사용 하 여 hydrated 파일을 검색 합니다. 차등을 찾을 수 없거나 확인할 수 없는 경우 복구할 손상 목록에 추가 됩니다.

지연 자동 손상 복구

손상 된 바이너리 및 차등 검색을 위해 업데이트 작업 중에 "지연 자동 손상 복구"가 실행 됩니다. 업데이트를 적용 하는 동안 hydration에 오류가 발생 하면 "지연" 자동 손상 복구가 자동으로 시작 되 고 손상 된 바이너리 또는 차등 파일을 식별 한 다음 손상 목록에 추가 합니다. 나중에 "지연" 자동 손상 복구가 가능한 한 많은 손상 된 파일을 수집 하 여 업데이트 작업을 계속 진행할 수 있으므로 Hydration 섹션이 끝나면 업데이트가 실패 하 고 자동 손상 복구가 시작 됩니다. 자동 손상 복구가 평소 대로 실행 되며 해당 작업의 끝에서 "지연" 자동 손상 복구에서 생성 된 손상 목록을 새 목록 위에 추가 하 여 복구할 수 있습니다. 자동 손상 복구는 손상 목록의 파일을 복구 하 고 다음 시도에 업데이트 설치를 성공적으로 수행 합니다.