DE10014757B4 - Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing - Google Patents

Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing Download PDF

Info

Publication number
DE10014757B4
DE10014757B4 DE10014757A DE10014757A DE10014757B4 DE 10014757 B4 DE10014757 B4 DE 10014757B4 DE 10014757 A DE10014757 A DE 10014757A DE 10014757 A DE10014757 A DE 10014757A DE 10014757 B4 DE10014757 B4 DE 10014757B4
Authority
DE
Germany
Prior art keywords
data
warehouse
node
features
index
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.)
Expired - Fee Related
Application number
DE10014757A
Other languages
English (en)
Other versions
DE10014757A1 (de
Inventor
Kenneth P. Baclawski
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.)
Jarg Corp
Original Assignee
Jarg Corp
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 Jarg Corp filed Critical Jarg Corp
Priority to DE10014757A priority Critical patent/DE10014757B4/de
Publication of DE10014757A1 publication Critical patent/DE10014757A1/de
Application granted granted Critical
Publication of DE10014757B4 publication Critical patent/DE10014757B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

Eine Informationswiedergewinnungseinrichtung für die Verarbeitung einer Abfrage zur Wiedergewinnung von Informationen aus einer Datenbank besitzt einen Mechanismus zum Auffinden einer Anzahl an Merkmalen und Merkmalsfragmenten in einer Indexdatenbank; einen Evaluierungsmechanismus zur Identifizierung einer Anzahl an Unterabfragen einer Anzahl an Ebenen, die in der Abfrage enthalten sind, und zur rekursiven Evaluierung der Unterabfrage unter Verwendung der einzelnen gefundenen Merkmale und Merkmalsfragmente; und einen Mechanismus zum Sammeln und Speichern einer Anzahl an Ergebnissen der rekursiven Evaluierung der Abfrage und der Unterabfragen nach der Berechnung eines Gesamtergebnisses der Abfrage. Ein solches System kann den Bedarf an herkömmlichen Wiedergewinnungssystemen für die Schaffung neuer, separater, zentralisierter Repliken innerhalb des Data Warehouse der Daten, die in den verschiedenen externen Datenbanken gespeichert sind, beseitigen. Die Erfindung kann somit die Probleme der Replizierung solcher Daten in herkömmlichen Systemen vermeiden, in denen die Daten veraltet sein können oder Fehlern unterliegen können, die während der Replizierung für die Datenlagerhaltung entstehen. Stattdessen kann das Data Warehouse eine Indexdatenbank enthalten, die Einträge speichert, welche Daten hinsichtlich der in den externen Datenbanken gespeicherten Informationen zur Verfügung stellen, wie zum Beispiel Informationspositionsbezeichner für diese Daten innerhalb jener Datenbanken, relationale Informationen und Statistiken. Die Erfindung sieht auch ein robustes, vielseitiges Indexiersystem vor.

Description

  • Die Erfindung betrifft ein Warehousing-Verfahren und ein verteiltes Computer-Datenbanksysteme für das Warehousing.
  • Organisationen sammeln routinemäßig große Datenmengen über ihre Kunden, Produkte, Arbeitsabläufe und Geschäftsaktivitäten. Die in diesen Daten enthaltenen Erkenntnisse können wichtige Hilfen zum Marketing, zur Verringerung der Betriebskosten sowie für strategische Entscheidungsfindungen darstellen. Wenn es zum Beispiel eine starke Beziehung zwischen den Kunden, die ein Produkt kaufen möchten, und jenen Kunden, die ein anderes Produkt kaufen möchten, gibt, dann besteht die Wahrscheinlichkeit, dass jene Kunden, die dieses Produkt gekauft haben, auch Interesse am Kauf des anderen Produkts haben können.
  • Die analytische Verarbeitung von Daten erfolgt primär unter Verwendung statistischer Methoden zum Extrahieren von Korrelationen und anderen Mustern in den Daten. Diese Art der Verarbeitung wird unter anderem als ”Data Mining” (Datenerforschung), Wissenserkundung und Wissensextraktion bezeichnet. Eine Suche nach einem spezifischen Muster oder einer Art von Muster in einer großen Sammlung von Daten wird als Musterabfrage bezeichnet.
  • Große Unternehmen besitzen und verwalten typischerweise Datenbanken, von denen es sich bei vielen um Transaktionsdatenbanken handelt. Die Anforderungen dieser Datenbanken stehen oftmals in Konflikt mit den Anforderungen des ”Data Minings”. Transaktionsdatenbanken werden in Echtzeit durch kleine Transaktionen aktualisiert. Beim Data Mining hingegen werden große Musterabfragen verwendet, die nicht in Echtzeit stattfinden müssen. Um diesen Konflikt zu lösen, wird nun allgemein so vorgegangen, dass Daten aus unterschiedlichen Quellen in eine zentralisierte Ressource geladen werden, die man als Data Warehouse (Datenlagerhaus) bezeichnet.
  • Das Herunterladen und Zentralisieren der Daten aus unterschiedlichen, oft getrennten Quellen erfordert die Durchführung zahlreicher Aufgaben. Die Daten müssen aus den Quellen extrahiert werden; sie müssen in ein gemeinsames, integriertes Datenmodell umgewandelt werden; sie müssen, um fehlerhafte oder falsche Daten zu beseitigen oder zu korrigieren, gereinigt werden, und schließlich müssen sie im zentralen Warehouse integriert und zu einer neuen Datenbank zusammengefasst werden, in der alle Daten gespeichert sind. Darüber hinaus muss sichergestellt werden, dass sämtliche Vorkommen jeder Geschäftseinheit, wie zum Beispiel Kunde, Produkt oder Mitarbeiter, korrekt identifiziert wurden. Dieses Problem ist als referentielle Integrität bekannt. All dies sind schwierige Aufgaben, besonders jedoch das Sicherstellen der referentiellen Integrität, wenn die von den Datenbanken heruntergeladenen Daten die Geschäftseinheiten geringfügig anders identifizieren. Bei der Technologie des Standes der Technik werden Daten in einer vom Data Mining unabhängigen Aktivität in das Data Warehouse geladen. Im Gegensatz zum Data Mining, für welches es eine umfangreiche Forschungsliteratur und viele kommerzielle Produkte gibt, besitzt das Data Warehousing keine starke theoretische Grundlage und nur wenige gute kommerzielle Produkte.
  • Da Data Warehouses viele unterschiedliche Datenquellen integrieren, ist es notwendig, ein integriertes Datenmodell für das Data Warehouse sowie eine Datenabbildung zu schaffen, welches Daten von den einzelnen Datenquellen extrahiert, umwandelt und reinigt. Es ist im Stand der Technik bekannt, dass sich reichere Datenmodelle, wie zum Beispiel objektorientierte Datenmodelle, besser für die Festlegung eines solchen integrierten Datenmodells und für die Definierung der Datenabbildung eignen als begrenzte Datenmodelle, wie zum Beispiel das relationale Modell. Dennoch verwenden die meisten Data Warehouses (Datenlagerhäuser) noch immer eine flache Eintragsstruktur, wie zum Beispiel das relationale Modell. Relationale Datenbanken besitzen eine sehr limitierte Datenstruktur, so dass die Erzeugung komplexerer Datenstrukturen mühevoll und fehlerträchtig ist. Einige der Arten von Daten, die für eine Speicherung in einer relationen Datenbank nur sehr schlecht geeignet sind, wären: Textdaten im allgemeinen, Hypertextdokumente im besonderen, Bilder, Töne, Multimediaobjekte und Attribute mit mehreren Werten. Relationale Datenbanken sind auch schlecht für die Darstellung von Dateneinträgen geeignet, die eine sehr große Anzahl an möglichen Attributen besitzen, von denen nur wenige von einem Dateneintrag verwendet werden.
  • Eine Objektdatenbank besteht typischerweise aus einer Sammlung von Daten oder Informationsobjekten. Jedes Informationsobjekt wird auf einzigartige Weise durch einen Objektbezeichner (OID) gekennzeichnet. Jedes Informationsobjekt kann Merkmale besitzen, und manche Merkmale können zugeordnete Werte besitzen. Informationsobjekte können auch andere Informationsobjekte enthalten oder auf diese verweisen.
  • Um das Auffinden von Informationen in einer Datenbank, einschließlich einer Data Warehouse-Datenbank, zu unterstützen, werden spezielle Suchstrukturen verwendet, die man als Indexe bezeichnet. Große Datenbanken erfordern entsprechend große Indexstrukturen, um Zeiger zu den gespeicherten Daten zu setzen und zu verwalten. Eine solche Indexstruktur kann größer sein als die Datenbank selbst. Die Technologie des Standes der Technik erfordert einen separaten Index für jedes Attribut oder Merkmal. Diese Technologie kann erweitert werden, um eine Indizierung einer kleinen Anzahl von Attributen oder Merkmalen in einer einzelnen Indexstruktur zu ermöglichen, doch funktioniert diese Technologie nicht sehr gut, wenn es Hunderte oder Tausende von Attributen gibt. Darüber hinaus gibt es einen beträchtlichen Zusatzaufwand im Zusammenhang mit der Wartung einer Indexstruktur. Dies schränkt die Anzahl der Attribute oder Merkmale, die indiziert werden können, ein, so dass jene, die unterstützt werden, sehr sorgfältig ausgewählt werden müssen. Für Transaktionsdatenbanken ist für gewöhnlich ein gutes Verständnis der damit verbundenen Arbeitslast vorhanden, so dass es möglich ist, die Indexe so zu wählen, dass die Leistung der Datenbank optimiert wird. Für ein Data Warehouse gibt es jedoch normalerweise keine gut definierte Arbeitslast, so dass es viel schwieriger ist, die zu indizierenden Attribute auszuwählen.
  • Weitere Informationen bezüglich der zuvor genannten Konzepte können den folgenden Publikationen entnommen werden:
    1. L. Aiello, J. Doyle, und S. Shapiro, Herausgeber. Proc. Fifth Intern. Conf. an Principles of Knowledge Representation and Reasoning. Morgan, Kaufman Publishers, San Mateo, CA, 1996.
    2 K. Baclawski, Distributed computer database system and method, Dezember 1997. US-Patent Nr. 5,694,593 . Abgetreten an Northeastern University, Boston, MA.
    3 A. Del Bimbo, Herausgeber. The Ninth International Conference an Image Analysis and Processing, Band 1311. Springer, September 1997.
    4 N. Fridman Noy. Knowledge Representation for Intelligent Information Retrieval in Experimental Sciences. Doktorarbeit, College of Computer Science, Northeastern University, Boston, MA, 1997.
    5 M. Hurwicz. Take your data to the cleaners. Byte Magazine, Januar 1997.
    6 Y. Ohta. Knowledge-Based Interpretation of Outdoor Natural Color Scenes. Pitman, Boston, MA, 1985.
    7 A. Tversky. Features of similarity. Psychological review, 84(4): 327–352, Juli 1977.
    8 S. Weiss and N. Indurkhya. Predictive Data Mining: A Practical Guide. Morgan Kaufmann Publishers, Inc., San Francisco, CA, 1998.
    9 J.-L. Weldon and A. Joch. Data warehouse building blocks. Byte Magazine, Januar 1997.
  • Die Offenbarungen der im Abschnitt ”Hintergrund der Erfindung” erwähnten Veröffentlichungen werden hiermit als Referenz aufgenommen.
  • WO 00/05663 offenbart ein System mit einer Suchmaschinen, die aus einem Satz von miteinander verbundenen Knoten aufgebaut sind, um Objekte einschließlich Bilder, Ton und Videoströme als auch einfachen und strukturierten Text von verteilten Datenbanken zu gewinnen. Eine Abfrage wird von solch einer Suchmaschine an einen Heimknoten übertragen. Der Heimknoten extrahiert Merkmale der Anfrage und streuspeichert die Merkmale und überträgt die streugespeicherten Merkmale an andere Knoten des Netzwerks. Jeder Knoten auf dem Netzwerk, der ein streugespeichertes Merkmal empfängt, benutzt es dazu, eine Abfrage auf seinen jeweiligen Teilbereichen der Datenbank durchzuführen. Die Ergebnisse der Abfragen der lokalen Datenbanken werden von dem Heimknoten gesammelt.
  • WO 00/05664 offenbart eine Suchmaschine, die Objekte abruft, die mit einer Vielzahl von miteinander verknüpften Ontologien verarbeitet worden sind. Insbesondere ist eine Abfrage in diesem System ein Objekt, welches mit einer spezifischen Ontologie konform geht, die verwendet werden soll, um die Objekte abzurufen, die mit einer oder mehreren Ziel-Ontologien konform gehen. Der Heimknoten in diesem System extrahiert Merkmale aus der Abfrage entsprechend seiner Ontologie und streuspeichert die Merkmale. Die streugespeicherten Merkmale und eine Liste von Ziel-Ontologien werden an die anderen Knoten auf dem Netzwerk übertragen. Jede Knoten auf dem Netzwerk, der ein streugespeichertes Merkmal erhält, benutzt das streugespeicherte Merkmal der Abfrage, um eine Abfrage auf seinem jeweiligen Teilbereich der Datenbank durchzuführen. Die Ergebnisse dieser Abfragen, die aus Objektbezeichnung von Objekten zusammengesetzt sind, die die Abfrage und die Ontologien, in denen sie bearbeitet wird, aufeinander abstimmen, ebenso wie äquivalente streugespeicherte Merkmale, die von anderen Ontologien bearbeitet wurden, werden zurückgegeben. Diese anderen streugespeicherten Merkmale werden nach Bedarf zu anderen Knoten weitergegeben, und dieses Verfahren wird fortgesetzt, bis die gewünschte Ziel-Ontologie erreicht worden ist. Wenn die Ziel-Ontologien erreicht worden sind, werden die Ergebnisse der Abfragen der lokalen Datenbanken durch den Heimknoten gesammelt.
  • US-A 5,893,088 offenbart ein System und ein Verfahren zur Durchführung komplexer Abfragen in einem Datenbanksystem. Das Verfahren identifiziert einen einzigen Objekt-Typ in der Datenbank. Eine Tabelle wird erstellt, um festzustellen, welche Objekte die verschiedenen Unterkriterien in einer komplexen Abfrage mit Hilfe der Eingabe von binären Markierungsbits erfüllen. Die logischen Operationen können auf solchen Markierungsbits durchgeführt werden, um diese Gegenstände zu identifizieren, die die spezifizierten Abfragekriterien erfüllen. Durch eine geeignete Abfrageplanung können die Bits erneut verwendet werden während der Abfrage. Das Verfahren kann in Kombination beispielsweise mit Indexabfragen und anderen optimierten Abfragetechniken verwendet werden.
  • Es wäre wünschenswert, verbesserte Verfahren und Coputersysteme für das Data Warehousing und das Data Mining zu schaffen, welche mit großen Objekt-Datenbanken arbeiten und Objekte indizieren können, die eine große Anzahl von Attributen haben, während die Integrität der gespeicherten Daten aufrecht erhalten wird.
  • Dazu dienen die Merkmale der Ansprüche 1 und 4. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen charakterisiert.
  • Die vorliegende Erfindung kombiniert die zwei Aktivitäten des Data Warehousings und des Data Minings, wodurch die Grundlage und Unterstützung für das Data Warehousing verbessert werden. Der Begriff Wissensextraktion wird im folgenden für die Integration des Data Warehousing und der Data Mining-Aktivitäten verwendet.
  • Die Erfindung beruht auf einem System und einem Verfahren zur Verarbeitung einer Abfrage von einem Anwender, einschließlich zum Beispiel einer Abfrage für die Wiedergewinnung von Informationen aus dem Data Warehouse. Das System umfasst einen Mechanismus zum Finden einer Anzahl an Merkmalen und Merkmalsfragmenten in einer Indexdatenbank; einen Evaluierungsmechanismus zur Identifizierung einer Anzahl an Unterabfragen einer Anzahl an Ebenen, die in der Abfrage enthalten sind, und zur rekursiven Evaluierung der Unterabfragen mit Hilfe der einzelnen gefundenen Merkmale und Merkmalsfragmente; und einen Mechanismus zum Sammeln und Speichern einer Anzahl an Ergebnissen der rekursiven Evaluierung der Abfrage und der Unterabfragen nach dem Berechnen des Gesamtergebnisses der Abfrage.
  • Mit dem hierin verwendeten Begriff ”Evaluierung” wird ein Prozeß bezeichnet, durch den eine Antwort auf eine Abfrage erzeugt wird, gekennzeichnet durch die Wiedergewinnung von Informationen, Informationspositionsbezeichnern oder Daten, welche die Informationen betreffen, und welche den in der Abfrage angegebenen Kriterien entsprechen. Bei der rekursiven Evaluierung handelt es sich um einen Typ der Abfrageevaluierung, bei dem neue Abfragen, sogenannte Unterabfragen, von der Abfrage erzeugt und evaluiert werden. Die solcherart erzeugten Unterabfragen können als Knoten in einem Abfragebaum betrachtet werden, dessen ursprüngliche Abfrage der Basisknoten ist, und wobei jede Unterabfrage eine entsprechende Ebene innerhalb des Baumes einnimmt, die von ihrer Beziehung zu den vorhergehenden Abfragen, von denen sie erzeugt wurde, bestimmt wird. Alle Unterabfragen, das heißt die Vorgängerabfragen und Tochterabfragen, werden rekursiv evaluiert, und die Ergebnisse werden gesammelt, gespeichert und dem Anwender als Antwort auf die Abfrage präsentiert.
  • Die Erfindung kann den Bedarf an herkömmlichen Wiedergewinnungssystemen für die Schaffung neuer, separater, zentralisierter Repliken innerhalb des Data Warehouse der Daten in den verschiedenen externen Datenbanken beseitigen. Die Erfindung kann somit die Probleme der Replizierung solcher Daten in herkömmlichen Systemen vermeiden, in denen die Daten veraltet oder Fehlern unterliegen können, die während der Replizierung für die Datenlagerhaltung entstehen. Stattdessen kann das Data Warehouse eine Indexdatenbank enthalten, die Einträge speichert, welche Daten hinsichtlich der in den externen Datenbanken gespeicherten Informationen zur Verfügung stellen, wie zum Beispiel Informationspositionsbezeichner für diese Daten innerhalb jener Datenbanken, relationale Informationen und Statistiken. Die Erfindung kann auch ein robustes, vielseitiges Indiziersystem schaffen. Der Index der Erfindung unterstützt zum Beispiel das Indizieren von kärglichen Einträgen, die eine große Anzahl an potentiellen Attributen besitzen, von denen aber nur einige wenige in einem bestimmten Dateneintrag verwendet werden. Die vorliegende Erfindung unterstützt zum Beispiel auch das Indizieren einer sehr großen Anzahl an Attributen in einer im wesentlichen einheitlichen Datenstruktur, wodurch es viel einfacher wird, die zur Erzielung einer hohen Leistung erforderlichen Arbeitslastmerkmale zu bestimmen.
  • Insbesondere umfasst das verteilte Computer-Datenbanksystem gemäß eines Aspektes der Erfindung einen oder mehrere Front-End-Computer und einen oder mehrere Computer-Netzknoten, die durch,ein Netzwerk zu einer Data Warehouse- und Data Mining-Maschine miteinander verbunden sind, welche Objekte, einschließlich Bildern, Tönen und Videos, sowie einfachen und strukturierten Text indiziert. Ein Objekt wird von einer externen Datenbank über einen Knoten, der als Warehousing-Knoten bezeichnet wird, vom Netzwerk heruntergeladen. Der Warehousing-Knoten extrahiert einige Merkmale aus dem Objekt, fragmentiert die einzelnen extrahierten Merkmale in eine Anzahl an Merkmalsfragmenten, und streuspeichert diese Merkmalsfragmente. Jedes streugespeicherte Merkmalsfragment wird zu einem Knoten im Netzwerk übertragen, der als Indexknoten bezeichnet wird. Jeder Knoten im Netzwerk, der ein streugespeichertes Merkmalsfragment empfängt, verwendet das streugespeicherte Merkmalsfragment des Objekts, um eine Suche in der jeweiligen Partition der Indexdatenbank durchzuführen. Die Ergebnisse der Suchen in den lokalen Datenbanken werden vom Warehousing-Knoten gesammelt. Der Warehousing-Knoten verwendet diese Ergebnisse, um zu bestimmen, ob das Objekt bereits im Data Warehouse indiziert wurde. Danach extrahiert der Warehousing-Knoten die Merkmale aus dem Objekt, fragmentiert die Merkmale und streuspeichert diese Merkmalsfragmente. Jedes streugespeicherte Merkmalsfragment wird zu einem Knoten im Netzwerk übertragen. Jeder Knoten im Netzwerk, der ein streugespeichertes Merkmalsfragment empfängt, verwendet das streugespeicherte Merkmalsfragment des Objekts, um das Merkmal in seiner jeweiligen Partition der Indexdatenbank zu speichern.
  • Bei der Abfrage kann es sich zum Beispiel um eine Musterabfrage handeln. Eine Musterabfrage ist eine Suche nach einem Muster in den Daten. Eine Musterabfrage wird von einem Anwender an einen der Front-End-Computer übertragen, der die Musterabfrage an einen der Indexknoten, welcher als Heimknoten bezeichnet wird, der Data Mining-Maschine weiterleitet. Der Heimknoten zerlegt die Musterabfrage in eine oder mehrere Unterabfragen, wobei jede Unterabfrage im Speicher gespeichert wird und ein Objektmerkmal enthält, und ein vom Computer ausführbares Programm implementiert ein Verfahren, wie zum Beispiel eine Berechnung. Die Berechnung kann zusätzlich Unterabfragen umfassen. Der Heimknoten fragmentiert die Merkmale der einzelnen Unterabfragen in ein oder mehrere Unterabfragemerkmalsfragmente und streuspeichert danach die Merkmalsfragmente. Jedes Unterabfragemerkmalsfragment wird gemäß dem streugespeicherten Merkmalsfragment an einen Knoten im Netzwerk übertragen. Jeder Knoten im Netzwerk, der eine Unterabfrage empfängt, verwendet das streugespeicherte Merkmalsfragment der Unterabfrage, um eine Suche auf der jeweiligen Partition der Indexdatenbank durchzuführen, und die Daten, auf die dabei zugegriffen wird, werden bei der Berechnung der Unterabfrage verwendet. Wenn die Berechnung einer Unterabfrage zusätzliche Unterabfragen enthält (und sie kann null, eine oder mehrere Unterabfragen enthalten), werden die zusätzlichen Unterabfragen rekursiv evaluiert, und die von der rekursiven Evaluierung erhaltenen Daten werden bei der Berechnung der Unterabfrage verwendet. Die Ergebnisse der Suchen der lokalen Indexdatenbanken und die Ergebnisse eventueller rekursiver Evaluierungen werden vom Heimknoten gesammelt. Die Ergebnisse der Musterabfrage werden vom Heimknoten bestimmt und dem Anwender zurückgegeben.
  • In einem anderen Aspekt der Erfindung umfasst ein verteiltes Computer-Datenbanksystem einen oder mehrere Front-End-Computer und einen oder mehrere Computerknoten, die durch ein Netzwerk miteinander verbunden sind, um als Wissensextraktionsmaschine zu fungieren, die sowohl die Data Warehouse-Aktivität als auch die Data Mining-Aktivität unterstützt.
  • Betrachten wir zuerst die Data Warehousing-Aktivität. Das Herunterladen von Objekten von einer anderen Datenbank zum Warehouse wird von einem Warehouse-Knoten durchgeführt. Hinsichtlich eines Objekts, das von einer anderen Datenbank heruntergeladen wird, bestimmt der Warehousing-Knoten zuerst, ob das Objekt aufgrund eines Downloads von einer anderen Datenbank möglicherweise bereits im Data Warehouse repräsentiert wird. Wenn dies der Fall ist, extrahiert der Warehouse-Knoten ein oder mehrere Merkmale des Objekts, fragmentiert die einzelnen Objektmerkmale in eine Anzahl an Merkmalsfragmenten und streuspeichert danach diese einzelnen Merkmalsfragmente. Ein Anteil eines jeden streugespeicherten Fragments wird vom Warehouse-Knoten als Adressierindex verwendet, durch den der Warehouse-Knoten das streugespeicherte Abfragemerkmal an einen Indexknoten des Netzwerks überträgt. Jeder Indexknoten im Netzwerk, der ein streugespeichertes Objektmerkmalsfragment empfängt, verwendet das streugespeicherte Objektmerkmalsfragment, um eine Suche in der jeweiligen Indexdatenbank durchzuführen. Knoten, die Daten finden, welche dem streugespeicherten Objektmerkmal entsprechen, geben die OIDs der Warehouse-Objekte, welche dieses Merkmalsfragment enthalten, zurück. Solche OIDs werden dann vom Warehouse-Knoten gesammelt, und es wird eine Ähnlichkeitsfunktion berechnet. Diese Ähnlichkeitsfunktion wird verwendet, um zu bestimmen, ob das Objekt bereits im Data Warehouse gespeichert ist. Wenn festgestellt wird, dass das Objekt im Data Warehouse repräsentiert wird, wird die OID des Warehouse-Objekts für das heruntergeladene Objekt verwendet. Wenn es noch nicht repräsentiert wird, wird eine einzigartige OID für das Objekt ausgewählt. Danach extrahiert der Warehousing-Knoten Merkmale aus dem Objekt, fragmentiert diese und streuspeichert diese Merkmalsfragmente. Ein Anteil eines jeden streugespeicherten Fragments wird vom Warehouse-Knoten als Adressierindex verwendet, durch den der Warehouse-Knoten das streugespeicherte Objektabfragemerkmal an einen Indexknoten des Netzwerks überträgt, wo das Merkmal im Data Warehouse gespeichert wird.
  • Betrachten wir als nächstes die Data Mining-Aktivität. Ein Anwender, der eine Abfrage evaluieren möchte, wie zum Beispiel eine Suche nach einem Muster in den Daten durchführen möchte, überträgt eine Abfrage zu einem der Front-End-Computer, der wiederum die Abfrage an einen der Indexknoten im Netzwerk weiterleitet. Der Knoten, der die Abfrage empfängt (er wird als Heimknoten des Data Warehouse bezeichnet), zerlegt die Abfrage in eine oder mehrere Unterabfragen. Eine Unterabfrage umfasst ein Merkmal und ein vom Computer ausführbares Programm, das ein Verfahren implementiert, wie zum Beispiel eine Berechnung, welche zusätzliche Unterabfragen umfassen kann. Der Heimknoten speichert diese und fragmentiert die Merkmale einer jeden Unterabfrage in ein oder mehrere Unterabfragemerkmalsfragmente, und streuspeichert danach die einzelnen Merkmalsfragmente der Unterabfragen. Ein Anteil eines jeden streugespeicherten Merkmalsfragments wird vom Heimknoten als Adressierindex verwendet, durch den der Heimknoten die streugespeicherte Abfrage an einen Knoten des Netzwerks überträgt. Jeder Indexknoten im Netzwerk, der eine Unterabfrage empfängt, verwendet das streugespeicherte Merkmal, um eine Suche in der jeweiligen Indexdatenbank durchzuführen. Knoten, die Daten finden, welche dem streugespeicherten Merkmalsfragment der Unterabfrage entsprechen, führen die in der Unterabfrage festgelegte Berechnung durch. Wenn die Berechnung keine zusätzlichen Unterabfragen enthält, werden die Ergebnisse der Berechnung an den Heimknoten zurückgegeben. Wenn die Berechnung jedoch zusätzliche Unterabfragen enthält, übernimmt der Knoten die Rolle des Heimknotens im Hinblick auf die in der Berechnung enthaltenen Unterabfragen. Insbesondere streuspeichert der Konten die Merkmalsfragmente der enthaltenen Unterabfragen und überträgt die Unterabfragen zu anderen Knoten. Dieser Prozess wird rekursiv fortgesetzt, bis die Berechnung vollständig ist, und die endgültigen Ergebnisse werden an den ursprünglichen Heimknoten zurückgesandt. Bei Empfang der Ergebnisse der Berechnung führt der Heimknoten eventuell noch verbleibende Datenaggregationen durch, die von der ursprünglichen Musterabfrage festgelegt wurden, und überträgt die Informationen zum Front-End-Knoten. Der Front-End-Knoten formatiert die Antwort an den Anwender und überträgt die formatierte Antwort zum Anwender.
  • Kurze Beschreibung der Zeichnungen
  • Die oben genannten sowie weitere Vorteile der Erfindung können besser durch die Bezugnahme auf die folgende Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden werden, in denen:
  • 1 ein Blockdiagramm einer Ausführungsform des verteilten Computer-Datenbanksystems gemäß der Erfindung ist;
  • 2 ein Blockdiagramm des verteilten Computer-Datenbanksystems von 1 in Ablaufdiagramm-Form ist, welches ein Verfahren zum Herunterladen von Informationen von einer anderen Quelle zum Data Warehouse gemäß einer Ausführungsform der Erfindung darstellt;
  • 3 ein Blockdiagramm des verteilten Computer-Datenbanksystems von 1 in Ablaufdiagramm-Form ist, welches ein Verfahren zur Beantwortung einer Abfrage gemäß einer Ausführungsform der Erfindung darstellt;
  • 4a4e Blockdiagramme sind, welche Formate für eine Warehouse-Meldung, eine Warehouse-Antwort-Meldung, eine Einfüge-Meldung, eine Unterabfrage-Meldung bzw. eine Unterabfrage-Antwort-Meldung zeigen, wie sie in Verbindung mit der Ausführungsform von 1-3 verwendet werden können;
  • 5 ein Blockdiagramm eines der Heimknoten von 13 gemäß einer Ausführungsform der Erfindung ist;
  • 6 ein Blockdiagramm eines Indexknotens von 13 gemäß einer Ausführungsform der Erfindung ist; und
  • 7 ein Blockdiagramm eines Computersystem gemäß einer beispielhaften Ausführungsform eines Anwendercomputers, eines Indexknotens bzw. eines Warehouse-Knotens ist,
  • Detaillierte Beschreibung der Bevorzugten Ausführungsform
  • Bezugnehmend auf 1 umfasst eine Ausführungsform eines verteilten Computer-Datenbanksystems 100 gemäß der Erfindung einen Anwendercomputer 102, der z. B. über ein Netzwerk 106 mit einem Front-End-Computer 104 in Verbindung steht. Alternativ dazu kann es sich bei dem Front-End-Computer 104 auch um den Anwender-Computer handeln. Der Front-End-Computer 104 steht wiederum in Verbindung mit einer Data Warehouse- und Data Mining-Maschine, die einen oder mehrere Computerknoten 106, 108 umfasst, die durch ein lokales Netzwerk 110 miteinander verbunden sind. Die einzelnen Computerknoten 106, 108 können lokale Festplatten 112 umfassen, oder sie können alternativ oder zusätzlich dazu Daten von einem Netzwerk-Festplattenserver (nicht abgebildet) erhalten.
  • Bei den Computerknoten 106, 108 des Data Warehouse kann es sich um verschiedene Arten, wie zum Beispiel Indexknoten 106 und Warehouse-Knoten 108, handeln. Die Knoten 106, 108 des Data Warehouse müssen nicht unterschiedliche Computer repräsentieren. In einer Ausführungsform handelt es sich bei dem Data Warehouse um einen einzelnen Computer, der die Rolle aller Indexknoten 106 und Warehouse-Knoten 108 übernimmt. In einer anderen Ausführungsform wird das Data Warehouse durch separate Computer für jeden Indexknoten 106 und jeden Warehouse-Knoten 108 dargestellt.
  • Fachleute dieses Bereiches werden anerkennen, daß zahlreiche Variationen möglich sind, die jedoch alle innerhalb des Umfangs und Geistes der vorliegenden Erfindung liegen.
  • Wenn wir ein beispielhaftes Verfahren 200 betrachten, bei dem die Objekte zuerst heruntergeladen werden, und indem wir auch auf 2 Bezug nehmen, sehen wir, dass in einer Ausführungsform Objekte von einer externen Datenbank 201 durch einen oder mehrere Warehouse-Knoten 108 heruntergeladen werden (Schritt 201). Wenn ein Objekt aufgrund eines früheren Downloads, z. B. von einer anderen Datenbank, bereits im Data Warehouse repräsentiert wird, extrahiert der Warehouse-Knoten 108 eine Anzahl an Merkmalen aus dem Objekt, um das Objekt zu identifizieren, wie dies im integrierten Datenmodell des Data Warehouses festgelegt ist. Zum Beispiel kann eine Person durch eine Mitarbeiter-”ID”, eine Kontonummer, Name, Adresse, Telefonnummer, E-Mail-Adresse, usw. oder durch eine beliebige Kombination aus diesen identifiziert werden.
  • Es kann eine Vielzahl unterschiedlicher Extraktionstechniken verwendet werden. Für relationale Attributwerte, wie zum Beispiel das Datum einer Transaktion, können die möglichen Werte in eine Sammlung von aneinander angrenzenden, nicht überlappenden Bereichen aufgeteilt werden. Das derartige Aufteilen von Feldwerten wird als Diskretisieren bezeichnet. Der tatsächliche Wert kann auch im Indexeintrag enthalten sein.
  • Merkmale werden aus strukturierten Dokumenten extrahiert, indem das Dokument ”geparst” wird (das heißt, es wird eine automatische Syntaxanalyse durchgeführt), um eine Datenstruktur zu erstellen. Danach wird diese Datenstruktur in (möglicherweise überlappende) Substrukturen unterteilt, die als Fragmente bezeichnet werden. Das einer Unterabfrage zugeordnete Fragment wird dazu verwendet, um übereinstimmende Fragmente in der Datenbank zu finden; es wird daher als Muster bezeichnet.
  • Merkmale, die aus unstrukturierten Dokumenten extrahiert werden, werden in einer Datenstruktur strukturiert, die eine Sammlung von untereinander in Beziehung stehenden Substrukturen umfaßt, welche danach in (möglicherweise überlappende) Komponenten-Substrukturen unterteilt werden, wie im Falle eines strukturierten Dokuments, und diese Komponenten-Substrukturen sind die Fragmente des unstrukturierten Dokuments.
  • Für Medien wie z. B. Töne, Bilder und Videos wurde eine große Vielzahl unterschiedlicher Merkmalsextraktionsalgorithmen entwickelt, wie zum Beispiel Kantenerkennungs-, Segmentierungs- und Objektklassifizierungsalgorithmen für Bilder. Fourier- und Wavelet-Transformationen sowie zahlreiche Filteralgorithmen werden ebenfalls verwendet, um Merkmale aus Bildern und Tönen zu extrahieren. Merkmale können auch manuell oder halbautomatisch zu einem Objekt hinzugefügt werden. Solche hinzugefügten Merkmale werden als Annotationen oder Metadaten bezeichnet. Merkmale werden aus Annotationen mit Hilfe einer der oben erwähnten Techniken extrahiert. Dies hängt davon ab, ob es sich bei der Annotation um einen Eintrag einer relationalen Datenbank, ein strukturiertes Dokument oder ein unstrukturiertes Dokument handelt. Wenn einem Merkmal Werte zugeordnet sind, können sie diskretisiert werden. Es ist auch möglich, Beziehungen zwischen Merkmalen festzulegen. So kann zum Beispiel ein Merkmal innerhalb eines anderen Merkmals enthalten sein oder sich neben einem anderen Merkmal befinden. Das integrierte Datenmodell spezifiziert die Merkmalsextraktionsalgorithmen sowie die Struktur der Merkmale.
  • Der Warehouse-Knoten 108 codiert jedes Merkmalsfragment des Objekts durch Verwendung einer vordefinierten Streuspeicherfunktion. Daten im System wurden zuvor mit Hilfe dieser Streuspeicherfunktion lokal auf den verschiedenen Indexknoten gespeichert, um einen Index zu den Daten in der lokalen Datenbank zu erzeugen. Somit stellt die Verwendung der selben Streuspeicherfunktion zur Erzeugung eines Indexes für die Datenspeicherung und zur Erzeugung von streugespeicherten Mustern für ein Objekt sicher, dass Daten während des Speicherns von Daten gleichmäßig über die Indexknoten 106 des Data Warehouse verteilt werden.
  • In einer Ausführungsform besitzt der sich aus der Verwendung der Streuspeicherfunktion ergebende Streuspeicherwert einen ersten Abschnitt, der dazu dient, den Indexknoten zu identifizieren, an den Daten für die Speicherung gesendet werden sollen oder an den ein Merkmalsfragment als Muster zu senden ist. Der Streuspeicherwert besitzt auch einen zweiten Abschnitt, der als lokaler Indexwert bezeichnet wird, und der dazu verwendet wird, um die Speicherpositionen zu bestimmen, an denen Daten zu speichern sind oder von denen Daten vom Indexknoten zu holen sind. Somit werden die streugespeicherten Objektmerkmalsfragmente (Schritt 202) als Muster an bestimmte Indexknoten 106 des Data Warehouse verteilt, welche durch den ersten Abschnitt des streugespeicherten Wertes bestimmt werden.
  • Die Indexknoten 106, deren Muster mit den streugespeicherten Merkmalsfragmenten übereinstimmen, durch welche die Daten ursprünglich am Indexknoten gespeichert wurden, antworten auf eine Wiedergewinnungsmeldung durch die Übertragung (Schritt 203) der OIDs, welche den streugespeicherten Merkmalsfragmenten der angeforderten Informationen entsprechen, zum Warehouse-Knoten 108. Somit werden sämtliche Übereinstimmungen zwischen den streugespeicherten Mustern und einer lokalen Streuspeichertabelle der streugespeicherten Merkmalsfragmente zurückgegeben oder am Warehouse-Knoten 108 gesammelt, der die Objektmerkmalsfragmente anfänglich streugespeichert hat.
  • Der Warehouse-Knoten 108 bestimmt danach, ob eine der OIDs das selbe Objekt repräsentiert wie das im Warehouse zu verarbeitende Objekt. Diese Bestimmung wird vom Warehouse-Knoten durch Vergleich des Ähnlichkeitsgrades zwischen dem im Warehouse zu verarbeitenden Objekt und den Objekten, deren OIDs zurückgegeben wurden, durchgeführt. In einer Ausführungsform wird das Maß der Ähnlichkeit durch die Merkmale bestimmt, die den Objekten gemein sind, und den Merkmalen des im Warehouse zu verarbeitenden Objekts, die keine Merkmale des Objekts sind, dessen OID zurückgegeben wurde.
  • Dieses Ähnlichkeitsmaß kann auf dem Merkmalskontrastmodell von Tversky (Referenz oben) basieren. Der erste Term trägt eine positive Zahl zum Ähnlichkeitswert bei, während der zweite einen negativen Beitrag leistet. Darüber hinaus wird der zweite Term mit einer vordefinierten Konstanten multipliziert, so dass ein Merkmal in der zweiten Gruppe weniger Auswirkungen auf die Ähnlichkeit hat als eines in der ersten Gruppe.
  • Wenn bestimmt wird, dass das Objekt im Data Warehouse repräsentiert wird, dann steht bereits eine OID für das Objekt bereit. Wenn es noch nicht repräsentiert wird, wird eine einzigartige OID für das Objekt ausgewählt.
  • Danach extrahiert der Warehouse-Knoten 108 alle Merkmale des Objekts gemäß dem integrierten Datenmodell des Data Warehouse. Die Merkmalsextraktionstechniken wurden oben diskutiert. Der Warehouse-Knoten 108 fragmentiert die einzelnen Merkmale in Merkmalsfragmente und codierte die einzelnen Merkmalsfragmente des Objekts durch Verwendung einer vordefinierten Streuspeicherfunktion, wie dies oben diskutiert wurde. In einer Ausführungsform besitzt der Streuspeicherwert, der sich aus der Verwendung der Streuspeicherfunktion ergibt, einen ersten Abschnitt, der dazu dient, den Indexknoten zu identifizieren, zu dem die zu speichernden Daten gesendet werden sollen (Schritt 204), und einen zweiten Abschnitt, bei dem es sich um einen lokalen Indexwert handelt, der verwendet wird, um zu bestimmen, wo die Daten am Indexknoten zu speichern sind (Schritt 205).
  • Betrachten wir als nächstes ein beispielhaftes Verfahren 300 für die Verarbeitung einer Abfrage und nehmen wir dazu Bezug auf 3. Wenn in einer Ausführungsform ein Anwender (Schritt 301) eine Abfrage vom Anwendercomputer 102 überträgt, empfängt der Front-End-Computer 104 die Abfrage. Der Front-End-Computer 104 ist dafür verantwortlich, die Verbindung mit dem Anwendercomputer 102 aufzunehmen, um es dem Anwender zu ermöglichen, eine Abfrage zu übertragen und eine Antwort in einem entsprechenden Format zu empfangen. Der Front-End-Computer 104 ist auch für sämtliche Authentifizierungs- und Verwaltungsfunktionen verantwortlich. In einer Ausführungsform handelt es sich bei dem Front-End-Computer 104 um einen World Wide Web-Server, der mit dem Anwendercomputer 102 über das HTTP-Protokoll kommuniziert.
  • Nach der Überprüfung, ob die Abfrage akzeptabel ist, führt der Front-End-Computer 104 alle Neuformatierungsarbeiten durch, die notwendig sind, um die Abfrage mit den Anforderungen des Data Warehouse kompatibel zu machen. Der Front-End-Computer 104 überträgt danach die Abfrage zu einem der Indexknoten 106 des Data Warehouse (Schritt 302), der danach als Heimknoten 107 des Data Warehouse für diese Abfrage bezeichnet wird.
  • Der Heimknoten 107 zerlegt die Abfrage in eine Anzahl (eine oder mehrere) von Unterabfragen. Jede Unterabfrage besitzt ein Merkmal und spezifiziert ein vom Computer ausführbares Verfahren, z. B. eine Berechnung. Die Berechnung bestimmt, welche Maßnahme die Unterabfrage auszuführen hat. Die häufigsten Berechnungen sind statistische Funktionen, die Informationen sammeln, welche im Data Warehouse gespeichert sind. Berechnungen können Ähnlichkeitskriterien wie zum Beispiel die zur Akzeptierung einer Übereinstimmung erforderliche Mindeststärke und statistische Berechnungen, wie zum Beispiel den Durchschnitt oder die Standardabweichung, umfassen. Die Berechnung kann zusätzliche Unterabfragen umfassen.
  • Für jede Unterabfrage fragmentiert der Heimknoten 107 das Unterabfragemerkmal in Unterabfragemerkmalsfragmente und codiert das Merkmalsfragment durch Verwendung einer vordefinierten Streuspeicherfunktion, wie dies oben beschrieben ist. Das streugespeicherte Fragment und die Unterabfrage werden unter Verwendung des streugespeicherten Merkmalsfragments wie oben beschrieben vom Heimknoten zu einem Indexknoten übertragen (Schritt 303).
  • Der Indexknoten 106, dessen streugespeicherte Fragmente mit den Indexmerkmalsfragmenten übereinstimmen, durch welche die Daten anfänglich an jenem Indexknoten gespeichert wurden, reagieren auf die Unterabfragen, indem sie Daten in die lokale Streuspeichertabelle von Indextermini holen, welche mit dem streugespeicherten Merkmalsfragment übereinstimmen, und indem sie die in der Unterabfrage angegebene Berechnung durchführen. Wenn die Berechnung zusätzliche Unterabfragen enthält, übernimmt der Indexknoten die Funktion eines Heimknotens für eine neue Abfrage, die als Komponentenunterabfrage bezeichnet wird, welche wie oben beschrieben verarbeitet wird (Schritt 304). Zum Beispiel könnte eine Unterabfrage verwendet werden, um andere Produktumsätze zu finden, die mit einzelnen Kunden im Zusammenhang stehen, welche im letzten Monat ein Gerät gekauft haben. Unabhängig davon; ob die Berechnung zusätzliche Unterabfragen enthält oder nicht, gibt der Indexknoten die Ergebnisse seiner Berechnung an den Heimknoten 107 der Unterabfrage zurück, der sie erhalten hat (Schritt 305).
  • Wenn die Ergebnisse aller Unterabfragen der ursprünglichen Abfrage empfangen wurden, führt der Heimknoten 107 sämtliche Datenaggregationen durch, wie zum Beispiel die Berechnung des Durchschnitts oder der Standardabweichung, die von der ursprünglichen Abfrage angegeben wurden, und gibt die sich daraus ergebenden Informationen an den Anwender zurück. In einer Ausführungsform werden die zurückgegebenen Informationen an den Front-End-Computer 104 übertragen (Schritt 306), der die Antwort entsprechend formatiert und die Antwort an den Anwender überträgt (Schritt 307). In einer anderen Ausführungsform werden die zurückzugebenden Informationen ohne Intervention des Front-End-Computers 104, z. B. über ein Netzwerk 105, direkt zum Anwendercomputer 102 übertragen.
  • Als nächstes werden die in der bevorzugten Ausführungsform verwendeten Meldungsformate besprochen und dabei auf 4a Bezug genommen. Ein beispielhaftes Format für eine Warehouse-Meldung umfaßt vier Felder: die Kopfzeile 402, den Objektbezeichner (QID) 403, das streugespeicherte Objektfragment (HOF) 404, und den Wert 405. Das Kopfzeilenfeld 402 gibt an, dass es sich bei dieser Meldung um eine Warehouse-Meldung handelt, und es gibt auch den Bestimmungsindexknoten an. Der Bestimmungsindexknoten wird vom ersten Abschnitt des streugespeicherten Objektfragments bestimmt. Das OID-Feld 403 enthält einen Objektart-Spezifizierer und einen Objektbezeichner. Das HOF-Feld 404 enthält einen Fragmentart-Spezifizierer und den zweiten Abschnitt des streugespeicherten Objektfragments, das vom Streuspeichermodul erzeugt wird (5). Das Wert-Feld 405 enthält einen wahlweisen Wert, der dem Fragment zugeordnet ist. Der Fragmentart-Spezifizierer bestimmt, ob die Warehouse-Meldung ein Wert-Feld 405 enthält, und wenn die Warehouse-Meldung tatsächlich ein Wert-Feld enthält, bestimmt der Fragmentart-Spezifizierer die Größe des Wert-Feldes.
  • Bezugnehmend auf 4b besitzt ein beispielhaftes Format einer Warehouse-Antwortmeldung zwei Teile: den Bezeichner und Werte. Der Bezeichner-Teil besitzt vier Felder: Kopfzeile 406, OID1 407, OID2 408, und Gewicht 409. Das Kopfzeilenfeld 406 gibt an, dass es sich bei dieser Meldung um eine Warehouse-Antwortmeldung handelt, und es gibt auch den Warehouse-Bestimmungsknoten an. Der Warehouse-Bestimmungsknoten ist der Warehouse-Knoten, von dem die entsprechende Warehouse-Meldung empfangen wurde. Die beiden OID-Felder 407, 408 enthalten einen Objektart-Spezifizierer und einen Objektbezeichner. Das erste OID-Feld 407 ist gleich wie das OID-Feld 403 der entsprechenden Warehouse-Meldung. Das zweite OID-Feld 408 identifiziert ein Objekt, das zuvor indiziert wurde. Das Gewicht-Feld 409 enthält ein optionales Gewicht, das dem Objekt zugeordnet ist, welches durch OID1 407 identifiziert wird. Der Objektart-Spezifizierer von OID1 bestimmt, ob die Warehouse-Antwortmeldung ein Gewicht-Feld enthält, und wenn die Warehouse-Abfrageantwortmeldung tatsächlich ein Gewicht-Feld enthält, bestimmt der Objektart-Spezifizierer von OID1 die Größe des Feldes. Der Werte-Teil der Warehouse-Antwortmeldung enthält eine Anzahl von Feldern 410, welche Daten enthalten, die dem von OID2 408 identifizierten Objekt zugeordnet sind. Die Struktur und Größe des Werte-Teiles wird vom Objekttyp-Spezifizierer von OID2 bestimmt.
  • Bezugnehmend auf 4c besitzt ein beispielhaftes Format für eine Einfügemeldung vier Felder: Kopfzeile 411, OID 412, HOF 413, und Wert 414. Das Kopfzeilen-Feld 414 gibt an, daß es sich bei dieser Meldung um eine Einfügemeldung handelt, und es legt auch den Bestimmungsindexknoten fest. Der Bestimmungsindexknoten wird vom ersten Abschnitt des streugespeicherten Objektfragments bestimmt. Das OIDFeld 412 enthält einen Objektart-Spezifizierer und einen Objektbezeichner. Das HOF-Feld 413 enthält einen Fragmentart-Spezifizierer und den zweiten Abschnitt des streugespeicherten Objektfragments, das vom Streuspeichermodul erzeugt wird (5). Das Wert-Feld 414 enthält einen wahlweisen Wert, der dem Fragment zugeordnet ist. Der Fragmentart-Spezifizierer bestimmt, ob die Einfügemeldung ein Wert-Feld 414 enthält, und wenn die Einfügemeldung tatsächlich ein Wert-Feld enthält, bestimmt der Fragmentart-Spezifizierer die Größe des Wert-Feldes.
  • Bezugnehmend auf 4d besitzt ein beispielhaftes Format einer Unterabfragemeldung zwei Teile: den Bezeichner und Unterabfragen. Der Bezeichner-Teil besitzt vier Felder: die Kopfzeile 415, den Unterabfragebezeichner (QSID) 416, das streugespeicherte Abfragefragment (HQF) 417, und den Wert 418. Das Kopfzeilenfeld 415 gibt an, daß es sich bei dieser Meldung um eine Unterabfragemeldung handelt, und es gibt auch den Bestimmungsindexknoten an. Der Bestimmungsindexknoten wird vom ersten Abschnitt des streugespeicherten Abfragefragments bestimmt. Das QSIDFeld 416 enthält einen Abfrageart-Spezifizierer und einen Unterabfragebezeichner. Das HQF-Feld 417 enthält einen Fragmentart-Spezifizierer und den zweiten Abschnitt des streugespeicherten Unterabfragefragments, das vom Streuspeichermodul erzeugt wird (5). Das Wert-Feld 418 enthält einen wahlweisen Wert, der dem Fragment zugeordnet ist. Der Fragmentart-Spezifizierer bestimmt, ob die Unterabfragemeldung ein Wert-Feld 418 enthält, und wenn die Unterabfrage-Meldung tatsächlich ein Wert-Feld enthält, bestimmt der Fragmentart-Spezifizierer die Größe des Wert-Feldes. Der Unterabfragen-Teil der Unterabfragemeldung enthält eine Anzahl an Unterabfragen. Eine Unterabfragemeldung, welche keine Unterabfragen besitzt, wird als Einfache Unterabfragemeldung bezeichnet.
  • Bezugnehmend auf 4e besitzt eine beispielhafte Ausführungsform einer Unterabfrageantwortmeldung zwei Teile: den Bezeichner und Werte. Der Bezeichner-Teil besitzt zwei Felder: die Kopfzeile 420 und die QSID 421. Das Kopfzeilenfeld 420 gibt an, daß es sich bei dieser Meldung um eine Unterabfrageantwortmeldung handelt, und es gibt auch den Bestimmungsindexknoten an. Der Bestimmungsindexknoten ist der selbe wie der Indexknoten, von dem die entsprechende Unterabfragemeldung empfangen wurde. Das QSID-Feld 421 enthält einen Abfrageart-Spezifizierer und einen Unterabfragebezeichner. Der Werte-Teil der Unterabfrageantwortmeldung besitzt eine Anzahl an Feldern 422, welche die Ergebnisdaten der Unterabfrage aufnehmen. Die Struktur des Werte-Teiles wird vom Abfrageart-Spezifizierer spezifiziert.
  • Jeder Knoten des verteilten Computersystems umfasst ein Kommunikationsmodul, das im folgenden diskutiert wird und in 5 und 6 dargestellt ist, und das für das Übertragen und Empfangen von Meldungen zwischen zwei Knoten verantwortlich ist. Die Übertragung einer Meldung erfordert (1) das In-die-Warteschlange-Stellen der Meldung vor der Übertragung über das Kommunikationsmedium, (2) die tatsächliche Übertragung über das Kommunikationsmedium, und (3) das In-die-Warteschlange-Stellen einer Aufgabe, um die Meldung zu verarbeiten, wenn die Meldung vom Modul empfangen wird, das von der Meldungsart bestimmt wird. Die Meldungsart bestimmt den Befehl, der an das empfangende Modul geschickt wird. Der Befehl bestimmt das Mittel, durch welches die Meldung vom Modul verarbeitet werden soll. Der Bestimmungsknoten für eine zu übertragende Meldung wird im Kopfzeilen-Feld einerjeden Meldung angegeben. Wenn eine Meldung von einem anderen Knoten empfangen wird, bestimmt die Art der Meldung, welches Modul die Meldung verarbeiten wird. Die Meldungsart wird im Kopfzeilen-Feld einer jeden Meldung angegeben. Das Kommunikationsmodul eines Heimknotens ist auch für die Kommunikation mit den Front-End-Knoten verantwortlich. Ein Front-End-Knoten überträgt Abfragen zum Heimknoten, und der Heimknoten überträgt die Ergebnisse, wie zum Beispiel Graphen und formatierte Tabellen, zum Front-End-Knoten.
  • Als nächstes betrachten wir beispielhafte Ausführungsformen der oben diskutierten Knoten, wobei zu diesem Zweck auch auf 5 Bezug genommen wird. Ein Warehouse-Knoten 500 kann einen Downloader 502 besitzen, der externe Datenbanken abtastet, um Objekte für die Warehouse-Verarbeitung und Indizierung durch die Wissensextraktionsmaschine herunterzuladen. Jeder Warehouse-Knoten 500 kann eine unterschiedliche Art eines Downloaders 500 besitzen. Zum Beispiel kann eine Art eines Downloaders Daten von relationalen Datenbanken mit Hilfe eines standardmäßigen SQL-Protokolls, wie zum Beispiel eines ODBC- oder eines proprietären Protokolls, das von einem Anbieter relationaler Datenbanken festgelegt wurde, herunterladen. Das Herunterladen wird in diesem Fall mit Hilfe einer oder mehrerer SQL-Abfragen durchgeführt. Für ein anderes Beispiel kann es sich bei dem Downloader um einen Informations- und Inhaltsaustauschabonnenten (ICE) handeln, der verhandelt, um Inhalte von Syndikatoren über das Internet zu erhalten. Dies ist ein bevorzugter Mechanismus zum Erlangen von zeitkritischem Inhalt, wie zum Beispiel Nachrichten. Der Downloader 502 überträgt Objekte zu einem Merkmalsextraktor 504.
  • Der Merkmalsextraktor 504 extrahiert Merkmale von einem Objekt. Wenn es sich bei dem Objekt um einen Eintrag in einer relationalen Datenbank handelt, umfasst die Merkmalsextraktion solche Schritte wie das Auswählen der Felder, die zu indizieren sind, das Neuformatieren der Felder und das Eliminieren oder Korrigieren von Daten, die als fehlerhaft bestimmt werden. Die Merkmalsextraktion für Bilder wird durch Erkennung der Kanten, Identifizierung der Bildobjekte und Bestimmung der Beziehungen zwischen Bildobjekten durchgeführt. In einer anderen Ausführungsform wird die Merkmalsextraktion für Bilder durch Berechnung der Fourier- und Wavelet-Transformationen durchgeführt. Jede Fourier- oder Wavelet-Transformation stellt ein extrahiertes Merkmal dar. Merkmale werden mit Hilfe einer Anzahl an Einfügemeldungen indiziert.
  • Der Merkmalsextraktor 504 bildet auch jeden Objektbezeichner in einer externen Datenbank an einen Objektidentifizierer der Wissensextraktionsmaschine ab. Jede externe Datenbank kann ihren eigenen Mechanismus zur Zuweisung von Objektidentifizierern besitzen, und Merkmale des selben Objekts können in jeder externen Datenbank mit einem unterschiedlichen Objektidentifizierer gespeichert werden. Zum Beispiel kann eine externe Datenbank eine Sozialversicherungsnummer verwenden. Eine andere Datenbank könnte eine Mitarbeiterkennung verwenden. Die Abbildung von externen Objektidentifizierern wird durch Verwendung einer Anzahl von Warehouse-Meldungen erzielt.
  • Ein Fragmentierer 506 berechnet die in den einzelnen Merkmalen enthaltenen Fragmente. Jedes Fragment besteht aus einer abgegrenzten Gruppe miteinander in Beziehung stehender Komponenten des Merkmals. In einer Ausführungsform umfassen die Fragmente eines Merkmals jedes Attribut und jede Beziehung in der Datenstruktur, welche das Merkmal definieren. Bei einem Objekt in der Form eines Eintrags einer relationalen Datenbank handelt es sich bei den Merkmalen um die Attribute, die vom Merkmalsextraktor 504 ausgewählt, neu formatiert und korrigiert wurden. Die Fragmente werden zum Streuspeichermodul übertragen.
  • Ein Streuspeichermodul 508 berechnet eine Streuspeicherfunktion eines Fragments. In einer Ausführungsform handelt es sich bei der Streuspeicherfunktion um den MD4 Message Digest Algorithmus, der in einer Spezifikation, Request for Comment (RFC) 1185, veröffentlicht von der Network Working Group der Internet Engineering Task Force, Oktober 1990, beschrieben ist, und über das Internet oder von R. Rivest am MIT Laborstory for Computer Science, Cambridge, MA, USA, erhältlich ist. Das Streuspeichermodul 508 überträgt entweder eine Warehouse-Meldung oder eine Einfügemeldung zu einem Kommunikationsmodul 510; dies hängt davon ab, ob der Zweck des Fragments darin besteht, eine Objektidentifizierer-Abbildung zu erzielen, oder ein Objektmerkmal zu indizieren.
  • Ein Ähnlichkeitskomparator 512 empfängt Warehouse-Antwortmeldungen vom Kommunikationsmodul 510 und erzeugt Einfügemeldungen, die zum Kommunikationsmodul 510 übertragen werden. Der Ähnlichkeitskomparator 512 sammelt alle Warehouse-Antworten für ein Objekt, dessen Bezeichner abgebildet wird. Für jedes Objekt in den Antworten bestimmt der Ähnlichkeitskomparator 512 die Relevanz eines jeden in der Suche zurückgegebenen Objektbezeichners. Diese Bestimmung der Relevanz wird vom Warehouse-Knoten durch Vergleich des Ähnlichkeitsgrades zwischen dem Objekt, dessen Bezeichner abgebildet wird, und den Objekten, deren OIDs zurückgegeben wurden, durchgeführt. In einer Ausführungsform ist das Maß der Ähnlichkeit zwischen der Abfrage und dem Objekt ein Cosinusmaß, das vom Ausdruck COS(v, w) angegeben wird, wobei der Vektor v die Abfrage bezeichnet, und der Vektor w das Objekt bezeichnet. Diese Vektoren befinden sich in einem Raum, in dem jedes Fragment eine Dimension des Raumes repräsentiert. Wenn eine kompatible OID gefunden wird, wird die OID als abgebildeter Objektbezeichner verwendet, und die OID wird zum Merkmalsextraktor 504 übertragen. Wenn keine kompatible OID gefunden wird, wird ein neuer Objektbezeichner ausgewählt und zum Merkmalsextraktor 504 übertragen.
  • Bezugnehmend auf 6 kann ein Indexknoten 600 ein Fragmenttabellenmodul 602 besitzen, das Warehouse-Meldungen, Einfügemeldungen und Einfache Unterabfragemeldungen von einem Kommunikationsmodul 604 empfängt. Im Falle einer Warehouse-Meldung holt das Fragmenttabellenmodul 602 einen Eintrag in eine lokale Streuspeichertabelle 603, wofür der Streuspeicherwert im HOF-Feld verwendet wird. Der Arten-Spezifizierer im HOF-Feld und der Eintrag in der lokalen Streuspeichertabelle werden zu einem Fragmentkomparator 606 übertragen. Im Falle einer Einfachen Unterabfrage-Meldung holt das Fragmenttabellenmodul 602 einen Eintrag in eine lokale Streuspeichertabelle 603, wofür der Streuspeicherwert im HQF-Feld verwendet wird. Der Eintrag in der lokalen Streuspeichertabelle 603 wird mit Hilfe einer Unterabfrageantwortmeldung an einen Abfrageprozessor 608 zurückgegeben. Im Falle einer Einfügemeldung modifiziert das Fragmenttabellenmodul 602 einen Eintrag in der lokalen Streuspeichertabelle 603 durch Einfügung der OID- und Wert-Felder der Einfügemeldung in den Eintrag in der lokalen Streuspeichertabelle 603.
  • Der Fragmentkomparator 606 empfängt Einträge aus dem Fragmenttabellenmodul 602. Eine Vergleichsfunktion wird vom HOF-Arten-Spezifizierer bestimmt, der vom Fragmenttabellenmodul 602 übertragen wurde. Die Vergleichsfunktion wird dazu verwendet, um die Relevanz der OID- und Wert Felder im Eintrag zu bestimmen, der vom Fragmenttabellenmodul 602 übertragen wurde. In einer Ausführungsform bestimmt die Vergleichsfunktion ein Ähnlichkeitsgewicht, und die OIDs mit dem höchsten Ähnlichkeitsgewicht werden als relevant erachtet. Die relevanten OIDs und deren Ähnlichkeitsgewichte werden mit Hilfe einer Warehouse-Antwortmeldung zum Kommunikationsmodul 604 übertragen.
  • Ein Abfrage-Parser 612 führt ein Parsing an einer Abfrage in einem Abfrageberechnungsbaum, der im Speicher 613 gespeichert ist, durch, wobei es sich um eine Datenstruktur handelt, die hinsichtlich einer Anzahl an Knoten und ihrer Beziehungen zueinander spezifiziert ist. Die Knoten der Abfrageberechnungsbäume sind entweder interne Knoten oder Blattknoten. Ein interner Knoten ist ein Knoten mit einem oder mehreren Töchterknoten. Ein interner Knoten legt fest, wie die Ergebnisse der Töchterknoten zu kombinieren sind. Zum Beispiel könnten die Summen summiert oder gemittelt oder zur Berechnung der Standardabweichung verwendet werden. Ein Blattknoten ist ein Knoten, der keine Töchterknoten besitzt. Ein Blattknoten ist entweder ein konstanter Wert oder ein einfacher Unterabfrageknoten. Ein Unterabfrageknoten kann eine Anzahl an Komponenten-Unterabfragen besitzen. Jede Komponenten-Unterabfrage wird auch mit Hilfe eines entsprechenden Abfrageberechnungsbaums spezifiziert. Die Abfrageberechnungsbäume werden zum Abfrageprozessor 608 übertragen.
  • Der Abfrageprozessor 608 ist für die Verwaltung der Verarbeitung der Abfragen verantwortlich. Beim Empfang eines Abfrageberechungsbaums vom Abfrage-Parser weist dieser der Abfrage einen Abfragebezeichner (QID) zu, und er weist auch jedem Blattknoten, der eine Unterabfrage spezifiziert, einen Unterabfragebezeichner (QSID) zu. Eine Unterabfrage, die keine Komponentenunterabfragen besitzt, wird als Einfache Unterabfrage bezeichnet. Eine Unterabfrage wird verarbeitet, indem eine Unterabfragemeldung mittels des Kommunikationsmoduls 604 zum spezifizierten Indexknoten übertragen wird. Der Abfrageprozessor 608 verarbeitet an dem spezifizierten Bestimmungsknoten die Unterabfragemeldung durch Übertragung einer Einfachen Unterabfragemeldung zum Fragmenttabellenmodul 602, das mit einer Unterabfrageantwortmeldung reagiert. Der Abfrageprozessor 608 sendet danach die Unterabfrageantwortmeldung zum Indexknoten, der ursprünglich die Unterabfragemeldung geschickt hat. Als Ergebnis sendet und empfängt der Abfrageprozessor 608 Unterabfragemeldungen und Unterabfrageantwortmeldungen. Wenn Unterabfrageantwortmeldungen empfangen werden, wird die im Abfrageberechnungsbaum spezifizierte Verarbeitung durchgeführt. Wenn eine Unterabfrage eine Komponentenunterabfrage besitzt, fordert die Unterabfrage die Verarbeitung zusätzlicher Unterabfragen an. Wenn die gesamte Abfrage (einschließlich aller ihrer Unterabfragen und deren Unterabfragen, usw., die als ”verschachtelte Unterabfragen” bezeichnet werden) berechnet wurde, werden die Ergebnisse formatiert und zum Front-End-Rechner übertragen, von dem die Abfrage erhalten wurde. Zum Beispiel können die Ergebnisse als Graph oder Tabelle angegeben werden. Da jede Abfrage oder verschachtelte Unterabfrage einer Ebene innerhalb des Baumes zugeordnet ist, ist der Abfrageprozessor 608 demgemäß für die Verarbeitung von Abfragen aller Ebenen innerhalb des Baumes verantwortlich.
  • 7 zeigt eine, herkömmliche Systemarchitektur für ein beispielhaftes Computersystem 800. Jeder der Anwendercomputer, Front-End-Computer und der Computer-Knoten einschließlich den Indizier- und Warehouse-Knoten kann als eine Instanz des Computersystems 800 implementiert werden. Das beispielhafte Computersystem von 7 wird jedoch ausschließlich für beschreibende Zwecke diskutiert und sollte nicht als Einschränkung der Erfindung betrachtet werden. Wenngleich sich die folgende Beschreibung auf Begriffe beziehen kann, die allgemein zur Beschreibung bestimmter Computersysteme verwendet werden, gelten die beschriebenen Konzepte gleichermaßen auch für andere Computersysteme, einschließlich Systeme, deren Architektur jener unähnlich ist, die in 7 dargestellt ist.
  • Das Computersystem 800 umfasst eine zentrale Recheneinheit (CPU) 805, die einen herkömmlichen Mikroprozessor enthalten kann, einen Direktzugriffsspeicher (RAM) 810 zum temporären Speichern von Informationen, und einen Nur-Lesen-Speicher (ROM) 815 für die dauerhafte Speicherung von Informationen. Eine Speichersteuerung 820 ist vorhanden, welche den System-RAM 810 steuert. Eine Bussteuerung 825 ist vorhanden, um den Bus 830 zu steuern, und eine Unterbrechungssteuerung 835 wird verwendet, um verschiedene Unterbrechungssignale von anderen Systemkomponenten zu empfangen und zu verarbeiten.
  • Ein Massenspeicher kann durch Diskette 842, CD-ROM 847 oder Festplatte 852 zur Verfügung gestellt werden. Daten und Software können mit einem Client-Computer 800 über austauschbare Medien, wie zum Beispiel Diskette 842 und CD-ROM 847, ausgetauscht werden. Die Diskette 842 kann in das Diskettenlaufwerk 841 eingeführt werden, welches durch den Controller 840 mit dem Bus 830 verbunden ist. Auf ähnliche Weise kann die CD-ROM 847 in das CD-ROM-Laufwerk 846 eingeführt werden, welches durch den Controller 845 mit dem Bus 830 verbunden ist. Schließlich ist die Festplatte 852 Teil eines Festplattenlaufwerks 851, das vom Controller 850 mit dem Bus 830 verbunden wird.
  • Die Benutzereingabe in das Computersystem 800 kann durch eine Anzahl unterschiedlicher Geräte erfolgen. Zum Beispiel können eine Tastatur 856 und eine Maus 857 über einen Tastatur- und Maus-Controller 855 mit dem Bus 830 verbunden sein. Ein Audiowandler 896, der sowohl als Mikrofon als auch als Lautsprecher dienen kann, wird vom Audio-Controller 897 mit dem Bus 830 verbunden. Für Fachleute dieses Bereiches sollte leicht erkennbar sein, dass auch andere Eingabevorrichtungen, wie zum Beispiel ein Stift und/oder ein Tablett, oder ein Mikrofon für die Spracheingabe, über den Bus 830 und einen entsprechenden Controller am Client-Computer 800 angeschlossen werden können. Ein DMA-Controller 860 ist vorhanden, um direkten Speicherzugriff auf den System-RAM 810 zu ermöglichen. Eine Sichtanzeige wird von einem Video-Controller 865 erzeugt, der den Monitor 870 steuert.
  • Das Computersystem 800 umfasst auch einen Netzwerkadapter 890, der es dem Client-Computer ermöglicht, über einen Bus 891 mit einem Netzwerk 895 verbunden zu werden. Das Netzwerk 895, bei dem es sich um ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) oder das Internet handeln kann, kann Allzweck-Kommunikationsleitungen verwenden, welche mehrere Netzwerkgeräte miteinander verbinden.
  • Das Computersystem 800 wird im allgemeinen von einer Betriebssystemsoftware gesteuert und koordiniert. Zusätzlich zu anderen Computersystemkontrollfunktionen steuert das Betriebssystem auch die Zuordnung der Systemressourcen und die Ausführung von Aufgaben, wie zum Beispiel die Rechenzeitvergabe, die Speicherverwaltung sowie die Netzwerk- und Eingabe-/Ausgabedienste.
  • Eine Software-Implementierung von Komponenten der oben beschriebenen Ausführungsform kann Computeranweisungen und Computerroutinen umfassen, die sich entweder auf einem berührbaren Medium, wie zum einem computerlesbaren Medium, z. B. der Diskette 842, der CD-ROM 847, im ROM 815, oder der Festplatte 852 von 7 befinden, oder die über ein Modem oder ein anderes Schnittstellengerät, wie zum Beispiel den Kommunikationsadapter 890, der am Netzwerk 895 angeschlossen ist, über ein Medium 891 übertragen werden. Bei dem Medium 891 kann es sich entweder um ein berührbares Medium handeln, wobei es sich unter anderem auch um optische oder hartverdrahtete Kommunikationsleitungen handeln kann, oder welches mit drahtlosen Techniken implementiert sein kann, wozu unter anderem Mikrowellen-, Infrarot- oder andere Übertragungstechniken zählen. Es kann sich dabei auch um das Internet handeln. Bei einer derartigen Übertragung können die Softwarekomponenten die Form eines digitalen Signals annehmen, das sich in einer Trägerwelle befindet. Eine Reihe von Computerbefehlen enthält alle oder einige der Funktionen, die zuvor im Hinblick auf die Erfindung beschrieben wurden. Fachleute dieses Bereichs werden anerkennen, dass solche Computeranweisungen in einer Vielzahl von Programmiersprachen geschrieben und in zahlreichen Computerarchitekturen oder Betriebssystemen verwendet werden können. Weiter können solche Anweisungen mit Hilfe jeder beliebigen zukünftigen oder gegenwärtigen Speichertechnologie gespeichert werden, wobei unter anderem Halbleiter-, magnetische, optische oder andere Speichervorrichtungen zu erwähnen sind, oder mit Hilfe einer beliebigen gegenwärtigen oder zukünftigen Kommunikationstechnologie übertragen werden können, wobei unter anderem optische, Infrarot-, Mikrowellen- oder andere Übertragungstechnologien zu erwähnen sind. Es wird auch überlegt, ein solches Computerprogramm als entfernbares Medium mit einer begleitenden gedruckten oder elektronischen Dokumentation zu verteilen, z. B. als in Schrumpfhülle verpackte Software, vorinstalliert auf einem Computersystem, z. B. auf einem System-ROM oder auf Festplatte, oder verteilt von einem Server oder einem elektronischen Mailboxsystem über ein Netzwerk, z. B. dem Internet oder dem World Wide Web.
  • Wenngleich eine beispielhafte Ausführungsform der Erfindung offenbart wurde, ist es für Fachleute dieses Bereiches leicht ersichtlich, dass verschiedene Änderungen und Modifizierungen durchgeführt werden können, welche einige der Vorteile der Erfindung mit sich bringen, ohne dadurch von Geist und Umfang der Erfindung abzuweichen. Für Fachleute dieses Bereiches ist es weiter offensichtlich, dass andere Komponenten, welche die selben Funktionen ausüben, anstelle der hier genannten verwendet werden können. Weiter können die Methoden der Erfindung entweder in ausschließlichen Software-Implementationen mit Hilfe der entsprechenden Prozessoranweisungen oder in Hybrid-Implementationen umgesetzt werden, welche eine Kombination aus Hardware-Logik und Software-Logik verwenden, um die selben Ergebnisse zu erzielen. Weitere Aspekte, wie zum Beispiel die Speichergröße, die spezifische Konfiguration der zur Erzielung einer bestimmten Funktion notwendigen Logik und/oder Anweisungen, sowie andere Modifizierungen am erfinderischen Konzept sollen von den angehängten Ansprüchen abgedeckt werden. Daher sollte die Erfindung nur insofern als eingeschränkt betrachtet werden, als dies durch den Umfang der Ansprüche angezeigt wird.

Claims (7)

  1. Verfahren zur Warehouse-Verarbeitung von Objekten oder Positionen von Objekten auf eine Art und Weise, die der Wissensextraktion mit Hilfe von Abfragen in einem verteilten Computer-Datenbanksystem (100) mit einer Vielzahl an Indexknoten (106) und einer Vielzahl an Warehouse-Knoten (108) dienlich ist, die über ein Netzwerk (895) miteinander verbunden sind, wobei das Verfahren die folgenden Schritte umfasst: A) das Extrahieren einer ersten Anzahl an Merkmalen aus einem Objekt, das von einer anderen Datenbank (201) heruntergeladen wurde (Schritt 202), durch einen Warehouse-Knoten (108); B) das Fragmentieren der einzelnen extrahierten Objektmerkmale in eine Anzahl von Objektmerkmalsfragmenten; C) das Streuspeichern der einzelnen Objektmerkmalsfragmente der ersten Anzahl an Objektmerkmalen durch den Warehouse-Knoten (108), wobei jedes der streugespeicherten Objektmerkmalsfragmente einen ersten Abschnitt (402) und einen ersten zweiten Abschnitt (404) besitzt; D) das Übertragen (Schritt 204) der einzelnen streugespeicherten Objektmerkmalsfragmente der ersten Anzahl an Merkmalsfragmenten durch den Warehouse-Knoten zu einem jeweiligen der Vielzahl an Indexknoten (106), die vom ersten Abschnitt (402) des jeweiligen streugespeicherten Objektmerkmals angegeben werden; E) das Verwenden des zweiten Abschnitts (404) des jeweiligen streugespeicherten Objektmerkmalsfragments durch den Indexknoten (106), um auf Daten gemäß einer lokalen Streuspeichertabelle (603), die sich am Indexknoten (106) befindet, zuzugreifen; F) das Zurückgeben (Schritt 206) einer Anzahl an Objekt-Bezeichnern (OID), welche den Daten, auf die zugegriffen wurde, entsprechen, an den Warehouse-Knoten (108) durch die einzelnen Indexknoten (106), welche auf Daten gemäß dem jeweiligen streugespeicherten Objektmerkmalsfragment zugreifen; G) das Bestimmen durch den Warehouse-Knoten (108), ob das Objekt einem Objekt-Bezeichner (OID) aus der Anzahl der Objektbezeichner (OID) zuzuordnen ist, oder ob das Objekt einem Objektbezeichner (OID) zuzuordnen ist, der noch nicht in Verwendung steht; H) das Zuordnen eines Objektbezeichners (OID) zum Objekt gemäß der Bestimmung durch den Warehouse-Knoten (108); I) das Extrahieren einer zweiten Anzahl an Merkmalen aus dem Objekt durch den Warehouse-Knoten (108); J) das Fragmentieren der extrahierten zweiten Anzahl an Objektmerkmalen in eine Anzahl an Objektmerkmalsfragmenten; K) das Streuspeichern der einzelnen Objektmerkmalsfragmente der zweiten Anzahl an Objektmerkmalen durch den Warehouse-Knoten (108), wobei das streugespeicherte Objektmerkmalsfragment einen ersten Abschnitt (402) und einen ersten zweiten Abschnitt (404) besitzt; L) das Übertragen (Schritt 208) der einzelnen streugespeicherten Objektmerkmalsfragmente der zweiten Anzahl an Merkmalsfragmenten durch den Warehouse-Knoten (108) zu einem jeweiligen der Vielzahl an Indexknoten (106), die vom ersten Abschnitt (402) des jeweiligen streugespeicherten Objektmerkmalfragments angegeben werden; und M) das Verwenden (Schritt 210) des ersten zweiten Abschnitts (404) des jeweiligen streugespeicherten Objektmerkmalsfragments durch den Indexknoten (106), um Daten gemäß einer lokalen Streuspeichertabelle, die sich am Indexknoten (106) befindet, zu speichern.
  2. Verfahren nach Anspruch 1, weiter umfassend den Schritt des Bestimmens eines Maßes der Ähnlichkeit durch den Warehouse-Knoten (108) zwischen den Daten, auf die zugegriffen wird, und dem Objekt, nachdem der Schritt der Rückgabe der ersten Anzahl an Objektbezeichnern (OID) ausgeführt wurde.
  3. Verfahren nach Anspruch 2, wobei das Maß der Ähnlichkeit bestimmt wird durch eine Ähnlichkeitsfunktion, die auf Merkmalen basiert, welche sowohl den Daten, auf die zugegriffen wird, als auch dem Objekt eigen sind, und Merkmalen, die nur dem Objekt eigen sind.
  4. Verteiltes Computer-Datenbanksystem (100) für das Warehousing von Informationsobjekten oder Positionen von Informationsobjekten, umfassend: A) eine Anzahl an Warehouse-Knoten (108) und eine Anzahl an Indexknoten (106), wobei die Anzahl an Warehouse-Knoten (108) und die Anzahl an Indexknoten (106) durch ein Netzwerk (895) (110) miteinander verbunden sind; B) wobei jeder Warehouse-Knoten (108) beim Herunterladen eines Objekts eine erste Anzahl an Merkmalen aus dem Objekt extrahiert, jedes der Objektmerkmale in ein Objektmerkmalfragment fragmentiert, jedes der Objektmerkmalsfragmente in ein streugespeichertes Objektmerkmalsfragment mit einem ersten Abschnitt (402) und einem ersten zweiten Abschnitt (404) streuspeichert, und jedes der streugespeicherten Objektmerkmalsfragmente zu einem jeweiligen der Anzahl an Indexknoten (106) überträgt, der vom ersten Abschnitt (402) des streugespeicherten Objektmerkmalsfragments angegeben wird; C) wobei jeder der Indexknoten (106) den ersten zweiten Abschnitt (404) des streugespeicherten Abfragemerkmalfragments verwendet, um auf die Daten gemäß einer lokalen Streuspeichertabelle zuzugreifen, die sich am Indexknoten (106) befindet, und eine Vielzahl an Objekt-Bezeichnern, welche den Daten, auf die zugegriffen wurde, entsprechen, an den Warehouse-Knoten (108) zurückgibt; D) wobei das Warehouse dem Objekt entweder einen der Objektbezeichner (OID) der Anzahl an Objektbezeichner (OID)n oder einen noch nicht verwendeten Objektbezeichner (OID) zuordnet, eine zweite Anzahl an Merkmalen aus dem Objekt extrahiert, jedes der extrahierten Merkmale der zweiten Anzahl an Fragmenten in eine Anzahl an Objektmerkmalsfragmenten extrahiert; jedes der Objektmerkmalsfragmente der zweiten Anzahl an Objektmerkmalen in ein streugespeichertes Objektmerkmal mit einem ersten und ersten zweiten Abschnitt (404) streuspeichert, und jedes der streugespeicherten Objektmerkmalsfragmente zu einem jeweiligen der Anzahl an Indexknoten (106) überträgt, der vom ersten Abschnitt (402) des streugespeicherten Objektmerkmalfragments angegeben wird; E) wobei jeder Indexknoten (106) den zweiten Abschnitt (404) des jeweiligen streugespeicherten Objektmerkmalsfragments verwendet, um die Objekte oder Positionen der Objekte gemäß einer lokalen Streuspeichertabelle, die sich am Indexknoten (106) befindet, zu speichern.
  5. Verteiltes Computer-Datenbanksystem nach Anspruch 4, wobei der Warehouse-Knoten (108) ein Maß der Ähnlichkeit zwischen den Daten, auf die zugegriffen wird, und dem Objekt bestimmt, um dem Objekt einen Objektbezeichner (OID) zuzuordnen.
  6. Verteiltes Computer-Datenbanksystem nach Anspruch 5, wobei der Warehouse-Knoten (108) die Ähnlichkeit mit Hilfe einer Ähnlichkeitsfunktion misst, die von Merkmalen bestimmt wird, welche sowohl den Daten, auf die zugegriffen wird, als auch dem Objekt eigen sind; und Merkmalen, die nur dem Objekt eigen sind.
  7. Speichermedium mit einem als Programmcode gespeicherten Datenverarbeitungsprogramm, das bei Verwendung in einer Datenverarbeitungseinrichtung das Verfahren nach einem der Ansprüche 1 bis 3 ausführt.
DE10014757A 2000-03-24 2000-03-24 Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing Expired - Fee Related DE10014757B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10014757A DE10014757B4 (de) 2000-03-24 2000-03-24 Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10014757A DE10014757B4 (de) 2000-03-24 2000-03-24 Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing

Publications (2)

Publication Number Publication Date
DE10014757A1 DE10014757A1 (de) 2001-09-27
DE10014757B4 true DE10014757B4 (de) 2012-10-04

Family

ID=7636263

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10014757A Expired - Fee Related DE10014757B4 (de) 2000-03-24 2000-03-24 Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing

Country Status (1)

Country Link
DE (1) DE10014757B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10336648A1 (de) * 2003-08-09 2005-03-03 Abb Research Ltd. System und Verfahren zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter Anlagen

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694593A (en) * 1994-10-05 1997-12-02 Northeastern University Distributed computer database system and method
US5893088A (en) * 1996-04-10 1999-04-06 Altera Corporation System and method for performing database query using a marker table
WO2000005663A2 (en) * 1998-07-24 2000-02-03 Jarg Corporation Distributed computer database system and method for performing object search
WO2000005664A1 (en) * 1998-07-24 2000-02-03 Jarg Corporation Search system and method based on multiple ontologies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694593A (en) * 1994-10-05 1997-12-02 Northeastern University Distributed computer database system and method
US5893088A (en) * 1996-04-10 1999-04-06 Altera Corporation System and method for performing database query using a marker table
WO2000005663A2 (en) * 1998-07-24 2000-02-03 Jarg Corporation Distributed computer database system and method for performing object search
WO2000005664A1 (en) * 1998-07-24 2000-02-03 Jarg Corporation Search system and method based on multiple ontologies

Also Published As

Publication number Publication date
DE10014757A1 (de) 2001-09-27

Similar Documents

Publication Publication Date Title
DE69910219T2 (de) Transformation der perspektive auf tabellen von relationalen datenbanken
DE60004385T2 (de) Verfahren und systeme um olap hierarchien zusammenfassbar zu machen
DE60121231T2 (de) Datenverarbeitungsverfahren
US6463433B1 (en) Distributed computer database system and method for performing object search
DE69907631T2 (de) Netzzugang zu inhaltsadressierbaren daten
DE19782227B4 (de) Verfahren zum Verteilen von Indexdaten unter einer Mehrzahl vernetzter Knoten und System zum Verwalten eines Index
DE202015009874U1 (de) Implementierung semistrukturierter Daten als ein Datenbankelement erster Klasse
DE112015000347T5 (de) Verarbeiten von Datensätzen in einer Ablage für große Datenmengen
CH704497B1 (de) Verfahren zum Benachrichtigen, Speichermedium mit Prozessoranweisungen für ein solches Verfahren.
DE202020005789U1 (de) Ereignisdetektierung in Echtzeit auf sozialen Datenströmen
DE10333530A1 (de) Automatische Indexierung von digitalen Bildarchiven zur inhaltsbasierten, kontextsensitiven Suche
JP2005525657A (ja) データベースシステムにおける式の管理
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
EP2100234A1 (de) System und verfahren zur benutzergesteuerten multidimensionalen navigation und/oder themenbasierten aggregation und/oder überwachung von multimediadaten
DE112016005374T5 (de) Identifizieren von Abfragemustern und zugeordneten aggregierten Statistikdaten unter Suchabfragen
US20020049759A1 (en) High performance relational database management system
CN108647322A (zh) 基于词网识别大量Web文本信息相似度的方法
DE202023101653U1 (de) Organisations- und cloudübergreifende automatisierte Datenpipelines
DE10056763A1 (de) Generieren von Einschränkungsabfragen mit Hilfe von Tensordarstellungen
CN106326317A (zh) 数据处理方法及装置
CN110532282A (zh) 数据查询方法及装置
WO2005057426A1 (de) System und verfahren zur aggregation und analyse von dezentralisiert gespeicherten multimediadaten
DE102021109138A1 (de) Ausführung von abfrageplänen
DE10320419A9 (de) Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank
DE102016015536A1 (de) Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: PUSCHMANN BORCHERT BARDEHLE PATENTANWAELTE PARTNER

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130105

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016220000