DE2521436B2 - Informationswiedergewinnungsanordnung - Google Patents
InformationswiedergewinnungsanordnungInfo
- Publication number
- DE2521436B2 DE2521436B2 DE2521436A DE2521436A DE2521436B2 DE 2521436 B2 DE2521436 B2 DE 2521436B2 DE 2521436 A DE2521436 A DE 2521436A DE 2521436 A DE2521436 A DE 2521436A DE 2521436 B2 DE2521436 B2 DE 2521436B2
- Authority
- DE
- Germany
- Prior art keywords
- file
- hit
- record
- index
- bit
- 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.)
- Granted
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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Description
Die Erfindung bezieht sich auf eine Informationswiedergewinnungsanordnung
mit einem Dateispeicher, der eine Vielzahl von Aufzeichnungen hält, deren jede einen Index besitzt, welcher die Aufzeichnung identifiziert,
wobei jede Aufzeichnung in der Datei ein Schlüsselfeld enthält das mit einem Suchkriterium
verglichen wird, damit eine »Trefferw-Anzeige entsteht, wenn eine Aufzeichnung aufgefunden worden ist, deren
Schlüsselfeld dem Suchkriterium genügt, und mit einer Informationsspeichereinrichtung zur Speicherung der
»Treffer«-Anieigen, wobei die Trefferanzahl wesentlich
kleiner ist als die Anzahl der Aufzeichnungen. Die erwartete Trefferanzahl soll dabei nicht mehr als 1/20 der
Anzahl von Aufzeichnungen in der Datei, und z. B. Vioooo betragen.
Es sind Informationswiedergewinnungsanordnungen bekannt, bei denen Aufzeichnungen aus einer Datei
dadurch wiedergefunden werden, daß die Datei nach einem Suchkriterium durchsucht wird, die bestimmte
Eigenschaften der Aufzeichnungen, welche wiedergefunden werden sollen, spezifiziert Die Anordnung prüft
jede Aufzeichnung in der Datei (entweder gleichzeitig oder nacheinander), wobei jede Aufzeichnung mit dem
Suchkriterium verglichen wird und eine »Treffer«-Anzeige
immer dann erzeugt wird, wenn eine Aufzeichnung aufgefunden worden ist, die dem Suchkriterium
genügt
Es wurde bereits vorgeschlagen, die »Trefferw-Anzeigen in einem Register zu speichern, das eine Bitstelle für
jede Aufzeichnung in der Datei besitzt beispielsweise um zu ermöglichen, daß das Resultat einer Suchoperation
mit dem Ergebnis nachfolgender Suchoperationen kombiniert wird. Derartige Vorschläge haben jedoch
den Nachteil, daß das Register sehr groß sein muß, wenn
>j die Anzahl von Aufzeichnungen in der Datei sehr groß
ist (z. B. eine Million).
Aufgabe der Erfindung ist es demgegenüber, eine Informationswiedergewinnungsanordnung zu schaffen,
bei der derartige > Trefferw-Anzeigen in wirtschaftliche-
JO rer Weise gespeichert werden. Mit vorliegender
Erfindung soll somit eine Anordnung erreicht werden, bei der die gesamte Anzahl von Bitstellen, die zur
Speicherung der »Trefferw-Anzeigen erforderlich sind, wesentlich kleiner ist als die Anzahl von Aufzeichnun-
n gen, wodurch eine erhebliche Einsparung an Bitstellen
im Vergleich zu bisherigen Anordnungen, bei denen ein Bit pro Aufzeichnung erforderlich ist, erreicht wird.
Gemäß der Erfindung wird vorgeschlagen, daß die Informationsspeichereinrichtung eine Vielzahl von
Speicherbereichen besitzt, deren jeder eine Vielzahl von individuell adressierbaren Bitstel^.n aufweist, wobei die
gesamte Anzahl dieser Stellen kleiner als die Anzahl von Aufzeichnungen in der Date' ist, daß der Index einer
jeden Aufzeichnung einer Umformereinrichtung zuge-
4) führt wird, die für jeden Indexwert eine andere
Kombination der individuell adressierbaren Bitstellen adressiert, wobei in jeder Kombination pro Speicherbereich
eine Bitstelle ausgewählt wird, daß während einer ersten Betriebsphase dann, wenn eine »Trefferw-Anzei-
>o ge durch die Vergleichseinrichtung erzeugt wird, eine
binäre »I« in die ausgewählte Bitstelle eines jeden Speicherbereiches eingeschrieben wird, wodurch eine
codierte Darstellung des Indexwertes der Aufzeichnung gespeichert wird, die die »Trefferw-Anzeige erzeugt hat,
■ji und daß während einer darauffolgenden Betriebsphase
die Ausgänge der Speicherbereiche miteinander in einem UND-Glied kombiniert werden, so daß eine
»gespeicherte Trefferw-Anzeige nur dann erzeugt wird, wenn die ausgewählte Bitstelle in jedem Speicherbe-
ho reich eine binäre »1« enthält, wobei diese »gespeicherte
Trefferw-Anzeige angibt, daß eine Aufzeichnung, die den gleichen Wert des Index hat wie die gerade
behandelte, vorher eine »Trefferanzeige erzeugt hat.
In weiterer Ausgestaltung der Erfindung wird
M vorgeschlagen, daß die Anzahl von »Trefferw-Anzeigen,
die während einer Durchsuchung der Datei erhalten werden, mit der Anzahl der »gespeicherten Trefferw-Anzeigen
verglichen wird, die während einer nachfol-
genden Durchsuchung der Datei erhalten werden, und
daß die Vorgänge, die von der Umformereinrichtung durchgeführt werden, modifiziert werden, wenn die
beiden Zahlen nicht gleich sind.
Nachstehend wird die Erfindung in Verbindung mit der Zeichnung anhand eines Ausführungsbeispieles
erläutert Es zeigt
F i g. 1 ein logisches Schaltdiagramm einer Informationswiedergewinnungsanordnung,
F i g. 2 eine Steuerschaltung für die Einrichtung nach
F i g. 1 und
F i g. 3 eine Umformereinrichtung in detaillierterer
Darstellung.
Nach F i g. 1 weist die Informationswiedergewinnungsanordnung
einen Magnetplaitendateispeicher 10 auf, der ein oder mehrere Dateien enthält, wobei jede
Datei eine große Anzahl von Aufzeichnungen besitzt Jede Aufzeichnung enthält einen Index /, der die
Aufzeichnung identifiziert, und verschiedene andere Felder. In einer Personaldatei beispielsweise kann jede
Aufzeichnung sich auf einen anderen Angestellten beziehen, wobei der Index die Personalziffer enthält und
die anderen Felder den Namen, die Stellung, das Gehalt usw. des betreffenden Angestellten enthalt- n.
Die Aufzeichnungen in der Datei werden nacheinander ausgelesen und beim Aufzeichnen wird jede
Aufzeichnung in ein Pufferregister 12 eingelesen. Der Einfachheit halber ist das Pufferregister 12 so
dargestellt, daß es nur drei Felder /, Fl und F 2 besitzt.
Der Plattendateispeicher erzeugt ferner zwei Signale »Dateibeginn« und »Dateiende«, um Beginn und Ende
des Auslesens einer Datei anzuzeigen.
Da jede Aufzeichnung in dem Pufferregister 12 erscheint, wird der Wert eines ausgewählten Feldes (i.i
vorliegendem Beispiel Fl) einer Vergleichseinrichtung 14 aufgegeben, in der er mit einem Suchschlüsselwert
verglichen wird, der in einem Register 16 gehalten wird. Wenn der Wert des Feldes gleich dem Schlüsselfeld ist,
erzeugt die Vergleichseinrichlung ein »Treffer«-Signal und gibt an, daß die gewünschte Aufzeichnung dem
Schlüsselfeld entspricht. Dies ermöglicht, daß Suchoperationen -"jr Wiederauffindung von Aufzeichnungen, die
bestimmte spezifizierte Felder enthalten, im Speicher durchgeführt werden können. Beispielsweise ist es
möglich, die Aufzeichnungen für alle Angestellten mit einem bestimmten Gehaltsbereich wiederaufzufinden.
Die »Trefferw-Signale aus der Vergleichseinrichtung können in einer Informationsspiichereinrichtung gespeichert
werden, die eine Anzahl von Speicherbereichen 18 (welche als Bitbilder bzw. Bitkarten bezeichnet
v/erden) enthalten, von denen jede eine Anzahl von individuell adressierearen Bitstellen besitzt. In vorliegendem
Beispiel sind zwei solcher Bitbilder vorgesehen, obgleich im allgemeinen deren Anzahl größer ist.
Der Index / der Aufzeichnung im Pufferregister 12
wird einer Umformereinrichtung 20 aufgegeben, die den Index /auf zwei unterschiedliche Weisen beeinflußt, um
zwei transformierte Indizes Ji, /2 zu erzeugen, und
zwar jeweils einen für jedes der Bitbilder. Die Art und V/eise, in der diese transformierten Indizes erzeugt
werden, wird weiter unten in Verbindung mit F i g. 3 erläutert. Die Indizes Ji, /2 werden den Adresseneingängen
ihrer entsprechenden Bitbilder aufgegeben, so daß eine Stelle in jedem Bitbild zum Auslesen oder
Einschreiben ausgewählt wird, wobei ein Adressensignal /1 oder /2 nur eines der Bits im Speicher 18
auswählt. Der Ausgang eines jeden Speichers 18 ist somit ein einzelnes Bit.
Der Ausgang der Vergleichseinrichtung 14 kann über ein UND-Glied 22 den Schreib-Freigabe-Eingängen der
beiden Bitbilder aufgegeben werden, so daß eine binäre 1 in die laufend adressierten Stellen der Bitbilder
τ jedesmal dann eingeschrieben wird, wenn ein »Treffer«-
Signal vorhanden ist Das UND-Glied wird durch ein
Signal »Bitbilder setzen« gesteuert, das von der Steuerschaltung nach F i g. 2 gesteuert wird.
Die gemeinsamen, adressierten Ausgänge der beiden
in Bilbilder 18 (Speicher mit direktem Zugriff) werden in
einem UND-Glied 24 kombiniert, das einen Binär-1-Ausgang
auf der gemeinsamen Ausgangsleitung nur dann ergibt, wenn die Inhalte der laufend adressierten
Stellen der Bilder beide gleich 1 sind. Der Ausgang des
π UND-Gliedes 24 wird als das Signal »gespeicherter
Treffer« bezeichnet und gibt an, daß ein Treffer in bezug auf die in Frage kommende Aufzeichnung gespeichert
worden ist. Dieses Signal braucht jedoch nicht vollständig eindeutig zu sein, wie nachstehend gezeigt
>n wird: Es ist möglich, daß ein Signal »gespeicherter
Treffer« in Hinblick auf eine Aufzeichnung erzeugt wird, die nicht mit dem Schlüsselfe1:1 übereinstimmt Die
Ar! und Weise, in der solche ingewollten Signale »gespeicherter Treffer« entfernt werden, ergibt sich aus
_') nachstehender Beschreibung.
Suchbefehl
Nach den beiden F i g. 1 und 2 wird ein Suchvorgang durch eine Datei dadurch eingeleitet, daß das gewünsch-
Id te Schlüsselfeld in das Register 16 eingeführt und ein
Such-Befehl der Steuerschaltung nach Fig. 2 aufgegeben
wird. Dieser Befehl setzt eine bistabile Einrichtung 26. Der Ausgang der bistabilen Einrichtung 26 wird
einem UND-Glied 28 aufgegeben, das durch das Signal
π »Dateibeginn« aus dem Plattendateispeicher geschaltet wird. Der Ausgang des UND-Gliedes 28 setzt eine
bistabile Einrichtung 3C, die dann das vorerwähnte Signal »Bitbilder setzen« erzeugt. Die Datei wird
nunmehr durchsucht und jede Aufzeichnung in das
tu Pufferregister 12 der Reihe nach eingelesen. Wenn die
Vergleichseinrichtung 14 eine Aufzeichnung anzeigt, die dem Schlüsselfeld entspricht, erzeugt sie ein »Treffer«-
Signal, das das UND-Glied 22 schaltet und bewirkt, daß
eine 1 in die laufend gewählten Stellen der Bitbilder 18
4") eingeschrieben wird. Gleichzeitig wird ein Zähler 32
(der zu Beginn auf Null gestellt angenommen wird) jedesmal dann um eine Einheit weitei-gescha'tet, wenn
ein »Treffer«-Signal auftritt.
Wenn alle Aufzeichnunger, durchsucht worden sind,
Vi wird ein Signal »Dateiende« von dem Plattendateispeicher
erzeugt. Dieses Signal bewirkt ein Rücksetzen der bistabilen Einrichtung 30. Dadurch wird das Signal
»Bitbilder setzen κ entfernt und es wird verhindert, daß weitere Bits in die Bitbilder eingeschrieben werden, und
r> ferner verhindert, daß der Zähler weiterschaltet. In diesem Stadium enthalten die Bitbilder somit ein Muster
von Bits, das die Treffer darstellt, welche während der Durchsuchung erzeugt werden, und atr Zähler 32
enthält einen Zählwert der Zahl A/der Treffer.
mi Bevor die bistabile Einrichtung 30 rückgesetzt wird, schaltet das SigPil »Bitbilder setzen« in Verbindung mit
dem Signal »Dateiende« ein UND-Glied 34 und bewirkt das Setzen einer bistabilen Einrichtung 36. Nunmehr
wird die Datei erneut durchsucht. Wenn das Signal
hi »Dateibeginn« ankommt, ist ein UND-Glied 38
geschaltet worden, das eine bistabile Einrichtung ¥) setzt und ein Fignal »Zählwert R« erzeugt. Das
UND-Glied 28 wird durch das Setzen der bistabilen
Einrichtung 36 gesperrt, und damit wird das Signal »Bitbilder setzen« während dieser zweiten Abtastung
bzw. Durchsuchung nicht erzeugt.
Das Signal »Zählen R« schaltet ein UND-Glied 42, das bewirkt, daß jedes Signal »gespeicherter Treffer«
einem Zähler 44 aufgegeben wird (von dem angenommen wird, daß er zu Anfang riickgesetzt ist), so daß der
Zählerum eine 1 weiterschaltet.
Wenn das Signal »Dateiende« erneut auftritt, wird die bistabile Einrichtung 40 riickgesetzt und verhindert ein
Weiterschalten des Zählers 44. In diesem Stadium enthält deshalb der Zähler 44 einen Zählwert der Zahl R
von Signalen »gespeicherter Treffer«, die während der Abtastung erzeugt werden. Wie weiter oben erwähnt,
ist diese Zahl R nicht notwendigerweise gleich der Zahl H von Treffern in der ursprünglichen Durchsuchung,
sondern kann aufgrund der Erzeugung von systembedingten »überschüssigen« Signalen »gespeicherter Treffer«
größer sein. Der Inhalt der beiden Zähler 32 und 44 wirr) ipwpik pntsnrprhpnH tie>rt ΕίΠ£2Π£Γ£ΓΪ CinCT
Vergleichseinrichtung 46 aufgegeben, die bestimmt, ob sie gleich sind oder nichi.
Bevor die bistabile Einrichtung 40 rückgesetzt wird,
schaltet das Signal »Zählen /?« in Verbindung mit dem Signal »Dateiende« ein UND-Glied 48, wobei ein Signal
»Prüfen« erzeugt wird. Dieses Signal ergibt ein Rücksetzen der bistabilen Einrichtung 36 und wird den
beiden UND-Gliedern 50 und 52 aufgegeben, so daß das Resultat des Vergleiches von H und R herausgeführt
wird. Wenn H gleich R ist. sind keine fehlerhaften »Treffer« aufgezeichnet worden, und deshalb enthalten
die Bitbilder eine eindeutige Darstellung der »Treffer«. Der Ausgang des Gliedes 50 ergibt somit ein Signal
»Suchende«, das anzeigt, daß der Such-Befehl abgeschlossen
ist. Das Signal »Suchende« setzt auch die bistabile Einrichtung 26 zurück und verhindert eine
weitere Betätigung der Steuerschaltung und setzt ferner die Zähler 32 und 44 auf Nu.I.
Wenn andererseits //nicht gleich R ist, muß der Inhalt
der Bitbüder mfhrdeutig sein; d.h., daß die Erzeugung
des Ausganges »gespeicherter Treffer« aus den Bitbildern nicht gewährleistet, daß die in Frage stehende
Aufzeichnung einen »Treffer« während der ursprünglichen Durchsuchung erzeugt hat. Der Ausgang des
Gliedes 52 wird deshalb der Umformereinrichtung 20 aufgegeben, damit die Umformungen in vorbestimmter
Weise modifiziert werden.
Der Ausgang des Gliedes 52 setzt auch die Zähler 32 und 44 sowie die Bitbilder 18 zurück.
Die Datei wird erneut durchsucht. Da die bistabile Einrichtung 36 nun rückgesetzt ist, wird das UND-Glied
28 erneut von dem Signal »Dateibeginn« geschaltet, so daß die bistabile einrichtung 30 gesetzt und das Signal
»Bitbilder setzen« erzeugt wird. Somit werden die Bitbilder wiederum in Abhängigkeit von den »Treffer«-
Signalen gesetzt Dieses Mal ist jedoch das Muster von Bits, das in den Bitbildern gespeichert wird, unterschiedlich
von dem ursprünglichen, und zwar aufgrund der Modifizierung in der Umformereinrichtung 20. Wenn
diese Durchsuchung vollständig ist, wird die Datei erneut durchsucht, um die Zahl R von Signalen
»gespeicherter Treffer« zu zählen, und es wird erneut eine Prüfung durchgeführt, um festzustellen, ob
irgendwelche überschüssige gespeicherten »Treffer« vorhanden sind.
Dieser Vorgang der Durchsuchung der Datei, des Vergieichens von R und H und der Modifizierung der
Umformungen wird wiederholt, bis schließlich eine Gleichheit zwischen Wund R angezeigt wird. Dann win
ein Signal »Suchende« erzeugt, das den Arbeitsvorganj beendet.
Wiedergewinnungs-und Kombinier-Befehle
Nachdem ein Suchbefehl vollständig durchgeführ worden ist, kann Information aus den Aufzeichnungen
die dem Schlüsselfeld entsprechen, mit Hilfe eine: Wiedergewinnungs-Befehles wiederaufgefunden wer
κι den, der einem UND-Glied 54 aufgegeben wird. Diese; Glied nimmt auch das Signal »gespeicherter Treffen
und die Inhalte eines ausgewählten Feldes der Feldei der laufenden Aufzeichnung (in diesem Fall Feld Fl
auf.
r. Die Datei wird nun durchsucht und jedesmal dann wenn ein Signal »gespeicherter Treffer« auftritt, wire
das Feld Fl von dem Pufferregister 12 durch da; UND-Glied 54 in einen Ausgangsdatenpfad 56geführt.
Der Wiedergewinnungs-Befehl kann auch verwendet
;,, werden, urn imürrridtiüM aub einer /weiten Datei auf dei
Basis der Ergebnisse der Suchoperation durch die erste Datei aufzufinden, vorausgesetzt, daß die Aufzeichnun
gen in der zweiten Datei Indexfelder besitzen, die dener
der ersten Datei entsprechen.
_'j Der Kornbinierbefehl wird zum Kombinieren dei Ergebnisse zweier Suchvorgänge verwendet. Es wire
davon ausgegangen, daß ein Suchvorgang durch eine Datei unter Verwendung des Suchbefehles durchgefühn
worden ist. und die Resultate in den Bitbildern
in gespeichert worden sind. Der Kombinierbefehl wird
dann einem UND-Glied 58 aufgegeben, und es wird ein zweiter Suchvorgang durchgeführ. (entweder durch die
gleiche Datei, indem ein anderes Schlüsselfeld verwendet wird, oder durch eine andere Datei, indem das
j) gleiche oder ein anderes Schlüsselfeld verwendet wird).
Das UND-Glied 58 nimmt als Eingänge das Signal »gespeicherter Treffer«, das »Treffer«-Signal und die
Inhalte eines ausgewählten Feldes aus dem Pufferregister 12 (in diesem Falle das Feld F2) auf. Das Feld F2
4(i wird auf den Ausgangsdatenpfad 56 für jede Aufzeichnung
ausgelesen, die dem Schlüsselfeld genügt und die auch ein Signal »gespeicherter Treffer« erzeugt.
Umformereinrichtung
4-, In Verbindung mit Fig. 3 sind bei diesem speziellen
System die Umformungen, die die Indizes /1 und /2 ergeben, pseudozufälliger Art und schließen die
Auswahl einer spezifizierten Kombination der Bits des Index /mit ein.
■>o Der Index / wird in ein zyklisches Register 60
gegeben. Die Umformungen werden durch zwei weitere zyklische Schieberegister 62,64 gleicher Größe wit das
Register 60 gesteuert. In Betrieb werden die Inhalte der drei Schieberegister synchron zueinander mit Hilfe
eines Taktsignals alle nach rechts verschoben. Das Ausgangsbit aus der letzten Stufe des Registers 60 wird
als Eingang den ersten Stufen zweier weiterer Schieberegister 66, 68 aufgegeben, die eine geringere
Größe als die anderen drei Register besitzen. Das Ausgangsbit aus der letzten Stufe des Schieberegisters
62 steuert den Beirieb des Schieberegisters 66. Wenn das Ausgangsbit aus dem Register 62 eine 1 ist, wird das
Ausgangsbit aus dem Register 60 in die erste Stufe des Registers 66 eingeführt und der jeweilige Inhalt des
Registers 62 wird um eine Stelle nach rechts verschoben. Das Ausgangsbit aus der letzten Stufe des
Schieberegisters 64 steuert den Beirieb des Schieberegisters 68 in ähnlicher Weise. Die modifizierten Indizes /1
und J 2 werden aus den Registern 66 und 68 entnommen.
Hieraus ergibt sich, daß der Index J1 durch Auswahl
der Bits aus dem Index /gebildet wird, die den binären len im Register 62 entsprechen, während der Index /2
durch Auswahl der Bits gebildet wird, die den len im Register 64 entsprechen.
Die Modifikation der Umformungen wird dadurch durchgeführt, daß die Inhalte der Register 62 und 64 in
be'.Vimmter Weise neu angeordnet werden. Beispielsweise
kann dies dadurch geschehen, daß die Inhalte der Register 62 und 64 relativ zu den Inhalten des Registers
60 verschoben werden, so daß die AiMwahl von Bits
geändert wird.
Ein numerisches Beispiel
Zum besseren Verständnis der Erfindung wird nachstehend ein vereinfachtes numerisches Beispiel
erläutert Die Plattendateieinheit 10 soll sechzehn Aufzeichnungen enthalten, deren jede einen Index /mit
vier Rits hesilyl. (In Hpr Praxis enthält natürlich die
Plattendatei in der Regel viel mehr Aufzeichnungen). Es wird auch unterstellt, daß jedes Bitbild 18 vier Bitstellen
enthält, deren jede eine binäre Adresse mit zwei Bits besitzt, und daß die Indizes Ji, /2 für die beiden
Bitbilder am Anfang durch Auswahl der ersten und vierten Bits des Index / zur Bildung des Index Ji, und
des zweiten und dritten Bits zur Bildung des Index /2 gebildet werden. Es wird auch angenommen, daß die
Bitbilder zu Anfang auf Null rückgesetzt sind.
Geht man davon aus, daß während des Suchvorganges durch eine Datei festgestellt wird, daß die
Aufzeichnung mit dem Index /= 1001 dem Schlüsselfeld entspricht, ergibt dies eine binäre »1«, die in die
Stellen eingeschrieben wird, weiche durch die Indizes Ji " 11 und /2 = 00 in den entsprechenden Bitbildern
18 adressiert sind. Weiter sei unterstellt, daß die Aufzeichnung / = 1100 ebenfalls als mit dem Schlüsselfeld
übereinstimmend festgestellt worden ist, so daß ferner eine binäre »1« auch in die Stellen /1 = 10 und
/2 = 10 in den entsprechenden Bitbildern eingeschrieben wird. Somit enthalten am Ende des Suchvorganges
die beiden Bitbilder die folgenden Bitanordnungen:
Adresse
Bitbild 1
Bitbild 2
0 | 1 |
0 | 0 |
1 | 1 |
1 | 0 |
daß die Umformungen modifiziert sind, so daß der Index
/1 nunmehr durch Auswahl der ersten und dritten Bits des Index / geformt wird, und der Index /2 durch
Auswahl der zweiten und vierten Bits geformt wird. Der Suchvorgang wird nun wiederholt und ergibt die
folgende Anordnung von Bits in den Bitbildern:
Adresse
Die Anzahl H von »Treffern«, die während dieses Suchvorganges gezählt werden, ist gleich zwei.
Die Datei wird dann erneut abgetastet bzw. durchsucht, um die Anzahl R von gespeicherten,
erzeugten «Treffer«-Signalen zu zählen. Aus obiger Tabelle ergibt sich, daß die folgenden Aufzeichnungen
einen Ausgang / aus beiden Bitbildern ergeben, und somit ein Signal »gespeicherter Treffer« aus dem
UND-Glied 24 erzeugen:/= 1000,1001,1100 und 1101.
Somit ist die Zahl R gleich vier und nicht gleich der Zahl H. Dies bedeutet, daß einige der Signale »gespeicherter
Treffer« fehlerhaft sind, nämlich die, die für die
Aufzeichnungen /= 1000 und 1101 erzeugt worden sind.
Es ist somit erforderlich, die Umformungen in
bestimmter Weise zu modifizieren. Es sei angenommen, Bitbild 1
Bitbild 2
0
0
0
1
0
0
Aus dieser Tabelle ergibt sich, daß nunmehr die fehlerhaften Signale »gespeicherter Treffer« eliminiert
worden sind.
Optimale Größe von Bitbildern
Obgleich fehlerhafte Treffer durch Änderung der Umformungsregeln auf diese Weise eliminiert werden
können, ist es eindeutig erwünscht, die Anzahl von fehlerhaften Signalen »gespeicherter Treffer« innerhalb
vernünftiger Grenzen zu halten. Mit anderen Worten heißt dies, daß es erwünscht ist, das Verhältnis
R' - R/H in vernünftigen Grenzen klein zu halten (im Idealfall soll das Verhältnis gleich eins sein), wobei:
H = die mittlere Anzahl von »Treffer«-Signalen während eines Suchvorganges durch die
Datei,
R — die mittlere Anzahl von Signalen »gespeicherter Treffer« ist.
Aus wirtschaftlichen Gründen ist es auch erwünscht, die gesamte Anzahl von Bitstellen in den Bitbildern so
gering wie möglich zu halten, d. h. b' — b ■ η auf einem
Minimum zu halten, wobei
η = die Anzahl von Bitbildern
b = die Anzahl von Bits in jedem Bild.
Es läßt sich zeigen, daß diese Zahl b' für einen gegebenen Wert von R' auf einem Minimum dadurch
gehalten werden kann, daß die Anzahl von Bitbildern etwa gleich dem Wert gemacht wird:
/7Op, = logc-4
wobei A = r + //(/?'-1) und
r ist gleich die Anzahl von Aufzeichnungen in der Datei.
Der entsprechende Wert von ö'ist gegeben durch:
b'opi = H ■ e ■ Iogf A
b'opi = H ■ e ■ Iogf A
Bei einer typischen Anordnung nach vorliegender Erfindung kann eine Datei eine Million Aufzeichnungen
enthalten, und es können bis zu einhundert »Treffer« bei einer Durchsuchung erzielt werden (& h. r = 106 und
//=100). Setzt man diese Werte in die obigen Gleichungen ein, ergibt sich, daß im optimalen Fall neun
Bilder, die zusammen 2'/2 K Bits enthalten, einen Wert
von R' - 2 ■ 2 Wiedergewinnungen/Treffer ergeben,
während 14 Bitspeicher, die einen Gesamtwert von 3 · 7 K Bits enthalten, einen Wert von R' = 1 · 01
Wiedergewinnungen/Treffer ergeben. Falls es erwünscht
ist, nur zwei Bitbilder zu verwenden (dies würde dann keine optimale Anordnung sein, würde aber
in manchen Fällen zweckmäßiger sein), wäre die
gesamte Anzahl von Bits, die für einen Wert R'= 2 erforderlich wären, etwa 20 K Bits.
Diese Ziffern der Anzahl von erforderlichen Bitstellen sollen mit der Anzahl (eine Million) verglichen
werden, die erforderlich gewesen wäre, wenn nur ein einziges Bitbild mit einem Bit pro Aufzeichnung
verwendet würde. Daraus ergibt sich, daß die Verwendung einer Vielzahl von Bitbildern zu einer wesentlichen
Einsparung an Speicherraum führen kann.
Einige mögliche Modifikationen
Es ist möglich, das Problem der überschüssigen Signale »gespeicherter Treffer« auf andere Weise zu
lösen, anstatt durch Modifizierung der Umformungen in
der vorbeschriebenen Weise. Beispielsweise können weitere Bitkarten vorgesehen sein, um die überschüssigen
Signale »gespeicherter Treffer« zu markieren.
Andererseits ist es bei manchen Anordnungen nicht notwendig, einen Versuch zu machen, um die Anzahl
von überschüssigen Signalen »gespeicherter Treffer« zu verringern, vorausgesetzt, daß die Anzahl von überschüssigen
Signalen nicht zu groß ist, da weitere Bits zum Zeitpunkt der Wiedergewinnung der Daten
durchgeführt werden können.
Bei einer anderen möglichen Modifizierung des Systems kann die Vergleichseinrichtung 14 so ausgelegt
sein, daß sie mehr als ein Feld der Aufzeichnung gleichzeitig mit einem oder mehreren Schlüsselfeldern
vergleicht. DarOer hinaus kann die Vergleichseinrichtung Beziehungen, wie z. B. »größer als« oder »kleiner
als« wie auch Gleichheit testen. Die Ergebnisse dieser Mehrfachvergleiche können dann logisch kombiniert
werden, so daß ein Treffer-Signal nur erhalten wird, wenn eine spezifizierte logische Kombination von
Beziehungen erfüllt ist. Dies ergibt die Möglichkeit,
in Suchvorgänge mit sehr komplizierten Suchkriterien
durchzuführen.
Eine weitere mögliche Änderung besteht darin, eine Vielzahl von Bitbilderanordnungen vorzusehen, deren
jede eine eigene Umformereinrichtung und eine
ii Vielzahl von Bitbildern enthält, so daß die Ergebnisse
verschiedener Suchvorgänge unabhängig gespeichert werden können.
Obgleich in dem oben beschriebenen Ausführungsbeispiel
die Bitbilder 18 als getrennte Speicher aufgebaut
.'» sind, können sie auch als unterschiedliche Bereiche eines
einzelnen Speichers vorgesehen werden, bei dem der Zugriff nacheinander anstatt parallel erfolgt.
Des weiteren kann die Transformation, die an dem Index / beim Auslesen aus den Bitbildern 18
2> durchgeführt wird, unterschiedlich von denen sein, die
während des Schreibvorganges vorgenommen werden.
Hierzu 2 Blatt Zeichnungen
Claims (2)
1. Informationswiedergewinnungsanordnung mit
einem Dateispeicher, der eine Vielzahl von Aufzeichnungen hält, deren jede einen Index besitzt,
welcher die Aufzeichnung identifiziert, wobei jede Aufzeichnung in der Datei ein Schlüsselfeld enthält,
das mit einem Suchkriterium verglichen wird, damit eine »Treffer«-Anzeige entsteht, wenn eine Aufzeichnung
aufgefunden worden ist, deren Schlüsselfeld dem Suchkriterium genügt, und mit einer
Informationsspeichereinrichtung zur Speicherung der »Treffer«-Anzeigen, wobei die Trefferanzahl
wesentlich kleiner ist als die Anzahl der Aufzeichnungen, dadurch gekennzeichnet, daß die
Informationsspeichereinrichtung eine Vielzahl von Speicherbereichen (18) besitzt, deren jeder eine
Vielzahl von individuell adressierbaren Bitstellen aufweist, wobei die gesamte Anzahl dieser Stellen
kleiner als die Anzahl von Aufzeichnungen in der Datei (W) ist, daß der Index (I) einer jeden
Aufzeichnung einer Umformereinrichtung (20) zugeführt wird, die für jeden Indexwert eine andere
Kombination der individuell adressierbaren Bitstellen adressiert, wobei in jeder Kombination pro
Speicherbereich (18) eine Bitstelle ausgewählt wird, daß während einer ersten Betriebsphase dann, wenn
eine »Trefferw-Anzeige durch die Vergleichseinrichtung
(14) erzeugt wird, eine binäre »I« in die ausgewählte Bitstelle eines jeden Speicherbereiches
(18) eingeschrieben wird, wodurch eine codierte Darstellung des Indexwertes der Aufzeichnung
gespeichert wird, die die »Trefferw-Anzeige erzeugt hat, und daß wahrend einer darauffolgenden
Betriebsphase die Ausgänge der Speicherbereiche (18) miteinander in einem b JD-Glied (24) kombiniert
werden, so daß eine »gespeicherte Trefferw-Anzeige nur dann erzeugt wird, wenn die ausgewählte
Bitstelle in jedem Speicherbereich eine binäre »1« enthält, wobei diese »gespeicherte Trefferw-Anzeige
angibt, daß eine Aufzeichnung, die den gleichen Wert des Index (I) hat wie die gerade behandelte,
vorher eine »Trefferw-Anzeige erzeugt hat.
2. Informationswiedergewinnungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl
(H) von »Trefferw-Anzeigen, die während einer Durchsuchung der Datei (10) erhalten werden, mit
der Anzahl (R) der »gespeicherten Trefferw-Anzeigen verglichen wird, die während einer nachfolgenden
Durchsuchung der Datei erhalten werden, und daß die Vorgänge, die von der Umformereinrichtung
(20) durchgeführt werden, modifiziert werden, wenn die beiden Zahlen (Wund R)n\ch{ gleich sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB27093/74A GB1491706A (en) | 1974-06-19 | 1974-06-19 | Information storage apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2521436A1 DE2521436A1 (de) | 1976-01-08 |
DE2521436B2 true DE2521436B2 (de) | 1979-11-08 |
DE2521436C3 DE2521436C3 (de) | 1980-07-17 |
Family
ID=10254075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2521436A Expired DE2521436C3 (de) | 1974-06-19 | 1975-05-14 | Informationswiedergewinnungsanordnung |
Country Status (3)
Country | Link |
---|---|
US (1) | US3964029A (de) |
DE (1) | DE2521436C3 (de) |
GB (1) | GB1491706A (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4152762A (en) * | 1976-03-03 | 1979-05-01 | Operating Systems, Inc. | Associative crosspoint processor system |
GB1564563A (en) * | 1977-05-25 | 1980-04-10 | Int Computers Ltd | Data sotrage apparatus |
US4255796A (en) * | 1978-02-14 | 1981-03-10 | Bell Telephone Laboratories, Incorporated | Associative information retrieval continuously guided by search status feedback |
US4341929A (en) * | 1980-03-20 | 1982-07-27 | Zelex, Inc. | Memory accessing system |
NL8005136A (nl) * | 1980-09-12 | 1982-04-01 | Philips Nv | Inrichting voor het associatief zoeken in een sekwentiele informatiestroom die is opgebouwd uit informatievakken. |
US4450520A (en) * | 1981-03-11 | 1984-05-22 | University Of Illinois Foundation | Method and system for matching encoded characters |
DE3278297D1 (en) * | 1981-05-18 | 1988-05-05 | Ibm | Method of qualifying and sorting file record data in a text processing system |
US4556951A (en) * | 1982-06-06 | 1985-12-03 | Digital Equipment Corporation | Central processor with instructions for processing sequences of characters |
GB2137782B (en) * | 1983-03-24 | 1986-11-26 | Int Computers Ltd | Data transformation circuits |
DE69032576T2 (de) * | 1990-02-27 | 1999-04-15 | Oracle Corp | Dynamische Optimierung eines einzelnen relationalen Zugriffs |
US5249262A (en) * | 1991-05-03 | 1993-09-28 | Intelligent Query Engines | Component intersection data base filter |
CA2174744C (en) * | 1993-10-22 | 2006-10-10 | Michael Gene Emerson | Database link system |
US5664172A (en) * | 1994-07-19 | 1997-09-02 | Oracle Corporation | Range-based query optimizer |
JP3201945B2 (ja) * | 1995-01-10 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースのテーブルを比較する方法 |
US5778364A (en) * | 1996-01-02 | 1998-07-07 | Verity, Inc. | Evaluation of content of a data set using multiple and/or complex queries |
US7076494B1 (en) | 2000-01-21 | 2006-07-11 | International Business Machines Corporation | Providing a functional layer for facilitating creation and manipulation of compilations of content |
US6449627B1 (en) | 2000-01-21 | 2002-09-10 | International Business Machines Corp. | Volume management method and system for a compilation of content |
US7346844B1 (en) | 2000-01-21 | 2008-03-18 | International Business Machines, Corporation | Method and system for moving content in a content object stored in a data repository |
US7043488B1 (en) | 2000-01-21 | 2006-05-09 | International Business Machines Corporation | Method and system for storing hierarchical content objects in a data repository |
US6986102B1 (en) | 2000-01-21 | 2006-01-10 | International Business Machines Corporation | Method and configurable model for storing hierarchical data in a non-hierarchical data repository |
US6611840B1 (en) | 2000-01-21 | 2003-08-26 | International Business Machines Corporation | Method and system for removing content entity object in a hierarchically structured content object stored in a database |
US7340481B1 (en) | 2000-01-21 | 2008-03-04 | International Business Machines Corp. | Method and system for adding user-provided content to a content object stored in a data repository |
US6839701B1 (en) * | 2000-01-21 | 2005-01-04 | International Business Machines | Hitmask for querying hierarchically related content entities |
US7356766B1 (en) | 2000-01-21 | 2008-04-08 | International Business Machines Corp. | Method and system for adding content to a content object stored in a data repository |
US7089239B1 (en) | 2000-01-21 | 2006-08-08 | International Business Machines Corporation | Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content |
US7401097B1 (en) | 2000-01-21 | 2008-07-15 | International Business Machines Corporation | System and method for creating compilations of content |
US7613993B1 (en) | 2000-01-21 | 2009-11-03 | International Business Machines Corporation | Prerequisite checking in a system for creating compilations of content |
US8589777B1 (en) | 2000-01-21 | 2013-11-19 | International Business Machines Corporation | Method and system for calculating cost of a compilation of content |
US6741990B2 (en) * | 2001-05-23 | 2004-05-25 | Intel Corporation | System and method for efficient and adaptive web accesses filtering |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US20100117413A1 (en) | 2004-09-23 | 2010-05-13 | Squires Keith D | Prisoner Safety Seat and Method of Use |
US9171044B2 (en) * | 2010-02-16 | 2015-10-27 | Oracle International Corporation | Method and system for parallelizing database requests |
US9600513B2 (en) | 2011-06-09 | 2017-03-21 | International Business Machines Corporation | Database table comparison |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3358270A (en) * | 1962-11-05 | 1967-12-12 | Gen Electric | Information storage and retrieval system |
US3484751A (en) * | 1966-07-19 | 1969-12-16 | Fma Inc | Storage and retrieval of graphic information |
-
1974
- 1974-06-19 GB GB27093/74A patent/GB1491706A/en not_active Expired
-
1975
- 1975-04-14 US US05/567,643 patent/US3964029A/en not_active Expired - Lifetime
- 1975-05-14 DE DE2521436A patent/DE2521436C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2521436A1 (de) | 1976-01-08 |
DE2521436C3 (de) | 1980-07-17 |
AU8011875A (en) | 1976-10-21 |
US3964029A (en) | 1976-06-15 |
GB1491706A (en) | 1977-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2521436C3 (de) | Informationswiedergewinnungsanordnung | |
DE2547035C3 (de) | Datenverarbeitungseinrichtung | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2551239C3 (de) | Datenverarbeitungsanlage | |
DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
DE1524225B2 (de) | Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung | |
DE1288144B (de) | ||
DE1499182A1 (de) | Elektrische Datenverarbeitungsanlage | |
DE3327379A1 (de) | Einrichtung und verfahren zum umordnen von datensaetzen | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1271191B (de) | Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers | |
DE2221442A1 (de) | Assoziativspeicher | |
DE2821110C2 (de) | Datenspeichereinrichtung | |
DE2006672C3 (de) | Datensichtgerät | |
DE1549473C3 (de) | Einrichtung zum Auffinden gespeicherter Daten | |
DE1774607B2 (de) | Speicheranordnung mit einem informationszerstoerend lesbaren speicher | |
DE1295656B (de) | Assoziativer Speicher | |
DE3016738C2 (de) | Verfahren zur Übertragung eines Bitmusterfeldes in einen Speicher und Schaltungsanordnung zur Ausübung des Verfahrens | |
DE2547052C3 (de) | Datenverarbeitungseinrichtungen | |
DE2519195A1 (de) | Assoziativspeicher | |
DE2547031C3 (de) | Datenverarbeitungseinrichtung | |
DE2041171A1 (de) | Anordnung zur Speicherung von Daten | |
DE1474380A1 (de) | Matrixspeicheranordnung | |
DE3016269C2 (de) | ||
DE1105207B (de) | Speichereinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |