Delta-Verschlüsselung

Delta-Verschlüsselung ist eine Weise, Daten in der Form von Unterschieden zwischen folgenden Daten aber nicht ganzen Dateien zu versorgen oder zu übersenden; mehr allgemein ist das als Daten differencing bekannt. Delta-Verschlüsselung wird manchmal Delta-Kompression besonders genannt, wo archivalische Geschichten von Änderungen (z.B, in Softwareprojekten) erforderlich sind.

Die Unterschiede werden in getrennten Dateien genannt "Deltas" oder "diffs", nach dem Dateivergleich-Dienstprogramm von Unix, diff registriert. Weil Änderungen häufig - zum Beispiel klein sind, einige Wörter in einem großen Dokument ändernd, oder einige Aufzeichnungen in einem großen Tisch ändernd - reduziert Delta, das außerordentlich verschlüsselt, Datenredundanz. Sammlungen von einzigartigen Deltas sind wesentlich raumeffizienter als ihre nichtverschlüsselten Entsprechungen.

Aus einem logischen Gesichtspunkt ist der Unterschied zwischen zwei Datenwerten die Information, die erforderlich ist vorzuherrschen, ein Wert vom anderen - sieh Verhältniswärmegewicht. Der Unterschied zwischen identischen Werten (unter etwas Gleichwertigkeit) wird häufig 0 oder das neutrale Element genannt.

Einfaches Beispiel

Vielleicht versorgt das einfachste Beispiel Werte von Bytes als Unterschiede (Deltas) zwischen folgenden Werten, aber nicht den Werten selbst. Also, statt 2, 4, 6, 9, 7, würden wir 2, 2, 2, 3, 2 versorgen. Das, ist wenn verwendet, allein nicht sehr nützlich, aber es kann weiterer Kompression von Daten helfen, in denen folgende Werte häufig vorkommen. IFF 8SVX gesundes Format wendet diese Verschlüsselung auf rohe gesunde Daten vor der Verwendung der Kompression dazu an. Leider, nicht sogar die ganze gesunde 8-Bit-Beispielkompresse besser, wenn Delta verschlüsselt, und die Brauchbarkeit der Delta-Verschlüsselung für 16 Bit und bessere Proben noch kleiner ist. Deshalb wählen Kompressionsalgorithmen häufig zum Delta verschlüsseln nur, wenn die Kompression besser ist als ohne. Jedoch, in Videokompressionsdelta-Rahmen kann Rahmengröße beträchtlich reduzieren, und werden in eigentlich jeder Videokompression codec verwendet.

Definition

Ein Delta kann auf 2 Weisen, symmetrisches Delta und geleitetes Delta definiert werden. Ein symmetrisches Delta kann als ausgedrückt werden:

:Δ (v, v) = (v \v) U (v \v),

wo v und v zwei aufeinander folgende Versionen vertreten.

Ein geleitetes Delta, auch genannt eine Änderung, ist eine Folge von (elementaren) Änderungsoperationen, die, wenn angewandt, auf eine Version v, trägt, eine andere Version v (bemerken Sie die Ähnlichkeit zum Transaktionsklotz in Datenbanken).

Varianten

Eine Schwankung der Delta-Verschlüsselung, die Unterschiede zwischen den Präfixen oder Nachsilben von Schnuren verschlüsselt, wird zusätzliche Verschlüsselung genannt. Es ist für sortierte Listen mit kleinen Unterschieden zwischen Schnuren wie eine Liste von Wörtern aus einem Wörterbuch besonders wirksam.

Durchführungsprobleme

Die Natur der zu verschlüsselnden Daten beeinflusst die Wirksamkeit eines besonderen Kompressionsalgorithmus. Zum Beispiel, im Senden von Aktualisierungen zum Google Chrombrowser, wird ein Spezialalgorithmus gestützt auf Kenntnissen des Archivs und rechtskräftigen Formats verwendet.

Delta-Verschlüsselung leistet am besten, wenn Daten kleine oder unveränderliche Schwankung haben; für eine unsortierte Datei kann es wenig zu keiner mit dieser Methode möglichen Kompression geben.

In der verschlüsselten Übertragung des Deltas über ein Netz, wo nur eine einzelne Kopie der Datei an jedem Ende des Nachrichtenkanals verfügbar ist, werden spezielle Fehlerkontrollcodes verwendet, um zu entdecken, welche Teile sich der Datei seit seiner vorherigen Version geändert haben.

Zum Beispiel verwendet rsync einen rollenden auf der adler-32 Kontrollsumme von Mark Adler gestützten Kontrollsumme-Algorithmus.

Probe C Code

Der folgende C-Code führt eine einfache Form der Delta-Verschlüsselung und Entzifferung durch:

Leere

delta_encode (Rotforelle *buffer, const nicht unterzeichnete int Länge)

{\

Rotforelle-Delta = 0;

ursprüngliche Rotforelle;

nicht unterzeichnete interne Nummer i;

für (ich = 0; ich

Beispiele

Delta-Verschlüsselung in HTTP

Ein anderes Beispiel des Gebrauches der Delta-Verschlüsselung ist RFC 3229, "Die Delta-Verschlüsselung in HTTP", der vorschlägt, dass HTTP Server im Stande sein sollten, aktualisierte Webseiten in der Form von Unterschieden zwischen Versionen (Deltas) zu senden, die Internetverkehr vermindern sollten, weil sich die meisten Seiten langsam mit der Zeit ändern, anstatt wiederholt völlig umgeschrieben zu werden:

Online-Unterstützung

Viele der Online-Aushilfsdienstleistungen nehmen diese Methodik, häufig bekannt einfach als Deltas an, um ihren Benutzern vorherige Versionen derselben Datei von vorherigen Unterstützungen zu geben. Das reduziert vereinigte Kosten, nicht nur im Betrag von Daten, der als sich unterscheidende Versionen versorgt werden muss (weil ganze jede geänderte Version einer Datei für Benutzer dem Zugang angeboten werden muss), sondern auch jene Kosten im Laden (und manchmal das Herunterladen) jeder Datei, die (durch gerade das kleinere Delta aktualisiert worden ist, das, aber nicht die ganze Datei verwendet werden muss).

VCDIFF

Ein allgemeines Format für die Delta-Verschlüsselung ist VCDIFF, der in RFC 3284 beschrieben ist. Durchführungen der kostenlosen Software schließen Xdelta und offen-vcdiff ein.

GDIFF

Allgemeines Diff-Format (GDIFF) ist eine andere Delta-Verschlüsselung. Es wird W3C 1997 vorgelegt. In vielen Fällen hat VCDIFF bessere Kompressionsrate als GDIFF.

Diff

Diff ist ein Dateivergleich-Programm, das für Textdateien hauptsächlich verwendet wird.

bsdiff

Bsdiff ist ein binäres diff Programm mit dem Nachsilbe-Sortieren.

Siehe auch

  • Schnur-zu-Schnur-Korrektur-Problem
  • Daten differencing
  • Quellcoderegelsystem
  • Xdelta: Delta der offenen Quelle encoder

Außenverbindungen

  • RFC 3229 - Delta-Verschlüsselung in HTTP

Vereinigung Nationale Inter-universitaire / Riemen - darauf
Impressum & Datenschutz