-
Die vorliegende Erfindung besteht
aus einer Methode, einer Vorrichtung und einem Computer-Ablaufplan
zur vorläufigen
Speicherung von Daten aus der Datenbank im Cache-Speicher.
-
Ein Computer-System, das dazu dient, Transaktionen über das
Internet oder ähnliche
Netzwerke durchzuführen,
umfaßt
normalerweise die folgenden Komponenten: einen Web-Server, auf den eine
Vielzahl von Client-Rechnern (z.B. PCs, Mobiltelefone oder Fernsehapparate) über ein Übertragungsmedium
wie das Internet zugreifen kann; einen Applikationsserver, der mit
dem Web-Server verbunden ist und Transaktionen ausführen kann
sowie eine Datenbank, einen Datei-Server oder ein ähnliches Speichermedium,
das mit dem Applikationsserver verbunden ist und die notwendigen
Daten speichert.
-
Bei Online-Dialoganwendungen, die
für den Massenmarkt
bestimmt sind, ist eine Lastverteilung (load balancing) bei der
Hardware sehr wichtig, um einem Kunden verläßliche Dienste anbieten zu
können.
Deshalb sollte man einen Cache-Speicher zur Speicherung solcher
Daten bereitstellen, auf die sehr häufig von einem Client-Rechner zugegriffen
wird. Damit wird die Anzahl der Datenbankzugriffe verringert. Der
Cache-Speicher ist vorzugsweise vom Web-Server aus zu erreichen.
Wenn ein Client eine Information vom Server erfragt, überprüft dieser,
ob sich die gewünschte
Information im Cache-Speicher befindet. Sollte dies der Fall sein, übernimmt
der Web-Server die Daten direkt aus dem Cache-Speicher. Da die Zugriffszeit
auf die Daten im Cache-Speicher kürzer ist als die Zugriffszeit
auf die Datenbank und auch der Applikationsserver nicht aktiv werden
muß, kann
der Datenzugriff schneller erfolgen. Die Last auf dem Applikationsserver
wird ebenfalls verringert. Die Daten aus dem Cache-Speicher werden
dann formatiert und vom Web-Server zum Client-Rechner übermittelt.
-
Die Daten im Cache-Speicher werden
in Form des Ausgabedokuments gespeichert, das für den Transfer zum Client-Rechner
vorbereitet wird. Die Zeitspanne, die ein Ausgabedokument im Cache-Speicher
verbleibt, wird normalerweise durch die FIFO-Methode (first in,
first out) bestimmt. Das bedeutet, daß im Falle eines gefüllten Cache-Speichers das älteste Ausgabedokument
im Cache-Speicher vom neuesten Ausgabedokument überschrieben wird. Es ist auch
möglich,
den gesamten Inhalt des Cache-Speichers regelmäßig zu aktualisieren oder festgelegte
Speicherzeiten zu definieren (z.B. einen Tag oder eine Woche nach
dem jeweils letzten Datenzugriff).
-
Die Last eines Computersystems, das
auf eine Datenbank zugreift, ist abhängig vom jeweiligen Datenvolumen,
von der Anzahl der Zugriffsoperationen und/oder der CPU-Last. Mit
den oben beschriebenen Methoden der Datenspeicherung in einem Cache-Speicher
können
die gerade genannten Faktoren nur unzureichend berücksichtigt
werden.
-
Ziel der vorliegenden Erfindung ist
es daher, die bekannten Probleme bei der Datenspeicherung im Cache-Speicher
zu vermeiden. Gleichzeitig soll die Aufgabe der Lastverteilung (load
balancing) für den
Applikationsserver verbessert und optimiert werden.
-
Die vorliegende Erfindung stellt
eine Methode zur Datenspeicherung vor, die aus den folgenden Teilen
besteht: Auswahl der Daten aus der Datenbank, Zuordnung der Daten
zu einem Attribut, das die Speicherzeit definiert, Speicherung der
Daten im Cache-Speicher für
die vom Attribut festgelegte Zeitspanne.
-
Durch die Erfindung läßt sich
die Speicherzeit für
jeden Datensatz unabhängig
vom Ausgabedokument festlegen. Die Speicherzeit kann man nun an
sinnvolle Parameter binden, wie z.B. an die Datenmenge eines Datensatzes.
Das bedeutet beispielsweise, daß man
für einen
größeren Datensatz eine
längere
Speicherzeit einräumen
wird als für
einen kleineren Datensatz, da hier das Einsparpotential an Zeit
und Ressourcen größer ist
als bei einem kleinen Datensatz. Zusätzlich dazu kann die Speicherzeit
auch an die Häufigkeit
gebunden werden, mit der auf einen Datensatz zugegriffen wird. Die
vorliegende Erfindung erlaubt es folglich, die Funktion der Lastverteilung
für den
Applikationsserver zu optimieren, der die eigentlichen Speicher-Operationen ausführt. Ein
Computersystem, auf dem die vorliegende Erfindung angewendet wird,
kann einem Kunden deshalb auch wesentlich verläßlichere Online-Services bereitstellen.
-
Das Speicherzeitattribut kann entweder
vom Benutzer selbst oder automatisch definiert werden. Letzteres
hängt von
bestimmten Systemparametern ab, wie beispielsweise von der Datenmenge
eines Datensatzes, der Zugriffshäufigkeit
und von der momentanen oder durchschnittlichen Last eines Computersystems
oder des Applikationsservers.
-
Die Speicherzeit kann als ein fester
Wert definiert werden, der vom Ablauf der Datenaktualisierung abhängt. Die
Speicherzeit kann für
jeden Datensatz oder jede Datensatzkategorie im einzelnen bestimmt
werden. Wenn die Speicherzeit für
eine bestimmte Kategorie festgelegt wird, dann erstreckt sich ihre
Gültigkeit
auf alle Datensätze,
die zu dieser Kategorie gehören.
-
Jeder Datensatz kann getrennt im
Cache-Speicher in Form formatierter Daten gehalten werden. Die Datensätze können in
einem Ausgabedokument angeordnet sein oder in einem Template, das
an potentielle Nutzer ausgegeben werden soll.
-
Alternativ dazu kann eine Vielzahl
von Datensätzen
als Bestandteil eines Ausgabedokuments im Cache-Speicher gehalten
werden. Die Speicherzeit eines Ausgabedokuments wird vorzugsweise von
der Speicherzeit der Datensätze
bestimmt, die das Ausgabedokument enthält. Die kürzeste, längste oder – nach dem arithmetischen oder
geometrischen Mittel bestimmte – durchschnittliche
Speicherzeit von Datensätzen
läßt sich,
also über
die Speicherzeit des Ausgabedokuments festlegen. Alternativ dazu
ist es auch möglich,
den jeweiligen Datensätzen
unterschiedliche Prioritäten
zuzuordnen. In diesem Falle würde
die Speicherzeit des Datensatzes mit der höchsten Priorität gleichzeitig
als Speicherzeit des Ausgabedokuments bestimmt werden.
-
Das Ausgabedokument oder dessen Vorlage (Template)
kann mit Hilfe verschiedener Formate verschlüsselt werden, wie beispielsweise
mittels HTML, XML, WML oder anderer Formate, die entweder clientseitig
dargestellt oder anderen Anwendungen zur Verfügung gestellt werden können.
-
Die vorliegende Erfindung stellt
des weiteren eine Methode zur Lastverteilung zur Verfügung. Diese
Methode betrifft ein Computersystem mit folgenden Komponenten: einem
Web-Server, auf den viele Client-Rechner gleichzeitig über ein
Datenübertragungsmedium
zugreifen können,
einer Datenbank und mit einem Cache-Speicher. Die neue Methode beinhaltet
folgende Schritte: Auswahl einer Vielzahl von Datensätzen aus
der Datenbank; Zuordnung der Datensätze zu einem Speicherzeitattribut,
das die jeweilige Speicherzeit in Abhängigkeit von den jeweiligen
Systemparametern festlegt; Speicherung der Datensätze im Cache-Speicher für die vom
Attribut festgelegte Zeitspanne.
-
Die vorliegende Erfindung stellt
des weiteren einen Computer-Ablaufplan auf einem Speichermedium
zur Verfügung.
Dieser Ablaufplan beinhaltet Programmcode, der dafür sorgt,
daß die
oben aufgeführten
Schritte ausgeführt
werden: Auswahl einer Vielzahl von Datensätzen aus der Datenbank; Zuordnung
der Datensätze
zu einem Speicherzeitattribut, das die jeweilige Speicherzeit in
Abhängigkeit
von den jeweiligen Systemparametern festlegt; Speicherung der Datensätze im Cache-Speicher für die vom Attribut
festgelegte Zeitspanne.
-
Die Festlegung der Speicherzeit sollte
vorzugsweise von den Systemparametern des jeweiligen Computers abhängen.
-
Die vorliegende Erfindung stellt
des weiteren eine Datenstruktur zur Verfügung, die eine Vielzahl individueller
Datensätze
einschießt.
Diesen Datensätzen
ist ein Attribut zugeordnet, das die Speicherzeit im Cache-Speicher
festlegt.
-
Die vorliegende Erfindung stellt
des weiteren einen Applikationsserver zur Verfügung (siehe Anspruch 26) und
ein Computersystem (siehe Anspruch 27). Die vergleichbaren Ansprüche 28 bis
38 beschreiben weitere charakteristische Bestandteile der Erfindung.
-
Die Erfindung, ihre Vorteile und
Merkmale werden in den nachfolgenden Beschreibungen und den entsprechenden
Abbildungen näher
erläutert:
-
1 zeigt
ein Blockdiagramm eines Computersystems mit einem bevorzugten Modell
der vorliegenden Erfindung.
-
2 zeigt
ein Blockdiagramm eines Computersystems, das schematisch die Funktionsweise eines
ersten Modells der vorliegenden Erfindung illustriert.
-
3 zeigt
ein weiteres Blockdiagramm des Computersystems, das ebenfalls die
Funktionsweise des ersten Modells der vorliegenden Erfindung illustriert.
-
4 zeigt
ein Blockdiagramm eines Computersystems, das schematisch die Verwendungsweise
eines zweiten Modells der vorliegenden Erfindung illustriert.
-
5 zeigt
ein weiteres Blockdiagramm des Computer-Ablaufplans, das schematisch
das zweite Modell der vorliegenden Erfindung illustriert.
-
6 zeigt
ein Flußdiagramm,
das die einzelnen Methodenschritte illustriert, die gemäß der Erfindung
notwendig sind, um vorübergehend
Daten im Cache-Speicher
zu halten.
-
7 stellt
ein Flußdiagramm
dar, das die einzelnen Schritte zeigt, die gemäß der Erfindung notwendig sind,
um ein Ausgabedokument im Cache-Speicher
zu halten.
-
8 zeigt
ein Flußdiagramm,
das die einzelnen Schritte des Modells zur Datenspeicherung gemäß der vorliegenden
Erfindung illustriert.
-
9 zeigt
ein Flußdiagramm,
das die einzelnen Schritte eines weiteren Modells zur Datenspeicherung
gemäß der vorliegenden
Erfindung illustriert.
-
10 zeigt
ein Flußdiagramm,
das die einzelnen Schritte eines dritten Modells zur Datenspeicherung
gemäß der vorliegenden
Erfindung illustriert.
-
1 zeigt
ein Blockdiagramm eines Computersystems gemäß der vorliegenden Erfindung. Ein
Web-Server (100) wird mittels eines geeigneten Datenübertragungsmediums
(z. B. des Internets) mit einem Client-Rechner oder einer Vielzahl
von Rechnern verbunden (102, 105). Ein Client-Rechner
kann dabei von einem PC, einem Fernseher mit Internet-Verbindung,
einem Mobiltelefon o.ä.m.
dargestellt werden. Der Web-Server (100) kann mit einer großen Anzahl
von Client-Rechnern verbunden werden.
-
Der Web-Server (100) wird
mit einem Applikationsserver (103) verbunden. In dem in 1 gezeigten Modell besteht
der Applikationsserver (103) aus drei getrennten Komponenten
(103a, 103b und 103c).
-
Es ist möglich, eine beliebige Anzahl
von Applikationsservern zu verwenden, damit ein Computersystem die
erforderliche Datenmenge verarbeiten kann. Um der Einfachheit willen
wurde jedoch in den 2 bis 5 lediglich ein Applikationsserver
verwendet und dargestellt (103). Der Web-Server als auch der
oder die Applikationsserver können
durch geeignete EDV-Geräte
ersetzt werden, die Schnittstellen, Prozessoren und Speichermöglichkeiten
wie Festplatten oder RAM-Speicher besitzen. Der Applikationsserver
(103) greift sowohl auf die Datenbank (104) als
auch auf den Cache-Speicher (106) zu. Des weiteren übernimmt
der Applikationsserver die Formatierung der Daten, damit diese an
den Client-Rechner ausgegeben werden können. Die Datenbank kann durch
jeden geeigneten Datenbank-Typus (104) oder jede geeignete
Datei-Diensteinheit (file server) repräsentiert werden, so lange diese
große
Datenmengen verarbeiten kann. Der Cache-Speicher (106)
eignet sich besonders für
kurze Datenzugriffszeiten.
-
2 illustriert
den Vorgang der vorläufigen Speicherung
von Datensätzen
(DS1, DS2), die im Cache-Speicher (106) für das Ausgabedokument (400)
enthalten sind.
-
Ein Client-Rechner (102)
fordert vom Web-Server (100) mehrere Datensätze an,
beispielsweise Elemente eines Einkaufskataloges. Der Web-Server
(100) schickt die Anfrage zum Applikationsserver (103).
Dieser holt die angeforderten Datensätze (DS1 und DS2) aus der Datenbank
(104). Die Datensätze
(DS1 und DS2) werden daraufhin in ein Ausgabedokument oder ein Template
aufgenommen. Dies kann eine HTML-Seite, ein XML- oder WML-Dokument
oder ein anderes geeignetes Ausgabemedium sein. Das Ausgabedokument
(400) wird dann zum Web-Server (100) und schließlich zum
Client-Rechner (102) weitergeleitet. Zur gleichen Zeit wird
das Ausgabedokument (400), das die Datensätze DS1
und DS2 enthält,
im Cache-Speicher (106) gehalten. Auf den Cache-Speicher
können
sowohl der Web-Server (100) als auch der Applikationsserver
(103) zugreifen.
-
6 zeigt
die Schritte, die notwendig sind, um die oben erwähnten Prozesse
auszuführen: Schritt
S1 zeigt eine Anfrage vom Client-Rechner, die ein Web-Server (100)
bekommt und dann zum Applikationsserver (103) geleitet
wird. Schritt S2 zeigt einen Applikationsserver, der die Datensätze DS1
und DS2 aus der Datenbank (104) holt. In Schritt S3 werden
die Datensätze
in ein Ausgabedokument geschrieben, das seinerseits im Cache-Speicher
gehalten wird (Schritt S4) und vom Web-Server (100) an den
Client-Rechner ausgegeben wird.
-
Die Datensätze, die im Ausgabedokument (400)
enthalten sind und im Cache-Speicher
(106) gehalten werden, erhalten ein Speicherzeitattribut; das
die Speicherzeit eines Datensatzes im Cache-Speicher (106)
festlegt. Die Speicherzeit des Ausgabedokuments (400) kann
auf geeignete Art und Weise in Abhängigkeit von den Speicherzeitattributen
der im Dokument enthaltenen Datensätze festgelegt werden. Nähere Erläuterungen
hierzu finden sich in den Abbildungen acht bis zehn.
-
Der folgende Abschnitt erklärt, wie
ein Ausgabedokument aus dem Cache-Speicher (106) abgerufen
werden kann (siehe Abbildungen drei und sechs). Der Client-Rechner (102)
oder ein anderer Client-Rechner (hier: 105) fordert vom
Web-Server (100) die Daten an, die im Ausgabedokument (400) enthalten
sind (Schritt S11). Der Web-Server (100) überprüft daraufhin,
ob die angeforderten Daten im Cache-Speicher (106) enthalten sind.
Sollte dies der Fall sein, so wird das Ausgabedokument (400)
aus dem Cache-Speicher (106) abgerufen (Schritt S12). Dieses
Ausgabedokument wird daraufhin an den Client-Rechner ausgegeben
(Schritt S13).
-
Im folgenden Abschnitt wird eine
Variation des oben erwähnten
Vorgangs erläutert:
Sobald
der Web-Server (100) eine Anfrage vom Client-Rechner erhält, leitet
er die Anfrage zum Applikationsserver (103) weiter. Dieser
wiederum bedient sich eines Ausgabedokumentes oder eines Templates,
das ein "include"-Kommando samt einer
nachfolgenden URL enthält,
in der das einzuschließende Objekt
gefunden werden kann. Der Applikationsserver fordert vom Web-Server
diese URL, worauf der Web-Server im Cache-Speicher (106)
unter die URL zu suchen beginnt.
-
Wenn ein entsprechender Eintrag unter
der URL gefunden wird, wird der Inhalt desselben in das Template
geschrieben, um dann an den Client-Rechner ausgegeben zu werden.
Wenn kein Eintrag im Cache-Speicher (106) gefunden wird,
schickt der Web-server (100) die Anfrage zurück zum Applikationsserver,
der die geforderten Daten aus der Datenbank holt und ein "include"-Objekt generiert,
indem er die notwendigen Formatierungsprozesse ausführt. Das "include"-Objekt wird zum
Web-Server (100) geschickt und an den Client-Rechner ausgegeben.
-
Der Web-Server bestimmt auch das
Speicherzeitattribut für
das "include"-Objekt und hält es im
Cache-Speicher. Bei der nächsten
Abfrage can das „include"-Objekt direkt vom
Web-Server aus dem Cache-Speicher (106) geholt werden.
-
Die Wahl der Speicherzeit und die
Zuordnung des Attributes wird im folgenden Abschnitt erläutert (siehe
Abbildungen acht bis zehn):
8 zeigt
ein erstes Modell der vorliegenden Erfindung. In Schritt S101 wird
ein Datensatz zur Speicherung im Cache-Speicher ausgewählt. In
bezug auf dieses Modell wird die Speicherzeit manuell festgelegt,
d.h. mittels geeigneter Eingabewerkzeuge (Keyboard, Maus u.s.w.).
Dann wird ein Speicherzeitattribut, das die ausgewählte Zeit
festschreibt, einem Datensatz zugeordnet. Das Speicherzeitattribut
kann durch jede beliebige Art der Information repräsentiert werden,
die dazu geeignet ist, eine Zeitspanne zu definieren. Das Attribut
kann eine Zeitspanne in Sekunden angeben und diese einem Datensatz
zuordnen. Die Speicherzeit kann individuell für jeden Datensatz oder spezifische
Datensatzkategorien festgelegt werden.
-
Wenn die Speicherzeit für eine spezifische Kategorie
festgelegt wird, gilt die Speicherzeit für alle Datensätze, die
zu der betreffenden Kategorie gehören. Die Speicherzeitattribute
für eine
Vielzahl von Datensätzen
können
auch in einem getrennten Teil des Cache-Speichers gehalten werden.
In diesem Fall besitzen die Datensätze einen Verweis auf das zugehörige Speicherzeitattribut.
-
Als Datensatz gilt jede beliebige
Zusammenstellung von Daten, die als Dateneinheit behandelt und als
solche übermittelt
wird. Ein Datensatz ist beispielsweise ein Katalog eines Online-Kaufhauses, eine
Preisliste u.s.w.
-
Ein Datensatz wird zusammen mit dem
Speicherzeitattribut im Cache-Speicher gehalten (Schritt S104),
und zwar für
die vom Speicherzeitattribut festgelegten Zeitspanne. Der Datensatz
wird bis zum Auslaufen der Speicherzeit im Cache-Speicher gehalten (Schritt S106).
-
9 zeigt
ein zweites Modell zur Auswahl der Speicherzeit. In diesem Fall
wird die Speicherzeit nicht manuell festgelegt, sondern automatisch
in Abhängigkeit
von den Systemparametern ausgewählt. Schritt
S111 beinhaltet die Auswahl des Datensatzes zur Speicherung im Cache-Speicher.
Die Datenmenge des Datensatzes wird in Schritt S112 ermittelt. Je nach
Datenmenge wird in Schritt S113 die Speicherzeit gesetzt. In den
meisten Fällen
erscheint es sinnvoll, großen
Datensätzen
eine längere
Speicherzeit und kleinen Datensätzen
eine kürzere
Speicherzeit zuzuordnen, da die erstgenannten eine größere Verarbeitungslast
für den
Applikationsserver darstellen.
-
In Schritt S114 wird das Speicherzeitattribut in
der gleichen Weise wie im ersten Modell zugeordnet. Schritt S115
zeigt die Speicherung des Datensatzes mit Speicherzeitattribut im
Cache-Speicher.
-
Nach dem zweiten Modell wird das
Speicherzeitattribut nicht statisch, sondern dynamisch gesetzt.
Es hängt
dabei von Systemparametern wie der Zugriffshäufigkeit auf einen Datensatz
oder der Applikationsserver-Last ab.
-
Im Rahmen der vorliegenden Erfindung
kann ein erfahrener Benutzer jeden beliebigen Systemparameter auswählen, der
die Speicherzeit zu beeinflussen vermag. Schritt S116 zeigt die
Auswahl des Parameters „Zugriffshäufigkeit" und Schritt S117
die Auswahl des Parameters „Applikationsserver-Last". Folglich wird in
Schritt S118 das Speicherzeitattribut den in den Schritten S116
und S117 ausgewählten Parametern
angepaßt.
Die Speicherzeit sollte verlängert
werden, wenn auf einen Datensatz häufiger zugegriffen wird. Außerdem kann
die Speicherzeit verlängert
werden, wenn die Last auf den Applikationsserver sehr groß ist. Zusätzlich dazu
kann die Speicherzeit eines Datensatzes an das Vorhandensein leeren
Speicherplatzes im Cache-Speicher gekoppelt werden.
-
Schritt S119 zeigt das nahende Auslaufen der
vom Speicherzeitattribut festgelegten Speicherzeit. Sobald die Speicherzeit
abgelaufen ist, wird der Datensatz in Schritt S120 aus dem Cache-Speicher entfernt.
-
10 zeigt
ein weiteres Modell zur Datenspeicherung gemäß der vorliegenden Erfindung.
In diesem Modell werden die Datensätze nicht getrennt im Cache-Speicher
gehalten, sondern in einem Ausgabedokument angeordnet (siehe die
Abbildungen zwei, drei und sechs).
-
Schritt S131 zeigt ein Ausgabedokument, das
zur Speicherung im Cache-Speicher ausgewählt wird. In Schritt S132 werden
die im Ausgabedokument enthaltenen Datensätze und ihre jeweilige Datenmenge
ermittelt. Die Speicherzeit für
jeden Datensatz wird in Abhängigkeit
von der Datenmenge festgelegt. Folglich wird jedem Datensatz im
Ausgabedokument ein Speicherzeitattribut zugeordnet.
-
Daraufhin (Schritt S136) wird die
Speicherzeit des Ausgabedokuments ermittelt. Diese ist abhängig von
den Speicherzeitattributen der betreffenden Datensätze. Die
Speicherzeit des gesamten Dokuments kann somit identisch sein mit
der kürzesten oder
längsten
Speicherzeit der im Dokument enthaltenen Datensätze.
-
Alternativ dazu kann auch das arithmetische oder
geometrische Mittel genommen werden. Es ist ferner möglich, Datensätzen Prioritäten zuzuordnen. Beispielsweise
kann man einem großen
Datensatz oder Daten mit einer hohen Zugriffshäufigkeit eine höhere Priorität einräumen. Die
Speicherzeit des gesamten Dokuments kann dann als Speicherzeit für den Datensatz
mit der höchsten
Priorität
festgelegt werden. In einem nächsten
Schritt (S137) wird das Ausgabedokument im Cache-Speicher gehalten. Schritt S138 zeigt
das nahende Auslaufen der Speicherzeit. Wenn die Zeit abgelaufen
ist, wird das Ausgabedokument aus dem Cache-Speicher gelöscht (S139).
-
Ein weiteres, die vorliegenden Erfindung
benutzende Modell wird im folgenden im Zusammenhang mit den Abbildungen
vier, fünf
und sieben erläutert:
Wie bereits oben erwähnt,
fordert der Client-Rechner (102) Daten vom Web-Server (100),
die wiederum aus der Datenbank geholt werden (S21 und S22 in 7). Bevor die Daten (im
Beispiel: DS1 und DS2) in ein Ausgabedokument geschrieben werden
können,
werden sie formatiert. In Schritt 23 schließlich werden sie individuell
im Cache-Speicher gehalten, und zwar mittels einer Speichereinheit (108)
des Applikationsservers (103). Jedem formatierten Datensatz
wird ein Speicherzeitattribut zugeordnet, das die Zeitspanne der
Datenspeicherung festlegt (siehe Abbildungen acht bis 10).
-
Schritt S24 zeigt die Anordnung der
Daten in einem Ausgabedokument, das wiederum an den Client-Rechner
geschickt wird (S25). Es ist auch möglich, Datensätze im Hintergrund
in verschiedenen Formaten (HTML, XML oder WML) zu speichern. Diese
Hintergrundaufgabe wird mit einer niedrigeren Priorität versehen,
wenn die Last auf dem Applikationsserver gering ist.
-
Abbildung fünf zeigt die Datengewinnung aus
dem Cache-Speicher.
-
Ein Client-Rechner (im Beispiel: 105)
fordert Daten an (Datensätze
DS1, DS2 und DS4). Während sich
die formatierten Datensätze
DS1 und DS2 im Cache-Speicher (106) befinden, wird der
Datensatz DS4 nur in der Datenbank (104) gespeichert. Die
Datensätze
DS1 und DS2 werden folglich aus dem Cache-Speicher geholt (S32),
wohingegen der Datensatz DS4 aus der Datenbank gewonnen wird. Alle Datensätze werden
dann vom Applikationsserver (103) in einem Ausgabedokument
(600) angeordnet, das dann – in Schritt S34 – zum Client-Rechner
(105) geschickt wird.
-
Der Vorteil einer ersten Verarbeitungsweise von
Daten (Abbildungen zwei, drei und sechs) liegt in der kurzen Zugriffsdauer,
die darin begründet
ist, daß das Ausgabedokument
(400) im Cache-Speicher (106) gehalten wird und
direkt vom Web-Server (100) aus zugegriffen werden kann.
-
Daher ist es nicht notwendig, die
Daten in ein Ausgabedokument aufzunehmen. Die Daten können stattdessen
schneller zum Client-Rechner transportiert werden.
-
Der Vorteil einer zweiten Verarbeitungsweise von
Daten liegt in dessen höherer
Flexibilität
(siehe Abbildungen vier, fünf
und sieben). Im Beispiel wird der Datensatz der vom Client (5) angeforderten Information
nur in der Datenbank gespeichert. Der Datensatz DS4 kann klein sein
und dadurch nur eine kurze Zugriffszeit erfordern und/oder es kann
ein Datensatz sein, der relativ selten von einem Client angefordert
wird.
-
Die Datensätze DS1 und DS2 können jedoch relativ
groß sein
und dadurch eine lange Zugriffszeit erfordern. Wenn lediglich vollständige Ausgabedokumente
im Cache-Speicher gehalten werden, würde die Anfrage vom Client-Rechner
(105; 5) aus der
Datenbank heraus beantwortet werden müssen. Dies wäre sehr
zeitaufwendig und würde
zudem eine Menge Arbeit für
den Applikationsserver (103) bedeuten. Das individuelle
Speichern von Datensätzen und
das nachfolgende Anordnen der formatierten Datensätze in einem
geeigneten Ausgabedokument ist wesentlich flexibler; es reduziert
die Zeit der Datengewinnung und verringert die Last auf dem Applikationsserver.
Der "Zeitstempel", mit dem die Daten durch
das Speicherzeitattribut versehen werden, ist im zweiten Verarbeitungsmodus
von besonderem Nutzen. Die Speicherzeit jedes einzelnen Datensatzes
kann unter Berücksichtigung
der Datenmenge, der Zugriffshäufigkeit
und anderer Parameter getrennt voneinander ausgewählt werden.
Da die Datensätze
in formatierter oder vorformatierter Form im Cache-Speicher gehalten
werden, können
sie leicht angepaßt
und in verschiedene Ausgabedokumente eingefügt werden. Dies reduziert die
Verarbeitungslast auf dem Applikationsserver.