DE2521436B2 - Informationswiedergewinnungsanordnung - Google Patents

Informationswiedergewinnungsanordnung

Info

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
Application number
DE2521436A
Other languages
English (en)
Other versions
DE2521436A1 (de
DE2521436C3 (de
Inventor
Edward Stevenage Hertfordshire Babb (Grossbritannien)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of DE2521436A1 publication Critical patent/DE2521436A1/de
Publication of DE2521436B2 publication Critical patent/DE2521436B2/de
Application granted granted Critical
Publication of DE2521436C3 publication Critical patent/DE2521436C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern 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 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 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
1
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
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)

Patentansprüche:
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.
DE2521436A 1974-06-19 1975-05-14 Informationswiedergewinnungsanordnung Expired DE2521436C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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