-
Die Erfindung betrifft die Bestimmung von Informationen aus einem Datenstrom. Insbesondere betrifft die Erfindung die effiziente Extraktion von Informationen aus einem breitbandigen Datenstrom.
-
Ein Kraftfahrzeug umfasst mehrere Steuergeräte, die jeweils ein System oder Subsystem des Kraftfahrzeugs steuern. Üblicherweise ist die Funktion eines Steuergeräts an eine Fahrsituation gekoppelt, die in Beziehung mit der Arbeit eines der anderen Steuergeräte stehen kann. Zur Qualitätssicherung, bei der Fehlersuche oder im Rahmen der Entwicklung eines Steuergeräts können die Steuergeräte jeweils Mess- oder Diagnosedaten bereitstellen. Üblicherweise werden die Daten mehrerer Steuergeräte an einer Schnittstelle zusam mengeführt.
-
Insbesondere bei einer großen Anzahl Steuergeräte, bei einem großen Spektrum von Aufgaben, die die Steuergeräte erfüllen, oder wenn eine komplexe Aufgabe erfüllt wird, kann ein beträchtlicher Strom von Daten generiert werden.
-
Die Daten eines oder mehrerer Steuergeräte sind üblicherweise codiert und weisen eine vorbestimmte Struktur auf. Die Struktur ist üblicherweise hierarchisch definiert, wobei auf jeder Ebene angegeben sein kann, wie ein vorbestimmter Abschnitt des Datenstroms zu interpretieren ist. Beispielsweise kann der Abschnitt eine Nachricht von einem ersten Steuergerät an ein zweites Steuergerät umfassen. Die Nachricht kann einen vorbestimmten Typ haben, der eine Abfolge von Feldern umfasst, in der jedes Feld für eine vorbestimmte Art von Informationen steht. Die Codierung kann angeben, wie ein Feld zu interpretieren ist. Beispielsweise kann ein erstes Feld eine binäre Zahl enthalten, ein zweites Feld ein Zeichen einer Zeichenkette und ein drittes Feld eine Fließkommazahl nach IEEE 754.
-
Um die Daten an der Schnittstelle auszuwerten, werden üblicherweise alle übermittelten Daten decodiert. Diejenigen, die zur Beantwortung einer vorbestimmten Fragestellung von Interesse sind, können dann bereitgestellt werden, während die anderen verworfen werden können. Das Strukturieren und Decodieren von Daten kann eine erhebliche Rechenleistung einer Verarbeitungseinrichtung erfordern. Eine der Erfindung zu Grunde liegende Aufgabe besteht darin, eine verbesserte Technik zur Extraktion vorbestimmter Informationen aus einem Datenstrom bereitzustellen.
-
Die Erfindung löst die Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
-
Nach einem ersten Aspekt der vorliegenden Erfindung umfasst ein Verfahren Schritte des Erfassens eines Datenstroms, in dem Informationen in einer vorbestimmten Struktur codiert sind; des Bestimmens einer Position im Datenstrom, an der eine vorbestimmte Information codiert ist, auf der Basis der Struktur; und des Decodierens der Daten an der bestimmten Position, um die vorbestimmte Information bereitzustellen.
-
Im Gegensatz zu bekannten Verfahren kann das Decodieren nur auf solchen Daten erfolgen, deren enthaltene Informationen von Interesse sind. Die Extraktion kann effizienter erfolgen, sodass die Extraktion mittels einer Verarbeitungseinrichtung mit überschaubarer Leistungsfähigkeit durchgeführt werden kann. Eine Situation, in der ein Teil des Datenstroms fallen gelassen werden muss, weil die Verarbeitungseinrichtung überlastet ist, kann vermieden werden. Die bereitzustellenden Informationen können in Form eines Musters oder einer Angabe einer vorbestimmten Struktur von Daten innerhalb des Datenstroms angegeben sein.
-
Diese Vorgehensweise kann insbesondere dann vorteilhaft sein, wenn sehr spezifische Informationen aus dem Datenstrom extrahiert werden sollen. Dabei können auch verschiedene Informationen extrahiert werden, um sie beispielsweise nach der Bereitstellung zusammenzufassen oder miteinander zu verarbeiten.
-
Es ist besonders bevorzugt, dass Daten, die außerhalb der bestimmten Position liegen, undecodiert verworfen werden. Anders ausgedrückt kann eine Unterscheidung von zu extrahierenden und nicht zu extrahierenden Daten getroffen werden, ohne dass hierfür alle Daten decodiert werden. Nicht zu extrahierende Daten können verworfen werden, ohne sie zu decodieren. In einer Ausführungsform kann eine nur teilweise Decodierung der Daten erfolgen, um die Entscheidung zu unterstützen, in einer anderen können bestimmte Daten verworfen werden, ohne sie in irgendeiner Weise zu decodieren. Der Datenstrom kann beispielsweise in Nachrichten aufgeteilt sein, die sequentiell übermittelt werden. Jeder Nachricht können Eigenschaften wie ein Sender, ein Empfänger oder ein Nachrichtentyp zugeordnet sein. Sobald bestimmt werden kann, dass eine der Eigenschaften der Nachricht nicht auf einen Hinweis passt, der die zu bestimmenden Informationen beschreibt, kann die Nachricht verworfen werden. In ähnlicher Weise kann die Nachricht in mehrere Teile unterteilt sein, wobei ein Teil, der nicht von den bereitzustellenden Informationen umfasst ist, ohne Decodierung verworfen werden kann. In einem üblichen Anwendungsfall können so die meisten Daten verworfen werden, ohne sie einer genaueren Analyse zu unterziehen.
-
Die Struktur der Daten kann eine vorbestimmte Abfolge von Verwaltungs- und Nutzdaten umfassen. Dabei kann die Position insbesondere auf der Basis der Verwaltungsdaten bestimmt werden. Die Verwaltungsinformationen können beispielsweise beschreiben, welche weiteren Informationen von einer vorbestimmten Datenmenge umfasst sind oder wie sie zu decodieren sind. Beispielsweise kann der Datenstrom einen Synchronpunkt umfassen, der eine vorbestimmte Abfolge von Informationen umfasst, die zu keinem anderen Zweck im Datenstrom übermittelt wird. Auf den Synchronpunkt kann eine Nachricht folgen, deren Länge, Art oder Umfang durch eine Verwaltungsinformation bestimmt sein kann. Anhand solcher Verwaltungsinformationen kann leicht bestimmt werden, ob die Nachricht weiter zu betrachten ist oder verworfen werden kann. So können zielgerichtet die vorbestimmten Informationen im Datenstrom lokalisiert und extrahiert werden.
-
Die im Datenstrom codierten Informationen können Betriebsparameter eines gemeinsamen technischen Systems umfassen. Das gemeinsame technische System kann insbesondere ein Kraftfahrzeug umfassen. Die Informationen können Echtzeit-Informationen umfassen, also Informationen, die nicht länger als eine vorbestimmte Zeit nach ihrem Bezugszeitpunkt bereitgestellt sind. Beispielsweise können die Informationen einen Messwert betreffen, der auf einen vorbestimmten Zeitpunkt bezogen ist. Der Datenstrom kann den codierten Messwert innerhalb einer vorbestimmten Zeit nach dessen Abtastung umfassen, beispielsweise 10 ms. Derartige Informationen werden üblicherweise im Datenstrom nicht wiederholt. Eine Neuübertragung einer bereits übermittelten Nachricht kann üblicherweise nicht angefordert werden. Verworfene oder nicht rechtzeitig abgeholte oder analysierte Daten können unwiederbringlich verloren sein. Dabei können sich die Daten auf eine komplexe Situation des technischen Systems beziehen. Es kann sehr aufwändig sein, beispielsweise eine vorbestimmte Fahrsituation des Kraftfahrzeugs zu wiederholen, sodass es von besonderer Wichtigkeit sein kann, dass keine im Datenstrom bereitgestellten Informationen nicht oder nicht richtig extrahiert werden.
-
In einer weiteren Ausführungsform wird zusätzlich zu den vorbestimmten Informationen eine auf das technische System bezogene geographische Position aus dem Datenstrom bereitgestellt. Die geographische Position kann von dem technischen System zu einem Zeitpunkt eingenommen sein, auf den die bereitzustellende Information bezogen ist. Die bestimmte Position kann im Datenstrom übermittelt werden.
-
In noch einer weiteren Ausführungsform wird zusätzlich eine auf die decodierte Information bezogene Zeitinformation aus dem Datenstrom bereitgestellt. So kann ein Tupel aus der Information und einem Bezugszeitpunkt bereitgestellt werden. Bereitgestellte Tupel können verbessert weiter verarbeitet werden. Die Zeitinformation kann im Datenstrom übermittelt werden. Dabei kann die Zeitinformation Teil der Verwaltungsdaten oder Teil der Nutzdaten sein.
-
Der Datenstrom kann Messwerte unterschiedlicher Quellen umfassen, wobei die vorbestimmten Informationen Messwerte einer der Quellen umfassen. Dabei können auch nur bestimmte Messwerte extrahiert werden, beispielsweise ein Messwert pro vorbestimmter Zeiteinheit oder nur Messwerte, die über oder unter einem vorbestimmten Schwellenwert liegen.
-
Nach einem weiteren Aspekt der Erfindung umfasst eine Vorrichtung eine erste Schnittstelle zur Erfassung eines Datenstroms, in dem Informationen in einer vorbestimmten Struktur codiert sind; eine zweite Schnittstelle zur Bereitstellung der vorbestimmten Informationen; und eine Verarbeitungseinrichtung. Dabei ist die Verarbeitungseinrichtung dazu eingerichtet, auf der Basis der Struktur eine Position im Datenstrom zu bestimmen, an der eine vorbestimmte Information codiert ist; und Daten an der bestimmten Position zu decodieren, um die vorbestimmte Information bereitzustellen.
-
Die Verarbeitungseinrichtung kann dazu eingerichtet sein, ein hierin beschriebenes Verfahren ganz oder teilweise auszuführen. Dazu kann die Verarbeitungseinrichtung einen programmierbaren Mikrocomputer oder Mikrocontroller umfassen und das Verfahren kann in Form eines Computerprogrammprodukts mit Programmcodemitteln vorliegen. Das Computerprogrammprodukt kann auch auf einem computerlesbaren Datenträger abgespeichert sein. Merkmale oder Vorteile des Verfahrens können auf die Vorrichtung übertragen werden oder umgekehrt.
-
Die Vorrichtung kann insbesondere zum Einsatz in Verbindung mit einem vorbestimmten technischen System eingerichtet sein, das den Datenstrom bereitstellt. Das technische System umfasst bevorzugt ein Kraftfahrzeug. Die Schnittstelle kann eine Schnittstelle des technischen Systems umfassen, etwa eine ODB2-Schnittstelle oder einen CAN-Bus, oder einem oder mehreren Steuergeräten zugeordnet sein, die im Umfeld des technischen Systems arbeiten.
-
Die Vorrichtung kann darüber hinaus eine dritte Schnittstelle zur Erfassung eines Hinweises auf die vorbestimmten Informationen umfassen. Diese oder eine weitere Schnittstelle können zur Bereitstellung des Schemas vorgesehen sein. Das Schema kann beispielsweise in einer Beschreibungssprache wie XML oder eines ihrer Derivate vorliegen. Der Hinweis kann in einer vorbestimmten Sprache angegeben sein. Die Sprache kann eine Selektion eines vorbestimmten Abschnitts einer Nachricht erlauben, die Teil des Datenstroms sein kann.
-
Die Vorrichtung kann einen Datenspeicher zur Ablage der bereitgestellten Informationen umfassen. Durch die erfindungsgemäße Bereitstellung nur bestimmter Informationen kann der Datenspeicher effizient nur für diejenigen Informationen genutzt werden, die zu extrahieren sind.
-
Nach noch einem weiteren Aspekt der vorliegenden Erfindung umfasst ein Kraftfahrzeug eine erste Vorrichtung zur Bereitstellung eines Datenstroms, in dem Informationen, die das Kraftfahrzeug betreffen, in einer vorbestimmten Struktur codiert sind, und eine hierin beschriebene zweite Vorrichtung.
-
Die Erfindung wird nun mit Bezug auf die beigefügten Zeichnungen genauer beschrieben, in denen:
- 1 ein System; und
- 2 ein Ablaufdiagramm eines Verfahrens
-
illustriert.
-
1 zeigt ein System 100, das ein Kraftfahrzeug 105 mit wenigstens einem Steuergerät 110 und eine Vorrichtung 115 umfasst. Das Steuergerät 110 führt üblicherweise eine Aufgabe aus, die im Zusammenhang mit einem Betrieb des Kraftfahrzeugs 105 steht. In einer anderen Ausführungsform kann auch ein anderes technisches System 105 als ein Kraftfahrzeug vorgesehen sein. Das Steuergerät 110 kann beispielsweise eine Längs- und/oder Quersteuerung des Kraftfahrzeugs 105, den Betrieb eines Antriebsmotors, eine Lüftungs- oder Temperierungsanlage (HVAC: Heating, Ventilation And Cooling) für einen Innenraum oder ein Unterhaltungssystem an Bord des Kraftfahrzeugs 105 steuern. Andere Funktionen, die insbesondere in Zusammenhang mit einer automatischen oder autonomen Steuerung des Kraftfahrzeugs stehen können, sind ebenfalls denkbar.
-
Informationen des wenigstens einen Steuergeräts 110 werden in Form eines Datenstroms 118 bereitgestellt. Dazu können Informationen mehrerer Steuergeräte 110 an eine gemeinsame Schnittstelle 120 geführt werden. In einer ersten Alternative kann hierfür ein dediziertes weiteres Steuergerät 110 vorgesehen sein, in einer zweiten Alternative können mehrere Steuergeräte 110 beispielsweise nach Art eines Busses über die gemeinsame Schnittstelle 120 kommunizieren. Die Schnittstelle 120 kann als Teil des wenigstens einen Steuergeräts 110 oder als Teil des Kraftfahrzeugs 105 angesehen werden.
-
Die Vorrichtung 115 ist bevorzugt an Bord des Kraftfahrzeugs 105 angebracht und umfasst eine erste Schnittstelle 125 zur Verbindung mit der Schnittstelle 120. Üblicherweise ist die Vorrichtung 115 nicht Teil eines anwenderfertigen, betriebsbereiten Kraftfahrzeugs 105, sondern wird nur zu Test- oder Analysezwecken am Kraftfahrzeug 105 angebracht. Eine physisch große oder schwere Vorrichtung 115 kann beispielsweise auf einem Sitz oder in einem Kofferraum des Kraftfahrzeugs 105 angebracht werden. Eine übliche Vorrichtung 115 kann in ihren Ausmaßen oder ihrer Masse nicht die eines gefüllten Reisekoffers übersteigen.
-
In einer weiteren Ausführungsform können die Schnittstellen 120, 125 auch drahtlos ausgeführt sein, wobei die Vorrichtung 115 nicht an Bord, sondern außerhalb des Kraftfahrzeugs 105 angebracht sein kann. Die Schnittstellen 120, 125 können dabei beispielsweise ein Mobilfunknetz verwenden. Die Vorrichtung 115 kann als Server oder Dienst, insbesondere in einer Cloud, realisiert sein.
-
Die Vorrichtung 115 umfasst bevorzugt weiter eine Verarbeitungseinrichtung 130 und eine zweite Schnittstelle 135, über die Informationen bereitgestellt werden können, die aus dem Datenstrom 118 extrahiert wurden. Optional können eine Speichervorrichtung 140 und/oder eine dritte Schnittstelle 145 vorgesehen sein. Die Speichervorrichtung 140 ist bevorzugt zur Ablage von Informationen eingerichtet, die aus dem Datenstrom 118 an der ersten Schnittstelle 125 extrahiert wurden. Die dritte Schnittstelle 145 ist bevorzugt zur Entgegennahme einer Struktur 150 des Datenstroms 118 und/oder eines Hinweises 155 auf zu extrahierende Informationen aus dem Datenstrom 118 eingerichtet. Die Struktur und/oder der Hinweis können in Form einer Beschreibung einem vorbestimmten Format angegeben sein. Das Format kann beispielsweise einem Ausdruck in einer vorbestimmten Sprache entsprechen.
-
Es wird vorgeschlagen, die Verarbeitungseinrichtung 130 dazu einzurichten, aus dem Datenstrom 118 nur solche Daten zu decodieren, die dem Hinweis entsprechen. Andere Daten des Datenstroms 118 können undecodiert verworfen werden. Die decodierten Daten können an der zweiten Schnittstelle 135 bereitgestellt und/oder in der Verarbeitungseinrichtung 130 abgelegt werden.
-
2 zeigt ein Ablaufdiagramm eines Verfahrens 200. Das Verfahren 200 kann bevorzugt mittels einer Vorrichtung 115 und insbesondere einer Verarbeitungseinrichtung 130 ausgeführt werden. In der dargestellten Ausführungsform kann in einem Schritt 205 die Struktur 150 des Datenstroms 118 eingelesen werden. In einem Schritt 210 kann ein Hinweis auf Informationen eingelesen werden, die aus dem Datenstrom 118 zu extrahieren sind. Einer oder beide Schritte können in einem Ablauf des Verfahrens 200 nur einmal durchgeführt werden, während andere Schritte nach Art einer Schleife oder Endlosschleife oft durchlaufen werden können.
-
In einem Schritt 215 kann ein Abschnitt des Datenstroms 118 eingelesen werden. Der Datenstrom kann so weit eingelesen werden, bis die eingelesenen Daten eine Entscheidung darüber erlauben, ob sie Informationen enthalten, die zu extrahieren sind oder nicht. Dazu können in einem Schritt 220 Verwaltungsinformationen der Nachricht bestimmt werden. Die Verwaltungsinformationen können Eigenschaften der Nachricht wie einen Sender, einen Empfänger, einen Nachrichtentyp oder eine Nachrichtenlänge umfassen.
-
Der Hinweis von Schritt 210 kann in einem Schritt 225 auf eine solche Eigenschaft angewandt werden. Wird bei diesem Vergleich keine Übereinstimmung gefunden, so kann der Rest der Nachricht verworfen werden. Auf ein Einlesen der restlichen Nachricht kann unter Umständen verzichtet werden. Die Nachricht kann auch partiell gelesen werden, um den Hinweis auf eine Eigenschaft anzuwenden. Das partielle Einlesen kann fortgeführt werden, solange neu eingelesene Eigenschaften den Hinweis erfüllen.
-
Wurde bestimmt, dass die Nachricht eine Information umfasst, die extrahiert werden soll, so kann eine Position im Datenstrom bestimmt werden, an dem die Information codiert ist. Dabei kann die im Schritt 205 bestimmte Struktur des Datenstroms 118 zur Lokalisierung der Information verwendet werden.
-
In einem Schritt 230 können die Informationen an der bestimmten Stelle des Datenstroms decodiert werden. Optional muss hierfür die bestimmte Stelle zuerst eingelesen werden. Passagen des Datenstroms, die zwischen bestimmten Stellen liegen, können verworfen oder gar nicht erst eingelesen werden.
-
In einem Schritt 235 können die decodierten Informationen an der zweiten Schnittstelle 135 bereitgestellt und/oder in der Speichervorrichtung 140 abgelegt werden. Anschließend kann das Verfahren 200 zum Schritt 215 zurückkehren, sodass die Schritte 215 - 235 erneut durchlaufen können. Optional kann dabei auch einer der Schritte 205, 210 erneut durchlaufen werden.
-
Bezugszeichenliste
-
- 100
- System
- 105
- Kraftfahrzeug
- 110
- Steuergerät
- 115
- Vorrichtung
- 118
- Datenstrom
- 120
- Schnittstelle
- 125
- erste Schnittstelle
- 130
- Verarbeitungseinrichtung
- 135
- zweite Schnittstelle
- 140
- Speichervorrichtung
- 145
- dritte Schnittstelle
- 150
- Struktur
- 155
- Hinweis auf zu extrahierende Informationen
- 200
- Verfahren
- 205
- Struktur einlesen
- 210
- Hinweis auf bereitzustellende Informationen einlesen
- 215
- Datenstrom Abschnitt einlesen
- 220
- Verwaltungsdaten bestimmen
- 225
- Position codierter Informationen bestimmen
- 230
- Informationen decodieren
- 235
- Informationen bereitstellen