Hintergrund Datenaufbereitung

Aus TV-Browser Wiki
Version vom 7. Juni 2009, 16:11 Uhr von Jo⧼word-separator⧽⧼parentheses⧽
⧼revision-nav⧽
Wechseln zu: Navigation⧼comma-separator⧽Suche

Hier soll näher erläutert werden, wie TV-Browser die Daten aufbereitet. Allgemeineres unter TV-Daten Tutorial. Weitere Infos auch im englischen Artikel (siehe Leiste links, Übersetzung erwünscht).

Rohdaten holen und aufbereiten

Die verschiedenen Parser, die die Daten von den Sendern holen und ins TV-Browser-Format bringen, werden über das Tool PDSRunner gestartet. Die fertigen Daten werden pro Tag und Sender in einer Datei in das "raw"-Verzeichnis gespeichert.

Diff-Dateien erstellen

Das Tool PrimaryDataManager prüft nach Unterschieden der neuen Daten im raw-Verzeichnis zu den alten Daten aus früheren Durchläufen im prepared-Verzeichnis und erstellt nach Bedarf "update"-Dateien mit den Unterschieden.

Um den Traffic für die Datenanbieter gering zu halten, werden die Daten in verschiedene Dateien aufgeteilt, die auch getrennt im TV-Browser runtergeladen werden können. Dabei werden alle Dateien außer "base" nur angelegt wenn erforderlich.

  • "base" enthält Uhrzeit, Titel und Daten wie Schauspieler, Länge usw.
  • "more00-16" enthält die Beschreibungen für Sendungen zwischen 0 und 16 Uhr
  • "more16-00" enthält die Beschreibungen für Sendungen zwischen 16 und 0 Uhr
  • "picture00-16" enthält die Bilder für Sendungen zwischen 0 und 16 Uhr
  • "picture16-00" enthält die Bilder für Sendungen zwischen 16 und 0 Uhr
  • Für Tage mit > 255 Sendungen gibt es noch "additional"-Dateien

Die einzelnen Sendungen erhalten Ids, mit denen dann einer Sendung aus der base-Datei die richtige Beschreibung in der more-Datei und das richtige Bild aus "picture" zugeordnet werden kann.

Update-Dateien

Beim ersten Durchlauf haben die Dateien die Bezeichnung "full" (z.B. "more00-16_full"). Wenn sich Daten im Vergleich zum letzten Durchlauf geändert haben, werden "update"-Dateien angelegt, die durchnummeriert werden. Das zweite Update bei einer "more00-16"-Datei wäre dann "more00-16_update_2". Hat sich z.B. nur eine Beschreibung geändert, so wird nur von der "more"-Datei ein Update erstellt, "base" und "picture" bleiben unverändert. Allerdings wird die Änderung auch in die vorigen update-Dateien und die base-Datei eingepflegt. Also enthält auch "more00-16_update_1" und "more00-16_full" dann die neue Beschreibung und auch diese Dateien werden (im nächsten Schritt) neu auf die Server geladen.

Die "update"-Dateien enthälten die Id der Sendung bei der es eine Änderung gab, und die Änderung selbst.

Daten auf den Server laden

Mit dem MirrorUpdater werden die Dateien aus dem "prepared"-Verzeichnis zusammen mit ein paar anderen Infos auf die Server geladen.