FATS - Fast Access Tree System
Inhaltsverzeichnis
Befehlsübersicht
"Y" Auto Refresh

"Y" Auto Refresh


Syntax des Kommandostrings:

CMND$ = "Y\{RefreshMode}"

RefreshModeNetzwerkparameter

Zusammenfassung:

Bestimmt das Verhalten der Bibliothek im Netzwerk- und Einzelplatzbetrieb.

Beschreibung:

Mit diesem Befehl bestimmen Sie das Verhalten von FATS beim Zugriff auf alle Indexdateien.
Normalerweise genügt es, diesen Befehl einmal beim Programmstart anzuwenden, wodurch alle danach geöffneten Dateien nach dem dadurch definierten Zugriffsverhalten arbeiten, z.B. entweder mit Netzwerk- oder Einzelplatzzugriff.

Die Einstellungen können auch während der Laufzeit verändert werden, sie wirken sich dann jedoch auf alle geöffneten Indexdateien aus.
So können Sie beispielsweise während der Laufzeit zwischen Einzelplatz- und Netzwerkbetrieb umschalten oder den Cache ein- und ausschalten.

Wenn Sie Dateien mit dem Attribut "ReadOnly" oder mit exklusiven Zugriffsrechten öffnen wollen, dann muß diese Einstellung vor dem Öffnen der entsprechenden Datei gemacht werden und wirkt sich dann auf alle danach geöffneten Dateien aus.

Mit diesem Befehl können Sie beispielsweise vor einer Reorganisation den FATS-Cache mittels "Y\5" oder "Y\106" einschalten, die entsprechende Indexdatei erzeugen oder öffnen und dann die Schlüssel einfügen.
Nach Beenden der Reorganisation stellen Sie den ursprünglichen Zustand mit "Y\0", "Y\2" etc. wieder her. Die Operation kann dadurch im günstigsten Fall bis zu 30x schneller ablaufen.

Auf den nächsten Seiten folgt eine Zusammenstellung der Einstellungen.

Y\0Einzelplatz, DOS-Flush (Standard-Einstellung)

Nach jedem schreibenden Befehl werden die internen Cachepuffer von FATS auf die Platte geschrieben und danach mit entsprechenden DOS-Befehlen ein Flush, d.h. ein Zurückschreiben der vom Betriebssystem verwalteten Sektorpuffer erwirkt und der Verzeichniseintrag der jeweiligen Datei aktualisiert.
Dadurch wird garantiert, daß nach dem Aufruf von FATS alle veränderten Daten auf die Platte geschrieben wurden und vor einem eventuellen Stromausfall oder Systemabsturz sicher sind.

Beachten Sie, daß der mit dieser Einstellung aktivierte DOS-Flush in der Regel 3/4 der Bearbeitungszeit in Anspruch nimmt.
Als Alternative zu dieser Einstellung kann daher "Y\4" gewählt werden, was die Bearbeitung von schreibenden FATS-Befehlen im Einzelplatzbetrieb enorm beschleunigt.
 

Y\1Einzelplatz, DOS-Flush, Refresh

Wie "Y\0", die im FATS-Cachepuffer vorhandenen Daten werden jedoch vor der Bearbeitung auf den neuesten Stand gebracht (neu gelesen). Diese Einstellung ist bei Netzwerken sinnvoll, die von FATS nicht direkt unterstützt werden.
 

Y\2Netzwerk, bei Satzsperre warten, DOS-Flush, Refresh

Wie "Y\1", jedoch für Netzwerkbetrieb geeignet. Vor jedem lesenden Befehl wird die gesamte Indexdatei für Schreibzugriffe gesperrt, bei schreibenden Befehlen wird die Datei für Lese- und Schreibzugriffe gesperrt.
Wenn die Datei momentan von einer anderen Station bearbeitet wird, wiederholt FATS den Sperrversuch.
Nach der Bearbeitung des jeweiligen Befehles werden die Sperren wieder entfernt.

Um einen sicheren Netzwerkbetrieb zu gewährleisten, müssen alle beteiligten Stationen mit einer Netzwerkeinstellung wie z.B. "Y\2" arbeiten.

Im Gegensatz zu FABS Plus macht FATS bei dieser Einstellung nach jedem schreibenden Befehl einen DOS-Flush (s.u. "Y\0").
 

Y\3Netzwerk, bei Satzsperre abbrechen, DOS-Flush, Refresh

Wie "Y\2", bei einem erfolglosen Sperrversuch gibt FATS jedoch die Kontrolle an das aufrufende Programm mit der Fehlernummer 144 zurück.
 

Y\4Einzelplatz ohne Flush, ohne Refresh

wie "Y\0", jedoch ohne DOS-Flush, d.h. die Datei wird nicht nach jedem schreibenden Befehl geschlossen bzw. von DOS auf den neuesten Stand gebracht.
Durch diese Einstellung wird eine Geschwindigkeitssteigerung von bis zu 300% erreicht, es bleibt jedoch im Ermessen von DOS, wann die von FATS geschriebenen Daten tatsächlich auf die Platte gelangen bzw. wann der zur jew. Datei gehörige Verzeichniseintrag aktualisiert wird.
Spätestens beim Schließen der Indexdatei werden die notwendigen Aktualisierungen von DOS erledigt.
 

Y\5Einzelplatz ohne Flush, ohne Refresh, mit Cache

- - - - sehr schnell - - - -

Bei dieser Einstellung werden die Daten nicht sofort nach jedem schreibenden Befehl auf die Platte geschrieben, sondern solange in den FATS internen Cachepuffern behalten, bis diese überlaufen.
Beim ersten Schreibzugriff werden jedoch sämtliche zu der jeweiligen Datei gehörende Puffer auf die Platte geschrieben, wodurch die Integrität der Indexdatei garantiert wird.
Das Zurückschreiben der Cachepuffer kann auch jederzeit durch den Befehl W (Write Page Map) erreicht werden.

Diese Einstellung bringt im günstigsten Fall eine bis zu 30-fache Beschleunigung gegenüber den herkömmlichen Einstellungen ("Y\0" & "Y\1"), es muß jedoch selbst dafür gesorgt werden, daß die Indexdatei bei Beendigung des Programmes mit dem Befehl  Close Indexfile (K) geschlossen wird.

Als Äquivalent im Netzwerkbetrieb dient der Befehl "Y\106"
 

Y\106Netzwerk, Datei exklusiv öffnen, ohne Flush, ohne Refresh

- - - - sehr schnell - - - -

Wie "Y\5", jedoch für Netzwerkbetrieb ausgelegt:

Ist diese Einstellung beim Öffnen einer Datei aktiv, dann werden der Station exklusive Zugriffsrechte auf die Datei eingeräumt, d.h. die Indexdatei wird gegen den Zugriff anderer Stationen gesperrt.
Dadurch sind keine weiteren Sperrbefehle notwendig. Die exklusiven Zugriffsrechte einer bei dieser Einstellung geöffneteten Datei bleiben bis zum Schließen der Datei erhalten.

Wenn Sie beim Öffnen einer Indexdatei einen Fehlercode erhalten, dann hat möglicherweise bereits eine andere Station die Datei im Zugriff.
 

Y\107Netzwerk, alle Stationen ReadOnly

Die Datei wird nur zum Lesen geöffnet, d.h. jeder schreibende Befehl gibt den Fehlercode 25 (Schreibfehler) zurück. Andere Stationen können ebenfalls keine schreibenden Befehle ausführen, die Datei jedoch weiterhin lesen. Da bei dieser Einstellung geöffnete Dateien netzwerkweit mit "ReadOnly"-Zugriffsrechten arbeiten, sind keine weiteren Sperrmechanismen notwendig.

Diese Einstellung führt nur dann zum Erfolg, wenn alle Stationen die entsprechende Datei mit "ReadOnly" öffnen.
 

Y\108Netzwerk, Datei exklusiv öffnen, DOS-Flush, Refresh

Wie "Y\106", geänderte Daten werden jedoch nach jedem schreibenden Befehl auf die Platte geschrieben (siehe auch "Y\0").
 

Y\109Netzwerk, bei Satzsperre warten, erzwungener Server-Flush

Bei manchen Netzwerken bewirkt der von DOS bereitgestellte Flush-Befehl kein sofortiges Aktualisieren der Datei. Bei dieser Einstellung gibt FATS die Kontrolle erst an das Anwenderprogramm zurück, wenn alle Daten auf die Festplatte des Servers geschrieben wurden.
Da dabei sämtliche Cachemechanismen des Servers außer Kraft gesetzt werden und dadurch der Netzwerkbetrieb allgemein an Geschwindigkeit verliert, sollte diese Einstellung nur in Ausnahmefällen bzw. bei hochsensiblen Daten verwendet werden.
 

Y\110 Netzwerk, bei Satzsperre abbrechen, erzwungener Server-Flush

wie "Y\109", bei gesperrten Dateien gibt FATS die Kontrolle sofort an das Anwenderprogramm zurück.
 

Y\111 Netzwerk, exklusiv öffnen, erzwungener Server-Flush

Wie "Y\108", jedoch mit garantiertem Server-Flush (siehe "Y\109")

(Die Befehlserweiterung Y\x\xx von Fabs Plus 4.3 wird aufgrund der erweiterten Öffnungsmodi nicht benötigt und ist deshalb nicht in FATS enthalten)

Rückgabe:

ERRORCODE:Fehlercode oder 0 (kein Fehler)
RECNO:undefiniert
FATSKEY:undefiniert

Siehe auch:

 "W" Write Page Map; Seite 4-107
 "Z" Reload File Buffers; Seite 4-123


 

© 2008  GCS Software, Udo Gertz