Eine Echtzeitanalyse verarbeitet Daten, die über einen Feed erfasst werden. Dabei wird jede Nachricht beim Empfang analysiert. Echtzeitanalysen werden insbesondere zum Transformieren von Daten, für Geofencing und für die Ereigniserkennung verwendet. Analysen werden mit einer oder mehreren Ausgaben, z. B. dem Speichern von Daten in einem Feature-Layer oder dem Senden einer E-Mail-Warnung, abgeschlossen.
Beispiele für Echtzeitanalysen
- Als Leiter für Notfalleinsätze verfolgen und archivieren Sie die aktuellen Positionen Ihrer Außendienstteams in Echtzeit, senden Warnungen, wenn sich ein Team in einem Sperrgebiet befindet, und berechnen die Entfernung eines Außendienstteams zum zugewiesenen Einsatzort.
- Als Supply Chain Analyst in einem Öl- und Gasunternehmen stellen Sie eine Verbindung mit einem AIS-Datenstrom (Automatic Identification System) her, um die Schiffe zu überwachen, erwartete Ankunftszeiten zu berechnen und sich einen Überblick über Schiffe innerhalb oder außerhalb von Interessenbereichen zu verschaffen.
- Als Umweltwissenschaftler, der für eine Vielzahl von Sensoren verantwortlich ist, archivieren Sie Beobachtungen zur späteren Verarbeitung im Rahmen einer Big-Data-Analyse.
Komponenten einer Echtzeitanalyse
Eine Echtzeitanalyse besteht aus vier Komponenten:
- Feeds:
- Ein Feed ist ein in ArcGIS Velocity eingehender Echtzeit-Datenstrom. Feeds sind in der Regel mit externen Quellen von Beobachtungsdaten, z. B. IoT-Plattformen (Internet of Things, Internet der Dinge), Message Brokern und Drittanbieter-APIs, verbunden. Feeds analysieren eingehende Tabellen-, Punkt-, Polylinien- oder Polygondaten und machen sie für die Analyse und Visualisierung verfügbar.
- Quellen:
- Eine Datenquelle wird verwendet, um statische oder echtzeitnahe Daten in eine Big-Data-Analyse zu laden. In Echtzeitanalysen laden Datenquellen Daten zusammen mit Werkzeugen, die zum Anreichern, Filtern, Verbinden oder Berechnen der Entfernung von Ereignissen ein räumliches oder tabellarisches Zusatz-Dataset erfordern.
- Datenquellen werden in einer Echtzeitanalyse lediglich als sekundäres Dataset in entsprechenden Werkzeugen wie Features verbinden, Nach Geometrie filtern, Entfernung berechnen usw. verwendet.
- Werkzeuge:
- Werkzeuge verarbeiten oder analysieren von Feeds stammende Ereignisse. Je nach Anwendungsfall können Werkzeuge in eine Echtzeitanalyse einbezogen oder nicht einbezogen werden.
- Die Werkzeuge können miteinander verbunden werden, wobei die Ausgabe eines Werkzeugs die Eingabe eines anderen Werkzeugs darstellt.
- Nicht alle Werkzeuge, die für eine Big-Data-Analyse verfügbar sind, sind auch für eine Echtzeitanalyse verfügbar. Das liegt daran, dass mit einigen Werkzeugen wie etwa mit Hot-Spots suchen ein ganzer Satz Daten auf einmal analysiert wird. Bei Echtzeitanalysen wird dagegen jedes eingehende Ereignis bei dessen beim Empfang verarbeitet.
- Ausgaben:
- Eine Ausgabe bestimmt, was mit den einzelnen Ereignissen bei der Verarbeitung im Rahmen einer Echtzeitanalyse geschehen soll.
- Dabei stehen mehrere Ausgabeoptionen zur Verfügung wie das Speichern von Features in einem neuen oder vorhandenen Feature-Layer, das Senden einer E-Mail, das Senden von Meldungen an Kafka oder RabbitMQ und viele mehr. Weitere Informationen finden Sie unter Grundlagen der Ausgaben von Analysen.
- Die von einem Werkzeug oder Feed empfangenen Ereignisse können an mehrere Ausgaben gesendet werden.
Zustandslose und zustandsbehaftete Verarbeitung
Die meisten Werkzeuge in Echtzeitanalysen arbeiten im zustandslosen Betrieb. Das bedeutet, sie verarbeiten jede empfangene Beobachtung und führen keine In-Memory-Datensätze vorheriger Beobachtungen. Einige der verfügbaren Werkzeuge arbeiten jedoch im zustandsbehafteten Betrieb, wenn es um Tracks und nicht um einzelne Beobachtungen geht.
Zustandsbehaftete Werkzeuge erfassen mehrere aufeinanderfolgende Beobachtungen pro Track, um räumliche und/oder Attributbedingungen in jedem Track zu vergleichen und Änderungen zu erkennen. Wenn für jeden Track eine Beobachtung empfangen wurde, wird sie in einem kleinen Cache der Beobachtungen für diesen Track hinzugefügt. Dieser wird zum Beispiel verwendet, um zu erkennen, ob der Track einen GeoFence betreten oder verlassen hat, indem die neueste mit der vorherigen Beobachtung verglichen wird.
Es stehen u. a. die folgenden zustandsbehafteten Werkzeuge zur Verfügung:
- Bewegungsstatistiken berechnen
- Lücken erkennen
- Ereignisse ermitteln
- Nach Geometrie filtern
- Features verbinden
Da zustandsbehaftete Werkzeuge beliebig viele Beobachtungen im Speicher verwalten können, müssen, um eine Nutzungsüberschreitung der Speicherressourcen zu vermeiden, im Cache für jeden Track regelmäßig die Beobachtungen, die ein bestimmtes Alter überschreiten, gelöscht werden.
Bei einigen zustandsbehafteten Werkzeugen können Sie mit dem Parameter Ziel-Zeitfenster eine Bereinigungsdauer angeben. Wenn die Bereinigung erfolgt, werden die Beobachtungen, die vor dem im Parameter Ziel-Zeitfenster angegebenen Wert liegen, aus dem Speicher gelöscht. Beachten Sie, dass die Bereinigung nur die Beobachtungen im Speicher betrifft, die für Zwecke der zustandsbehafteten Verarbeitung gespeichert wurden. Beobachtungen, die an Ausgaben gesendet wurden, sind von der Bereinigung nicht betroffen, da dort die Daten nicht gelöscht werden.
Der Parameter Ziel-Zeitfenster sollte auf einen Wert festgelegt werden, der mindestens dem längsten erwarteten Zeitraum zwischen Beobachtungen für einen einzelnen Track entspricht. Wenn zum Beispiel Fahrzeuge alle 5 Minuten ihre Position melden und Sie das Werkzeug "Nach Geometrie filtern" verwenden, um zu erkennen, wann jedes Fahrzeug in einen bestimmten Bereich einfährt, dann müssten Sie den Wert für Ziel-Zeitfenster im Filter auf etwas mehr als 5 Minuten festlegen, um sicherzustellen, dass mehrere Beobachtungen empfangen wurden, bevor gelöscht wird. Wenn dieser Parameter auf weniger als 5 Minuten festgelegt wird, enthält der Cache nur eine Beobachtung pro Track. Dadurch besteht keine Möglichkeit mehr, zu bestimmen, ob sich die räumliche Beziehung eines Fahrzeugs zum GeoFence von "Außerhalb" zu "Innerhalb" geändert hat. Die Werkzeuge "Bewegungsstatistiken berechnen", "Ereignisse ermitteln", "Nach Geometrie filtern" und "Features verbinden" enthalten den Parameter Ziel-Zeitfenster.
Geofencing
Geofencing ist eine typische Form der räumlichen Echtzeit-Analyse, in der Features (häufig Track-Punkte) in Bezug auf Interessenbereiche (häufig Polygon-Flächen) analysiert werden. Gewöhnlich werden punktbasierte Beobachtungen analysiert, um zu bestimmen, ob sie einen virtuellen Umfang betreten oder verlassen haben.
In mehreren Echtzeit- und Big-Data-Analysewerkzeugen kann das dynamische Geofencing durchgeführt werden, um bestimmte räumliche Beziehungen zu identifizieren, die zwischen Features in einem Ziel-Feed oder einer Ziel-Datenquelle und bestimmten räumlichen Verbindungs-Features (den GeoFences) bestehen können. Die als GeoFences verwendeten Features müssen mit dem Verbindungs-Port des Geofencing-Werkzeugs verbunden sein. GeoFences können Punkte, Linien oder Polygone sein. Die verfügbaren räumlichen Beziehungen hängen vom Geometrietyp der Eingabe-Ziel- und -Verbindungsdaten ab.
Folgende Echtzeit- und Big-Data-Analysewerkzeuge unterstützen das Geofencing:
Weitere Informationen und Anwendungsbeispiele finden Sie unter Geofencing-Analyse.
Dynamisches Geofencing
In mehreren Echtzeitanalysewerkzeugen kann das dynamische Geofencing durchgeführt werden, um räumliche Beziehungen zwischen Features in einem Ziel-Feed und bestimmten Features in einem (anderen) Verbindungs-Feed (den GeoFences), die in beiden Feeds in Echtzeit oder nahezu in Echtzeit aktualisiert werden, zu identifizieren. Das Werkzeug, das das Geofencing durchführt, verwendet die neuesten Beobachtungen einer bestimmten Track-ID als GeoFences.
- Wenn ein Feed mit dem Verbindungs-Port verbunden ist, werden die Verbindungs-Features kontinuierlich basierend auf den eingehenden Features im Verbindungs-Feed aktualisiert. In diesem Fall erfolgt das Geofencing dynamisch basierend auf den sich ändernden Features im Ziel- und im Verbindungs-Feed.
- Beim dynamischen Geofencing ist der Parameter Verbindungs-Zeitfenster erforderlich.
- Wenn der Verbindungs-Feed kein Feld mit dem Tagging als END_TIME enthält und die letzte bekannte Beobachtung für ein Verbindungs-Feature vor dem angegebenen Verbindungs-Zeitfenster liegt, werden die Beobachtungen aus dem Speicher des Werkzeugs gelöscht und nicht in die Analyse einbezogen.
- Wenn der Verbindungs-Feed ein Feld mit dem Tagging als END_TIME enthält, wird entsprechend dem Wert im Feld mit dem Tagging als END_TIME oder spätestens am Ende des Verbindungs-Zeitfensters das Feature im GeoFence-Speicher als veraltet eingestuft.
Die folgenden Echtzeitanalysewerkzeuge unterstützen das dynamische Geofencing:
Hinweis:
Die maximale Größe für GeoFences, die von Echtzeitanalysen unterstützt werden, darf nicht mehr als 768 MB betragen.
Weitere Informationen und Anwendungsbeispiele finden Sie unter Geofencing-Analyse.