2016-05-18 12 views
0

Ich versuche, Serialisierung und Deserialisierung zu verstehen, aber immer noch einige Zweifel. Anders als beim Schreiben einer Datei auf die Festplatte. Wenn ich will, auf der Festplatte einige Daten speichern oder sie über das Netzwerk sendet, kann ich nicht die Daten schreibtSerialisierung versus Datei schreiben

open(filename), write(filename) and close(filename)? 

Verwendung Dies würde speichert die Daten auf der Festplatte im Dateinamen im Text- oder Binär-Format in Abhängigkeit von welcher auch immer Modus wähle ich. Ich kann diese Datei dann über das Netzwerk senden.

Wie unterscheidet sich das von der Serialisierung? Wie unterscheidet sich das vom Protokollpuffer?

Bitte helfen Sie mir und anderen dieses Konzept festzunageln ein für alle Mal

Antwort

1

Von wikipedia:

In der Informatik, im Zusammenhang mit der Datenspeicherung, Serialisierung ist der Prozess Datenstrukturen des Übersetzens oder Objektstatus in ein Format, das gespeichert werden kann (z. B. in einer Datei oder einem Speicherpuffer oder über eine Netzwerkverbindungsverknüpfung übertragen) und später in derselben oder einer anderen Computerumgebung rekonstruiert werden kann.

So spielt es keine Rolle, wie Sie es tun (wie Sie die Datei speichern, wie Sie es senden, etc.), das Wichtigste ist, dass Sie in der Lage sind, zu rekonstruieren (deserialize) die Originalobjekt aus dem Übergangszustand.

Nehmen wir an, Sie haben die Lego Millenium Falcon im Internet gekauft. Dies ist ein großartiges Objekt, aber es ist nicht möglich, es einfach an Sie zu senden. Bei Lego dekonstruieren sie es und fügen es in eine spezielle Box (Serialisierung) ein. Die Form der Box hängt davon ab, mit welchem ​​Kanal sie an Sie gesendet wird. Zum Beispiel, wenn sie es per Hand bringen, benutzen sie eine Handtasche; Wenn sie einen Express-Kurier verwenden, verwenden sie eine Box, die mit dem verwendeten Express-Kurier kompatibel ist (JSON, XML, YAML ...). Nach einer Woche bekommst du die Box, also entpackst du die Box und konstruierst fröhlich den Millennium Falcon (Deserialisierung). Nach einigen Wochen musst du den Falcon in deinem Schrank verstauen, aber er ist zu groß für das Regal, also dekonstruierst du ihn und legst die Teile in eine Box, die zum Regal passt (eine Datei?). Nach einiger Zeit nehmen Sie es zurück und rekonstruieren es wieder. Sie können das Objekt jederzeit dekonstruieren/packen/entpacken/konstruieren. Wie in der Informatik können Sie mehrere Medien zum Speichern/Senden der Box verwenden, Sie können es versenden, Sie können es bringen und in Zukunft würden Sie es teleportieren.

Über Protokollpuffer können Sie darüber als eine spezielle Box denken, die an das Objekt anpassen kann, das Sie senden müssen, und es kann von mehreren Personen gepackt/entpackt werden, auch wenn sie nicht die gleiche Sprache sprechen.

+0

Danke. Ich verstehe diesen Teil. Ich habe mich gefragt, was es bedeutet, mehr Namen für diesen Protokollpuffer zu schreiben. Irgendwelche Ideen – user2065276

+0

Ich habe versucht, ein Beispiel zu geben, ich hoffe, es könnte die Dinge ein wenig klären. – mauros

+0

Zu gutes Beispiel – user2065276