Hallo,
Wir haben ein Messgerät, das per
TCP Datentelegramme verschickt. Wenn nun
kein Abnehmer vorhanden ist, sollen diese Telegramme (
XML, 100-5000 Byte) zwischengespeichert werden. Sobald ein Abnehmer vorhanden ist, sollen zuerst die zwischengespeicherten, und dann die Life-Daten verschickt werden.
Das Gerät hat einen
IPC mit HD, nicht sonderlich flott, reicht aber. Es werden maximal 20 Telegramme pro Sekunde verschickt.
In einer Quick and Dirty Version habe ich einen BufferWriter, der die Daten vom Gerät abholt und die Telegramme in eine kleine Firebird-
DB schreibt. Dort wird über einen INSERT-Trigger ein
FB-EVENT auslöst.
Ein Buffer-Reader verbindet sich mit dem
TCP-Ziel und -wenn eins da ist- reagiert er auch auf die Firebird-Events. Wenn so ein Event eintritt, liest er die Tabelle aus, löscht die Einträge und verschickt sie.
Das ist natürlich eine ziemlich unperformante Vorgehensweise, aber es funktioniert und ist stabil, nur vielleicht ein kleiner Overkill. Firebird ist zwar kompakt, aber irgendwie ein ausgewachsenes RDBMS und damit ein wenig zu mächtig für diese Lösung.
Auf die
FB-Events kann ich verzichten, bzw. sie durch
TCP o.ä. nachbilden.
Frage: Gibt es eine kleinere 2-Benutzer-
DB mit kleinem Footprint und einfacher (Silent)Installation?