Nothing Special   »   [go: up one dir, main page]

EP2047386A1 - Update method for databases, particularly navigation databases - Google Patents

Update method for databases, particularly navigation databases

Info

Publication number
EP2047386A1
EP2047386A1 EP07787169A EP07787169A EP2047386A1 EP 2047386 A1 EP2047386 A1 EP 2047386A1 EP 07787169 A EP07787169 A EP 07787169A EP 07787169 A EP07787169 A EP 07787169A EP 2047386 A1 EP2047386 A1 EP 2047386A1
Authority
EP
European Patent Office
Prior art keywords
segment
database
versioned
segments
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP07787169A
Other languages
German (de)
French (fr)
Inventor
Dirk Luedtke
Alexander Starke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Denso Corp
Original Assignee
Robert Bosch GmbH
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH, Denso Corp filed Critical Robert Bosch GmbH
Publication of EP2047386A1 publication Critical patent/EP2047386A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3878Hierarchical structures, e.g. layering

Definitions

  • the present invention relates to a method for updating a decentralized
  • Database in particular a navigation database, which is subdivided into segments, by transferring an updated segment from a segmented into central segments, in the central database in the decentralized database and storing the updated segment in the decentralized database.
  • Today's navigation systems have extensive databases in which, for example, data of a digitized map, data for entering the destination, route search and display, and route guidance are stored displaying the current position of a vehicle. Furthermore, the databases may contain additional data for driver assistance systems.
  • the user of a database has an interest in ensuring that the information contained in the database is as up-to-date as possible. For example, the value of a navigation database for the driver decreases if the road network underlying the database has changed or if a temporary traffic incident can not be taken into account because the navigation database contains no information on this.
  • Another example is computer applications that rely on actual data.
  • a decentralized database is updated in such a way that in one
  • Data Center will check the availability of new data and, where appropriate, provide a new version of the database. If a new version of the database is available, it will be assembled and stored in an update database.
  • the decentralized system for example the navigation system in the vehicle, downloads suitable update data from this update database and integrates it into its decentralized database.
  • the updating of a database can be complete or partial.
  • a complete update has the advantage that the entire database is coordinated.
  • the disadvantage is that a complete update for the user is often associated with unnecessary cost and time. This is the case, for example, when data is transmitted that has either not changed or is not necessary for the user and the costs of
  • the entire database can not be updated in a single step, but is only partially updated.
  • the content of the database is divided into individual segments, for example, geographic and / or thematic aspects or a combination thereof.
  • the incremental update can cause problems because the database may lose consistency. That is, by updating a subarea, possible relationships with other segments can be resolved.
  • Road section is deleted, to which another, not updated segment with a road connection still points. Such inconsistencies must be avoided when updating in steps.
  • a common way to avoid inconsistencies when updating a database is to divide the database into non-overlapping segments, each of which has a version identifier assigned to it. Because of the dependencies between individual segments of the database is not every
  • Avalanche effects can be limited by dividing the database into smaller segments. However, smaller segments of the database whose versions need to be reviewed will result in a larger number of such segments. This also increases the maintenance effort and the storage space required for version control.
  • This object is achieved by a method of the type described above in that the segments are mapped in the decentralized database on a hierarchical model and when updating the segment in the decentralized database and those segments are updated, on which the segment is dependent. Updating a segment does not cause an inconsistency of the database because the segments that it depends on are also updated.
  • the hierarchical data structure also allows the storage of relative paths, making saving and transferring the updated segments more efficient than before - A -
  • the decentralized database is expediently displayed in a tree structure.
  • a division into segments can be effected by determining so-called versioned nodes in the decentralized database and forming the segments from in each case one versioned node as root and all subordinate nodes which are not versioned nodes and their successors.
  • the terms node and root are not limited to tree structures, but are generally used herein for hierarchical data structures. Thereafter, a node represents a data element or a dataset of the database.
  • root of the entire database is to be understood as that node which is arranged hierarchically at the highest level of the database; root of a segment is to be understood as that node which is arranged hierarchically at the highest level within the segment.
  • the versioned nodes are a subset of all the nodes in the data tree whose elements include the root of the tree.
  • the number of versioned nodes and their distribution in the database can be made in individual cases according to expediency.
  • the number and designation of the versioned nodes is made such that data that is likely to be updated frequently is located in segments that have no or only a few child segments. In this way, the updating of a segment can be prevented from developing into an avalanche-like update. It is also not excluded parts of the database, for example, global
  • each segment is assigned a version identifier.
  • the version identifier may consist of an integer.
  • the reset also resets the version identifiers of all subordinate segments of segment (A). 3) The version identifier of the segment (B) is either left unchanged or reset. The choice can be arbitrary or situational.
  • version identifier may also contain other information, such as information about the content and format of the data within a segment and / or about the structure of subordinate segments.
  • the version identifier is within the associated segment or in a central list of decentralized
  • each new version identifier of a segment it is checked which versions of other segments are consistent with the new version identifier. This task can be done by a
  • the version of a versioned segment be uniquely addressed. This can be done through a version path. This is a vector whose components consist of versioned versions of the versioned segment and version identifiers of all minor versioned segments. This allows dependent child versions. However, it is also possible to address the version of a versioned segment by its version identifier, for example an integer.
  • the transmission of the updated segments is preferably carried out wirelessly. This can be done for example by means of a radio or radio transmission or via a mobile telecommunications connection. Alternatively, a data transfer via exchangeable storage media is also conceivable. But it is also possible to carry out the transmission of the updated segments via the Internet.
  • FIG. 1 shows an overview of an updating system
  • FIG. 2 shows an example of a hierarchically structured database
  • FIG. 3 shows schematically the addition of a subordinate update segment
  • Figure 4 schematically changing a child update segment
  • Figure 5 schematically the removal of a subordinate update segment.
  • the following presentation is based on a navigation system.
  • the invention is not limited to navigation systems, but can be used anywhere where updated data needed and must be incorporated into a database.
  • downloading updated versions of games or application programs from the Internet may be mentioned.
  • FIG. 1 shows a data center 1.
  • the data center is used to create navigation databases.
  • the navigation databases include, for example, information about the road network or so-called points of interest, such as locations of gas stations, hotels or attractions.
  • the data center 1 comprises a data compiler 2, which collects data and sets.
  • the data compiler 2 is also called a data compiler.
  • the data compiler 2 gathers data that is necessary or useful for a navigation database, such as the aforementioned road network data. From this data, the data compiler 2 sets updates 3, 4, 5 of the raw data of the navigation
  • the three cylinders represent three updates 3, 4, 5 of the navigation database for three consecutive years.
  • Each update 3, 4, 5 comprises the entire database of raw data of the underlying navigation database. Changes to the data compared to an update 3, 4 of a previous year do not have to concern the entire dataset. So it is conceivable that the data of the road network changed only in a regional area, although the raw data contains the road network for a whole country.
  • An update compiler 6 also called update compiler, checks an update compiled by the data compiler 2 3, 4, 5, where the
  • Update compiler 6 detects a change, it provides the update 3, 4, 5 in an update database 7. From the update database 7, this data can be transmitted to a decentralized system 8 or retrieved from the decentralized system 8.
  • the decentralized system 8 in the exemplary embodiment shown here is a navigation system that is installed in a vehicle.
  • the decentralized system 8 comprises an update integrator 9, which retrieves the data from the update database and transfers it to the decentralized system 8.
  • the update integrator 9 then updates a decentralized database 10 within the decentralized system 8, in the present case, therefore, the navigation database in the vehicle.
  • FIG. 2 shows a database 11 with the structure of a data tree, or more precisely a binary tree, in which at most two subordinate nodes 13 branch off from a node 12.
  • the database 11 is mapped to a tree structure. All that is required is that it is a hierarchical data structure or at least a hierarchical data structure can be überfart.
  • An easy way to project a non-hierarchical data structure into a hierarchical structure is to consider the entire database as the root of a tree, with each segment of the database being treated as one directly subordinate to the root node.
  • a deeper data structure may also be desired. This can be done, for example, by means of XML (Extensible
  • each XML element can be regarded as a node in the hierarchical data model.
  • the database 11 has two different classes at nodes 14, 15: one class forms the set of versioned nodes 14, the other class the set of the unversioned nodes 15.
  • the number and distribution of the versioned nodes 14 within the database 11 determines the mutual Dependency of the data that must be taken into account when updating the database 11.
  • the division into the two classes is arbitrary, with the one exception that the root 16 must represent a versioned node 13.
  • the versioned nodes 14 and unversioned nodes 15 are grouped into versioned segments 17.
  • the versioned segments 17 are shown in dotted lines in FIG.
  • Each versioned segment 17 consists of a versioned node 12, 14, 16 and possibly all of this versioned node 12, 14, 16 dependent, that is, subordinate unversioned node 15 and their non-versioned successors.
  • Each versioned segment 17 thus contains exactly one versioned node 12, 14, 16.
  • the significance of the versioned segment 17 is that it can only be updated as a whole, even if only some parts of its data have changed.
  • the database 11 will be explained in more detail below using data for a navigation database.
  • the root 16 of the data tree forms a highest level 18, the so-called
  • the root 16 represents the road map of a whole country.
  • the node 14 represents a limited geographic area within the country.
  • the so-called file level there is a versioned node 20 that is the node 14 is subordinate and contains information about points of interest of the geographic area represented by the node 14.
  • the versioned node 14 has another child node 21, which contains information about road maps of the geographic area.
  • the node 21 has a child node 22 located in a fourth level 23, the so-called element level.
  • the node 22 contains a 3D representation of houses in the streets represented by the node 21.
  • the data tree could also contain other levels, such as additional directory levels or attribute levels.
  • Root is deleted, without an update of the versioned segment 17 is required. This follows from the fact that the deleted points of interest belong to a versioned segment that is subordinate to the versioned segment 17. If, on the other hand, the data for the road maps in node 21 are to be changed, the entire versioned segment 17 must be updated.
  • a versioned segment 24 at a specific point in time is shown in the left-hand box.
  • the database is now updated once, which is indicated by an arrow 25.
  • the update consists of adding a versioned segment 26 to the database.
  • the versioned segment 26 is immediately subordinate to the versioned segment 24, that is, there are no levels between them.
  • Each versioned segment 24, 26 carries its own version, stored either in the respective versioned segment 24, 26 or in a central list outside the versioned segments 24, 26.
  • the versioned segment 24 had a version identifier n, where n represents an integer.
  • the version identifier of the versioned segment 24 increases by 1, that is, the versioned segment 24 now has the version identifier n + 1.
  • the added versioned segment 26 gets the version identifier 1 because it was not previously available. Storing the versions of the individual versioned segments 24, 26 is important because the versioned segments 24, 26 can only be updated properly in stages with increasing versions. This also ensures that, knowing a version number of a versioned segment, the temporal state of that versioned segment can be reconstructed.
  • FIG. 4 shows a versioned segment 27 at a particular point in time, to which a versioned segment 28 is subordinate.
  • the versioned segment 27 has the version identifier n, the versioned segment 28 the version identifier m, where m and n are integers.
  • the versioned segment 28 is changed. For this reason, the version ID of the versioned segment 28 increases by 1, so it is now m + 1.
  • the version identifier of the versioned segment 27 remains unchanged.
  • FIG. 5 shows a versioned segment 30 with a versioned segment 31 at a specific point in time.
  • the versioned segment 30 has the version identifier n, the versioned segment 31 the version identifier m, where m and n are integers.
  • m and n are integers.
  • the version ID of the versioned version has been removed.
  • Segment 30 increases by 1 and is now n + 1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)

Abstract

A method for updating a local database (10; 11), particularly a navigation database, which is divided into segments (17; 24, 26; 28, 27; 30, 31), by transmitting an updated segment (17; 24, 26; 28, 27; 30, 31) from a central database divided into appropriate segments to the local database (10; 11) and storing the updated segment (17; 24, 26; 28, 27; 30, 31) in the local database (10; 11), avoids inconsistencies when updating is only in stages by mapping the segments (17; 24, 26; 28, 27; 30, 31) in the local database (10; 11) onto a hierarchic model and, when the segment (17; 24, 26; 28, 27; 30, 31) is updated, also updating those segments (17; 24, 26; 28, 27; 30, 31) on which the segment (17; 24, 26; 28, 27; 30, 31) is dependent.

Description

Beschreibung description
Titeltitle
Aktualisierungsverfahren für Datenbasen, insbesondere NavigationsdatenbasenUpdate procedure for databases, in particular navigation databases
Die vorliegende Erfindung betrifft ein Verfahren zur Aktualisierung einer dezentralenThe present invention relates to a method for updating a decentralized
Datenbasis, insbesondere einer Navigationsdatenbasis, die in Segmente unterteilt ist, durch Übertragen eines aktualisierten Segments von einer in entsprechende Segmente unterteilten, zentralen Datenbasis in die dezentrale Datenbasis und Speichern des aktualisierten Segments in der dezentralen Datenbasis.Database, in particular a navigation database, which is subdivided into segments, by transferring an updated segment from a segmented into central segments, in the central database in the decentralized database and storing the updated segment in the decentralized database.
Heutige Navigationssysteme verfügen über umfangreiche Datenbasen, in denen beispielsweise Daten einer digitalisierten Karte, Daten zur Eingabe des Fahrziels, zur Routensuche und -anzeige und zur Zielführung unter Anzeige der derzeitigen Position eines Fahrzeugs gespeichert sind. Ferner können die Datenbasen zusätzliche Daten für Fahrerassistenzsysteme enthalten.Today's navigation systems have extensive databases in which, for example, data of a digitized map, data for entering the destination, route search and display, and route guidance are stored displaying the current position of a vehicle. Furthermore, the databases may contain additional data for driver assistance systems.
Der Anwender einer Datenbasis hat ein Interesse daran, dass die in der Datenbasis enthaltenen Informationen möglichst aktuell sind. Beispielsweise mindert sich der Wert einer Navigations-Datenbasis für den Fahrer, wenn sich das der Datenbasis zugrunde liegende Straßennetz verändert hat oder eine temporäre Verkehrsstörung nicht berücksichtigt werden kann, weil die Navigations-Datenbasis keine Informationen hierzu enthält. Ein anderes Beispiel stellen Computeranwendungen dar, die auf aktuelle Daten angewiesen sind.The user of a database has an interest in ensuring that the information contained in the database is as up-to-date as possible. For example, the value of a navigation database for the driver decreases if the road network underlying the database has changed or if a temporary traffic incident can not be taken into account because the navigation database contains no information on this. Another example is computer applications that rely on actual data.
Üblicherweise wird eine dezentrale Datenbasis in der Weise aktualisiert, dass in einemUsually, a decentralized database is updated in such a way that in one
Datenzentrum die Verfügbarkeit neuer Daten überprüft und gegebenenfalls eine neue Version der Datenbasis bereitgestellt wird. Wenn eine neue Version der Datenbasis verfügbar ist, werden diese zusammengestellt und in einer Aktualisierungs-Datenbasis gespeichert. Das dezentrale System, beispielsweise das Navigationssystem im Fahrzeug, lädt geeignete Aktualisierungsdaten von dieser Aktualisierungs-Datenbasis herunter und bindet diese in seine dezentrale Datenbasis ein.Data Center will check the availability of new data and, where appropriate, provide a new version of the database. If a new version of the database is available, it will be assembled and stored in an update database. The decentralized system, for example the navigation system in the vehicle, downloads suitable update data from this update database and integrates it into its decentralized database.
Die Aktualisierung einer Datenbasis kann vollständig oder teilweise erfolgen.The updating of a database can be complete or partial.
Eine vollständige Aktualisierung bietet den Vorteil, dass der gesamte Datenbestand aufeinander abgestimmt ist. Nachteilig ist jedoch, dass eine vollständige Aktualisierung für den Anwender häufig mit unnötigem Kosten- und Zeitaufwand verbunden ist. Dies ist beispielsweise dann der Fall, wenn Daten übermittelt werden, die sich entweder nicht geändert haben oder für den Anwender nicht notwendig sind und die Kosten vomA complete update has the advantage that the entire database is coordinated. The disadvantage, however, is that a complete update for the user is often associated with unnecessary cost and time. This is the case, for example, when data is transmitted that has either not changed or is not necessary for the user and the costs of
Datenvolumen abhängen.Depend on data volume.
Um die für einen Aktualisierungsschritt anfallenden Datenmengen zu reduzieren, kann die gesamte Datenbasis deshalb nicht in einem einzigen Schritt aktualisiert werden, sondern sie wird jeweils nur teilweise aktualisiert. Hierzu wird der Inhalt der Datenbasis in einzelne Segmente aufgeteilt, beispielsweise unter geografϊschen und/oder thematischen Gesichtspunkten oder einer Kombination davon.Therefore, to reduce the amount of data required for an update step, the entire database can not be updated in a single step, but is only partially updated. For this purpose, the content of the database is divided into individual segments, for example, geographic and / or thematic aspects or a combination thereof.
Bei der in Teilschritten erfolgenden Aktualisierung können allerdings Probleme auftreten, da die Datenbasis ihre Konsistenz verlieren kann. Das heißt, durch die Aktualisierung eines Teilbereichs können mögliche Beziehungen mit anderen Segmenten gelöst werden.However, the incremental update can cause problems because the database may lose consistency. That is, by updating a subarea, possible relationships with other segments can be resolved.
Beispielsweise ist es denkbar, dass bei einer Aktualisierung in einem Segment einFor example, it is conceivable that when updating in a segment
Straßenabschnitt gelöscht wird, auf den ein anderes, nicht aktualisiertes Segment mit einem Straßenanschluss noch hinweist. Derartige Inkonsistenzen müssen bei einer Aktualisierung in Teilschritten vermieden werden.Road section is deleted, to which another, not updated segment with a road connection still points. Such inconsistencies must be avoided when updating in steps.
Eine gängige Vorgehensweise, Inkonsistenzen bei der Aktualisierung einer Datenbasis zu vermeiden, besteht darin, die Datenbasis in sich nicht überschneidende Segmente einzuteilen, denen jeweils eine Versionskennung zugeordnet ist. Aufgrund der Abhängigkeiten zwischen einzelnen Segmenten der Datenbasis wird nicht jedeA common way to avoid inconsistencies when updating a database is to divide the database into non-overlapping segments, each of which has a version identifier assigned to it. Because of the dependencies between individual segments of the database is not every
Kombination von Versionen zu einem konsistenten Zustand führen. Daher müssen das Datenzentrum und/oder das dezentrale System sicherstellen, dass jede Aktualisierung der dezentralen Datenbasis zu einer konsistenten Kombination von Versionen führt. Dabei steigt der Aufwand dieser Sicherstellung mit der Anzahl der Abhängigkeiten zwischen den einzelnen Segmenten. Um solche Abhängigkeiten zu reduzieren, werden diejenigen Segmente der Datenbasis, die bei einer Aktualisierung überprüft werden müssen, derart gebildet, dass die Anzahl der Beziehungen zwischen den Segmenten minimiert wird.Combining versions lead to a consistent state. Therefore, the data center and / or the distributed system must ensure that each update of the decentralized database results in a consistent combination of versions. The effort of this assurance increases with the number of dependencies between the individual segments. In order to reduce such dependencies, those segments of the database that need to be checked in an update are formed such that the number of relationships between the segments is minimized.
Ein weiteres Problem bei einer Aktualisierung der Datenbasis in Teilschritten besteht in dem so genannten Lawineneffekt. Darunter ist zur verstehen, dass, obwohl der Anwender lediglich ein Segment der Datenbasis aktualisieren möchte, viele Versionen vieler Segmente der Datenbasis ebenfalls aktualisiert werden müssen, um eine konsistente Kombination von Versionen zu erhalten. Dies führt wiederum zu erhöhten Kosten und einem erhöhten Zeitaufwand.Another problem with updating the database in steps is the so-called avalanche effect. By this it is to be understood that although the user merely wishes to update one segment of the database, many versions of many segments of the database must also be updated to obtain a consistent combination of versions. This in turn leads to increased costs and an increased amount of time.
Lawineneffekte können dadurch begrenzt werden, dass die Datenbasis in kleinere Segmente unterteilt wird. Kleinere Segmente der Datenbasis, deren Versionen überprüft werden müssen, führen jedoch zu einer größeren Anzahl solcher Segmente. Damit steigen auch der Wartungsaufwand und der benötigte Speicherplatz für die Versionskontrolle.Avalanche effects can be limited by dividing the database into smaller segments. However, smaller segments of the database whose versions need to be reviewed will result in a larger number of such segments. This also increases the maintenance effort and the storage space required for version control.
Darüber hinaus steigt die Wahrscheinlichkeit so genannter Strukturänderungen, worunter das Hinzufügen oder Entfernen von Segmenten der Datenbasis zu verstehen ist, deren Versionen überprüft werden. Strukturänderungen können nur mit Hilfskonstruktionen verwaltet werden.In addition, the likelihood of so-called structural changes increases, which means adding or removing segments of the database whose versions are being checked. Structure changes can only be managed with auxiliary structures.
Vor diesem Hintergrund ist es die Aufgabe der vorliegenden Erfindung, eine verbesserte konsistente Aktualisierung beliebiger Segmente einer Datenbasis zu ermöglichen.Against this background, it is the object of the present invention to enable an improved consistent updating of any segments of a database.
Diese Aufgabe wird durch ein Verfahren der eingangs beschriebenen Art dadurch gelöst, dass die Segmente in der dezentralen Datenbasis auf ein hierarchisches Modell abgebildet werden und bei der Aktualisierung des Segments in der dezentralen Datenbasis auch diejenigen Segmente aktualisiert werden, von denen das Segment abhängig ist. Eine Aktualisierung eines Segments verursacht hierdurch keine Inkonsistenz der Datenbasis, da die jeweiligen Segmente ebenfalls aktualisiert werden, von denen es abhängt.This object is achieved by a method of the type described above in that the segments are mapped in the decentralized database on a hierarchical model and when updating the segment in the decentralized database and those segments are updated, on which the segment is dependent. Updating a segment does not cause an inconsistency of the database because the segments that it depends on are also updated.
Die hierarchische Datenstruktur ermöglicht zudem die Speicherung relativer Pfade, wodurch das Speichern und Übertragen der aktualiserten Segmente effizienter als bisher - A -The hierarchical data structure also allows the storage of relative paths, making saving and transferring the updated segments more efficient than before - A -
erfolgt und der Wartungsaufwand der Datenbasis reduziert wird. Zweckmäßig wird die dezentrale Datenbasis in eine Baumstruktur abgebildet.takes place and the maintenance of the database is reduced. The decentralized database is expediently displayed in a tree structure.
Eine Einteilung in Segmente kann dadurch erfolgen, dass in der dezentralen Datenbasis sogenannte versionierte Knoten bestimmt werden und die Segmente aus jeweils einem versionierten Knoten als Wurzel sowie allen untergeordneten Knoten, die keine versionierten Knoten sind, und deren Nachfolgern gebildet werden. Die Begriffe Knoten und Wurzel sind nicht auf Baumstrukturen beschränkt, sondern werden hier allgemein für hierarchische Datenstrukturen verwendet. Danach stellt ein Knoten ein Datenelement oder eine Datenmenge der Datenbasis dar.A division into segments can be effected by determining so-called versioned nodes in the decentralized database and forming the segments from in each case one versioned node as root and all subordinate nodes which are not versioned nodes and their successors. The terms node and root are not limited to tree structures, but are generally used herein for hierarchical data structures. Thereafter, a node represents a data element or a dataset of the database.
Unter Wurzel der gesamten Datenbasis ist derjenige Knoten zu verstehen, der hierarchisch auf der höchsten Ebene der Datenbasis angeordnet ist; unter Wurzel eines Segmentes ist derjenige Knoten zu verstehen, der hierarchisch auf der höchsten Ebene innerhalb des Segmentes angeordnet ist. Bei den versionierten Knoten handelt es sich um eine Teilmenge sämtlicher Knoten des Datenbaums, zu dessen Elementen die Wurzel des Baumes gehört.The root of the entire database is to be understood as that node which is arranged hierarchically at the highest level of the database; root of a segment is to be understood as that node which is arranged hierarchically at the highest level within the segment. The versioned nodes are a subset of all the nodes in the data tree whose elements include the root of the tree.
Die Anzahl versionierter Knoten und ihre Verteilung in der Datenbasis können im Einzelfall nach Zweckmäßigkeitsgesichtspunkten erfolgen. Zweckmäßig wird die Anzahl und Bestimmung der versionierten Knoten so vorgenommen, dass sich Daten, die voraussichtlich häufig aktualisiert werden, in Segmenten befinden, die keine oder nur wenige untergeordnete Segmente aufweisen. Auf diese Weise kann verhindert werden, dass sich die Aktualisierung eines Segments zu einer lawinenartigen Aktualisierung entwickelt. Es ist auch nicht ausgeschlossen, Teile der Datenbasis, zum Beispiel globaleThe number of versioned nodes and their distribution in the database can be made in individual cases according to expediency. Suitably, the number and designation of the versioned nodes is made such that data that is likely to be updated frequently is located in segments that have no or only a few child segments. In this way, the updating of a segment can be prevented from developing into an avalanche-like update. It is also not excluded parts of the database, for example, global
Indizes, von der vorstehend beschriebenen Versionierung auszunehmen. Bei diesen Teilen muss dann auf andere Weise sichergestellt werden, dass keine Inkosistenzen auftreten, wenn Teile dieser Daten aktualisiert werden.Indexes to exempt from the versioning described above. These parts then have to be ensured in another way that no inconsistencies occur when updating parts of this data.
Damit die Versionen eines bestimmten Segments unterschieden werden können, wird jedem Segment eine Versionskennung zugeordnet. Beispielsweise kann die Versionskennung in einer ganzen Zahl bestehen. Es gibt unterschiedliche Möglichkeiten, die Versionskennung eines untergeordneten Segments (B) zu behandeln, wenn sich ein übergeordnetes Segment (A) ändert: 1) Die Versionskennung des Segments (B) bleibt unverändert erhalten, wenn sich das Segment (B) nicht geändert hat; die Versionskennung des Segments (B) wird erhöht, wenn sich das Segment (B) geändert hat. 2) Die Versionskennung des Segments (B) wird zurückgesetztSo that the versions of a certain segment can be differentiated, each segment is assigned a version identifier. For example, the version identifier may consist of an integer. There are different ways to handle the version identifier of a child segment (B) when a parent segment (A) changes: 1) the version identifier of segment (B) remains unchanged if segment (B) has not changed; the version identifier of the segment (B) is increased if the segment (B) has changed. 2) The version identifier of the segment (B) is reset
(sog. Reset; zum Beispiel auf Null), unabhängig davon, ob sich das Segment (B) geändert hat oder nicht. Durch den Reset werden auch die Versionskennungen sämtlicher, dem Segment (A) untergeordneter Segmente zurückgesetzt. 3) Die Versionskennung des Segments (B) wird wahlweise unverändert beibehalten oder zurückgesetzt werden. Die Wahl kann willkürlich oder situationsbedingt erfolgen.(so-called reset, for example to zero), regardless of whether the segment (B) has changed or not. The reset also resets the version identifiers of all subordinate segments of segment (A). 3) The version identifier of the segment (B) is either left unchanged or reset. The choice can be arbitrary or situational.
Die Versionskennung kann jedoch auch weitere Informationen enthalten, wie zum Beispiel Informationen über den Inhalt und das Format der Daten innerhalb eines Segments und/oder über die Struktur untergeordneter Segmente. Die Versionskennung wird innerhalb des zugehörigen Segments oder in einer zentralen Liste der dezentralenHowever, the version identifier may also contain other information, such as information about the content and format of the data within a segment and / or about the structure of subordinate segments. The version identifier is within the associated segment or in a central list of decentralized
Datenbasis gespeichert. Hierdurch steht die Versionskennung eines Segments auch zu späteren Zeitpunkten zur Verfügung.Database saved. As a result, the version identifier of a segment is also available at later times.
In einer bevorzugten Ausführungsform wird innerhalb des Datenzentrums für jede neue Versionskennung eines Segments geprüft, welche Versionen anderer Segmente mit der neuen Versionskennung konsistent sind. Diese Aufgabe kann beispielsweise durch einenIn a preferred embodiment, within the data center, for each new version identifier of a segment, it is checked which versions of other segments are consistent with the new version identifier. This task can be done by a
Update-Kompilator erfolgen. Zum einen wird hierdurch die Konsistenz der dezentralenUpdate compiler done. On the one hand, this makes the consistency of the decentralized
Datenbasis sichergestellt. Zum anderen können Änderungen der Datenbasis, insbesondereDatabase ensured. On the other hand, changes to the database, in particular
Inhalts-, Format- und/oder Strukturänderungen, gebildet werden, ohne dass innerhalb des dezentralen Systems eine zusätzliche Prüfung auf Konsistenz erforderlich ist.Content, format, and / or structure changes are made without requiring additional consistency testing within the decentralized system.
Für die Prüfung auf Konsistenz ist es erforderlich, dass die Version eines versionierten Segments eindeutig adressiert werden kann. Dies kann durch einen Versionspfad erfolgen. Dabei handelt es sich um einen Vektor, dessen Komponenten aus den Versionskennungen des versionierten Segments und den Versionskennungen sämtlicher untergeordneter versionierter Segmente bestehen. Dadurch werden abhängige untergeordnete Versionen zugelassen. Es ist jedoch auch möglich, die Version eines versionierten Segments durch dessen Versionskennung, beispielsweise einer ganzen Zahl, zu adressieren. Um eine hohe Mobilität eines Systems, beispielsweise eines Navigationssystems, mit der dezentralen Datenbasis zu ermöglichen, wird bevorzugt die Übertragung der aktualisierten Segmente drahtlos durchgeführt. Dies kann beispielsweise mittels einer Radio- bzw. Funkübertragung oder über eine mobile Telekommunikationsverbindung erfolgen. Alternativ ist eine Datenübertragung über austauschbare Speichermedien ebenfalls denkbar. Es ist aber auch möglich, die Übertragung der aktualisierten Segmente über das Internet durchzuführen.Checking for consistency requires that the version of a versioned segment be uniquely addressed. This can be done through a version path. This is a vector whose components consist of versioned versions of the versioned segment and version identifiers of all minor versioned segments. This allows dependent child versions. However, it is also possible to address the version of a versioned segment by its version identifier, for example an integer. In order to enable a high mobility of a system, for example a navigation system, with the decentralized database, the transmission of the updated segments is preferably carried out wirelessly. This can be done for example by means of a radio or radio transmission or via a mobile telecommunications connection. Alternatively, a data transfer via exchangeable storage media is also conceivable. But it is also possible to carry out the transmission of the updated segments via the Internet.
Die Erfindung wird nachfolgend anhand der beigefügten Figuren näher erläutert. Es zeigen:The invention will be explained in more detail with reference to the accompanying figures. Show it:
Figur 1 - eine Übersicht eines Aktualisierungssystems,FIG. 1 shows an overview of an updating system;
Figur 2 - ein Beispiel einer hierarchisch strukturierten Datenbasis,FIG. 2 shows an example of a hierarchically structured database;
Figur 3 - schematisch das Hinzufügen eines untergeordneten Aktualisierungssegments,FIG. 3 shows schematically the addition of a subordinate update segment,
Figur 4 - schematisch das Ändern eines untergeordneten Aktualisierungssegments undFigure 4 - schematically changing a child update segment and
Figur 5 - schematisch das Entfernen eines untergeordneten Aktualisierungssegments.Figure 5 - schematically the removal of a subordinate update segment.
Die folgende Darstellung orientiert sich an einem Navigationssystem. Die Erfindung ist jedoch nicht auf Navigationssysteme beschränkt, sondern kann überall dort eingesetzt werden, wo aktualisierte Daten benötigt und in eine Datenbasis eingearbeitet werden müssen. Als Beispiel sei das Herunterladen aktualisierter Versionen von Spielen oder Anwendungsprogrammen aus dem Internet genannt.The following presentation is based on a navigation system. However, the invention is not limited to navigation systems, but can be used anywhere where updated data needed and must be incorporated into a database. As an example, downloading updated versions of games or application programs from the Internet may be mentioned.
In Figur 1 ist ein Datenzentrum 1 gezeigt. In dem Datenzentrum werden Navigations- Datenbasen erstellt. Die Navigations-Datenbasen enthalten beispielsweise Informationen über das Straßennetz oder so genannte Points of Interest, wie zum Beispiel Standorte von Tankstellen, Hotels oder Sehenswürdigkeiten. Das Datenzentrum 1 umfasst einen Daten-Kompilator 2, der Daten zusammenträgt und - stellt. Der Daten-Kompilator 2 wird auch Data Compiler genannt. Der Daten-Kompilator 2 trägt Daten zusammen, die für eine Navigations-Datenbasis erforderlich oder nützlich sind, wie zum Beispiel die vorgenannten Daten über das Straßennetz. Aus diesen Daten setzt der Daten-Kompilator 2 Aktualisierungen 3, 4, 5 der Rohdaten der Navigations-FIG. 1 shows a data center 1. The data center is used to create navigation databases. The navigation databases include, for example, information about the road network or so-called points of interest, such as locations of gas stations, hotels or attractions. The data center 1 comprises a data compiler 2, which collects data and sets. The data compiler 2 is also called a data compiler. The data compiler 2 gathers data that is necessary or useful for a navigation database, such as the aforementioned road network data. From this data, the data compiler 2 sets updates 3, 4, 5 of the raw data of the navigation
Datenbasis zusammen. In Figur 1 stellen die drei Zylinder drei Aktualisierungen 3, 4, 5 der Navigations-Datenbasis für drei aufeinander folgende Jahre dar. Jede Aktualisierung 3, 4, 5 umfasst den gesamten Datenbestand an Rohdaten der zugrunde liegenden Navigations-Datenbasis. Änderungen der Daten gegenüber einer Aktualisierung 3, 4 eines Vorjahres müssen nicht den gesamten Datenbestand betreffen. So ist es denkbar, dass sich die Daten des Straßennetzes nur in einem regionalen Gebiet geändert haben, obwohl die Rohdaten das Straßennetz für ein ganzes Land enthalten.Database together. In Figure 1, the three cylinders represent three updates 3, 4, 5 of the navigation database for three consecutive years. Each update 3, 4, 5 comprises the entire database of raw data of the underlying navigation database. Changes to the data compared to an update 3, 4 of a previous year do not have to concern the entire dataset. So it is conceivable that the data of the road network changed only in a regional area, although the raw data contains the road network for a whole country.
Ein Update-Kompilator 6, der auch Update Compiler genannt wird, überprüft eine vom Daten-Kompilator 2 zusammengesetzte Aktualisierung 3, 4, 5 darauf hin, wo sich derAn update compiler 6, also called update compiler, checks an update compiled by the data compiler 2 3, 4, 5, where the
Datenbestand gegenüber der vorigen Aktualisierung 3, 4 geändert hat. Wenn der Update- Kompilator 6 eine Änderung feststellt, stellt er die Aktualisierung 3, 4, 5 in einer Update- Datenbasis 7 bereit. Von der Update-Datenbasis 7 können diese Daten an ein dezentrales System 8 übertragen oder von dem dezentralen System 8 abgerufen werden.Data stock has changed since the previous update 3, 4. When the update compiler 6 detects a change, it provides the update 3, 4, 5 in an update database 7. From the update database 7, this data can be transmitted to a decentralized system 8 or retrieved from the decentralized system 8.
Bei dem dezentralen System 8 handelt es sich in dem hier dargestellten Ausführungsbeispiel um ein Navigationssystem, das in einem Fahrzeug installiert ist. Das dezentrale System 8 umfasst einen Update-Integrator 9, der die Daten aus der Update- Datenbasis abruft und in das dezentrale System 8 überführt. Der Update-Integrator 9 aktualisiert daraufhin eine dezentrale Datenbasis 10 innerhalb des dezentralen Systems 8, im vorliegenden Fall also die Navigations-Datenbasis in dem Fahrzeug.The decentralized system 8 in the exemplary embodiment shown here is a navigation system that is installed in a vehicle. The decentralized system 8 comprises an update integrator 9, which retrieves the data from the update database and transfers it to the decentralized system 8. The update integrator 9 then updates a decentralized database 10 within the decentralized system 8, in the present case, therefore, the navigation database in the vehicle.
In Figur 2 ist eine Datenbasis 11 auf die Struktur eines Datenbaums, genauer eines Binärbaumes, abgebildet, bei dem von einem Knoten 12 höchstens zwei untergeordnete Knoten 13 abzweigen.FIG. 2 shows a database 11 with the structure of a data tree, or more precisely a binary tree, in which at most two subordinate nodes 13 branch off from a node 12.
Es ist für die vorliegende Erfindung jedoch nicht Voraussetzung, dass die Datenbasis 11 auf eine Baumstruktur abgebildet wird. Erforderlich ist lediglich, dass es sich um eine hierarchische Datenstruktur handelt oder zumindest in eine hierarchische Datenstruktur überfuhrt werden kann. Eine einfache Möglichkeit, eine nichthierarchisch angeordnete Datenstruktur in eine hierarchische Struktur zu projizieren, besteht darin, die gesamte Datenbasis als Wurzel eines Baumes aufzufassen, wobei jedes Segment der Datenbasis als ein direkt der Wurzel untergeordneter Knoten behandelt wird. Es kann aber auch eine tiefere Datenstruktur erwünscht sein. Dies kann beispielsweise mittels XML (ExtensibleHowever, it is not a prerequisite for the present invention that the database 11 is mapped to a tree structure. All that is required is that it is a hierarchical data structure or at least a hierarchical data structure can be überfuhrt. An easy way to project a non-hierarchical data structure into a hierarchical structure is to consider the entire database as the root of a tree, with each segment of the database being treated as one directly subordinate to the root node. However, a deeper data structure may also be desired. This can be done, for example, by means of XML (Extensible
Markup Language) erreicht werden. Dabei kann jedes XML-Element als ein Knoten in dem hierarchischen Datenmodell angesehen werden.Markup Language). In this case, each XML element can be regarded as a node in the hierarchical data model.
Die Datenbasis 11 weist zwei unterschiedliche Klassen an Knoten 14, 15 auf: die eine Klasse bildet die Menge der versionierten Knoten 14, die andere Klasse die Menge der nichtversionierten Knoten 15. Die Anzahl und Verteilung der versionierten Knoten 14 innerhalb der Datenbasis 11 bestimmt die gegenseitige Abhängigkeit der Daten, die bei einer Aktualisierung der Datenbasis 11 berücksichtigt werden müssen. Die Einteilung in die beiden Klassen ist willkürlich, mit der einen Ausnahme, dass die Wurzel 16 einen versionierten Knoten 13 darstellen muss.The database 11 has two different classes at nodes 14, 15: one class forms the set of versioned nodes 14, the other class the set of the unversioned nodes 15. The number and distribution of the versioned nodes 14 within the database 11 determines the mutual Dependency of the data that must be taken into account when updating the database 11. The division into the two classes is arbitrary, with the one exception that the root 16 must represent a versioned node 13.
Die versionierten Knoten 14 und nichtversionierten Knoten 15 sind zu versionierten Segmenten 17 zusammengefasst. Die versionierten Segmente 17 sind in Figur 2 punktiert dargestellt. Jedes versioniertes Segment 17 besteht aus einem versionierten Knoten 12, 14, 16 sowie gegebenenfalls sämtlichen von diesem versionierten Knoten 12, 14, 16 abhängigen, das heißt untergeordneten nichtversionierten Knoten 15 sowie deren nichtversionierten Nachfolgern. Jedes versionierte Segment 17 enthält somit genau einen versionierten Knoten 12, 14, 16. Die Bedeutung des versionierten Segments 17 besteht darin, dass es nur insgesamt aktualisiert werden kann, auch wenn sich nur einige Teile von dessen Daten geändert haben.The versioned nodes 14 and unversioned nodes 15 are grouped into versioned segments 17. The versioned segments 17 are shown in dotted lines in FIG. Each versioned segment 17 consists of a versioned node 12, 14, 16 and possibly all of this versioned node 12, 14, 16 dependent, that is, subordinate unversioned node 15 and their non-versioned successors. Each versioned segment 17 thus contains exactly one versioned node 12, 14, 16. The significance of the versioned segment 17 is that it can only be updated as a whole, even if only some parts of its data have changed.
Die Datenbasis 11 soll nachfolgend anhand von Daten für eine Navigations-Datenbasis näher erläutert werden.The database 11 will be explained in more detail below using data for a navigation database.
Die Wurzel 16 des Datenbaumes bildet eine höchste Ebene 18, die so genannteThe root 16 of the data tree forms a highest level 18, the so-called
Datenbasis-Ebene. Die Wurzel 16 repräsentiert die Straßenkarte eines ganzen Landes. In einer zweiten Ebene 19, der Verzeichnis-Ebene, stellt der Knoten 14 ein begrenztes geografϊsches Gebiet innerhalb des Landes dar. In einer nächsten Ebene 20, der so genannten Datei-Ebene, liegt ein versionierter Knoten 20, der dem Knoten 14 untergeordnet ist und Informationen über Points of Interest des von dem Knoten 14 repräsentierten geografϊschen Gebiets enthält. Der versionierte Knoten 14 hat einen weiteren untergeordneten Knoten 21, der Informationen zu Straßenkarten des geografϊschen Gebiets enthält. Der Knoten 21 hat einen untergeordneten Knoten 22, der in einer vierten Ebene 23, der so genannten Element-Ebene, liegt. Der Knoten 22 enthält eine 3D-Darstellung von Häusern in den Straßen, die von dem Knoten 21 repräsentiert werden. Der Datenbaum könnte auch weitere Ebenen enthalten, zum Beispiel zusätzliche Verzeichnis-Ebenen oder Attribut-Ebenen.Database level. The root 16 represents the road map of a whole country. In a second level 19, the directory level, the node 14 represents a limited geographic area within the country. In a next level 20, the so-called file level, there is a versioned node 20 that is the node 14 is subordinate and contains information about points of interest of the geographic area represented by the node 14. The versioned node 14 has another child node 21, which contains information about road maps of the geographic area. The node 21 has a child node 22 located in a fourth level 23, the so-called element level. The node 22 contains a 3D representation of houses in the streets represented by the node 21. The data tree could also contain other levels, such as additional directory levels or attribute levels.
Nachfolgend wird näher erläutert, wie sich die Einteilung der Datenbasis 11 in die einzelnen versionierten Segmente 17 auswirkt.The following section explains in more detail how the division of the database 11 into the individual versioned segments 17 has an effect.
Wenn die Datenbasis 11 dahingehend geändert wird, dass der Anwender kein Interesse mehr an den Points of Interest des von dem Knoten 14 repräsentierten geografϊschen Gebiets hat, so kann das versionierte Segment, das durch den versionierten Knoten 20 alsIf the database 11 is changed so that the user is no longer interested in the points of interest of the geographic area represented by the node 14, then the versioned segment identified by the versioned node 20 as
Wurzel bestimmt wird, gelöscht werden, ohne dass eine Aktualisierung des versionierten Segments 17 erforderlich ist. Das folgt daraus, dass die gelöschten Points of Interest zu einem versionierten Segment gehören, das dem versionierten Segment 17 untergeordnet ist. Sollen dagegen die Daten zu den Straßenkarten im Knoten 21 geändert werden, so muss das gesamte versionierte Segment 17 aktualisiert werden.Root is deleted, without an update of the versioned segment 17 is required. This follows from the fact that the deleted points of interest belong to a versioned segment that is subordinate to the versioned segment 17. If, on the other hand, the data for the road maps in node 21 are to be changed, the entire versioned segment 17 must be updated.
In Figur 3 ist im linken Kasten ein versioniertes Segment 24 zu einem bestimmten Zeitpunkt dargestellt. Die Datenbasis wird nun einmal aktualisiert, was durch einen Pfeil 25 angedeutet wird. Die Aktualisierung besteht darin, dass der Datenbank ein versioniertes Segment 26 hinzugefügt wird. Das versionierte Segment 26 ist dem versionierten Segment 24 unmittelbar untergeordnet, das heißt es liegen keine Ebenen zwischen ihnen. Jedes versionierte Segment 24, 26 trägt ihre eigene Version, die entweder in dem jeweiligen versionierten Segment 24, 26 oder in einer zentralen Liste außerhalb der versionierten Segmente 24, 26 gespeichert sind. Vor der Aktualisierung hat das versionierte Segment 24 eine Versionskennung n gehabt, wobei n eine ganze Zahl darstellt. Nach dem Hinzufügen des untergeordneten versionierten Segments 26 erhöht sich die Versionskennung des versionierten Segments 24 um 1, das heißt das versionierte Segment 24 besitzt jetzt die Versionskennung n+1. Das hinzugefügte versionierte Segment 26 bekommt die Versionskennung 1, da es vorher nicht vorhanden war. Die Speicherung der Versionen der einzelnen versionierten Segmente 24, 26 ist deshalb wichtig, weil die versionierten Segmente 24, 26 nur stufenweise mit steigenden Versionen richtig aktualisiert werden können. Dadurch wird auch sichergestellt, dass bei Kenntnis einer Versionsnummer eines versionierten Segments der zeitliche Zustand dieses versionierten Segments rekonstruiert werden kann.In FIG. 3, a versioned segment 24 at a specific point in time is shown in the left-hand box. The database is now updated once, which is indicated by an arrow 25. The update consists of adding a versioned segment 26 to the database. The versioned segment 26 is immediately subordinate to the versioned segment 24, that is, there are no levels between them. Each versioned segment 24, 26 carries its own version, stored either in the respective versioned segment 24, 26 or in a central list outside the versioned segments 24, 26. Before the update, the versioned segment 24 had a version identifier n, where n represents an integer. After the addition of the subordinate versioned segment 26, the version identifier of the versioned segment 24 increases by 1, that is, the versioned segment 24 now has the version identifier n + 1. The added versioned segment 26 gets the version identifier 1 because it was not previously available. Storing the versions of the individual versioned segments 24, 26 is important because the versioned segments 24, 26 can only be updated properly in stages with increasing versions. This also ensures that, knowing a version number of a versioned segment, the temporal state of that versioned segment can be reconstructed.
In Figur 4 ist ein versioniertes Segment 27 zu einem bestimmten Zeitpunkt dargestellt, dem ein versioniertes Segment 28 untergeordnet ist. Das versionierte Segment 27 hat die Versionskennung n, das versionierte Segment 28 die Versionskennung m, wobei m und n ganze Zahlen sind. Während einer Aktualisierung, die durch einen Pfeil 29 angedeutet wird, wird das versionierte Segment 28 verändert. Aus diesem Grunde erhöht sich die Versionskennung des versionierten Segments 28 um 1, sodass sie jetzt m+1 beträgt. Die Versionskennung des versionierten Segments 27 bleibt unverändert.FIG. 4 shows a versioned segment 27 at a particular point in time, to which a versioned segment 28 is subordinate. The versioned segment 27 has the version identifier n, the versioned segment 28 the version identifier m, where m and n are integers. During an update, indicated by an arrow 29, the versioned segment 28 is changed. For this reason, the version ID of the versioned segment 28 increases by 1, so it is now m + 1. The version identifier of the versioned segment 27 remains unchanged.
In Figur 5 ist ein versioniertes Segment 30 mit einem versionierten Segment 31 zu einem bestimmten Zeitpunkt dargestellt. Das versionierte Segment 30 hat die Versionskennung n, das versionierte Segment 31 die Versionskennung m, wobei m und n ganze Zahlen sind. Nach einer Aktualisierung, die durch einen Pfeil 32 angedeutet wird, ist das versionierte Segment 31 entfernt worden. Die Versionskennung des versioniertenFIG. 5 shows a versioned segment 30 with a versioned segment 31 at a specific point in time. The versioned segment 30 has the version identifier n, the versioned segment 31 the version identifier m, where m and n are integers. After an update, indicated by an arrow 32, the versioned segment 31 has been removed. The version ID of the versioned version
Segments 30 erhöht sich dadurch um 1 und beträgt jetzt n+1. Segment 30 increases by 1 and is now n + 1.

Claims

Patentansprüche claims
1. Verfahren zur Aktualisierung einer dezentralen Datenbasis (10; 11), insbesondere einer Navigationsdatenbasis, die in Segmente (17; 24, 26; 28, 27; 30, 31) unterteilt ist, durch Übertragen eines aktualisierten Segments (17; 24, 26; 28, 27; 30, 31) von einer in entsprechende Segmente (17; 24, 26; 28, 27; 30, 31) unterteilten, zentralen Datenbasis in die dezentrale Datenbasis (10; 11) und Speichern des aktualisierten Segments (17; 24, 26; 28, 27; 30, 31) in der dezentralen Datenbasis (10; 11), dadurch gekennzeichnet, dass die Segmente (17; 24, 26; 28, 27; 30, 31) in der dezentralen Datenbasis (10; 11) auf ein hierarchisches Modell abgebildet werden und bei der Aktualisierung des Segments (17; 24, 26; 28, 27; 30, 31) auch diejenigen Segmente (17; 24, 26; 28, 27; 30, 31) aktualisiert werden, von denen das Segment (17; 24, 26; 28, 27; 30, 31) abhängig ist.Method for updating a decentralized database (10, 11), in particular a navigation database, which is subdivided into segments (17, 24, 26, 28, 27, 30, 31) by transmitting an updated segment (17, 24, 26 28, 27, 30, 31) from a central database subdivided into corresponding segments (17, 24, 26, 28, 27, 30, 31) into the decentralized database (10, 11) and storing the updated segment (17; 24, 26, 28, 27, 30, 31) in the decentralized database (10, 11), characterized in that the segments (17, 24, 26, 28, 27, 30, 31) in the decentralized database (10; 11) are modeled on a hierarchical model and when updating the segment (17; 24, 26; 28, 27; 30, 31) also those segments (17; 24, 26; 28, 27; 30, 31) are updated, of which the segment (17; 24, 26; 28, 27; 30, 31) is dependent.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das hierarchische Modell eine Baumstruktur aufweist.2. The method according to claim 1, characterized in that the hierarchical model has a tree structure.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass in der dezentralen Datenbasis (10; 11) versionierte Knoten (12, 14, 16, 20, 22) bestimmt werden und die Segmente (17; 24, 26; 28, 27; 30, 31) aus jeweils einem versionierten Knoten (12, 14, 16, 20, 22) als Wurzel sowie allen untergeordneten Knoten (15, 21), die keine versionierten Knoten (12, 14, 16, 20, 22) sind, und deren Nachfolgern gebildet werden.Method according to claim 1 or 2, characterized in that in the decentralized database (10; 11) versioned nodes (12, 14, 16, 20, 22) are determined and the segments (17; 24, 26; 28, 27 30, 31) each comprise a versioned node (12, 14, 16, 20, 22) as root and all subordinate nodes (15, 21) which are not versioned nodes (12, 14, 16, 20, 22), and their successors are formed.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jedem Segment (17; 24, 26; 28, 27; 30, 31) eine Version zugeordnet wird.4. The method according to any one of claims 1 to 3, characterized in that each segment (17; 24, 26; 28, 27; 30, 31) is assigned a version.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Version durch eine ganze Zahl repräsentiert wird. 5. The method according to claim 4, characterized in that the version is represented by an integer.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass die Version innerhalb des zugehörigen Segments (17; 24, 26; 28, 27; 30, 31) oder in einer zentralen Datenstruktur der dezentralen Datenbasis (10; 11) gespeichert wird.6. Method according to one of claims 3 to 5, characterized in that the version is stored within the associated segment (17; 24, 26; 28, 27; 30, 31) or in a central data structure of the decentralized database (10; 11) becomes.
7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass innerhalb eines Datenzentrums (1) für jede neue Version eines Segments (17; 24, 26; 28, 27; 30, 31) geprüft wird, welche Versionen anderer Segmente mit der neuen Version konsistent sind. 7. Method according to one of claims 3 to 6, characterized in that within a data center (1) for each new version of a segment (17; 24, 26; 28, 27; 30, 31) it is checked which versions of other segments have the new version are consistent.
EP07787169A 2006-07-25 2007-07-06 Update method for databases, particularly navigation databases Ceased EP2047386A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006034407A DE102006034407A1 (en) 2006-07-25 2006-07-25 Update procedure for databases, in particular navigation databases
PCT/EP2007/056886 WO2008012190A1 (en) 2006-07-25 2007-07-06 Update method for databases, particularly navigation databases

Publications (1)

Publication Number Publication Date
EP2047386A1 true EP2047386A1 (en) 2009-04-15

Family

ID=38537737

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07787169A Ceased EP2047386A1 (en) 2006-07-25 2007-07-06 Update method for databases, particularly navigation databases

Country Status (6)

Country Link
US (1) US9378222B2 (en)
EP (1) EP2047386A1 (en)
JP (1) JP5409357B2 (en)
CN (1) CN101558406B (en)
DE (1) DE102006034407A1 (en)
WO (1) WO2008012190A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330457B (en) * 2008-07-24 2011-03-23 安徽大学 Method for searching shortest route based on quotient space overlay model
CN101788299B (en) * 2009-12-29 2012-10-17 北京世纪高通科技有限公司 Updating method and device of RTIC (Real-Time Information of China) matching table based on navigation electronic map
US9518830B1 (en) 2011-12-28 2016-12-13 Intelligent Technologies International, Inc. Vehicular navigation system updating based on object presence
US9710501B2 (en) * 2012-03-30 2017-07-18 Kinaxis Inc. Enhanced performance for large versioned databases
JP6190892B2 (en) * 2013-01-30 2017-08-30 ヒア グローバル ビー.ヴイ. Method and apparatus for use in navigation applications
CN103473293B (en) * 2013-09-03 2016-09-07 沈阳美行科技有限公司 A kind of navigation data partition method
US11544299B2 (en) * 2020-03-02 2023-01-03 Google Llc Topological basemodel supporting improved conflation and stable feature identity

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146339A (en) 1983-02-09 1984-08-22 Hitachi Ltd Information retrieving system
US7085637B2 (en) * 1997-10-22 2006-08-01 Intelligent Technologies International, Inc. Method and system for controlling a vehicle
JP3391171B2 (en) * 1995-11-21 2003-03-31 松下電器産業株式会社 Map editing display
US6473770B1 (en) * 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
GB2370460A (en) * 2000-12-21 2002-06-26 Nokia Mobile Phones Ltd Segmented route guidance
US7043490B2 (en) * 2002-03-05 2006-05-09 International Business Machines Corporation Method, system, and program product to support multiple content-management data models
JP4023200B2 (en) 2002-04-25 2007-12-19 アイシン・エィ・ダブリュ株式会社 Navigation device
US6937936B2 (en) 2002-04-25 2005-08-30 Aisin Aw Co., Ltd. Navigation system
US7082443B1 (en) 2002-07-23 2006-07-25 Navteq North America, Llc Method and system for updating geographic databases
CN1512138A (en) * 2002-12-30 2004-07-14 厦门雅迅网络股份有限公司 Method for realizing vehicle network navigation based on GPS and GPRS
GB0304358D0 (en) * 2003-02-26 2003-04-02 Palmtop Software B V Navigator 2.0 features
US7099882B2 (en) * 2003-04-29 2006-08-29 Navteq North America, Llc Method and system for forming, updating, and using a geographic database
JP2005003700A (en) * 2003-06-09 2005-01-06 Matsushita Electric Ind Co Ltd Map updating system
KR100539834B1 (en) * 2003-06-30 2005-12-28 엘지전자 주식회사 System and Method for Managing Map version using of car navigation
JP4334940B2 (en) * 2003-08-08 2009-09-30 大日本印刷株式会社 Data file compression method
DE10337622A1 (en) 2003-08-16 2005-03-10 Daimler Chrysler Ag Method for updating a digital map
JP4543637B2 (en) * 2003-08-26 2010-09-15 三菱電機株式会社 Map information processing device
US7079946B2 (en) 2003-08-29 2006-07-18 Denso Corporation Iterative logical renewal of navigable map database
JP4138637B2 (en) * 2003-11-19 2008-08-27 株式会社ザナヴィ・インフォマティクス Navigation device, update data providing device, and update data providing method
US7403851B2 (en) 2004-09-30 2008-07-22 Navteq North America, Llc Method of operating a navigation system to report effects of updated portions of a geographic database
US7945383B2 (en) * 2005-04-20 2011-05-17 Alpine Electronics, Inc Route determination method and apparatus for navigation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OOI B C ET AL: "Extending a DBMS for geographic applications", DATA ENGINEERING, 1989. PROCEEDINGS. FIFTH INTERNATIONAL CONFERENCE ON LOS ANGELES, CA, USA 6-10 FEB. 1989, WASHINGTON, DC, USA,IEEE COMPUT. SOC. PR, US, 6 February 1989 (1989-02-06), pages 590 - 597, XP010015212, ISBN: 978-0-8186-1915-1, DOI: 10.1109/ICDE.1989.47266 *

Also Published As

Publication number Publication date
DE102006034407A1 (en) 2008-01-31
WO2008012190A1 (en) 2008-01-31
US9378222B2 (en) 2016-06-28
CN101558406B (en) 2016-09-21
US20100076928A1 (en) 2010-03-25
JP2009545042A (en) 2009-12-17
JP5409357B2 (en) 2014-02-05
CN101558406A (en) 2009-10-14

Similar Documents

Publication Publication Date Title
EP2047386A1 (en) Update method for databases, particularly navigation databases
DE19842430B4 (en) Map data processing device and method, and map data processing system
DE102004041934A1 (en) Iterative logical renewal of navigable map databases
EP2507589B1 (en) Method for simplifying a description of a route
DE102005029744A1 (en) Updating map data involves transferring only a tile to client when client calls up data whose version information on client holds older update state than on server
WO2005019773A1 (en) Method for updating a digital map
EP2089819A1 (en) Method for updating a database
DE102010001700A1 (en) Method for determination utilization of e.g. roads, for driver of vehicle, has repeating detection of utilization of route section and increase of degree of utilization of route section, where degree of utilization is increased again
DE112011105117T5 (en) navigation device
EP1508777A1 (en) Method for updating a digital map
DE102017010484A1 (en) Method for consistent updating of parts of a road map
EP2924589A1 (en) Onboard unit and method for updating geodata therein
EP3472820A1 (en) Updating a digital map
EP1979837B1 (en) Method for outputting data records, and apparatus therefor
DE102007016002A1 (en) A method for creating a directory of road sections, methods for determining all road sections within a search area and computer program
DE102019114534A1 (en) Consistent updating of a geographic map
EP1944576B1 (en) Method for updating geographical information
DE102014223331B4 (en) Improvement of a driving horizon system by self-learning of the most probable travel path
DE102022000272B3 (en) Process for versioning digital road maps and vehicles
WO2007082782A2 (en) Updating method for navigation databases
WO2022117261A1 (en) Combining static and dynamic map data
WO2000054148A2 (en) System and method for identifying objects in distributed hierarchical systems, especially automation systems
DE19951756B4 (en) Data management method and computer program and system for executing it
EP1239377A1 (en) Data management system and method of data structure management and synchronisation
DE102011077945A1 (en) Method for updating digital card used by navigation system of vehicle, involves updating generalization plane of digital card if object is represented by nodes by updating attribute of nodes based on information and reference elements

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090225

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

17Q First examination report despatched

Effective date: 20090528

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20130214