[vz-dev] Alternative Implementierung für vzcompress

Florian Knodt f.knodt at yotaweb.de
Mon Apr 1 23:51:47 CEST 2013


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20130401/9c92e1cf/attachment.pgp>


More information about the volkszaehler-dev mailing list