Ereignisbehandlung in technischen Softwarespeichern

800x400 news2Ereignisbehandlung  in Zwischenspeichern - im englischen kurz "eventbuffering" genannt, ist ein Thema beim information retrieval in semantischen Netzen.

Schwierig ist dabei ein Entwurfsmuster (eng. pattern) für eine strukturierte Implementierung  zu finden, die dann als Architekturvorgabe in einer konkreten Softwareimplementierung wiederverwendet werden kann. Hier ein Vorschlag für ein Entwurfsmuster.

 

Modusparameter der Zwischenspeicher:

Es gibt Ereignisse, die über Provider zwischengespeichert werden müssen, bevor mit ihnen eine weitere Verarbeitung angestoßen werden soll. Ein Provider determiniert die Art und Weise wie mit diesen  Events umgegangen werden soll. Er muss also über folgende Eigenschaften gesteuert werden können:

maxBufferSize mit der maximalen Anzahl an Ereignissen, die zwischengespeichert werden können, bevor der Puffer geleert (flushing) werden muss.

Üblicherweise müssen Ereignispuffer auch in einem konstanten Intervall geleert werden; dies wird implementiert durch eine Eigenschaft wie regularFlushInterval. Natürlich muss es auch möglich sein Ereignisspeicher schneller zu leeren als es in regularFlushInterval definiert werden kann.

So braucht man daher auch wohl immer eine Eigenschaft wie urgentFlushThreshold. Wenn also die Anzahl der zwischengespeicherten Ereignisse größer oder gleich der urgentFlushThreshold-Eigenschaft ist, wird der Ereignisspeicher geleert und zwar genau in einem Intervall, das durch eine Eigenschaft wie urgentFlushInterval spezifiziert werden muss.

Wären da also noch zwei Eigenschaften: maxFlushSize und maxBufferThreads

  • maxFlushSize definiert die maximale Anzahl die in einem Leerungsprozess verarbeitet werden
  • maxBufferThreads definiert die maximale Anzahl der Threads, die für das Leeren verwendet werden können

 

Bei Interesse oder zum Ideentausch einfach melden!

© 2025 transresult, Alle Rechte vorbehalten. Impressum | Datenschutz Anmelden