Nabend, im November gab es eine Diskussion bezüglich vzcompress und korrupten Daten. Ursache war, dass das jetzige Tool nur für S0-Sensoren (MeterInterpreter) geeignet ist und die Art der "Komprimierung" beispielsweise Daten absoluter Sensoren (SensorInterpreter) unbrauchbar macht. Damals ist das Thema irgendwie vom Radar verschwunden. Bei digitalen Osterputz ist das Thema bei mir wieder hoch gekommen, denn die VZ-Datenbank hatte zwischenzeitlich stolze 10GB belagert.
Da sich mein Perl in Grenzen hält habe ich das Ganze nach QnD neu in PHP implementiert. Das Script liest die verfügbaren Kanäle und deren Konfiguration aus der Datenbank bzw. den Definitionsdateien. Die Zugangsdaten für die DB kommen direkt aus der VZ-Config, sollte also im misc/tools-Verzeichnis ohne Konfiguration laufen. Im Script können global oder pro Kanal Kompressionsschema hinterlegt werden, standardmäßig ist derzeit folgendes als globale Definition drin: Newer than 7 Days Keep Original Older than 7 Days Datapoint per 1 Minute Older than 30 Days Datapoint per 5 Minutes Older than 6 Month Datapoint per 15 Minutes Older than 1 Year Datapoint per 30 Minutes Unterstützt werden sollten alle Sensoren auf Basis der derzeitigen Interpreter-Modelle (SensorInterpreter, MeterInterpreter, CounterInterpreter). Hierbei gilt: SensorInterpreter = Mittelwert MeterInterpreter = Summe CounterInterpreter = Maximalwert Als Zeitstempel wird immer das Ende der zusammengefassten Zeitperiode verwendet. Die Live-Statusmeldungen können z.B. für langsame SSH-Sitzungen abgeschaltet werden. Getestet (im Sinne von es sind noch Daten da die stimmen könnten) ist das Ganze gegen MySQL und SensorInterpreter, andere Sensoren sollten funktionieren, bei anderen Datenbanken könnte es Probleme geben, da die SQL-Queries recht unsauber drin sind. Wer etwas in die Richtung sucht, mutig ist und ein aktuelles Backup hat darf sich natürlich mal versuchen: <https://github.com/adlerweb/volkszaehler.org/blob/vzcompress2/misc/tools/vzcompress2.php>. -- Mit freundlichen Grüßen Florian Knodt
signature.asc
Description: OpenPGP digital signature