-
Die
Erfindung betrifft ein Navigationssystem, das eine Navigationsvorrichtung
umfasst. Ferner betrifft die Erfindung ein Verfahren zum Betreiben
des Navigationssystems und ein Computerprogrammprodukt.
-
Aus
der
EP 0 766 811 B1 ist
ein Streckenführungssystem
bekannt. Das Streckenführungssystem weist
eine Basiseinheit auf, die ausgebildet ist, um in Abhängigkeit
von einer Streckenanforderung eine Strecke zu errechnen. Ferner
weist das Streckenführungssystem
eine erste Datenbank auf, die Karteninformationen enthält. Ferner
weist das Streckenführungssystem
eine Nachrichtenverbindung und eine entfernte Einheit auf, die so
ausgebildet ist, dass sie eine Streckenanforderung unter Nutzung
der Nachrichtenverbindung elektromagnetisch zu der Basiseinheit übermittelt
und dass sie als Antwort auf die Streckenanforderung von der Basiseinheit
unter Nutzung der Nachrichtenverbindung eine Strecke empfängt. Die
entfernte Einheit weist eine zweite Datenbank auf, die Karteninformationen
enthält.
Die entfernte Einheit ist so ausgebildet, dass sie die empfangene
Strecke mit der in der zweiten Datenbank enthaltenen Karteninformation
vergleicht. Falls die Strecke von der zweiten Datenbank nicht ausreichend abgedeckt
ist, wird sie elektromagnetisch an die Basiseinheit übermittelt
unter Nutzung der Nachrichtenverbindung zur Bereitstellung von Karteninformationen
von der ersten Datenbank.
-
DE 10 2006 004 693
A1 offenbart ein Navigationssystem umfassend eine relationale
Datenbank und ein Datenbankverwaltungssystem. Navigationsdaten des
Navigationssystems sind in der relationalen Datenbank in Datensätzen gespeichert,
wobei ein Datensatz ein Datenpaket und zumindest eine Eigenschaft
des Datenpakets umfasst. Das jeweilige Datenpaket und die diesem
Datenpaket zugeordnete Eigenschaft sind als jeweils ein Datensatz
einer Tabelle zugeordnet.
-
Aufgabe
der Erfindung ist es, ein Navigationssystem und ein Verfahren zum
Betreiben des Navigationssystems zu schaffen, das einen schnellen und
ausgewählten
Zugriff auf Navigationsdaten ermöglicht.
-
Die
Aufgabe wird gelöst
durch die Merkmale der unabhängigen
Ansprüche.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
-
Die
Erfindung zeichnet sich bezüglich
eines ersten Aspekts aus durch ein Navigationssystem, das eine Navigationsvorrichtung,
eine relationale Datenbank und ein Datenbankverwaltungssystem umfasst.
Die relationale Datenbank ist auf einem Speichermedium gespeichert.
Das Navigationssystem ist dazu ausgebildet, auf Navigationsdaten
zuzugreifen, die in der relationalen Datenbank als Datensätze gespeichert
sind. Jedem Datensatz sind ein Paketdatensatz aus zumindest einer
Pakettabelle und ein Eigenschaftsdatensatz aus zumindest einer Eigenschaftstabelle
zugeordnet. Der Paketdatensatz weist zumindest ein Datenpaket und
eine eindeutige Kennung des zumindest einen Datenpakets auf. Der
Eigenschaftsdatensatz weist zumindest eine Eigenschaft des zumindest
einen Datenpakets und die eindeutige Kennung des zumindest einen
Datenpakets auf. Dies hat den Vorteil, dass die Datenpakete und die
dem jeweiligen Datenpaket zugeordneten Eigenschaften räumlich getrennt
voneinander auf dem Speichermedium gespeichert sind. Somit kann
ein Zugriff auf die zumindest eine Eigenschaft des Datenpakets ohne
einen Zugriff auf das jeweilige Datenpaket gewährleistet werden. Dies ermöglicht einen besonders
schnellen Zugriff auf die Eigenschaften des jeweiligen Datenpakets,
um beispielsweise erforderliche Validierungen vornehmen zu können, so
z. B. Versionsnummerüberprüfungen,
bevor auf die entsprechenden zugeordneten Datenpakete zugegriffen wird.
Vorzugsweise sind die Paketdatensätze bezüglich ihrer räumlichen
Anordnung zusammenhängend in
einem ersten Speicherbereich auf dem Speichermedium und die Eigenschaftsdatensätze bezüglich ihrer
räumlichen
Anordnung in einem zweiten Speicherbereich auf dem Speichermedium
zusammenhängend
gespeichert.
-
Ferner
ermöglicht
dies, die Vorteile relationaler Datenbanken mit den Vorteilen proprietärer Datenbanken
zu verknüpfen.
Dabei repräsentieren
die zumindest eine Eigenschaftstabelle und die zumindest eine Pakettabelle
relationale Tabellen der relationalen Datenbank. Das jeweilige Datenpaket
repräsentiert
vorzugsweise jeweils eine proprietäre Datenbank. Jedem Datensatz
ist eine eindeutige Kennung zugeordnet, d. h. dem jeweiligen Eigenschaftsdatensatz
ist mittels der jeweiligen eindeutigen Kennung der jeweilige Paketdatensatz
zugeordnet.
-
Die
Erfindung zeichnet sich bezüglich
eines zweiten Aspekts aus durch ein Verfahren zum Betreiben des
Navigationssystems, bei dem zumindest eine Anweisung an das Datenbankverwaltungssystem
ermittelt wird abhängig
von einer Zugriffsart der Navigationsvorrichtung auf die Navigationsdaten. Abhängig von
der zumindest einen Anweisung wird der zugeordnete Eigenschaftsdatensatz
der zumindest einen Eigenschaftstabelle ermittelt. Abhängig von
der zumindest einen Anweisung und/oder der zumindest einen Eigenschaft
wird der zugeordnete Paketdatensatz der zumindest einen Pakettabelle
ermittelt. Das zumindest eine Datenpaket des Paketdatensatzes wird
ausgewertet zum Ermitteln der Navigationsdaten. Die zumindest eine
Anweisung wird abhängig
von der Zugriffsart der Navigationsvorrichtung ermittelt, d. h.
die Navigationsvorrichtung gibt beispielsweise eine zu bestimmende
Route und/oder einen vorgegebenen Zielort und/oder zu aktualisierende
Navigationsdaten vor, von dem abhängig die Anweisung ermittelt
wird. Insbesondere wird nach der Ermittlung des Eigenschaftsdatensatzes,
dieser ausgewertet bevor abhängig
von der Auswertung und/oder der Anweisung der Paketdatensatz ermittelt wird.
Dabei kann die zumindest eine Anweisung bereits die Ermittlung des
Paketdatensatzes vorgegeben. Alternativ kann aber auch eine weitere
Anweisung ermittelt werden und davon abhängig der Paketdatensatz.
-
In
einer vorteilhaften Ausgestaltung des zweiten Aspekts werden die
Paketdatensätze
der zumindest einen Pakettabelle als eine erste Datei und die Eigenschaftsdatensätze der
zumindest einen Eigenschaftstabelle als eine zweite Datei auf dem
Speichermedium gespeichert. Dies hat den Vorteil, dass zum Aktualisieren
der Eigenschaftsdatensätze und/oder
der Paketdatensätze
nur die erste und/oder die zweite Datei gegen jeweils eine aktuellere
Version ausgetauscht werden braucht.
-
In
einer weiteren vorteilhaften Ausgestaltung des zweiten Aspekts wird
das zumindest eine Datenpaket des jeweiligen Paketdatensatzes komprimiert und
dann gespeichert. Dies trägt
dazu bei, dass die Paketdatensätze
einen besonders geringen Speicherplatzbedarf aufweisen und dass
das jeweilige Datenpaket besonders schnell zugreifbar ist.
-
In
einer weiteren vorteilhaften Ausgestaltung des zweiten Aspekts werden
die Eigenschaftsdatensätze
der zumindest einen Eigenschaftstabelle komprimiert und dann gespeichert.
Dies ermöglicht
einen besonders schnellen Datenzugriff auf die Eigenschaftsdatensätze, insbesondere
dann, wenn der Datenzugriff für
die Verwendung im Navigationssystem optimiert ist.
-
In
einer weiteren vorteilhaften Ausgestaltung des zweiten Aspekts wird
auf Daten des zumindest einen Datenpakets mit Hilfe zumindest einer
vorgegebenen Zugriffsfunktion zugegriffen. Dies ermöglicht ein
effizientes Auswerten und Ändern
und somit auch Aktualisieren der Daten des Datenpakets.
-
In
einer weiteren vorteilhaften Ausgestaltung des zweiten Aspekts wird
die Zugriffsfunktion eingesetzt zum Ändern der Daten des zumindest
einen Datenpakets. Dies ermöglicht
besonders einfach die Änderung
oder Aktualisierung der Daten des Datenpakets.
-
In
einer weiteren vorteilhaften Ausgestaltung des zweiten Aspekts wird
die zumindest eine Anweisung als SQL-Anweisung ermittelt. Dies hat
den Vorteil, dass der Paketdatensatz und der Eigenschaftsdatensatz
besonders schnell zugreifbar sind.
-
Die
Erfindung zeichnet sich bezüglich
eines dritten Aspekts aus durch ein Computerprogrammprodukt. Das
Computerprogrammprodukt umfasst ein computerlesbares Medium mit
Programmanweisungen. Die Programmanweisungen sind durch einen Computer
ausführbar.
Ferner sind die Programmanweisungen ausgebildet zum Betreiben des
Navigationssystems durch das Verfahren gemäß des zweiten Aspekts der Erfindung.
-
Die
Erfindung ist im Folgenden anhand von schematischen Zeichnungen
näher erläutert. Es
zeigen:
-
1 eine
schematische Darstellung eines Navigationssystems,
-
2 ein
Programm zum Betreiben des Navigationssystems,
-
3 eine
allgemeine Tabellenstruktur,
-
4 eine
schematische Darstellung eines Speichermediums,
-
5 ein
Ausführungsbeispiel
der Tabellenstruktur.
-
Elemente
gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen
Bezugszeichen gekennzeichnet.
-
Ein
Navigationssystem (1) umfasst eine Navigationsvorrichtung
NAVI, ein Datenbankverwaltungssystem RDBMS und eine relationale
Datenbank RDB. Das Navigationssystem dient zum Ermitteln einer Route
und/oder zum Berechnen einer Strecke und/oder zum Finden eines Ortes
und/oder zum Ermitteln weiterer Informationen.
-
Die
Navigationsvorrichtung NAVI kann ein technisches Gerät sein,
das beispielsweise in einem Kraftfahrzeug angeordnet ist. Alternativ
kann die Navigationsvorrichtung NAVI auch ein Softwareprodukt sein,
das von dem technischen Gerät
verwendet wird. Das technische Gerät kann beispielsweise ein Bordcomputer
eines Kraftfahrzeugs und/oder ein Computer sein, beispielsweise
ein tragbarer Computer. Der tragbare Computer kann beispielsweise
ein Computer im Taschenformat und/oder ein Laptop sein. Die Navigationsvorrichtung
NAVI bzw. das technische Gerät,
das die Navigationsvorrichtung NAVI umfasst, weisen Eingabeeinheiten
und Ausgabeeinheiten auf. Die Eingabeeinheiten dienen zum Eingeben
von Informationen, beispielsweise einer Route, die ermittelt werden
soll, und/oder eines Zielorts und/oder Informationen, aufgrund derer
Navigationsdaten geändert,
insbesondere aktualisiert werden.
-
Die
Navigationsvorrichtung NAVI kommuniziert mit dem Datenbankverwaltungssystem
RDBMS, welches ein SQL-Interface SQL_IF, einen SQL-Befehls-Prozessor
SQL_CMD_PRO, einen Pager PAGER, ein Verzeichnis ID_LIB von Indexstrukturen und
ein Betriebssystem-Interface OS_IF umfasst. Das Datenbankverwaltungssystem
RDBMS kommuniziert mit der relationalen Datenbank RDB, in der die Navigationsdaten
gespeichert sind. Die Navigationsvorrichtung NAVI kommuniziert mit
dem Datenbankverwaltungssystem RDBMS vorzugsweise derart, dass die
Navigationsvorrichtung NAVI eine Anweisung SQL_CMD an das Datenbankverwaltungssystem
RDBMS sendet. Alternativ kann die Anweisung SQL_CMD auch durch geeignete
Signale repräsentiert
werden, die dann in dem Datenbankverwaltungssystem RDBMS in die
entsprechende Anweisung SQL_CMD übersetzt
werden. Vorzugsweise wird die Anweisung SQL_CMD als SQL-Anweisung abhängig von
einer zu bestimmenden Route und/oder abhängig von einem vorgegebenen
Zielort und/oder zum Aktualisieren der Navigationsdaten und/oder
zum Ermöglichen
weiterer Zugriffe von der Navigationsvorrichtung NAVI ermittelt
und vorgegeben.
-
Das
SQL-Interface SQL_IF dient dazu, zu überprüfen, ob die Anweisung SQL_CMD
syntaktisch richtig ist. Falls die Anweisung SQL_CMD syntaktisch
richtig ist, wird sie von dem SQL-Interface SQL_IF an den SQL-Befehls-Prozessor SQL_CMD_PRO übergegeben.
-
Der
SQL-Befehls-Prozessor SQL_CMD_PRO ermittelt abhängig von der Anweisung SQL_CMD
und vorzugsweise abhängig
von mindestens einer verfügbaren
Indexstruktur, die in dem Verzeichnis ID_LIB der Indexstrukturen
hinterlegt ist, einen Software-Ausführungsplan EX_PLAN_SOFT. Der
Software-Ausführungsplan EX_PLAN_SOFT
ist ein Programmabschnitt, der dazu dient, den Zugriff auf die Navigationsdaten möglichst
effizient zu gestalten.
-
Der
Software-Ausführungsplan EX_PLAN_SOFT
wird von dem SQL-Befehls-Prozessor
SQL_CMD_PRO an den Pager PAGER übergeben.
Der Pager PAGER dient dazu, abhängig
von dem Software-Ausführungsplan
EX_PLAN_SOFT einen Hardware-Ausführungsplan
EX_PLAN_HARD zu ermitteln. Der Hardware-Ausführungsplan EX_PLAN_HARD ist
repräsentativ
dafür,
wie eine Hardware, beispielsweise ein CD-ROM-Laufwerk und/oder eine
Festplatte und/oder weitere Datenträger, die die relationale Datenbank
RDB umfassen können,
angesteuert werden müssen,
um den Software-Ausführungsplan
EX_PLAN_SOFT abzuarbeiten.
-
Der
Hardware-Ausführungsplan EX_PLAN_HARD
wird an die Betriebssystem-Schnittstelle OS_IF übergeben, welche den Hardware-Ausführungsplan
EX_PLAN_HARD in entsprechende Stellsignale SG für das technische Gerät übersetzt,
auf dem die Navigationsdaten gespeichert sind, und/oder das ein
Speichermedium DC umfasst, auf dem die Navigationsdaten gespeichert
sind.
-
Ein
Programm zum Betreiben des Navigationssystems ist vorzugsweise auf
einem Speichermedium des Navigationssystems gespeichert. Das Programm
wird bevorzugt beim Starten des Navigationssystems in einem Schritt
S1 gestartet, in dem gegebenenfalls Variablen initialisiert werden.
-
In
einem Schritt S2 wird die Anweisung SQL_CMD ermittelt. Die Anweisung
SQL-CMD wird beispielsweise ermittelt abhängig von einer zu bestimmenden
Route und/oder abhängig
von einem vorgegebenen Zielort und/oder zum Aktualisieren der Navigationsdaten
und/oder zum Ermöglichen
weiterer Zugriffe der Navigationsvorrichtung NAVI auf die relationale
Datenbank RDB.
-
In
einem Schritt S3 wird überprüft, ob die
Anweisung SQL_CMD in Ordnung OK ist. Ist die Bedingung des Schrittes
S3 nicht erfüllt,
so wird die Bearbeitung erneut in dem Schritt S2 fortgesetzt. Ist
die Bedingung des Schrittes S3 erfüllt, so wird die Bearbeitung
in dem Schritt S4 fortgesetzt.
-
In
dem Schritt S4 wird abhängig
von der Anweisung SQL_CMD und abhängig von den zu Verfügung stehenden
Indexstrukturen der Software-Ausführungsplan EX_PLAN_SOFT ermittelt.
-
In
einem Schritt S5 wird der Hardware-Ausführungsplan EX_PLAN_HARD ermittelt
abhängig von
dem Software-Ausführungsplan EX_PLAN_SOFT.
-
In
einem Schritt S6 werden die Stellsignale SG für das technische Gerät ermittelt,
das die relationale Datenbank RDB umfasst.
-
In
einem Schritt S7 kann das Programm beendet werden. Vorzugsweise
wird das Programm jedoch in dem Schritt S2 fortgesetzt und erst
beim Abschalten des Navigationssystems beendet.
-
Die
Navigationsdaten (3) sind in der relationalen
Datenbank RDB in zumindest einer Pakettabelle NTR1 und zumindest
einer Eigenschaftstabelle NTR2 gespeichert. Die Pakettabelle NTR1 und
die Eigenschaftstabelle NTR2 weisen eine allgemeine Tabellenstruktur
auf. Die Pakettabelle NTR1 weist vorzugsweise mehrere Paketdatensätze und die
Eigenschaftstabelle NTR2 weist vorzugsweise mehrere Eigenschaftsdatensätze auf.
Die Navigationsdaten in der relationalen Datenbank RDB setzen sich
aus den Paketdatensätzen
und den Eigenschaftsdatensätzen
zusammen, wobei einem Datensatz der Navigationsdaten ein Eigenschaftsdatensatz der
zumindest einen Eigenschaftstabelle und ein Paketdatensatz der zumindest
einen Pakettabelle zugeordnet ist. Den Paketdatensätzen sind
jeweils ein Datenpaket NTR_BLOB und eine eindeutige Kennung NTR_ID
des Datenpakets NTR_BLOB zugeordnet. Den Eigenschaftsdatensätzen sind
jeweils die eindeutige Kennung NTR_ID des Datenpaketes NTR_BLOB
und zumindest eine Eigenschaft NTR_ATTR des Datenpaketes NTR_BLOB
zugeordnet. Die jeweilige eindeutige Kennung NTR_ID repräsentiert
vorzugsweise nur einen Datensatz der Navigationsdaten bestehend
aus zumindest einem Paketdatensatz und zumindest einem Eigenschaftsdatensatz.
In 3 sind der Eigenschaftstabelle NTR2 neben der
eindeutigen Kennung NTR_ID mehrere Eigenschaften NTR_ATT_1 bis NTR_ATT_N
zugeordnet. Grundsätzlich
kann der Eigenschaftstabelle NTR2 auch nur eine Eigenschaft NTR_ATTR
zugeordnet sein. Alternativ können
auch mehrere Eigenschaftstabellen NTR2 vorhanden sein, wobei jeder Eigenschaftstabelle
NTR2 die eindeutige Kennung und zumindest eine Eigenschaft NTR_ATTR
zugeordnet sind.
-
Die
Pakettabelle NTR1 umfasst die eindeutige Kennung NTR_ID und das
zumindest eine Datenpaket NTR_BLOB. Die Daten des Datenpakets NTR_BLOB
sind bezüglich
ihres Inhalts und/oder bezüglich
ihrer räumlichen
Anordnung auf einem Speichermedium DC der relationalen Datenbank
RDB zusammenhängend
gespeichert. Das Datenpaket NTR_BLOB kann somit beispielsweise eine
aneinandergereihte Abfolge von Zeichen, beispielsweise ein Binärcode, innerhalb
einer großen
Datenmenge sein, die beispielsweise die relationale Datenbank RDB
repräsentiert.
Die gesamten Navigationsdaten des Navigationssystems oder die Navigationsdaten
ohne die Eigenschaften NTR_ATT sind in dem Datenpaketen NTR_BLOB
gespeichert. Das Datenpaket NTR_BLOB enthält beispielsweise Namen und/oder grafische
und/oder geografische Daten. Die geografischen Daten sind beispielsweise
Längen-
und/oder Breitengrade, die geografischen Daten können auch Höhenangaben, Seen, Flüsse und/oder
andere geografische Daten sein. Die grafischen Daten sind beispielsweise
ein Logo einer Firma und/oder eine typische Fassade eines Gebäudes.
-
Die
allgemeine Tabellenstruktur ermöglicht es,
die Vorteile der relationalen Datenbank RDB und einer proprietären Datenbank
zu nutzen. Die proprietäre
Datenbank ist eine Datenbank, die speziell für eine vorgegebene Anwendung,
so z. B. für
die Navigationsvorrichtung NAVI, entwickelt wurde. Die Navigationsdaten
sind so in der proprietären
Datenbank gespeichert, dass auf die Navigationsdaten nur mit der
entsprechenden Navigationsvorrichtungen NAVI mittels entsprechender
proprietärer
Zugriffsfunktionen zugegriffen werden kann.
-
Ein
Vorteil der proprietären
Datenbank ist beispielsweise, dass eine große Datenmenge mit relativ wenig Speicherplatzbelegung
auf dem Speichermedium DC der relationalen Datenbank RDB gespeichert
werden kann. Ein Vorteil der relationalen Datenbank RDB ist beispielsweise,
dass die Daten in der relationalen Datenbank RDB einfach und schnell
gefunden und verändert,
insbesondere aktualisiert werden können. Jedes einzelne der Datenpakete NTR_BLOB
repräsentiert
eine eigene proprietäre Datenbank.
Zum Auswerten der Datenpakete NTR_BLOB können die Datenpakete NTR_BLOB von
dem Datenbankverwaltungssystem RDBMS an die Navigationsvorrichtung
NAVI übergeben
werden. Bevorzugt ermittelt jedoch die Navigationsvorrichtung NAVI
die entsprechenden Zugriffsfunktionen und übergibt diese an das Datenbankverwaltungssystem
RDBMS zum Auswerten der Navigationsdaten.
-
Mittels
der Zugriffsfunktion kann das Datenpaket verändert werden. Dies ist vor
allem bei einem Aktualisieren der Navigationsdaten sehr vorteilhaft. Wird
beispielsweise lediglich die Richtung einer Einbahnstraße umgekehrt,
so muss lediglich das entsprechende Datenpaket NTR_BLOB ausgetauscht werden.
Alternativ kann es ausreichend sein, wenn die Zugriffsfunktion die
Daten des Datenpakets NTR_BLOB aktualisiert.
-
Falls
beispielsweise mit Hilfe des Navigationssystems ein vorgegebener
Ort gesucht werden soll, wird bevorzugt eine Ortspakettabelle NTR_POIS_1
als Pakettabelle NTR1 und eine Ortseigenschaftstabelle NTR_POIS_2
als Eigenschaftstabelle NTR2 angelegt, die für die Suche nach interessanten
Orten optimiert ist (5). Die Ortspakettabelle NTR_POIS_1
und die Ortseigenschaftstabelle NTR_POIS_2 umfasst jeweils Spalten
und Zeilen. Die jeweilige Zeile der Ortspakettabelle NTR_POIS_1
repräsentiert
jeweils den Paketdatensatz, insbesondere einen Ortspaketdatensatz,
und die jeweilige Zeile der Ortseigenschaftstabelle NTR_POIS_2 repräsentiert
jeweils den Eigenschaftsdatensatz, insbesondere einen Ortseigenschaftsdatensatz.
Die jeweils erste Spalte der jeweiligen Tabelle repräsentiert
eine Ortskennung POI_ID als eindeutige Kennung NTR_ID des jeweiligen
Datensatzes. Dabei repräsentiert
beispielsweise die Ortskennung POI_ID_354 jeweils den zugeordneten Ortspaketdatensatz
und jeweils den Ortseigenschaftsdatensatz. Die Ortspakettabelle NTR_POIS_1
umfasst ferner ein Ortsdatenpaket POI_BLOB je Ortspaketdatensatz.
Die Ortseigenschaftstabelle NTR_POIS_2 umfasst neben der Ortskennung
POI_ID eine Ortskategorie POI_CAT und einen Ortsnamen POI_NAME.
Die Ortskategorien POI_CAT und die Ortsnamen POI_NAME repräsentieren
Eigenschaften NTR_ATTR des jeweiligen Ortsdatenpakets POI_BLOB.
Alternativ kann die Ortseigenschaftstabelle NTR_POIS_2 auch auf
zwei separate Ortseigenschaftstabellen NTR_POIS_2 aufgeteilt werden,
wobei beispielsweise der einen Ortseigenschaftstabelle die Ortskennung
POI_ID und die Ortskategorie POI_CAT und der anderen Ortseigenschaftstabelle
die Ortskennung POI_ID und der Ortsname POI_NAME zugeordnet ist.
Alternativ ist es auch möglich,
dem jeweiligen Ortspaketdatensatz mehrere Datenpakete zuzuordnen.
Unter der Ortskennung POI_ID_354 ist beispielsweise das Restaurant
Brückenwirt
abgelegt. Die räumliche
Lage des Restaurants Brückenwirt
ist in dem entsprechenden Ortsdatenpaket POI_BLOB abgelegt. Ferner
enthält die
Ortseigenschaftstabelle NTR_POIS_2 das Restaurant Bierblume mit
der Ortskennung POI_ID_355. Zusätzlich
zu der geografischen Lage sind in dem entsprechenden Ortsdatenpaket POI_BLOB
beispielsweise noch Spezialitäten
des Hauses abgelegt. Die Ortskennung POI_ID 58730 ist repräsentativ
für ein
Museum, beispielsweise die Pinakothek in München. Die geografische Lage und/oder beispielsweise
Eintrittspreise und/oder Öffnungszeiten
sind in dem entsprechenden Ortsdatenpaket POI_BLOB abgelegt.
-
In 4 ist
ein Ausschnitt des Speichermediums DC der relationalen Datenbank
RDB mit einem ersten und einem zweiten Speicherbereich MA1, MA2
dargestellt. Aufgrund der Aufteilung der Datensätze der Navigationsdaten in
Paket- und Eigenschaftsdatensätze,
die der zumindest einen Pakettabelle NTR1 und die der zumindest
einen Eigenschaftstabelle NTR2 zugeordnet sind, werden die Paketdatensätze der
zumindest einen Pakettabelle NTR1 mittels des Datenbankverwaltungssystem
RDBMS vorzugsweise bezüglich
ihrer räumlichen
Anordnung auf dem Speichermedium DC zusammenhängend in dem ersten Speicherbereich
MA1 gespeichert und die Eigenschaftsdatensätze der zumindest einen Eigenschaftstabelle
NTR2 mittels des Datenbankverwaltungssystem RDBMS vorzugsweise bezüglich ihrer
räumlichen
Anordnung auf dem Speichermedium DC zusammenhängend in dem zweiten Speicherbereich
MA2 gespeichert. Dabei werden die Datensätze der jeweiligen Tabelle
bezüglich
ihrer Anordnung zusammenhängend
gespeichert. D. h. in dem ersten Speicherbereich MA1 des Speichermediums
DC sind die jeweiligen eindeutigen Kennungen NTR_ID und die dazugehörigen Datenpakete NTR_BLOB
vorzugsweise aneinandergereiht gespeichert. In dem zweiten Speicherbereich
MA2 des Speichermediums DC sind die jeweiligen eindeutigen Kennungen
NTR_ID und die zumindest eine dazugehörige Eigenschaft NTR_ATTR vorzugsweise
aneinandergereiht gespeichert. Der erste und zweite Speicherbereich
MA1, MA2 sind vorzugsweise räumlich
getrennt auf dem Speichermedium DC gespeichert, können grundsätzlich aber
auch aneinandergereiht auf dem Speichermedium DC angeordnet sein.
-
Das
Datenbankverwaltungssystem RDBMS ist ausgebildet mittels des vorgegebenen
Hardware-Ausführungsplans
EX_PLAN_HARD auf die relationale Datenbank RDB zuzugreifen. Der
Zugriff, so z. B. ein Lesezugriff, erfolgt dabei vorzugsweise in Speicherblöcken vorgegebener
Größe, so z.
B. 1024 Bytes. D. h. es werden vorzugsweise immer ganze Speicherblöcke gelesen.
Dabei werden die Speicherblöcke
vorzugsweise zunächst
in einen Hauptspeicher des Navigationssystems kopiert und danach ausgewertet.
-
Unter
der Annahme, dass die Ortspakettabelle NTR_POIS_1 (5)
dem ersten Speicherbereich MA1 und die Ortseigenschaftstabelle NTR_POIS_2
(5) dem zweiten Speicherbereich MA2 des Speichermediums
DC zugeordnet ist, wird beispielsweise als Anweisung SQL_CMD die SQL-Anweisung
select
POI_BLOB from NTR1 where POI_ID in (select POI_ID from NTR2 where
NTR_NAME = Pinakothek)
mittels der Navigationsvorrichtung NAVI
abhängig von
der zu bestimmenden Route zur Pinakothek in München ermittelt und vorgegeben.
Dabei werden mittels des Datenbankverwaltungssystems RDBMS zunächst die
Ortseigenschaftensdatensätze
mittels des Hardware-Ausführungsplanes
EX_PLAN_HARD in den Hauptspeicher des Navigationssystems kopiert
und danach die kopierten Ortseigenschaftsdatensätze ausgewertet, bis derjenige
Ortseigenschaftsdatensatz ermittelt wird, dessen Ortsname POI_NAME
gleich der Pinakothek ist. Somit werden vorzugsweise zunächst nur
die Daten der Speicherblöcke
in den Hauptspeicher des Navigationssystems kopiert, die die Ortseigenschaftsdatensätze der Ortseigenschaftstabelle
NTR2 repräsentieren.
Durch die verteilte Anordnung der Ortspaketdatensätze und der
Ortseigenschaftsdatensätze
auf dem Speichermedium DC werden die Daten der Speicherblöcke, die
die entsprechenden Ortsdatenpakete POI_BLOB repräsentieren, zunächst nicht
in den Hauptspeicher kopiert, was typischerweise der Fall wäre, wenn
die Ortspaketdatensätze
und die Ortseigenschaftsdatensätze
einer gemeinsamen Tabelle zugeordnet wären und somit die Datensätze nicht
räumlich
getrennt voneinander gespeichert wären. Somit wird abhängig von
der Auswertung der Ortseigenschaftsdatensätze in dem Hauptspeicher zunächst die
Ortskennung POI_ID 58730 ermittelt, die dem Ortseigenschaftsdatensatz
mit dem Ortsnamen POI_NAME Pinakothek zugeordnet ist. Abhängig von
der Ortskennung POI_ID 58730 wird dann auf das entsprechende Ortsdatenpaket
POI_BLOB des Ortspaketdatensatzes zugegriffen, dessen zugeordnete
Ortskennung POI_ID gleich der Ortskennung POI_ID 58730 ist.
-
Vorzugsweise
sind die eindeutigen Kennungen NTR_ID in dem Verzeichnis der Indexstrukturen ID_LIB
des Datenbankverwaltungssystems RDBMS gespeichert und müssen somit
nicht mittels separater Zugriffe auf die relationale Datenbank RDB
ermittelt werden. Somit kann abhängig
von den Daten in dem Verzeichnis der Indexstrukturen ID_LIB mittels
des entsprechenden Hardware-Ausführungsplans EX_PLAN_HARD
direkt auf das entsprechende Datenpaket NTR_BLOB, so z. B. auf das
der Ortskennung POI_ID 58730 zugeordnete Ortsdatenpaket POI_BLOB,
in dem ersten Speicherbereich MA1 zugegriffen werden. Grundsätzlich sind
auch mehrere Anweisung SQL_CMD zur Ermittlung des entsprechenden
Ortsdatenpaketes POI_BLOB möglich.
-
Somit
ergibt sich durch die räumliche
verteilte Speicherung der Paketdatensätze und der Eigenschaftsdatensätze auf
dem Speichermedium DC ein besonders schneller und ausgewählter Zugriff
auf die jeweiligen Datenpakete NTR_BLOB, um die Navigationsdaten
zu ermitteln.
-
Neben
der Ortskategorie POI_CAT und dem Ortsnamen POI_NAME kann die Ortseigenschaftstabelle
NTR2 beispielsweise auch eine Versionsnummer als weitere Eigenschaft
umfassen, die die aktuelle Version des zugeordneten Ortsdatenpaketes POI_BLOB
repräsentiert.
So kann besonders schnell und einfach während einer Aktualisierung
der Ortsdatenpakete POI_BLOB zunächst
die zugeordneten Versionsnummern in den Ortseigenschaftsdatensätzen ermittelt
und mit einer vorgegebenen Versionsnummer verglichen werden. Ergibt
der Vergleich der Versionsnummern, dass ein oder mehrere Ortsdatenpakete
POI_BLOB nicht mehr aktuell sind, so kann im Weiteren mittels eines
separaten Zugriffs auf die Ortspaketdatensätze auf das jeweilige Ortsdatenpaket
POI_BLOB zugegriffen werden und dieses durch eine aktuellere Version
ersetzt werden. Dies hat den Vorteil, dass besonders schnell und
einfach nur diejenigen Ortsdatenpakete aktualisiert werden, die
als nicht mehr aktuell ermittelt wurden.
-
Vorzugsweise
können
die Paketdatensätze einer
ersten Datei und die Eigenschaftsdatensätze einer zweiten Datei zugeordnet
sein. Die jeweilige Datei, so z. B. eine Datenbankdatei, stellt
dabei eine Einheit zusammengehöriger
Datensätze
dar, die bezüglich
ihrer Anordnung auf dem Speichermedium DC zusammenhängend gespeichert
sind. Dies hat den Vorteil, dass während der Aktualisierung beispielweise
die komplette erste und/oder die komplette zweite Datei besonders
einfach ausgetauscht werden kann, um die Navigationsdaten zu aktualisieren. Alternativ
kann die zweite Datei komplett zu einem Aktualisierungsserver übermittelt
werden, der abhängig
von den Eigenschaftsdatensätzen
in der zweiten Datei die nichtaktuellen Datenpakete NTR_BLOB ermittelt.
Der Aktualisierungsserver braucht dann nur aktuelle Versionen derjenigen
Datenpakete NTR_BLOB zu übermitteln,
die als nicht aktuell ermittelt wurden. Dies hat den Vorteil, dass
die relevanten Daten zur Beurteilung der Aktualität der Datenpakete NTR_BLOB
nicht erst aus der entsprechenden Eigenschaftstabelle NTR2 in eine
neue Datei extrahiert werden müssen.
-
Die
SQL-Anweisung als Anweisung ermöglicht
einen besonders sicheren und schnellen Zugriff auf die entsprechenden
Datensätze
in der relationalen Datenbank RDB. Alternativ können die Eigenschaftsdatensätze auch
komprimiert, so z. B. in der zweiten Datei, auf dem Speichermedium
DC gespeichert sein. Dabei kann die Anweisung zum Ermitteln der
entsprechenden Eigenschaftsdatensätze auch als proprietäre Anweisung
speziell für
das Navigationssystem ausgebildet sein und somit einen besonders
schnellen Zugriff auf die Eigenschaften gewährleisten.
-
Die
maximale Größe der Datenpakete NTR_BLOB
und die Anzahl von Zeilen und Spalten sowie die Anzahl der Pakettabellen
NTR1 und Eigenschaftstabellen NTR2 in der relationalen Datenbank RDB
können
abhängig
von der Navigationsvorrichtung NAVI optimiert werden. Dabei gilt
prinzipiell, je größer die
Datenpakete NTR_BLOB sind, desto geringer kann der benötigte Speicherplatz
sein. Je kleiner die Datenpakete NTR_BLOB sind, desto einfacher
können
die entsprechenden Zugriffsfunktionen ausgebildet sein.
-
Die
Erfindung ist nicht auf die angegebenen Ausführungsbeispiele beschränkt. Die
Navigationsvorrichtung NAVI, das Datenbankverwaltungssystem RDBMS
und/oder die relationale Datenbank RDB können aus einzelnen Hardwarekomponenten
gebildet sein und/oder aus einzelnen Softwarekomponenten gebildet
sein und/oder als einzelne Komponenten einer einzigen Anwendung
ausgebildet sein. Ferner kann das Verfahren zum Betreiben des Navigationssystems
teilweise oder ganz in einem Computerprogrammprodukt oder in einem
Hardware-Produkt oder in einer Kombination aus Computerprogrammprodukt
und Hardware-Produkt implementiert sein. Ein computerlesbares Medium
kann das Computerprogrammprodukt mit Programmanweisungen umfassen,
die durch einen Computer ausführbar
sind, zum Abarbeiten des erfindungsgemäßen Verfahrens. Das computerlesbare
Medium kann beispielsweise eine CD-ROM, eine DVD, eine Flash-Memory-Card,
eine Festplatte und/oder ein anderes computerlesbares Medium sein,
beispielsweise ein Speichermedium innerhalb eines Netzwerks.
-
- DC
- Speichermedium
- EX_PLAN_HARD
- Hardware-Ausführungsplan
- EX_PLAN_SOFT
- Software-Ausführungsplan
- ID_LIB
- Verzeichnis
Indexstrukturen
- MA1
- erster
Speicherbereich
- MA2
- zweiter
Speicherbereich
- NAVI
- Navigationsvorrichtung
- NTR_ATTR, NTR_ATT_1, NTR_ATT_N
- Eigenschaften
- NTR_BLOB
- Datenpaket
- NTR_ID
- Kennung
- NTR_POIS_1
- Ortspakettabelle
- NTR_POIS_2
- Ortseigenschaftstabelle
- NTR1
- Eigenschaftstabelle
- NTR2
- Pakettabelle
- OK
- in
Ordnung
- OS_IF
- Betriebssystemschnittstelle
- PAGER
- Pager
- POI_BLOB
- Ortsdatenpaket
- POI_CAT
- Ortskategorie
- POI_NAME
- Ortsname
- RDB
- relationale
Datenbank
- RDBMS
- Datenbankverwaltungssystem
- SG
- Stellsignal
- SQL_CMD
- Anweisung
- SQL_IF
- SQL-Schnittstelle