.. highlightlang:: us .. index:: Überblick UPDF-Dateien, UPDF-Dateien .. _overview-UPDF-files: .. _uberblick-updf-dateien: Überblick UPDF-Dateien ====================== UPDF (Uni-Plot-Data-Format) ist das Dateiformat von UniPlot R2012. Es wird sowohl für UniPlot-Dokument-Dateien (IPZ-Dateien) als auch als Ersatz für netCDF-Dateien (NC2-Dateien) verwendet. .. _aufbau-des-formats: Aufbau des Formats ------------------ UPDF-Dateien sind wie ein Dateisystem aufgebaut. Eine UPDF-Datei enthält Verzeichnisse. In den Verzeichnissen können sich wieder Verzeichnisse und Dateien befinden. Wie bei einem Dateisystem können Dateien zugefügt, gelöscht, umbenannt, verlängert oder verkürzt, verschoben werden. .. image:: S:/uniplot-obj/images/overview-updf-de.* Die Verzeichnisse und Dateien können Attribute enthalten. Dies sind unter einem Namen gespeicherte Werte. Bei den Werten können unterschiedliche Typen verwendet werden, z. B. Unicode-Zeichenketten oder 64-Bit Integer. Es können Einzelwerte, Vektoren von Werten und Matrizen von Werten gespeichert werden. Um Verwechselungen zu vermeiden sollen im Folgenden die Verzeichnisse als Storages, die Dateien als Streams und die Attribute als Properties bezeichnet werden. Properties bestehen aus einem Property-Namen und einem Property-Wert. .. _vorteile-der-neuen-formate: Vorteile der neuen Formate -------------------------- * Das Schreiben von UniPlot 5.x -Dateien kann bei sehr großen Dateien mit mehreren Dutzend Seiten sehr langsam werden. Das Schreiben von UPDF-Dateien ist in fast linearer Zeit mit ihrer Größe möglich. Das heißt das Schreiben eines Dokuments mit 200 Diagramm-Seiten dauert nur ca. doppelt so lange wie das Schreiben eines Dokuments mit 100 Seiten. * Die aktuellen IPW-Dateien und NC-Dateien verwenden keine Kompression. UPDF verwendet Kompression. Dadurch ergeben sich deutlich kompaktere Dateien. * In den aktuellen nc-Dateien können 2 Giga-Bytes gespeichert werden. UPDF erlaubt die Speicherung von bis zu 8 Tera-Bytes pro Datei. * NC-Dateien haben bei nachträglichen Änderungen Performance-Probleme. Wird beispielsweise ein globales Attribut zugefügt, muss die gesamte NC-Datei neu geschrieben werden. Dies ist bei NC2-Dateien nicht der Fall. * Bei NC2-Dateien sind mit :ref:`nc_sync` und :ref:`nc_abort`/:ref:`nc_close` Transaktionen möglich. .. _format-grenzen: Format-Grenzen -------------- * Max. Größe einer UPDF-Datei: ca. 8 Terabytes (8000 GB). In der Praxis einige GigaBytes. * Anzahl an Zeichen in Storage-, Stream- und Property-Namen: 255. * Max. Größe eines Streams: 8 TB. In des Praxis einige GigaBytes. * Max. Anzahl an Streams und Storages pro Storage: 2^31. In der Praxis einige 10000. * Max. Größe eines einzelnen Property: Einige MB (muss komplett in den RAM-Speicher passen). * Anzahl an Properties pro Stream oder Storage: 2^31. In der Praxis einige 100000. .. _gultige-namen-in-storages,-streams-und-properties: Gültige Namen in Storages, Streams und Properties ------------------------------------------------- Ein Name kann aus 1 bis 255 Unicode-Zeichen bestehen. Folgende Zeichen sind nicht zulässig: Zeichen mit den Codes 0 bis 31 sowie die 9 Zeichen '/', '\\', '*', '?', '"', '<', '>', ':', '|'. Es sollten normalerweise nur Namen verwendet werden, die auch bei Betriebssystem-Dateinamen gültig sind. .. _logging-updf: Logging ------- Normalerweise werden Fehler der UPDF-Funktionen in das Ereignisanzeige-Fenster von UniPlot geschrieben. Mit dem Befehl :: log_set_active("updf", 0) kann Logging ausgeschaltet werden. .. _garbage-collection-updf: Garbage collection ------------------ Für alle Pointer wird garbage collection verwendet. Nicht geschlossene Elemente werden bei Aufruf des garbage-collectors (:ref:`gc`) in der richtigen Reihenfolge geschlossen. .. _uniscript-schnittstelle-updf: UniScript-Schnittstelle ----------------------- .. us.makeindex updf-misc, Verschiedenes .. include:: ../ftab/updf-misc.ftab .. us.makeindex updf-stor, Storages und Streams .. include:: ../ftab/updf-stor.ftab .. us.makeindex updf-stream, Streams .. include:: ../ftab/updf-stream.ftab Streams werden mit den normalen Datei-Funktionen, wie :ref:`fprintf`, :ref:`fread`, etc. bearbeitet, siehe :ref:`uberblick-binar-und-text-dateien`. .. us.makeindex updf-enum, Iteration über Storages und Streams .. include:: ../ftab/updf-enum.ftab .. us.makeindex updf-props, Properties .. include:: ../ftab/updf-props.ftab .. us.makeindex updf-propvals, Property-Werte .. include:: ../ftab/updf-propvals.ftab .. seealso:: :ref:`funktionen-eingeteilt-in-kategorien` :sub:`id-824069`