Logo

Kapitel 3 Download-Pfad: Paralleler Download, Wiederherstellung und Neuassemblierung (Schlüssel)

Für Empfänger zeigt sich „schneller“ vor allem auf zwei Arten: durch das parallele Abrufen mehrerer Chunks, um den Durchsatz zu verbessern, und durch die Möglichkeit, bei schwachen Netzwerken oder Netzwerkwechseln ohne Neustart wiederherzustellen. Aus technischer Sicht ist der Download-Pfad symmetrisch zum Upload-Pfad.

3.1 Laden Sie Objekte herunter und manifestieren Sie sie

  • Vor dem Herunterladen SOLLTE der Client das Manifest abrufen, um die Gesamtanzahl der Chunks, die Reihenfolge und die Lokalisierung der einzelnen Objekte zu erfahren.
  • Das Manifest MUSS jeden Block eindeutig lokalisieren (über Objektschlüsselregeln oder einen entsprechenden Index).

3.2 Paralleler Download

  • Der Client SOLLTE mehrere Blöcke gleichzeitig herunterladen, um der Bandbreitenobergrenze näher zu kommen.
  • Der Client SOLLTE begrenzte Parallelität verwenden und diese reduzieren, wenn die Fehlerraten steigen.
  • Der Vorteil der Parallelität ist bei hoher regionsübergreifender RTT oft größer, da eine einzelne Verbindung leichter durch RTT und Jitter eingeschränkt wird.

3.3 Fortsetzbarer Download

  • Der Client MUSS in der Lage sein, den Satz abgeschlossener Blöcke aufzuzeichnen (z. B. Bitmap-/Indexsatz).
  • Nach einer Unterbrechung SOLLTE der Client nur fehlende Teile abrufen und nicht die gesamte Datei erneut herunterladen.
  • Wenn der Server Grenzwerte für die Download-Zählung erzwingt, SOLLTE der Client redundante Downloads während der Wiederherstellung minimieren, um eine Verschwendung von Zählungen zu vermeiden.

3.4 Zusammenbau

  • Der Client MUSS die Ausgabedatei in der chunkIndex-Reihenfolge neu zusammensetzen.
  • Der Client SOLLTE Streaming-Schreibvorgänge/progressive Reassemblierung verwenden, um Speicherspitzen zu reduzieren (insbesondere bei sehr großen Dateien).
  • Wenn mehrere Dateien gepackt sind, kann der Client die Ausgabe pro Datei durchführen oder ein Containerformat verwenden (je nach Produktdesign).

3.5 Integritätsprüfungen (kurz)

  • Nach dem Download SOLLTE der Client die Chunks überprüfen (z. B. Hash-/Längenkonsistenz).
  • Wenn die Überprüfung fehlschlägt, MUSS sie geschlossen werden und der entsprechende Block erneut versucht werden.
  • Informationen zu Grenzen rund um Verschlüsselungs-/Authentifizierungsfehler finden Sie in den entsprechenden Abschnitten im Whitepaper zu Sicherheit und Datenschutz.