DE19750692A1 - Schnelles Dateisystem - Google Patents
Schnelles DateisystemInfo
- Publication number
- DE19750692A1 DE19750692A1 DE19750692A DE19750692A DE19750692A1 DE 19750692 A1 DE19750692 A1 DE 19750692A1 DE 19750692 A DE19750692 A DE 19750692A DE 19750692 A DE19750692 A DE 19750692A DE 19750692 A1 DE19750692 A1 DE 19750692A1
- Authority
- DE
- Germany
- Prior art keywords
- file
- data
- subsets
- references
- cluster
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren
zum Zugreifen auf Dateien eines Dateisystems in einem Compu
tersystem. Darüber hinaus bezieht sich die vorliegende Er
findung auf ein schnelles Dateisystem zum Zugreifen auf eine
Datenbank in einem On-Board-Navigationssystem eines Fahr
zeugs bzw. auf eine Einrichtung zum Unterstützen eines Be
nutzers beim Navigieren eines Fahrzeugs.
Ein On-Board-Navigationssystem kann zum Unterstützen ei
nes Fahrers eines Kraftfahrzeugs beim Navigieren durch ein
unbekanntes Territorium nützlich sein. Ein Beispiel eines
solchen Systems ist eine computerbasierte Einrichtung, wel
che es dem Fahrer gestattet, ein Ziel aus einer gespeicher
ten Straßenkarten-Datenbank auszuwählen, welches dann eine
Route zu dem ausgewählten Ziel zu berechnet und den Fahrer
zu dem ausgewählten Ziel führt. Ein derartiges System ent
hält im allgemeinen verschiedene Sensoren zum Feststellen
der Position des Fahrzeugs. Wenn sich das Fahrzeug bewegt,
verarbeitet das System Daten von den Sensoren, um die wahr
scheinlichste Position des Fahrzeugs in bezug auf die Kar
tendaten zu bestimmen. Das System kann dem Fahrer während
der Fortbewegung des Fahrzeugs eine Straßenkarte des Umge
bungsbereichs und eine Anzeige der Position und der Bewegung
des Fahrzeugs auf der angezeigten Karte anzeigen. Das System
kann darüber hinaus dem Fahrer hörbare und/oder sichtbare
Navigationsinstruktionen zur Verfügung stellen. On-Board-Kraft
fahrzeugnavigationssysteme wie diese sind gegenwärtig
von der Zexel Corporation in Sunnyvale, Kalifornien, USA,
erhältlich.
Ein On-Board-Navigationssystem dieser Art wird von einem
Computer gesteuert. Wie auch andere Computer hat der Compu
ter in einem On-Board-Fahrzeugnavigationssystem ein Be
triebssystem, welches eine Software zum Steuern der grundle
genden Operationen des Systems darstellt. Das Betriebssystem
enthält ein Dateisystem zum Handhaben von Dateien, ein
schließlich deren Benennung, Organisation, Speicherung und
Rückgewinnung. Es sind jedoch unterschiedliche konstruktive
Forderungen dem Dateisystem in einem On-Board-Fahrzeugnavi
gationssystem zugeordnet. Diese Anforderungen betreffen im
allgemeinen die Geschwindigkeit, Modifizierbarkeit, Spei
cherverwendung und die Marktunterstützung des Dateisystems.
Beispielsweise kann ein Originalausrüstungshersteller
(OEM) das Dateisystem von einem Zulieferer erwerben. Jedoch
kann die Verwendung einer proprietären Software von einer
äußeren Quelle Restriktionen unterliegen, die ihr von dem
Zulieferer hinsichtlich der Modifizierbarkeit oder Dekompi
lierung der Dateisystem-Software auferlegt werden. Derartige
Restriktionen können beispielsweise Fehlerbeseitigungsopera
tionen und Aktualisierungen des gesamten Navigationssystems
behindern. Zusätzlich kann es schwierig sein, für proprie
täre Dateisysteme Unterstützungswerkzeuge im Markt zu fin
den. Folglich ist es wünschenswert, ein Dateisystem zu ver
wenden, welches eine offene Architektur (d. h. veröffent
lichte Spezifikationen) hat.
Das gut bekannte DOS(Disk Operating System)-Dateisystem
hat eine offene Architektur, welches es für eine Verwendung
in einem On-Board-Navigation attraktiv macht. Zusätzlich er
fordert ein DOS-Dateisystem im allgemeinen eine relativ ge
ringe Speichermenge verglichen mit bestimmten proprietären
Dateisystemen. Jedoch neigt ein DOS-Dateisystem dazu, lang
sam zu sein, wenn auf große Dateien zugegriffen wird, wie es
detaillierter in der Figurenbeschreibung erörtert werden
wird. Darüber hinaus ist eine Hochgeschwindigkeitsoperation
in einem On-Board-Kraftfahrzeugnavigationssystem besonders
wünschenswert, weil auf Dateien mit einer hohen Frequenz zuge
griffen wird (beispielsweise, wenn der Maßstab oder die geo
graphischen Bereiche gewechselt werden). Darüber hinaus kön
nen Verzögerungen bei Dateizugriffen einen Fahrer ablenken
und folglich einen Unfall hervorrufen. Demzufolge ist ein
Standard-DOS-Dateisystem im allgemeinen zur Verwendung bei
einem On-Board-Fahrzeugnavigationssystem nicht gut geeignet.
Es wird folglich ein Dateisystem benötigt, welches einen
schnellen Datenzugriff, einen geringen Speicherverbrauch,
Flexibilität und eine Unterstützung im Markt zur Verfügung
stellt. Darüber hinaus sollte das schnelle Dateisystem eine
offene Architektur aufweisen und zur Verwendung bei einem
On-Board-Fahrzeugnavigationssystem geeignet sein.
Die Erfindung schafft ein Verfahren, das einen Zugriff
auf eine Datei gestattet. Die Datei enthält eine Anzahl von
Untermengen (Subsets), die innerhalb der Datei in einer lo
gischen Reihenfolge angeordnet sind. Eine erste Tabelle ent
hält Referenzen auf die Untermengen. Die logische Reihen
folge der Untermengen innerhalb der Datei wird von der er
sten Tabelle festgelegt. Die Referenzen sind innerhalb der
ersten Tabelle in einer Reihenfolge angeordnet, die von der
logischen Reihenfolge der Untermengen innerhalb der Datei
verschieden ist. Die Referenzen auf die Untermengen werden
dann in aufeinanderfolgenden Plätzen einer zweiten Tabelle
in Übereinstimmung mit der logischen Reihenfolge der Unter
mengen innerhalb der Datei gespeichert.
Im folgenden wird die Erfindung anhand von in der Zeich
nung dargestellten Ausführungsbeispielen näher erläutert.
Fig. 1 zeigt ein Blockschaltbild eines On-Board-Kraft
fahrzeugnavigationssystems,
Fig. 2 veranschaulicht eine DOS-Dateizugriffstabelle
(FAT),
Fig. 3A veranschaulicht eine schnelle FAT (FFAT),
Fig. 3B veranschaulicht eine Cluster-Tabelle,
Fig. 3C veranschaulicht eine Cluster-Tabelle, die Refe
renzen auf Datencluster einer Datei speichert,
Fig. 4 ist ein Ablaufdiagramm, das eine Routine zum Lo
kalisieren einer FFAT nach einem Systemrücksetzen oder einer
Änderung des Verzeichnisses veranschaulicht,
Fig. 5 ist ein Ablaufdiagramm, das eine Routine zum Er
zeugen einer FFAT veranschaulicht,
Fig. 6 ist ein Ablaufdiagramm, das eine Routine zum Er
zeugen einer Cluster-Tabelle für eine Datei veranschaulicht,
Fig. 7 ist ein Ablaufdiagramm, das eine Routine zum Le
sen einer Datei unter Verwendung einer FFAT veranschaulicht.
Es wird ein schnelles DOS-Dateisystem beschrieben. In
der folgenden Beschreibung werden aus Veranschaulichungs
gründen zahlreiche spezielle Details ausgeführt, um ein bes
seres Verständnis der vorliegenden Erfindung zu erreichen.
Für den Fachmann ist es jedoch klar, daß die vorliegende Er
findung auch ohne diese speziellen Details ausgeführt werden
kann. An anderen Stellen werden gut bekannte Strukturen und
Einrichtungen in Blockschaltform gezeigt, um die Beschrei
bung der Erfindung zu vereinfachen.
Die vorliegende Erfindung umfaßt eine Technik zum Erhö
hen der effektiven Datenzugriffsgeschwindigkeit eines
DOS-Dateisystems, die im folgenden detailliert beschrieben wird.
Bei einem Ausführungsbeispiel ist das schnelle DOS-Datei
system in einem On-Board-Kraftfahrzeugnavigationssystem im
plementiert. Jedoch kann die vorliegende Erfindung auch bei
einer Vielzahl unterschiedlicher Architekturen implementiert
werden, die auch solche Architekturen umfassen, die sich
nicht auf On-Board-Kraftfahrzeugnavigationssysteme beziehen.
Beispielsweise kann die vorliegende Erfindung auch in einem
PC implementiert werden.
Fig. 1 veranschaulicht ein On-Board-Kraftfahrzeugnaviga
tionssystem 1, in welchem die vorliegende Erfindung imple
mentiert ist. Das Navigationssystem 1 enthält eine zentrale
Verarbeitungseinheit (CPU) 10, einen Nur-Lese-Speicher (ROM)
11, einen Speicher mit wahlfreiem Zugriff (RAM) 12 und ein
Massenspeichermedium 13, die sämtlich mit einem Bus 24 ge
koppelt sind. Der Bus 24 kann mehrere miteinander über
Brücken und/oder Busadapter verkoppelte Busse umfassen. Mit
dem Bus 24 ist außerdem ein Ausgabe-Subsystem 26 gekoppelt.
Das Ausgabe-Subsystem 26 umfaßt einen Lautsprecher 16, wel
cher Signale von einer Audioausgabesteuereinrichtung 15 emp
fängt, die mit dem Bus 24 gekoppelt ist. Das Ausgabe-Sub
system 26 umfaßt darüber hinaus eine visuelle Anzeigeein
richtung 18, welche Signale von einer mit dem Bus 24 gekop
pelten Anzeigesteuereinrichtung 17 empfängt. Es ist außerdem
ein Eingabe-Subsystem 14 mit dem Bus 24 gekoppelt, das Ein
richtungen zur Verfügung stellt, die es einem Benutzer
(beispielsweise einem Fahrer oder Passagier des Fahrzeugs)
gestattet, Eingaben in das Navigationssystem 1 einzugeben.
Ein Sensor-Subsystem 25 ist ebenfalls mit dem Bus 24 über
eine Schnittstelleneinrichtung 22 gekoppelt. Das Sensor-Sub
system 25 umfaßt einen Winkelgeschwindigkeitssensor 19,
einen Wegstreckensensor (z. B. Kilometerzähler) 20 und einen
Empfänger 21 eines globalen Positioniersystems (Global Posi
tioning System - GPS), die jeweils mit der Schnittstellen
einrichtung 22 gekoppelt sind. Die Schnittstelleneinrichtung
22 formatiert die von den Sensoren 19 und 20 und dem
GPS-Empfänger 21 empfangenen Daten für eine Übertragung auf den
Bus 24.
Zahlreiche der in Fig. 1 dargestellten Komponenten kön
nen ausgetauscht oder verändert werden. Beispielsweise kann
das Massenspeichermedium 13 eine beliebige nicht-flüchtige
Speichereinrichtung, einschließlich einer magnetischen oder
optischen Speicherplatte sein, beispielsweise eine CD-ROM
(Compact Disk-ROM), CD-R (CD-Recordable), DVD (Digital Ver
satile Disk) sein. Bei einem Ausführungsbeispiel ist das
Massenspeichermedium 13 ein PCMCIA-Festplattenlaufwerk. Dar
über hinaus können das Massenspeichermedium 13, der ROM 11
und der RAM 12 jeweils mehrere physikalische Einrichtungen
repräsentieren. Die Anzeigeeinrichtung 18 kann eine Katho
denstrahlröhre (CRT), eine Flüssigkristallanzeige (LCD) oder
eine andere visuelle Ausgabeeinrichtung sein. Das Eingabe-Sub
system 14 umfaßt bei einem Ausführungsbeispiel mechani
sche Tasten, mit Hilfe derer ein Benutzer alphanumerische
Informationen in das Navigationssystem 1 eingeben oder auf
der Anzeigeeinrichtung 18 angezeigte Informationen auswählen
kann. Bei einem Ausführungsbeispiel können die mechanischen
Tasten durch druck- oder temperatursensitive Tasten, bei
spielsweise einen Touch-Screen, durch ein sprachaktiviertes
Eingabesystem oder dergleichen ersetzt werden. Darüber hin
aus kann das spezielle Sensor-Subsystem 25, das in Fig. 1
dargestellt ist, durch andere Arten von Erfassungseinrich
tungen ergänzt werden. Beispielsweise kann der GPS-Empfänger
21 durch ein anderes Lokalisierungssystem hoher Genauigkeit
und der Winkelgeschwindigkeitssensor durch einen absoluten
Richtungsdetektor (beispielsweise einen Kompaß) ersetzt wer
den.
Das Navigationssystem 1 umfaßt eine Datenbank von
Straßenkartendaten, interessierende Punkte (wie beispiels
weise Touristenattraktionen, Restaurants, Flughäfen, Ein
kaufszentren, etc.) identifizierenden Daten und anderen Da
ten. Die Straßenkartendaten umfassen Daten, die verschiedene
unterschiedliche Maßstabsebenen und Genauigkeitsgrade reprä
sentieren. Bei einem Ausführungsbeispiel ist die Datenbank
in einem Massenspeichermedium 13 gespeichert. Das Navi
gationssystem 1 gestattet es dem Fahrer, ein gewünschtes
Ziel aus der gespeicherten Datenbank auszuwählen, und be
rechnet dann eine Route zu dem ausgewählten Ziel.
Während sich das Fahrzeug bewegt, zeigt das System 1 un
ter Verwendung der Anzeigeeinrichtung 18 eine Straßenkarte
eines vorgegebenen geographischen Bereichs an. Diese Anzeige
enthält einen Hinweis auf die aktuelle Position und Bewegung
des Fahrzeugs in bezug auf die angezeigte Karte. Wenn sich
das Fahrzeug bewegt, verwendet das System 1 eine
"Koppelnavigation" genannte Technik, bei welcher Daten von
dem Winkelgeschwindigkeitssensor 19 und dem Wegstreckensensor
20 verarbeitet werden, um eine Veränderung der relativen Po
sition gegenüber einer zuvor berechneten Position bestimmt
werden. Das System 1 verwendet dann einen Kartenabgleichsal
gorithmus, um die berechnete Position mit der Kartendaten
bank zu vergleichen, um gegebenenfalls die Positionsbestim
mung zu überarbeiten. An bestimmten Stellen können Daten von
dem GPS-Empfänger 21 verwendet werden, um die mit Hilfe der
Koppelnavigation und des Kartenabgleichs ausgeführte Posi
tionsbestimmung zu korrigieren, zu unterstützen oder zu er
setzen. Wenn sich das Fahrzeug bewegt, gibt das System Navi
gationsinstruktionen an den Benutzer über den Lautsprecher
16 in Form von aufgezeichneter oder synthetisierter Sprache
aus. Zusätzlich können die Navigationsinstruktionen über die
Anzeigeeinrichtung 18 ausgegeben werden.
Die Funktionen des Navigationssystems 1 basieren auf ei
nem Betriebssystem. Das Betriebssystem umfaßt ein Datei
system zum Ausführen solcher Funktionen, wie beispielsweise
Benennung, Organisation, Speicherung und Auslesen von Datei
en. Die vorliegende Erfindung umfaßt eine Technik zum Ver
bessern des Betriebs des Dateisystems, wie im folgenden be
schrieben wird.
Bei einem Ausführungsbeispiel wird die Erfindung in dem
Navigationssystem 1 in Abhängigkeit davon ausgeführt, daß
die CPU 10 Befehlssequenzen ausführt, die im Speicher,
(welches der ROM 11, RAM 12, das Massenspeichermedium 13
oder eine Kombination dieser Einrichtungen sein kann) ent
halten sind. D. h., die Ausführung der in dem Speicher ent
haltenen Befehlssequenzen veranlaßt die CPU 10, die unten
beschriebenen Verfahrensschritte auszuführen. Beispielsweise
können die Befehle aus einem nicht-flüchtigen Speicher, wie
beispielsweise dem ROM 11 oder dem Massenspeichermedium 13
in den RAM 12 geladen werden. Bei anderen Ausführungsbei
spielen kann eine fest verdrahtete Schaltung anstelle von
oder in Kombination mit Software-Instruktionen verwendet
werden, um die Erfindung zu implementieren.
Die vorliegende Erfindung umfaßt eine Technik zum Erhö
hen der effektiven Geschwindigkeit eines DOS-Dateisystems.
Ein DOS-Dateisystem ist im allgemeinen wegen seiner relativ
langsamen Datenzugriffsgeschwindigkeit zur Verwendung in ei
nem Kraftfahrzeugnavigationssystem nicht gut geeignet. Die
Gründe für diese relativ langsame Datenzugriffsgeschwindig
keit werden im folgenden erörtert.
Daten werden auf einem Speichermedium im allgemeinen in
Form von Datenclustern (Datengruppen) gespeichert. Ein Clu
ster stellt verschiedene zusammenhängende physikalische Sek
toren des Speichermediums dar. Die Datencluster jeder Datei
haben eine logische Sequenz innerhalb der Datei. Ein DOS-Da
teisystem verwendet grundsätzlich Clusterketten, um auf Da
teien zuzugreifen. Eine Clusterkette ist eine verbundene Li
ste von Datenclustern in einer bestimmten Datei. Diese Clu
sterketten sind in einer Dateizugriffstabelle (FAT) gespei
chert, welche eine Zuordnung zwischen einer Datei und den
Datenclustern dieser Datei darstellt.
Fig. 2 veranschaulicht eine FAT 30. Die FAT 30 enthält
eine Anzahl von Plätzen, welche jeweils eine Referenz auf
ein bestimmtes Datencluster einer Datei speichern. Jede Re
ferenz ist darüber hinaus eine Referenz auf das nächste Da
tencluster in der logischen Sequenz innerhalb der Datei. Der
Anfang der Clusterkette jeder Datei ist durch einen Ein
trittspunkt angezeigt, welcher der Platz 12 der FAT 30 ist.
Folglich ist die Clusterkette für Datei_A (13, 14, 45, 46). Das
letzte Cluster in einer Clusterkette einer Datei wird durch
einen in dem letzten Speicherplatz der Clusterkette gespei
cherten Identifizierer angezeigt, wie beispielsweise der in
Speicherplatz 46 der FAT 30 gespeicherte Identifizierer
"LAST".
Auf eine Datei wird zugegriffen, indem eine sequenzielle
Vorwärtssuche durch die der Datei in der FAT zugeordnete
Clusterkette ausgeführt wird. Der auf das aktuell referen
zierte Datencluster zeigende Dateizeiger kann entlang der
Clusterkette vorwärtsbewegt werden. Wenn die relevanten
Daten in (Bewegungsrichtung) "hinter" dem Dateizeiger
angeordnet sind, so wird der Dateizeiger auf den Anfang der
Clusterkette gesetzt und die Suche reinitiiert. Wenn die
Datei klein ist, so ist die zum Ausführen dieser Suche
erforderliche Zeit unwesentlich. Eine Datenbankdatei enthält
jedoch grundsätzlich eine große Menge von Daten, so daß ein
Durchsuchen der Clusterkette eine relativ lange Zeit
beanspruchen kann. Demzufolge kann die einem DOS-Dateisystem
zugeordnete FAT zum Zugreifen auf relativ kleine Dateien mit
kurzen Clusterketten geeignet sein; zum Zugreifen auf große
Dateien, wie sie grundsätzlich in der Datenbank eines
On-Board-Fahrzeugnavigationssystems zu finden sind, ist die FAT
nicht sehr geeignet.
Die Erfindung erhöht effektiv die Datenzugriffsgeschwin
digkeit eines DOS-Dateisystems, indem sie eine zusätzliche
Struktur schafft, die (funktionell) "an der Spitze" der FAT
des Dateisystems angeordnet ist. Diese Struktur wird im fol
genden als schnelle FAT (FFAT - Fast FAT) bezeichnet. Eine
FFAT ist in Fig. 3A dargestellt. Wesentlich ist, daß die
Clusterkette für jede Datei in einer neuen Tabelle gespei
chert ist, die im folgenden als "Clustertabelle" bezeichnet
wird. Die Clustertabelle enthält eine Anzahl von Speicher
plätzen oder logischen Clustern, welche die Referenzen auf
die tatsächlichen Cluster in der Datei enthalten. Im Gegen
satz zu der Standard-FAT eines DOS-Dateisystems werden die
Referenzen auf die Cluster in aufeinanderfolgenden Speicher
plätzen der Clustertabelle gemäß der logischen Sequenz der
Cluster innerhalb der Datei gespeichert. Im Ergebnis kann
auf eine Datei mittels eines wahlfreien Schemas unter Ver
wendung der Clustertabelle anstelle des sequenziellen Sche
mas unter Verwendung der FAT zugegriffen werden. Wie unten
beschrieben wird, wird eine Clustertabelle für eine gegebene
Datei erzeugt, indem die der Datei zugeordnete FAT durchlau
fen wird.
Im folgenden wird auf Fig. 3A Bezug genommen. Die FFAT
besteht aus einem Deskriptor 34, einer Referenztabelle 35
und Clustertabellen 36 für verschiedene Dateien
"Dateiname_A", "Dateiname_B" und "Dateiname_C". Die Refe
renztabelle 35 enthält die Dateinamen jeder Datei und eine
Referenz zu der Clustertabelle für jede Datei. (Die Dateina
men in der Referenztabelle 35 sind durch die Bezugszeichen
31 angezeigt, während die Referenzen auf die Clustertabelle
durch die Bezugszeichen 32 angezeigt sind.) Der Deskriptor
34 beschreibt die Anzahl der Dateien in der FFAT und die
Größe der Referenztabelle 35. Jede Datei in der FFAT 33 hat
einen Eintrag in der Referenztabelle 35. Der Eintrag kann
durch den Dateinamen identifiziert sein und die Clusterta
belle der Datei kann dann durch einer ihr zugeordneten Refe
renz lokalisiert werden. Somit kann auf eine Clustertabelle
für eine gegebene Datei über deren Dateinamen zugegriffen
werden.
Fig. 3B veranschaulicht eine Clustertabelle 37 im De
tail. Die Clustertabelle 37 enthält N Speicherplätze 38,
welche als "logische Cluster" bezeichnet werden. Jedes logi
sche Cluster 38 in der Clustertabelle 37 ist durch einen In
dexwert im Bereich 0, 1, 2, . . ., N-1 identifiziert. Der Index
wert jedes logischen Clusters repräsentiert die Reihenfolge,
in welcher das von dem logischen Cluster referenzierte Da
tencluster in der logischen Sequenz der Datei auftritt. Fig.
3C veranschaulicht beispielsweise die der Beispieldatei Da
tei_A zugeordnete Clustertabelle 39, die in Verbindung mit
Fig. 2 erörtert wurde. Die Clusterkette für Datei_A war
(13, 14, 45, 46). Somit enthält die Clustertabelle für Datei_A
vier als logische Cluster 0, 1, 2 und 3 identifizierte
(indexierte) logische Cluster, welche Referenzen auf die Da
tencluster 13, 14, 45 bzw. 46 enthalten.
Bei einem Ausführungsbeispiel wird die FFAT als ein op
tionales Merkmal behandelt, die von dem DOS-Dateisystem nur
dann verwendet wird, wenn es verfügbar ist. Sofern eine FFAT
nicht verfügbar ist, verwendet das Dateisystem einfach die
Standard-FAT, um auf eine Datei zuzugreifen. Bei diesem Aus
führungsbeispiel versucht das Dateisystem jedesmal dann,
wenn das System 1 zurückgesetzt wird, die FFAT für ein Stan
dardverzeichnis zu laden. In ähnlicher Weise versucht das
Dateisystem jedesmal dann, wenn eine Änderung des Verzeich
nisses (Directory) ausgeführt wird, die FFAT-Tabelle für ein
neues Verzeichnis zu laden. Eine Änderung im Verzeichnis
kann beispielsweise erforderlich sein, um auf Daten zuzu
greifen, die einen anderen geographischen Bereich repräsen
tieren als die gegenwärtig zugegriffenen Daten. Wenn das La
den der FFAT erfolgreich war, so werden die Zugriffe auf die
Standard-FAT-Tabelle für die in der Konfigurationsdatei spe
zifizierten Dateien durch FFAT-Zugriffe ersetzt. Wenn die
FFAT nicht erfolgreich geladen wurde oder die Datei nicht in
der Konfigurationsdatei spezifiziert wurde, dann werden nor
male FAT-Zugriffe ausgeführt. Folglich kann das Navigations
system ohne die FFAT arbeiten, wenn auch bei einer geringe
ren Geschwindigkeit.
Um diese Fähigkeit zu veranschaulichen, zeigt Fig. 4 ei
ne Routine zum Lokalisieren einer FFAT. Nach einem Rückset
zen des Navigationssystems 1 oder bei einem Wechsel des Ver
zeichnisses (Schritt 401) versucht das Navigationssystem 1
(Schritt 402), die FFAT für das aktuelle oder das angefor
derte Verzeichnis zu lokalisieren. Wenn die FFAT gefunden
wird (Schritt 403), so lädt das System dann die geeignete
FFAT (Schritt 404). Das System greift dann auf die geeignete
Datei oder Dateien unter Verwendung der FFAT zu (Schritt
405). Wenn keine FFAT lokalisiert worden ist, so greift das
System auf die geeignete Datei oder die Dateien unter Ver
wendung der Standard-FAT zu (Schritt 406).
Jedesmal dann, wenn eine von der FFAT referenzierte Da
tei aktualisiert wird, muß die FFAT ebenfalls aktualisiert
werden. Fig. 5 veranschaulicht eine Routine zum Aktualisie
ren einer FFAT. Diese Aktualisierungsprozedur wird automa
tisch nach dem Aktualisieren der Datei ausgeführt. Bei einem
Ausführungsbeispiel ist die Prozedur gemäß Fig. 5 in einem
Softwarewerkzeug implementiert, das speziell diesem Zweck
gewidmet ist. Anfänglich wird ein Pfad eines Verzeichnisses,
das die Datei enthält, eingegeben (Schritt 501). Der Name
einer Datei, welche aktualisiert worden ist, wird dann aus
der Konfigurationsdatei des Verzeichnisses gewonnen (Schritt
502). Als nächstes wird eine aktualisierte FFAT aus der FAT
erzeugt, indem die von der FAT spezifizierte Clusterkette
durchlaufen wird (Schritt 503). Der Schritt des Aktualisie
rens der FFAT (Schritt 503) umfaßt das Aktualisieren der
Clustertabelle der betroffenen Datei.
Fig. 6 veranschaulicht eine Routine zum Erzeugen oder
Aktualisieren der Clustertabelle einer Datei. Indem eine In
dexvariable I anfänglich auf Null gesetzt wird (Schritt
601), greift das System 1 auf einen ersten Platz in der FAT
auf der Grundlage des Dateizeigers zu und erhält die Refe
renz auf das erste Cluster (Schritt 602). Die Referenz wird
dann in dem logischen Cluster LC[I] (dem logischen Cluster,
das den Indexwert von 1 hat) der Clustertabelle gespeichert.
Wenn die Referenz das letzte Cluster in der Clusterkette war
(Schritt 604), so endet die Routine. Anderenfalls wird die
Indexvariable I um 1 inkrementiert (Schritt 605). Nach dem
Inkrementieren des Indexwerts I wird der Ort der nächsten
Referenz in der Clusterkette aus der aktuellen Referenz be
stimmt (Schritt 606). Dann wird auf den nächsten Platz in
der FAT zugegriffen, um die Referenz auf das nächste Cluster
in der Clusterkette zu erhalten (Schritt 607). Die Routine
wird dann ausgehend vom Schritt 603 wiederholt.
Auf eine Datei wird zugegriffen, indem die logischen
Cluster der Clustertabelle der Datei in ihrer Reihenfolge
gelesen werden. Der Datenzugriff wird von einer Leseanforde
rung des Dateisystems initiiert. Die Leseanforderung enthält
einen Dateinamen, ein Offset und eine Zählung. Das Offset
wird von einem vorgegebenen Punkt in der Datei, wie bei
spielsweise dem Beginn der Datei, einer aktuellen Position
oder dem Ende der Datei, gemessen. Die Zählung spezifiziert
die Anzahl der zu lesenden Datenbytes. Folglich hat bei ei
nem Ausführungsbeispiel die Leseanforderung das Format: READ
([DATEI_NAME], [OFFSET], [ZÄHLUNG]). Bei gegebenem Offset
wird das logische Startcluster der Clustertabelle berechnet,
indem das Offset durch die Clustergröße dividiert wird. So
mit kann auf das logische Start-Cluster der Clustertabelle
wahlfrei zugegriffen werden, d. h. es ist kein sequentieller
Zugriff mehr erforderlich. Die Referenz auf das aktuelle Da
tencluster kann dann aus dem logischen Cluster der Cluster
tabelle gewonnen werden. Die dem Offset zugeordnete Sektor
nummer kann durch Multiplizieren der aktuellen Clusternummer
aus der Clustertabelle mit der Anzahl der Sektoren pro Clu
ster berechnet werden. Indem die logische Sektornummer und
die Anzahl der Sektoren dem Gerätetreiber zur Verfügung ge
stellt wird, kann der logische Sektor auf einen physischen
Sektor abgebildet werden, um die Daten aus der Speicherein
richtung zu gewinnen. Die logischen Cluster in der Cluster
tabelle werden in der Reihenfolge ihres Auftretens in der
Clustertabelle gelesen. Somit wird auf die Datei in der Art
einer wahlfrei zugreifbaren Datei und nicht mehr in der Art
einer sequentiell zugreifbaren Datei zugegriffen.
Fig. 7 veranschaulicht eine Routine zum Lesen von Daten
in der oben beschriebenen Weise. Anfänglich (im Schritt 701)
wird das erste in der Clustertabelle zu lesende Cluster LC
berechnet, indem der Offset-Wert (in Bytes) durch die Clu
stergröße (in Bytes) dividiert wird. Dann wird ein Wert CLU
STER_OFFSET als ganzzahliger Rest der Division des Wertes
OFFSET durch die Clustergröße berechnet (Schritt 702). Als
nächstes wird ein Wert SEKTOR_IN_CLUSTER berechnet, indem
CLUSTER_OFFSET durch die Sektorgröße dividiert wird (Schritt
703). Dann wird ein Wert SEKTOR_OFFSET als Rest der Division
von CLUSTER_OFFSET durch die Sektorgröße berechnet (Schritt
704). Als nächstes wird der zu lesende logische Sektor LOGI
SCHER_SEKTOR gemäß der Gleichung berechnet (Schritt 705):
LOGISCHER_SEKTOR = (CLUSTER_TABELLE[LC] . Anzahl der Sektoren pro Cluster) + SEKTOR_IN_CLUSTER,
wobei CLUSTER_TABELLE[LC] das von dem logischen Cluster LC der Clustertabelle referenzierte Datencluster darstellt.
LOGISCHER_SEKTOR = (CLUSTER_TABELLE[LC] . Anzahl der Sektoren pro Cluster) + SEKTOR_IN_CLUSTER,
wobei CLUSTER_TABELLE[LC] das von dem logischen Cluster LC der Clustertabelle referenzierte Datencluster darstellt.
Als nächstes werden die zu lesenden Daten unter Verwendung
der berechneten Werte LOGISCHER_SEKTOR und SEKTOR_OFFSET lo
kalisiert und die Daten gewonnen (Schritt 706). Wenn das ge
lesene Cluster nicht das letzte zu lesende Cluster war, dann
wird das logische Cluster LC um 1 inkrementiert und die Rou
tine wiederholt, indem ein neuer Wert LOGISCHER_SEKTOR be
rechnet wird (Schritt 705). Wenn das gelesene Cluster das
letzte zu lesende Cluster war, so endet die Routine.
Claims (43)
1. Verfahren zum Zugreifen auf eine Datei mit einer
Mehrzahl von Untermengen (subsets), die in einer logischen
Reihenfolge angeordnet sind, wobei:
die logische Reihenfolge der Untermengen innerhalb der Datei aus einer ersten Tabelle bestimmt wird, wobei die er ste Tabelle Referenzen auf die Untermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihenfolge der Un termengen innerhalb der Datei verschieden sein kann; und
die Referenzen auf die Untermengen in aufeinanderfolgen den Plätzen einer zweiten Tabelle in Übereinstimmung mit der logischen Reihenfolge der Untermengen innerhalb der Datei abgespeichert werden.
die logische Reihenfolge der Untermengen innerhalb der Datei aus einer ersten Tabelle bestimmt wird, wobei die er ste Tabelle Referenzen auf die Untermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihenfolge der Un termengen innerhalb der Datei verschieden sein kann; und
die Referenzen auf die Untermengen in aufeinanderfolgen den Plätzen einer zweiten Tabelle in Übereinstimmung mit der logischen Reihenfolge der Untermengen innerhalb der Datei abgespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Referenzen auf die Untermengen in aufeinanderfolgen
den Speicherplätzen der zweiten Tabelle gemäß der logischen
Reihenfolge der Untermengen innerhalb der Datei derart ge
speichert werden, daß die Position jeder Referenz innerhalb
der zweiten Tabelle die logische Position der entsprechenden
Untermenge in der Datei darstellt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß anschließend auf mehrere der aufeinanderfol
genden Plätze in der zweiten Tabelle zugegriffen wird, um
die Cluster der Datei aufzufinden.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß anschließend auf die Datei zugegriffen wird,
indem wahlfrei auf einen Platz in der zweiten Tabelle zuge
griffen wird, um zumindest eines der Cluster der Datei auf
zufinden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß die zweite Tabelle nach einem Aktuali
sieren der Datei automatisch aktualisiert wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß die Referenzen in der ersten Tabelle in
Form einer verbundenen Liste gespeichert werden, wobei beim
Bestimmen der logischen Reihenfolge der Untermengen die Re
ferenzen in der verbundenen Liste gelesen werden, um die Un
termengen zu identifizieren und um die logische Reihenfolge
der Untermengen innerhalb der Datei zu identifizieren.
7. Verfahren zum Verwenden eines Dateisystems zum Ge
statten eines Zugriffs auf eine Datei in einer Datenbank,
wobei die Datei eine Mehrzahl von Datenuntermengen enthält,
wobei das Dateisystem eine Dateizugriffstabelle (FAT) mit
einer Mehrzahl von Plätzen enthält, wobei jeder Platz eine
Referenz auf eine der Datenuntermengen und eine Referenz auf
einen anderen Platz in der Dateizugriffstabelle (FAT) ent
hält, wobei die Referenz auf den anderen Platz in der Datei
zugriffstabelle die nächste logische Datenuntermenge der Da
tei anzeigt, wobei:
eine logische Reihenfolge der Datenuntermengen innerhalb der Datei auf der Grundlage der Dateizugriffstabelle (FAT) identifiziert wird; und
eine Tabelle mit einer Mehrzahl von Plätzen erzeugt wird, indem die Referenzen auf die Datenuntermengen in auf einanderfolgenden Speicherplätzen der Tabelle auf der Grund lage der logischen Reihenfolge gespeichert werden.
eine logische Reihenfolge der Datenuntermengen innerhalb der Datei auf der Grundlage der Dateizugriffstabelle (FAT) identifiziert wird; und
eine Tabelle mit einer Mehrzahl von Plätzen erzeugt wird, indem die Referenzen auf die Datenuntermengen in auf einanderfolgenden Speicherplätzen der Tabelle auf der Grund lage der logischen Reihenfolge gespeichert werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet,
daß auf die Datei zugegriffen wird, indem wahlfrei auf einen
platz in der Tabelle zugegriffen wird, um zumindest eine der
Untermengen der Datei wiederzugewinnen.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet,
daß auf eine Mehrzahl von aufeinanderfolgenden Plätzen in
der zweiten Tabelle zugegriffen wird, um die Cluster der Da
tei gemäß der logischen Reihenfolge wiederzugewinnen.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch
gekennzeichnet, daß nach einem Aktualisieren der Datei die
Tabelle automatisch aktualisiert wird.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch
gekennzeichnet, daß die Plätze der FAT eine verbundene Liste
darstellen.
12. Verfahren nach einem der Ansprüche 7 bis 11, dadurch
gekennzeichnet, daß die Datenuntermengen Datencluster sind.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet,
daß die Referenzen auf die Datenuntermengen in der FAT als
eine verbundene Liste gespeichert werden, wobei beim Identi
fizieren der logischen Reihenfolge die verbundene Liste ge
lesen wird, um die logische Reihenfolge der Datenuntermengen
innerhalb der Datei zu identifizieren.
14. Verfahren nach einem der Ansprüche 7 bis 13, dadurch
gekennzeichnet, daß das Dateisystem ein DOS-Dateisystem ist.
15. Verfahren zum Verwenden eines Dateisystems zum Zu
greifen auf eine Datei in einer Datenbank, wobei die Datei
eine Mehrzahl von Datenclustern enthält, wobei das Datei
system eine Dateizugriffstabelle (FAT) mit einer Mehrzahl
von Plätzen enthält, wobei jeder Platz eine Referenz auf ei
nes der Datencluster der Datei und eine Referenz auf einen
anderen, das nächste Datencluster der Datei anzeigenden
Platz in der Dateizugriffstabelle (FAT) enthält, wobei die
Referenzen auf die Datencluster der Datei in nicht-aufeinan
derfolgenden Plätzen der Dateizugriffstabelle (FAT) angeord
net sein können, wobei:
aus der Dateizugriffstabelle (FAT) die logische Reihen folge der Datencluster innerhalb der Datei identifiziert wird;
eine Clustertabelle erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgende Plätze der Clu stertabelle auf der Grundlage der logischen Reihenfolge ge speichert werden; und
auf die Datei zugegriffen wird, indem sequentiell auf aufeinanderfolgende Plätze in der Clustertabelle zugegriffen wird, um die Datencluster der Datei aufzufinden.
aus der Dateizugriffstabelle (FAT) die logische Reihen folge der Datencluster innerhalb der Datei identifiziert wird;
eine Clustertabelle erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgende Plätze der Clu stertabelle auf der Grundlage der logischen Reihenfolge ge speichert werden; und
auf die Datei zugegriffen wird, indem sequentiell auf aufeinanderfolgende Plätze in der Clustertabelle zugegriffen wird, um die Datencluster der Datei aufzufinden.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet,
daß nach einer Aktualisierung der Datei die Clustertabelle
automatisch aktualisiert wird.
17. Verfahren nach Anspruch 15 oder 16, dadurch gekenn
zeichnet, daß die Referenzen auf die Datencluster in der Da
teizugriffstabelle (FAT) als verbundene Liste gespeichert
werden.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet,
daß beim Identifizieren der logischen Reihenfolge der Daten
cluster die verbundene Liste gelesen wird, um die logische
Reihenfolge der Datencluster innerhalb der Datei zu identi
fizieren.
19. Verfahren zum Verwenden eines DOS-Dateisystems zum
Zugreifen auf eine Datei in einer Datenbank, wobei die Datei
eine Mehrzahl von Datenclustern enthält, wobei
auf eine DOS-Dateizugriffstabelle (FAT) zugegriffen wird, wobei die Dateizugriffstabelle eine Mehrzahl von Plät zen hat, wobei jeder Platz eine Referenz auf eines der Da tencluster und auf einen anderen Platz in der Dateizu griffstabelle enthält, wobei die Referenzen auf die Daten cluster in der Dateizugriffstabelle als eine verbundene Li ste gespeichert werden, und wobei die Referenzen nicht in aufeinanderfolgenden Plätzen der Dateizugriffstabelle ge speichert werden müssen;
eine logische Reihenfolge identifiziert wird, in welcher die Datencluster innerhalb der Datei auftreten, indem der verbundenen Liste gefolgt wird;
eine die Referenzen auf die Datencluster enthaltene Clu stertabelle für die Datei erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgenden Plätzen der Clustertabelle gemäß der logischen Reihenfolge der Cluster innerhalb der Datei gespeichert werden; und
auf die Datei zugegriffen wird, indem auf die aufeinan derfolgenden Plätze in der Clustertabelle zugegriffen wird, um die Cluster der Datei aufzufinden.
auf eine DOS-Dateizugriffstabelle (FAT) zugegriffen wird, wobei die Dateizugriffstabelle eine Mehrzahl von Plät zen hat, wobei jeder Platz eine Referenz auf eines der Da tencluster und auf einen anderen Platz in der Dateizu griffstabelle enthält, wobei die Referenzen auf die Daten cluster in der Dateizugriffstabelle als eine verbundene Li ste gespeichert werden, und wobei die Referenzen nicht in aufeinanderfolgenden Plätzen der Dateizugriffstabelle ge speichert werden müssen;
eine logische Reihenfolge identifiziert wird, in welcher die Datencluster innerhalb der Datei auftreten, indem der verbundenen Liste gefolgt wird;
eine die Referenzen auf die Datencluster enthaltene Clu stertabelle für die Datei erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgenden Plätzen der Clustertabelle gemäß der logischen Reihenfolge der Cluster innerhalb der Datei gespeichert werden; und
auf die Datei zugegriffen wird, indem auf die aufeinan derfolgenden Plätze in der Clustertabelle zugegriffen wird, um die Cluster der Datei aufzufinden.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet,
daß die Datenbank eine Kartendatenbank von Straßen in einem
geographischen Gebiet ist.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet,
daß das Verfahren in einem On-Board-System zum Unterstützen
eines Fahrers eines Fahrzeugs bei der Navigation implemen
tiert wird.
22. Einrichtung zum Unterstützen eines Bedieners beim
Navigieren eines Fahrzeugs mit einem Prozessor, einer Daten
bank, die eine Datei mit einer Mehrzahl von eine logische
Sequenz innerhalb der Datei aufweisenden Datenuntermengen
enthält, einem mit dem Prozessor gekoppelten Sensor-Sub
system und einem mit dem Prozessor zum Ausgeben von Naviga
tionsinformationen an den Benutzer gekoppelten Ausgabe-Sub
system, wobei der Prozessor einen aktuellen Ort des Fahr
zeugs auf der Grundlage von Daten aus dem Sensor-Subsystem
und der Datenbank berechnen und das Ausgabe-Subsystem veran
lassen kann, eine Anzeige des gegenwärtigen Orts des Benut
zers auszugeben,
dadurch gekennzeichnet,
daß der Prozessor derart konfiguriert ist, daß er die logische Reihenfolge der Datenuntermengen innerhalb der Da tei aus einer ersten Tabelle bestimmen kann, wobei die erste Tabelle Referenzen auf die Datenuntermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Sequenz ange ordnet sind, die von der logischen Sequenz der Datenunter mengen innerhalb der Datei abweicht; und
wobei der Prozessor die Referenzen auf die Datenunter mengen in aufeinanderfolgenden Plätzen einer zweiten Tabelle gemäß der logischen Sequenz der Datenuntermengen innerhalb der Datei speichern kann.
dadurch gekennzeichnet,
daß der Prozessor derart konfiguriert ist, daß er die logische Reihenfolge der Datenuntermengen innerhalb der Da tei aus einer ersten Tabelle bestimmen kann, wobei die erste Tabelle Referenzen auf die Datenuntermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Sequenz ange ordnet sind, die von der logischen Sequenz der Datenunter mengen innerhalb der Datei abweicht; und
wobei der Prozessor die Referenzen auf die Datenunter mengen in aufeinanderfolgenden Plätzen einer zweiten Tabelle gemäß der logischen Sequenz der Datenuntermengen innerhalb der Datei speichern kann.
23. Einrichtung nach Anspruch 22, dadurch gekennzeich
net, daß die Datenbank eine Kartendatenbank von Straßen in
einem geographischen Gebiet ist.
24. Einrichtung nach Anspruch 23, dadurch gekennzeich
net, daß die Datei Informationen enthält, die eine Unter
menge von Straßen identifizieren.
25. Einrichtung nach einem der Ansprüche 22 bis 24, da
durch gekennzeichnet, daß der Prozessor darüber hinaus der
art konfiguriert ist, daß er die Referenzen auf die Datenun
termengen in aufeinanderfolgenden Plätzen der zweiten Tabel
le gemäß der logischen Sequenz der Datenuntermengen inner
halb der Datei derart speichert, daß die relative Position
jeder Referenz innerhalb der zweiten Tabelle die relative
Position des entsprechenden Clusters der Datei in der logi
schen Sequenz darstellt.
26. Einrichtung nach einem der Ansprüche 22 bis 25, da
durch gekennzeichnet, daß der Prozessor derart konfiguriert
ist, daß er auf die Datei durch wahlfreies Zugreifen auf ei
nen Platz in der zweiten Tabelle zugreifen kann, um zumin
dest eines der Cluster der Datei aufzufinden.
27. Einrichtung nach Anspruch 26, dadurch gekennzeich
net, daß der Prozessor derart konfiguriert ist, daß er auf
die Datei durch Zugriff auf eine Mehrzahl von aufeinander
folgenden Plätzen in der zweiten Tabelle zugreifen kann, um
die Cluster der Datei gemäß der logischen Reihenfolge aufzu
finden.
28. Einrichtung nach einem der Ansprüche 22 bis 27, da
durch gekennzeichnet, daß der Prozessor so konfiguriert ist,
daß er die zweite Tabelle nach Aktualisieren der Datei auto
matisch aktualisiert.
29. Einrichtung nach einem der Ansprüche 22 bis 28, da
durch gekennzeichnet, daß die Referenzen in der ersten Ta
belle in Form einer verbundenen Liste gespeichert sind.
30. Einrichtung nach Anspruch 29, dadurch gekennzeich
net, daß der Prozessor derart konfiguriert ist, daß er die
Referenzen in der ersten Tabelle liest, um die Datenunter
mengen zu identifizieren und um die logische Sequenz der Da
tenuntermengen innerhalb der Datei zu identifizieren.
31. Ein Speichermedium zum Speichern eines maschinenles
baren Programms, das ein Programm von Befehlen verkörpert,
wobei die Befehle auf einem Computersystem zum Ausführen von
Verfahrensschritten zum Freigeben eines Zugriffs auf eine
Datei in einer Datenbank ausführbar sind, wobei die Datei
eine Mehrzahl von Datenuntermengen enthält, die innerhalb
der Datei in einer logischen Reihenfolge angeordnet sind,
wobei die Verfahrensschritte umfassen:
Bestimmen der logischen Reihenfolge der Datenuntermengen innerhalb der Datei aus einer ersten Tabelle, wobei die er ste Tabelle Referenzen auf die Datenuntermengen enthält, wo bei die Referenzen innerhalb der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihen folge der Datenuntermengen innerhalb der Datei abweicht; und
Speichern der Referenzen auf die Datenuntermengen in aufeinanderfolgende Speicherplätze einer zweiten Tabelle ge mäß der logischen Reihenfolge der Datenuntermengen innerhalb der Datei.
Bestimmen der logischen Reihenfolge der Datenuntermengen innerhalb der Datei aus einer ersten Tabelle, wobei die er ste Tabelle Referenzen auf die Datenuntermengen enthält, wo bei die Referenzen innerhalb der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihen folge der Datenuntermengen innerhalb der Datei abweicht; und
Speichern der Referenzen auf die Datenuntermengen in aufeinanderfolgende Speicherplätze einer zweiten Tabelle ge mäß der logischen Reihenfolge der Datenuntermengen innerhalb der Datei.
32. Speichermedium nach Anspruch 31, dadurch gekenn
zeichnet, daß die Referenzen zu den Datenuntermengen derart
in aufeinanderfolgenden Plätzen der zweiten Tabelle gemäß
der logischen Reihenfolge der Datenuntermengen innerhalb der
Datei gespeichert sind, daß die relative Position jeder Re
ferenz innerhalb der zweiten Tabelle die relative Position
des entsprechenden Clusters der Datei in der logischen Rei
henfolge entspricht.
33. Speichermedium nach Anspruch 31 oder 32, dadurch ge
kennzeichnet, daß das Verfahren ferner den Schritt des Zu
greifens auf die Datei durch wahlfreies Zugreifen auf die
aufeinanderfolgenden Plätze in der zweiten Tabelle umfaßt,
um die Cluster der Datei gemäß der logischen Reihenfolge
wiederzugewinnen.
34. Speichermedium nach einem der Ansprüche 31 bis 33,
dadurch gekennzeichnet, daß das Verfahren ferner den Schritt
des automatischen Aktualisierens der zweiten Tabelle bei je
der Aktualisierung der Datei umfaßt.
35. Speichermedium nach einem der Ansprüche 31 bis 34,
dadurch gekennzeichnet, daß die Referenzen in der ersten Ta
belle in Form einer verbundenen Liste gespeichert werden.
36. Speichermedium nach Anspruch 32, dadurch gekenn
zeichnet, daß beim Bestimmen der logischen Reihenfolge der
Datenuntermengen die Referenzen in der ersten Tabelle gele
sen werden, um die Datenuntermengen zu identifizieren und um
die logische Reihenfolge der Datenuntermengen innerhalb der
Datei zu identifizieren.
37. Computersystem mit einem Prozessor, einer mit dem
Prozessor gekoppelten ersten Speichereinheit und einer mit
dem Prozessor gekoppelten zweiten Speichereinheit,
dadurch gekennzeichnet,
daß die erste Speichereinheit eine Datenbank speichert, wobei die Datenbank eine Datei enthält, wobei die Datei eine Mehrzahl von Datenclustern enthält, wobei auf die Datei durch eine erste Tabelle mit einer Mehrzahl von Plätzen Be zug genommen wird, wobei jeder Platz eine Referenz zu zumin dest einem Datencluster und eine Referenz zu einem anderen Platz in der ersten Tabelle enthält, wobei die Referenzen zu den Datenclustern der Datei in nicht-aufeinanderfolgenden Plätzen der ersten Tabelle angeordnet sein können; und
daß die zweite Speichereinheit Befehle speichert, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen:
aus der ersten Tabelle die logische Reihenfolge der Datencluster innerhalb der Datei zu identifizieren; und
eine zweite Tabelle zu erzeugen, indem die Refe renzen auf die Cluster in aufeinanderfolgenden Plätzen der zweiten Tabelle auf der Basis der logischen Reihenfolge ge speichert werden; und
auf die Datei durch wahlfreien Zugriff auf zumin dest eine der aufeinanderfolgenden Plätze in der zweiten Ta belle zuzugreifen, um zumindest eines der Cluster der Datei aufzufinden.
dadurch gekennzeichnet,
daß die erste Speichereinheit eine Datenbank speichert, wobei die Datenbank eine Datei enthält, wobei die Datei eine Mehrzahl von Datenclustern enthält, wobei auf die Datei durch eine erste Tabelle mit einer Mehrzahl von Plätzen Be zug genommen wird, wobei jeder Platz eine Referenz zu zumin dest einem Datencluster und eine Referenz zu einem anderen Platz in der ersten Tabelle enthält, wobei die Referenzen zu den Datenclustern der Datei in nicht-aufeinanderfolgenden Plätzen der ersten Tabelle angeordnet sein können; und
daß die zweite Speichereinheit Befehle speichert, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen:
aus der ersten Tabelle die logische Reihenfolge der Datencluster innerhalb der Datei zu identifizieren; und
eine zweite Tabelle zu erzeugen, indem die Refe renzen auf die Cluster in aufeinanderfolgenden Plätzen der zweiten Tabelle auf der Basis der logischen Reihenfolge ge speichert werden; und
auf die Datei durch wahlfreien Zugriff auf zumin dest eine der aufeinanderfolgenden Plätze in der zweiten Ta belle zuzugreifen, um zumindest eines der Cluster der Datei aufzufinden.
38. Computersystem nach Anspruch 37, dadurch gekenn
zeichnet, daß die erste Tabelle eine Dateizugriffstabelle
(FAT) ist, die von einem DOS-Dateisystem aufrechterhalten
wird.
39. Computersystem nach Anspruch 37 oder 38, dadurch ge
kennzeichnet, daß die Befehle ferner solche Befehle umfas
sen, welche, wenn sie von dem Prozessor ausgeführt werden,
den Prozessor veranlassen, nach einer Aktualisierung der Da
tei automatisch die Clustertabelle zu aktualisieren.
40. Computersystem nach einem der Ansprüche 37 bis 39,
dadurch gekennzeichnet, daß die Referenzen auf die Datenclu
ster in der ersten Tabelle als eine verbundene Liste gespei
chert sind.
41. Computersystem nach einem der Ansprüche 37 bis 40,
dadurch gekennzeichnet, daß die Instruktionen, welche den
Prozessor veranlassen, die logische Reihenfolge der Daten
cluster zu identifizieren, darüber hinaus den Prozessor ver
anlassen, eine verbundene Liste zu lesen, um die logische
Reihenfolge der Datencluster innerhalb der Datei zu identi
fizieren.
42. Computersystem nach einem der Ansprüche 37 bis 41,
dadurch gekennzeichnet, daß die Datenbank eine Kartendaten
bank von Straßen in einem geographischen Gebiet ist.
43. Computersystem nach Anspruch 42, dadurch gekenn
zeichnet, daß die Datei Informationen enthält, die eine Un
termenge von Straßen identifiziert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/753,483 US6058390A (en) | 1996-11-26 | 1996-11-26 | Vehicle navigation assistance device having fast file access capability |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19750692A1 true DE19750692A1 (de) | 1998-05-28 |
Family
ID=25030832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19750692A Ceased DE19750692A1 (de) | 1996-11-26 | 1997-11-15 | Schnelles Dateisystem |
Country Status (6)
Country | Link |
---|---|
US (1) | US6058390A (de) |
JP (1) | JPH10228400A (de) |
CA (1) | CA2215540A1 (de) |
DE (1) | DE19750692A1 (de) |
FR (1) | FR2756394B1 (de) |
GB (1) | GB2319639B (de) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266560B2 (en) | 1998-01-30 | 2007-09-04 | Navteq North America, Llc | Parcelized geographic data medium with internal spatial indices and method and system for use and formation thereof |
US6201964B1 (en) * | 1998-11-13 | 2001-03-13 | Qualcomm Incorporated | Method and apparatus for fast and random access of variable sized records stored in a partitioned format |
US6438561B1 (en) * | 1998-11-19 | 2002-08-20 | Navigation Technologies Corp. | Method and system for using real-time traffic broadcasts with navigation systems |
JP2000175041A (ja) | 1998-12-01 | 2000-06-23 | Fuji Photo Film Co Ltd | 画像処理方法および装置 |
EP1081596A4 (de) * | 1999-03-26 | 2008-04-23 | Sony Corp | Vorrichtung und verfahren zur dateiverwaltung, datenaufzeichnung und - wiedergabe |
JP2001221643A (ja) * | 2000-02-04 | 2001-08-17 | Pioneer Electronic Corp | カーナビゲーションシステムからの地図情報切り出し装置 |
US6912462B2 (en) * | 2000-08-31 | 2005-06-28 | Sony Corporation | Information processing apparatus, information processing method and program storage media |
KR100477119B1 (ko) * | 2002-02-18 | 2005-03-18 | 마츠시타 덴끼 산교 가부시키가이샤 | 파일 재생장치 및 파일 재생방법 |
US7221287B2 (en) | 2002-03-05 | 2007-05-22 | Triangle Software Llc | Three-dimensional traffic report |
JP3852693B2 (ja) * | 2002-03-19 | 2006-12-06 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
US7293150B2 (en) * | 2002-06-28 | 2007-11-06 | Microsoft Corporation | Method and system for creating and restoring an image file |
US7334099B2 (en) * | 2002-06-28 | 2008-02-19 | Microsoft Corporation | Method and system for managing image files |
US7610145B2 (en) | 2003-07-25 | 2009-10-27 | Triangle Software Llc | System and method for determining recommended departure time |
TW591538B (en) * | 2003-07-25 | 2004-06-11 | Via Tech Inc | Process for loading operating system |
EP1505369B1 (de) * | 2003-08-08 | 2009-02-25 | Harman/Becker Automotive Systems GmbH | Verfahren und System zur Verkehrsdatenausgabe an einen Fahrzeugfahrer |
TWI272530B (en) * | 2004-07-30 | 2007-02-01 | Mediatek Inc | Method for accessing file in file system, machine readable medium thereof, and related file system |
JP4851726B2 (ja) * | 2005-03-30 | 2012-01-11 | クラリオン株式会社 | 車載装置 |
US8880776B2 (en) * | 2008-12-16 | 2014-11-04 | Sandisk Il Ltd. | Data access at a storage device using cluster information |
US8982116B2 (en) | 2009-03-04 | 2015-03-17 | Pelmorex Canada Inc. | Touch screen based interaction with traffic data |
US8619072B2 (en) | 2009-03-04 | 2013-12-31 | Triangle Software Llc | Controlling a three-dimensional virtual broadcast presentation |
US9046924B2 (en) | 2009-03-04 | 2015-06-02 | Pelmorex Canada Inc. | Gesture based interaction with traffic data |
CN101980325B (zh) * | 2010-09-20 | 2012-08-22 | 北京腾瑞万里科技有限公司 | 地图图幅的读取方法及装置 |
CA2823827C (en) | 2010-11-14 | 2018-08-28 | Triangle Software Llc | Crowd sourced traffic reporting |
WO2012159083A2 (en) | 2011-05-18 | 2012-11-22 | Triangle Software Llc | System for providing traffic data and driving efficiency data |
CA2883973C (en) | 2012-01-27 | 2021-02-23 | Edgar Rojas | Estimating time travel distributions on signalized arterials |
US10223909B2 (en) | 2012-10-18 | 2019-03-05 | Uber Technologies, Inc. | Estimating time travel distributions on signalized arterials |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4571700A (en) * | 1983-06-16 | 1986-02-18 | International Business Machines Corporation | Page indexing system for accessing sequentially stored data representing a multi-page document |
NL8602654A (nl) * | 1986-10-23 | 1988-05-16 | Philips Nv | Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze. |
EP0354645A3 (de) * | 1988-08-10 | 1992-10-07 | Digital Equipment Corporation | Dateien-Wiedergewinnung von Plattenspeichern |
GB8829919D0 (en) * | 1988-12-22 | 1989-02-15 | Int Computer Limited | File system |
NL9001810A (nl) * | 1990-08-13 | 1992-03-02 | Philips Nv | Werkwijze voor de positiebepaling van een voertuig, inrichting voor de positiebepaling van een voertuig, alsmede voertuig voorzien van de inrichting. |
US5560006A (en) * | 1991-05-15 | 1996-09-24 | Automated Technology Associates, Inc. | Entity-relation database |
US5305295A (en) * | 1992-06-29 | 1994-04-19 | Apple Computer, Inc. | Efficient method and apparatus for access and storage of compressed data |
US5471393A (en) * | 1994-01-26 | 1995-11-28 | Bolger; Joe | Driver's associate: a system for vehicle navigation and driving assistance |
US5515283A (en) * | 1994-06-20 | 1996-05-07 | Zexel Corporation | Method for identifying highway access ramps for route calculation in a vehicle navigation system |
US6181837B1 (en) * | 1994-11-18 | 2001-01-30 | The Chase Manhattan Bank, N.A. | Electronic check image storage and retrieval system |
US5850193A (en) * | 1995-03-30 | 1998-12-15 | Sumitomo Electric Industries, Ltd. | Apparatus for assisting driver in carefully driving |
US5778374A (en) * | 1995-08-03 | 1998-07-07 | International Business Machines Corporation | Compressed common file directory for mass storage systems |
-
1996
- 1996-11-26 US US08/753,483 patent/US6058390A/en not_active Expired - Lifetime
-
1997
- 1997-09-08 GB GB9718883A patent/GB2319639B/en not_active Expired - Lifetime
- 1997-09-15 CA CA002215540A patent/CA2215540A1/en not_active Abandoned
- 1997-11-15 DE DE19750692A patent/DE19750692A1/de not_active Ceased
- 1997-11-25 FR FR9714773A patent/FR2756394B1/fr not_active Expired - Lifetime
- 1997-11-26 JP JP9324429A patent/JPH10228400A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2319639A (en) | 1998-05-27 |
FR2756394B1 (fr) | 2004-08-27 |
FR2756394A1 (fr) | 1998-05-29 |
GB2319639B (en) | 2002-01-09 |
JPH10228400A (ja) | 1998-08-25 |
CA2215540A1 (en) | 1998-05-26 |
US6058390A (en) | 2000-05-02 |
GB9718883D0 (en) | 1997-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19750692A1 (de) | Schnelles Dateisystem | |
DE10360442B4 (de) | Verfahren zum Suchen eines Ortes auf einer Karte und zugehöriges Positionssuchsystem | |
DE60130054T2 (de) | Verfahren und Vorrichtung zur Routenführung | |
DE69733093T2 (de) | Verfahren und Vorrichtung zur Auswahl des Zieles bei einem Navigationssystem im Fahrzeug | |
DE102010023944B4 (de) | Navigationsverfahren zum Anweisen eines Bedieners eines Fahrzeugs mit einem Navigationssystem | |
DE112007003769B4 (de) | Karteninformations-Verarbeitungsvorrichtung | |
DE69835055T2 (de) | Verfahren und Vorrichtung zur Anzeige der momentanen Position eines Fahrzeugs | |
DE69828339T2 (de) | Programm zum Erzeugen von Manövern | |
DE19919139B4 (de) | Fahrzeugnavigationssystem | |
DE102007003147B4 (de) | Fahrassistenzsystem | |
DE60124157T2 (de) | Navigationsvorrichtung | |
DE69926435T2 (de) | Routensuchvorrichtung | |
EP2507589B1 (de) | Verfahren zur vereinfachung einer beschreibung einer fahrtroute | |
DE10356695B4 (de) | Navigationssystem | |
DE102017116088A1 (de) | Vorrichtung und Verfahren zum Abschätzen einer Position eines Fahrzeugs | |
DE19917807A1 (de) | Kommunikationsprotokoll für ein Fahrzeugnavigationssystem | |
EP1113410A2 (de) | Verfahren, Bedienteil, Navigationssystem und Schnittstelle zur Darstellung von Ausschnitten einer digitalen Kartenbasis | |
DE10359283A1 (de) | Navigationssystem und Programm sowie Speichermedium zur Verwendung desselben | |
DE10361407A1 (de) | Navigationssystem und Programm und Speicherträger zur Verwendung in diesem | |
DE102009040387B4 (de) | Verfahren und Systeme zum Anzeigen von Inhaltsauswahlen in Fahrzeugen | |
DE4300927A1 (de) | Computergestütztes Routen-Leitsystem für Landfahrzeuge | |
EP2288872A1 (de) | Verfahren und vorrichtung zur berechnung einer navigationsroute zu zusammenhängenden zielpunkten | |
DE10204490B4 (de) | Navigationssystem für Fahrzeuge | |
DE4230299B4 (de) | Verfahren zur Ortung eines Landfahrzeuges | |
DE10204096A1 (de) | Navigationsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: VISTEON TECHNOLOGIES, LLC, DEARBORN, MICH., US |
|
8127 | New person/name/address of the applicant |
Owner name: HORIZON NAVIGATION, INC., SANTA CLARA, CALIF., US |
|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 1200 |
|
8127 | New person/name/address of the applicant |
Owner name: TOMTOM INTERNATIONAL B.V., AMSTERDAM, NL |
|
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20120303 |