-
TECHNISCHES GEBIET
-
Die
Erfindung betrifft ein Verfahren zum Aktualisieren einer Datenbank
durch das Übermitteln
einer Version von Datenbanksegmenten, wobei die Datenbank in einzelne
Segmente aufgeteilt ist sowie eine entsprechend ausgebildete Datenbankeinrichtung.
-
STAND DER TECHNIK
-
Datenbanken
in beliebigen Dateiformaten bilden in verschiedenen Systemen oder
Geräten
die Grundlage zur Ermittlung weiterer Größen oder Informationen. Beispielsweise
werden in Navigationssystemen die Informationen über Straßen, Brücken, Fähren und dergleichen in entsprechend
ausgebildeten Datenbanken bzw. Datenbankeinrichtungen in Form von
ein- und/oder auslesbaren Datenspeichern hinterlegt, die unter anderem
auf einer CD-Rom gespeichert sein können, um anhand der Datenbank sowie
der aktuell ermittelten Position eine optimale Fahrtroute zu einem
vom Nutzer des Navigationssystems vorgegebenen Ziel errechnen zu
können
und während
der Fahrt die entsprechenden Fahrtrichtungshinweise auszugeben.
-
Hierbei
ist es notwendig, die Datenbank immer auf dem aktuellen Stand zu
halten, da sich die möglichen
Fahrtrouten unter anderem durch die Neueröffnung eines Autobahnabschnitts
ständig
verändern.
-
Hierzu
ist es bekannt, dass eine neue Version der Datenbank vom Anbieter
der Datenbank erstellt und mit dieser Version die Datenbank in einem Gerät aktualisiert
wird. Dabei kann die neue Version entweder auf ein Speichermedium
aufgespielt sein oder die neue Version der Datenbank wird an das
jeweilige System über
das Internet bzw. bei einem Navigationssystem drahtlos über eine
Funkverbindung übermittelt.
Prinzipiell können
auch nur einzelne Elemente, die sich tatsächlich verändert haben, bzw. binäre Differenzen
zu älteren
Versionen übermittelt werden,
um den Aufwand für
einen Datentransfer zu minimieren. Selbstverständlich können hierfür beliebige Übertragungsmedien
eingesetzt werden.
-
Ein
Erfordernis beim Aktualisieren einer Datenbank besteht darin, dass
die Datenbank auch nach der Aktualisierung in sich konsistent bleibt.
Das bedeutet, dass keine Daten oder Segmente der Datenbank eine
Konsistenzbedingung verletzen dürfen, die
bei der Spezifikation der Datenbank aufgestellt werden. Ein Beispiel
für eine
solche Bedingung ist ein Verweis, der innerhalb der Datenbank nicht
auf ein Element gerichtet sein darf, das bei einer Aktualisierung
gestrichen wurde.
-
Ein
häufiger
Grund für
die Verletzung einer solchen Konsistenzbedingung besteht darin,
dass ein Teil der Datenbank aktualisiert wurde und Abhängigkeiten
zwischen diesem Teil und anderen Teilen der Datenbank, die nicht
aktualisiert worden sind, nicht berücksichtigt werden. Dem könnte zwar
dadurch abgeholfen werden, dass die komplette Datenbank erneuert
wird, dies erfordert aber einen erheblichen Aufwand und beispielsweise
bei einer drahtlosen Mobilfunkverbindung einen erheblichen und kostenintensiven
Zeitbedarf für
das Herunterladen der aktuellen Datenbank.
-
Zur
Lösung
dieses Problems ist es bekannt, dass eine Datenbank in einzelne
Segmente aufgeteilt ist, die unabhängig voneinander aktualisiert
werden. Dazu wird die Datenbank in nicht überlappende Teile oder Segmente
aufgeteilt, die jeweils unterschiedliche Aktualisierungsversionen
aufweisen können.
Bei der Aktualisierung einzelner Segmente muss jedoch nach wie vor
darauf geachtet werden, dass Abhängigkeiten
untereinander zu berücksichtigen
sind, um nach wie vor eine konsistente Datenbank zu erhalten.
-
Eine
unerwünschte
Auswirkung des teilweisen Aktualisierens besteht im sogenannten "Lawineneffekt". Auch wenn nur ein
Teil oder Segment der Datenbank aktualisiert werden soll, kann die
Notwendigkeit auftreten, dass daraufhin mehrere Segmente der Datenbank
aktualisiert werden müssen,
falls von dem einen aktualisierten Segment Verweise oder Beziehungen
zu diesen anderen Segmenten bestehen. Dieser Effekt kann zwar durch
das Aufteilen der Datenbank in kleinere Einheiten eingeschränkt werden, jedoch
führt dies
dazu, dass die Datenbank aus vielen unterschiedlichen Segmenten
besteht, die alle jeweils einen verschiedenen Aktualisierungsgrad
aufweisen. Somit ist der Aufwand zur Überwachung der Aktualisierung
der Datenbank wesentlich erhöht.
Zudem tritt das Problem auf, dass in einem Rechenzentrum, in dem
die aktualisierten Datenbankversionen erstellt werden, üblicherweise
keine Informationen vorliegen, welche Versionen der Datenbank bei
einem Nutzer auf seinem Gerät
aktuell vorhanden sind.
-
Ausgehend
von diesem Stand der Technik liegt der Erfindung die Aufgabe zugrunde,
ein Verfahren zum Aktualisieren einer Datenbank der Eingangs genannten
Art zu schaffen, mit dem in einfacher Weise eine Datenbank, zumindest
teilweise, aktualisiert werden kann, ohne dass der Verwaltungsaufwand zur
Kontrolle der Aktualisierung zu groß wird. Weiterhin muss gewährleistet
sein, dass die Datenbank in sich konsistent ist. Des Weiteren soll
eine entsprechend ausgebildete Datenbankeinrichtung angegeben werden.
-
Diese
Aufgaben werden durch die in den Ansprüchen 1 und 5 angegebenen Merkmale
gelöst.
-
Der
Kerngedanke der Erfindung besteht darin, dass eine Datenbank in
an sich bekannter Weise in kleinere Teile, Einheiten oder Segmente
unterteilt ist, und dass die einzelnen Segmente der Datenbank daraufhin
unterschieden werden, ob sie als explizit oder implizit zu aktualisierende
Segmente einzustufen sind. Dabei werden implizit zu aktualisierenden Segmente
nur gemeinsam mit den explizit zu aktualisierenden Segmenten aktualisiert,
da von den impliziten Segmenten Beziehungen zu den expliziten Segmenten
bestehen. Das bedeutet, dass eine Änderung eines expliziten Segments
unmittelbar die Aktualisierung eines implizit zu aktualisierenden
Segments erfordert bzw. nach sich zieht. Das Aktualisieren der implizit
zu aktualisierenden Segmente erfolgt dabei innerhalb der Datenbank
bzw. innerhalb des Geräts
und wird beispielsweise von einem Aktualisierungs-Kompilierer ausgeführt.
-
Es
versteht sich, dass ein Segment der Datenbank eine beliebige Größe aufweisen
kann bis hinunter zu einzelnen Daten oder Attributen. Jedem Segment
wird dabei eine Version bzw. ein Aktualisierungsgrad zugeordnet,
der in einem Aktualisierungs-Kompilierer im Rechenzentrum gespeichert wird.
Wenn eine Aktualisierung durchgeführt werden soll wird nur für die explizit
zu aktualisierenden Segmente eine neue Version übermittelt und in der Datenbank
beispielsweise eines mobilen Navigationsgeräts, das die aktualisierte Fassung
drahtlos empfangen hat, gespeichert. Für die anderen, implizit zu aktualisierenden
Segmente wird keine aktuelle Version übermittelt, wobei deren Aktualisierung
in der Datenbank selbst erfolgt in Abhängigkeit der Änderungen
der expliziten Segmente. Die entsprechenden Änderungen dieser impliziten
Segmente können
allerdings im Rechenzentrum nachvollzogen werden, da dort die Parameter
der verwendeten Datenbanken bekannt sind.
-
Eine
Datenbankeinrichtung, beispielsweise in einem Navigationssystem,
weist hierzu eine Datenbank auf, der mit Hilfe einer Empfangseinrichtung empfangene
Datenbanksegmente zuführbar
sind. In der Datenbankeinrichtung ist ein Aktualisierungs-Kompilierer
vorgesehen, der hard- und/oder softwaremäßig ausgestaltet sein kann,
mit dem die implizit zu aktualisierenden Segmente der Datenbank
aufgrund der von einem Rechenzentrum empfangenen Versionen der Datenbanksegmente
aktualisiert werden.
-
Der
Vorteil der Erfindung besteht darin, dass Lawineneffekte weitestgehend
vermieden werden, da die Anzahl der zu aktualisierenden Segmente durch
die Einteilung in explizite und implizit zu aktualisierende Segmente
wesentlich verringert ist. Die Aktualisierungen der implizit zu
aktualisierenden Segmente fallen dabei nicht weg. Vielmehr können implizit
zu aktualisierende Segmente keine Aktualisierungen mehr auslösen. Zudem
müssen
wesentlich weniger Daten übermittelt
werden, da eine Aktualisierung der implizit zu aktualisierenden
Segmente nicht mehr übertragen
werden muss. Ebenfalls müssen
in der Datenbank keine Speicherplätze für die aktualisierten Versionen
der implizit zu aktualisierenden Segmente bereitgehalten werden,
da diese selbsttätig
erneuert werden. Zudem entfallen diese Segmente bei der Überwachung
der verschiedenen Versionen, so dass der Rechenaufwand erheblich
verringert ist.
-
Die
Einteilung in explizite und implizit zu aktualisierende Segmente
erfolgt bereits bei der Erstellung der Spezifikationen der Datenbank,
wobei es auch möglich
ist, dass verschiedene explizite Segmente voneinander abhängig sind.
Das bedeutet, dass das Aktualisieren eines expliziten Segments das
Aktualisieren eines anderen expliziten Segments, das vom ersten
abhängig
ist oder eine Beziehung mit diesem aufweist, nach sich zieht.
-
Die
implizit zu aktualisierenden Segmente andererseits können nur
zusammen mit den expliziten Segmenten aktualisiert werden, wobei
eine Version eines implizit zu aktualisierenden Segments exakt dem
Aktualisierungsgrad des zugehörigen
expliziten Segments entspricht. Selbstverständlich ist es auch möglich, dass
ein implizit zu aktualisierendes Segment von verschiedenen expliziten
Segmenten abhängt,
wobei dann der Aktualisierungsgrad des jeweils neuesten expliziten
Segments ausschlaggebend ist.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
Vorzugsweise
soll ein unabhängiges
Segment der Datenbank, wie im Anspruch 2 angegeben, explizit oder
ausdrücklich
aktualisiert werden. Das bedeutet, dass hier nur dann eine Aktualisierung durchgeführt wird,
wenn dies unbedingt notwendig ist, um die zu übertragende Datenmenge so klein
wie möglich
zu halten. Somit ist vermieden, dass ein solches Segment implizit
mit anderen Segmenten aktualisiert wird.
-
In
Anspruch 3 ist gekennzeichnet, dass bei Segmenten, die nur voneinander
abhängig
sind bzw. aufeinander verweisen, eines davon als explizit und das
oder die anderen als implizit zu aktualisieren eingeteilt werden.
Somit zieht das Aktualisieren lediglich des einen als explizit eingeteilten
Segments lediglich das Übertragen
einer geringen Datenmenge sowie nur einen geringen Rechen- und Überwachungsaufwand
nach sich, da das oder die anderen Segmente implizit aktualisiert
werden.
-
Es
ist ersichtlich, dass das Verfahren auf beliebige Datenbanken in
verschiedenen Geräten
und Anwendungen eingesetzt werden kann, die in beliebiger Weise
aktualisierbar sind. Insbesondere ist im Anspruch 4 vorgeschlagen,
dass das Verfahren auf Datenbanken eines Navigationssystems angewendet
wird, da mit dem Verfahren insbesondere die Kapazität zur drahtlosen Übertragung
von Daten nicht überbeansprucht
wird. In der Datenbank eines Navigationssystems ist das Straßennetz
in verschiedenen Vergrößerungsmaßstäben abgespeichert.
Im kleinsten Maßstab
sind alle Straßen,
Wege und dergleichen vorhanden. Im größten Maßstab hingegen beispielsweise
nur die Autobahnen. Dazwischen gibt es eine beliebige Anzahl verschiedener
Maßstäbe bzw.
Vergrößerungen
beispielsweise auf einem Display.
-
Wird
beispielsweise der Streckenverlauf einer Autobahn geändert oder
ein neuer Streckenabschnitt eröffnet,
so muss diese Information in allen Vergrößerungsmaßstäben vorhanden sein, da ansonsten
die Darstellung beispielsweise der Autobahn in verschiedenen Vergrößerungsmaßstäben inkonsistent
wäre. Dementsprechend
ist es notwendig, die Aktualisierung der Autobahn mindestens in
dem kleinsten Vergrößerungsmaßstab explizit
vorzunehmen, und eine implizite Aktualisierung für die anderen Vergrößerungsmaßstäbe auszuführen. Somit
ist die Konsistenz der Datenbank gesichert, da die verschiedenen
Vergrößerungen
bei Bedarf gemeinsam aktualisiert werden. Andererseits ist gewährleistet, dass
bei einer Änderung
in einem größeren Maßstab diese Änderung
auch in einer vergrößerten Darstellung
mit einem kleineren Maßstab
dargestellt wird, falls die Auflösung
noch ausreicht.
-
Vorzugsweise
ist eine erfindungsgemäße Datenbankeinrichtung
derart ausgebildet, um mit Ihr die vorstehend beschriebenen Verfahren
ausführen zu
können.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Eine
Ausführungsform
der Erfindung wird nachstehend anhand der Zeichnungen näher erläutert. Es
zeigen:
-
1:
das Aktualisieren einer Datenbank,
-
2:
eine in Segmente aufgeteilte Datenbank, und
-
3: verschiedene Abhängigkeiten der Segmente, und
-
4:
eine Datenbankeinrichtung.
-
BESTER WEG ZUR AUSFÜHRUNG DER
ERFINDUNG
-
Aus
der schematischen Darstellung in 1 ist die
grundsätzliche
Vorgehensweise beim Aktualisieren einer Datenbank 1 ersichtlich.
In einem Rechenzentrum 2 werden verschiedene aktualisierte Versionen
einer Datenbank 1 erstellt, wobei die verschiedenen Versionen
von Datenbanksegmenten a, b, c in an sich beliebiger Weise an die
räumlich
vom Rechenzentrum 2 getrennte Datenbank 1 übermittelt werden.
Beispielsweise kann die Übermittlung
auf einem Speichermedium erfolgen, über das Internet oder drahtlos
u.a. an ein mobiles Navigationsgerät.
-
In 2 ist
das Aufteilen einer Datenbank 1 in verschiedene Segmente
p1, p2, p3, p4, p5 dargestellt. Dabei kann jedes der Segmente p1
bis p5 einen unterschiedlichen Aktualisierungsgrad aufweisen, je
nach dem welche Version von Datenbanksegmenten a, b, c vom Rechenzentrum 2 an
die Datenbank 1 beispielsweise eines Navigationsgeräts übermittelt
wurden. In diesem Ausführungsbeispiel
hängen
die Segmente p1, p2 vom Segment p4 und das Segment p3 vom Segment
p5 ab beziehungsweise stehen diese untereinander in Beziehung. Das
bedeutet, dass eine Aktualisierung des Segments p3 eine Aktualisierung
des Segments p5 nach sich zieht.
-
In 3 sind zwei Beispiele der Datenbank 1 wiedergegeben,
wobei die Segmente p4 und p5 als implizit zu aktualisierende Segmente
eingeteilt sind. Da das Segment p5 nur eine abhängige Beziehung zum Segment
p3 aufweist, wird dieses auf jeden Fall gemeinsam mit dem Segment
p3 aktualisiert. Anders hingegen ist es für das Segment p4, das eine
Abhängigkeit
oder Beziehung sowohl mit dem Segment p1 als auch dem Segment p2
aufweist. Das Segment p4 wird gemeinsam mit dem Segment p1 aktualisiert, wie
in 3a dargestellt, falls das Segment p1 durch die Übermittlung
von Daten aktualisiert worden ist. Falls allerdings das Segment
p2, wie in 3b dargestellt, aktualisiert
worden ist, so wird das Segment p4 implizit gemeinsam mit diesem
innerhalb der Datenbank, beispielsweise von einem Aktualisierungs-Kompilierer
in der Datenbank aktualisiert.
-
In 4 ist
eine Datenbankeinrichtung 3 beschrieben, die im Wesentlichen
aus einer Datenbank 1 und einer Empfangseinrichtung 4 besteht.
Mit Hilfe der Empfangseinrichtung 4 können, vorzugsweise drahtlos,
Versionen von Datenbanksegmenten a, b, c empfangen und der Datenbank 1 zugeleitet
werden, die von einem zentralen Rechenzentrum 2 übermittelt
worden sind, wie jeweils durch die Verbindungspfeile verdeutlicht.
Weiterhin ist in der Datenbank 1 ein Aktualisierungs-Kompilierer 5 hard-
und/oder softwaremäßig ausgebildet,
mit dem beispielsweise die implizit zu aktualisiernden Segmente
p4, p5 der Datenbank 1 aus 3 aktualisiert
werden.