DE60226130T2 - Verfahren und Computersystem zum Indexieren strukturierter Dokumente - Google Patents

Verfahren und Computersystem zum Indexieren strukturierter Dokumente Download PDF

Info

Publication number
DE60226130T2
DE60226130T2 DE2002626130 DE60226130T DE60226130T2 DE 60226130 T2 DE60226130 T2 DE 60226130T2 DE 2002626130 DE2002626130 DE 2002626130 DE 60226130 T DE60226130 T DE 60226130T DE 60226130 T2 DE60226130 T2 DE 60226130T2
Authority
DE
Germany
Prior art keywords
indexing
structured document
file system
structured
webdav
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 - Lifetime
Application number
DE2002626130
Other languages
English (en)
Other versions
DE60226130D1 (de
Inventor
Markus Özgen
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Priority claimed from EP02011742A external-priority patent/EP1367504B1/de
Publication of DE60226130D1 publication Critical patent/DE60226130D1/de
Application granted granted Critical
Publication of DE60226130T2 publication Critical patent/DE60226130T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich allgemein auf elektronische Datenverarbeitung und bezieht sich insbesondere auf ein Verfahren, ein Computerprogrammprodukt und ein System für die Datenbankverwaltung.
  • Hintergrund der Erfindung
  • Die Leute lernen immer noch, wie die im Internet und in Intranets verfügbare Informationsflut effizient verwendet werden soll. Gegenwärtige Suchmaschinen bringen sehr umfangreiche Ergebnisse, welche die benötigten Informationen von Stellen auf der ganzen Welt enthalten können. Es gibt mehrere Hauptfunktionen in einer Suchmaschine: Sammeln von Informationen, Indexieren, Klassifizieren und Suchen. Das Sammeln von Informationen verwendet normalerweise Webcrawler bzw. Netzdurchforstungsprogramme, um besuchte Seiten an die Indexmaschine zu schicken. Der Indexmechanismus verwendet normalerweise eine Art invertierter Dateien und gibt, wenn ihm ein Wort gegebne wird, eine Liste mit Referenzen zurück, die das Wort enthalten. Die Klassifizierung oder Eingruppierung versucht, die Seiten gemäß einigen Attributen, wie etwa Inhalten bzw. Themen, zu klassifizieren. Die Suchfunktion erlaubt dem Benutzer, inhaltsbasierte Abfragen zu machen und geordnete Ergebnissätze zu erhalten.
  • XML ist eine Metasprache, die dem Benutzer erlaubt, eine Sprache zum Verfassen strukturierter Dokumente zu definieren. Mit XML kann der Benutzer alle gewünschten Tags bzw. Markierungen zum Strukturieren von Dokumenten definieren.
  • Strukturierte Dokumente beziehen sich auf Dokumente, die verschachtelte Strukturen haben können. Unter der Annahme, dass strukturierte Dokumente, insbesondere in Intranets und Extranets (zwischen Betrieben), wo es wahrscheinlicher ist, dass Dokumente regelmäßig strukturiert sind, in Hülle und Fülle vorhanden sein werden, besteht ein Bedarf an einer Suchmaschine, die Dokumentstrukturen versteht und einem Benutzer erlaubt, strukturierte Abfragen zu machen.
  • US-A-6 240 407 beschreibt eine Suchmaschine des Stands der Technik für eine große Ablage strukturierter Dokumente unter Verwendung von Indexierungsmodellen, die strukturierte Abfragen unterstützen und die Abfragen ausführen, ohne auf die strukturierten Dokumente zurückzugreifen. Um den strukturierten Index zu erzeugen, wird ein strukturiertes Dokument in einem Datenbanksystem in zumindest ein entsprechendes Element geparst bzw. analysiert, dann unter Verwendung eines entsprechenden Abstraktionsverfahrens abstrahiert, um einen Satz abstrahierter Werte zu erhalten. Der Satz abstrahierter Werte wird zum Ausführen strukturierter Abfragen in den Index gespeichert.
  • In dem Artikel „Ich bin wichtig", veröffentlichet im „C'T Magazin für Computertechnik", Nr. 23, 11. November 1999, S. 180–186, beschreibt S. Lennartz ein Indexierungsverfahren, das einem erlaubt, ein strukturiertes Dokument als ein Ganzes basierend auf Metatags zu indexieren, wenn eine Indexierungsmaschine auf ein Metatag reagiert, was nicht für alle Indexierungsmaschinen der Fall ist.
  • Der Artikel „A new method for maintaining semi-structured date described in XML", Kasukawa T. et al., Comm. Corp. and Signal Proc., 1999 IEEE Pacific Rim Conf. On Victoria, BC, Kanada, 22.–24. August, Piscataway, NJ, USA, IEEE, US, 22. August 1999, S. 258–261, offenbart ein Verfahren zum Pflegen einer Datenbank mit XML-Dokumenten, die zur Auffindung basierend auf Struktur und Inhalt abgefragt werden kann.
  • Es besteht ein anhaltender Bedarf, das intelligente Indexieren strukturierter Dokumente zu verbessern, um skalierbare Suchmaschinen in einer Web-based-Distributed-Authoring-and-Versioning-Umgebung bereitzustellen.
  • Zusammenfassung der Erfindung
  • Folglich wird das technische Problem des Indexierens strukturierter Dokumente in einem Web-based-Distributed-Authoring-and-Versioning-(WebDAV-)Dateisystem durch ein Verfahren gemäß Anspruch 1 gelöst. Weitere Ausführungsformen der Erfindung sind ein Computersystem gemäß Anspruch 11 und ein Computerprogrammprodukt gemäß Anspruch 7.
  • Wenn eine Ausführungsform der Erfindung verwendet wird, in der das WebDAV-Dateisystem in einem relationalen Datenbankverwaltungssystem (RDBMS) implementiert ist, kann die Ausführungsform der Erfindung verwendet werden, um strukturierte Dokumente in einem RDBMS zu indexieren. Ferner führt eine Ausführungsform der Erfindung automatisch versioniertes Indexieren (= Indexieren mehrerer Versionen eines strukturierten Dokuments) durch.
  • Durch Verwenden verschiedener Prozessoren zum Betreiben des WebDAV-Dateisystems und zum Indexieren der strukturierten Dokumente werden negative Effekte, wie etwa eine lange Antwortzeit des WebDAV-Dateisystems auf eine Benutzeranfrage, verringert.
  • Durch gleichzeitiges Verwenden mehrerer Indexierungsprozesse zum Indexieren einer Vielzahl strukturierter Dokumente in dem WebDAV-Dateisystem wird das Indexieren beschleunigt.
  • Die Aspekte der Erfindung werden mittels der Elemente und Kombinationen, auf die in den beigefügten Patentansprüchen besonders hingewiesen wird, realisiert und erreicht. Es versteht sich, dass beide, die vorangehende allgemeine Beschreibung und die folgende detaillierte Beschreibung lediglich beispielhaft und erläuternd sind und nicht einschränkend für die Erfindung, wie beschrieben, sind.
  • Kurze Beschreibung der Zeichnungen
  • 1 stellt ein vereinfachtes Blockdiagramm eines Computernetzwerksystems dar, das mit einer Ausführungsform der vorliegenden Erfindung verwendet werden kann;
  • 2 stellt einen Abschnitt eines Speichers eines Computers dar, der Softwarekomponenten speichert, die in einer Ausführungsform der Erfindung verwendet werden können;
  • 3 stellt einen Computer zum Indexieren strukturierter Dokumente gemäß einer alternativen Ausführungsform der Erfindung dar;
  • 4 einen Sperrmechanismus für asynchrones Indexieren strukturierter Dokumente gemäß einer Ausführungsform der Erfindung; und
  • 5 stellt ein vereinfachtes Flussdiagramm eines Verfahrens dar, das mit einer Ausführungsform der Erfindung implementiert werden kann.
  • Detaillierte Beschreibung der Erfindung
  • Wo immer möglich, werden über die Zeichnungen hinweg die gleichen Bezugsnummern verwendet, um auf gleiche oder ähnliche Teile Bezug zu nehmen. Der einfacheren Erklärung halber wird vor den Patentansprüchen eine Liste mit Bezügen bzw. Referenzen bereitgestellt.
  • 1 stellt ein vereinfachtes Blockdiagramm eines beispielhaften Computersystems dar, das Ausführungsformen der vorliegenden Erfindung implementiert. Das Computersystem 999 umfasst den Computer 900 und hat eine Vielzahl weiterer Computer 901, 902 (oder 90q mit q = 0 ... Q-1, Q beliebige Zahl).
  • Der Computer 900 kann über ein Computernetzwerk 990 mit weiteren Computern 901, 902 verbunden werden. Der Computer 900 umfasst den Prozessor 910, den Speicher 920, den Bus 930 und wahlweise die Eingabevorrichtung 940 und die Ausgabevorrichtung 950 (E/A-Vorrichtungen, Benutzerschnittstelle 960). Wie dargestellt, ist die Erfindung als Computerprogrammprodukt 100 (CPP), Programmträger 970 und Programmsignal 980, gemeinschaftlich „Programm", vorhanden.
  • In Bezug auf den Computer 900 wird auf den Computer 901/902 manchmal als „entfernter Computer" Bezug genommen, der Computer 901/902 ist zum Beispiel ein Server, ein Router eine Peer-Vorrichtung oder ein anderer üblichen Netzknoten und umfasst typischerweise viele oder alle der in Bezug auf den Computer 900 beschriebenen Elemente. Folglich stellen die Elemente 100 und 910980 in dem Computer 900 zusammen auch entsprechende Elemente 10q und 91q98q (gezeigt für q = 0) in Computern 90q dar.
  • Der Computer 900 ist zum Beispiel ein herkömmlicher Personalcomputer (PC), eine Tischvorrichtung oder eine tragbare Vorrichtung, ein Multiprozessor-Computer, ein Stiftcomputer, eine Mikroprozessor-basierte oder programmierbare Unterhaltungs- oder Haushaltselektronik, ein Minicomputer, ein Großrechner, eine persönliche mobile Computervorrichtung, ein Mobiltelefon, ein tragbarer oder ortsfester Personalcomputer, ein Palmtopcomputer oder ähnliches.
  • Der Prozessor 910 ist zum Beispiel eine zentrale Verarbeitungseinheit (CPU), eine Mikrocontrollereinheit (MCU), ein digitaler Signalprozessor (DSP) oder ähnliches.
  • Der Speicher 920 symbolisiert Elemente, die vorübergehend oder permanent Daten und Anweisungen speichern. Wenngleich der Speicher 920 in geeigneter Weise als Teil des Computers 900 dargestellt ist, kann die Speicherfunktion auch in dem Netzwerk 990, den Computern 901/902 und in dem Prozessor 910 selbst (z. B. Cache, Register) oder sonst wo implementiert werden. Der Speicher 920 kann ein Nur-Lese-Speicher (ROM), ein Direktzugriffspeicher (RAM) oder ein Speicher mit anderen Zugriffsoptionen sein. Der Speicher 920 ist physikalisch durch computerlesbare Medien, wie etwa zum Beispiel (a) magnetische Medien, wie etwa eine Festplatte, eine Diskette oder eine andere Magnetplatte, ein Band, ein Kassettenband; (b) optische Medien, wie etwa eine optische Platte (CD-ROM, digitale Mehrzweckplatte – DVD); (c) Halbleitermedien, wie etwa DRAM, SRAM, EPROM, EEPROM, Speicherstift oder durch beliebige andere Medien, wie etwa Papier, implementiert.
  • Wahlweise ist der Speicher 920 über verschiedene Medien verteilt. Abschnitte des Speichers 920 können entfernbar oder nicht entfernbar sein. Zum Lesen von Medien und Schreiben auf Medien verwendet der Computer 900 Vorrichtungen, die in der Technik wohlbekannt sind, wie etwa zum Beispiel Plattenlaufwerke, Bandlaufwerke.
  • Der Speicher 920 speichert Unterstützungsmodule, wie etwa zum Beispiel ein grundlegendes Eingabe-Ausgabesystem (BIOS), ein Betriebssystem (BS), eine Programmbibliothek, einen Compiler, einen Interpretierer und ein Textverarbeitungswerkzeug. Unterstützungsmodule sind kommerziell erhältlich und können von Leuten mit Kenntnissen der Technik auf dem Computer 900 installiert werden. Der Einfachheit halber sind diese Module nicht dargestellt.
  • Das CPP 100 umfasst Programmanweisungen – und wahlweise – Daten, die den Prozessor 910 dazu bringen, Verfahrensschritte der vorliegenden Erfindung auszuführen. Verfahrensschritte sind nachstehend detaillierter erklärt. Mit anderen Worten definiert das CPP 100 den Betrieb des Computers 900 und seine Interaktion in dem Netzwerksystem 999. Zum Beispiel und ohne die Absicht, einzuschränken, kann das CPP 100 als ein Quellcode in einer beliebigen Programmiersprache und als ein Objektcode („Binärcode") in einer komplilierten verfügbar sein. Leute mit Kenntnissen der Technik können das CPP 100 in Verbindung mit jedem der vorstehenden Unterstützungsmodule (z. B. Compiler, Interpretierer, Betriebssystem) verwenden.
  • Wenngleich das CPP 100 als in dem Speicher 920 gespeichert gezeigt ist, kann das CPP 100 sich woanders befinden. Das CPP 100 kann auch in dem Träger 970 ausgeführt werden.
  • Der Träger 970 ist außerhalb des Computers 900 dargestellt. Für die Kommunikation des CPP 100 mit dem Computer 900 wird der Träger 970 in geeigneter Weise in die Eingabevorrichtung 940 eingesetzt. Der Träger ist als beliebiges computerlesbares Medium, wie etwa ein Medium, das vorstehend im Wesentlichen erklärt ist, implementiert (siehe Speicher 920). Im Allgemeinen ist der Träger 970 ein Herstellungsartikel, der ein computerlesbares Medium mit einem computerlesbaren Programmcodemittel umfasst, das darin ausgeführt ist, um das Verfahren der vorliegenden Erfindung auszuführen. Ferner kann das Programmsignal 980 auch das Computerprogramm 100 ausführen. Das Signal 980 wandert auf dem Netzwerk 990 zu dem Computer 900.
  • Die Beschreibung des CPP 100, des Programmträgers 970 und des Programmsignals 980 in Verbindung mit dem Computer 900 ist zweckmäßig. Wahlweise verkörpern der (nicht gezeigte) Programmträger 971/972 und das Programmsignal 981/982 das Computerprogrammprodukt (CPP) 101/102, das durch den (nicht gezeigten) Prozessor 911/912 jeweils in den Computern 901/902 ausgeführt werden soll.
  • Die Eingabevorrichtung 940 symbolisiert eine Vorrichtung, die Daten und Anweisungen zur Verarbeitung durch den Computer 900 bereitstellt. Zum Beispiel ist die Vorrichtung 940 eine Tastatur, eine Zeigervorrichtung (z. B. eine Maus, ein Trackball bzw. eine Rollkugel, eine Cursor- bzw. Eingabezeiger-Lenktasten), ein Mikrofon, ein Joystick, ein Gamepad, einen Scanner, ein Plattenlaufwerk. Wenngleich die Beispiele Vorrichtungen mit menschlicher Interaktion sind, kann die Vorrichtung 940 auch ohne menschliche Interaktion arbeiten, wie zum Beispiel ein drahtloser Empfänger (z. B. mit Satellitenschüssel oder terrestrischer Antenne), ein Sensor (z. B. ein Thermometer), ein Zähler (z. B. Warenzähler in einer Fabrik). Die Eingabevorrichtung 940 kann auch dazu dienen, einen Träger 970 zu lesen.
  • Die Ausgabevorrichtung 950 symbolisiert eine Vorrichtung, die Anweisungen und Daten darstellt, die verarbeitet wurden. Zum Beispiel einen Monitor oder eine Anzeige (Kathodenstrahlröhre (CRT)), eine Flachbildschirmanzeige, eine Flüssigkristallanzeige (LCD), einen Lautsprecher, einen Drucker, einen Kurvenschreiber, eine Vibrationsalarmvorrichtung. Ähnlich wie vorstehend kommuniziert die Ausgabevorrichtung 950 mit dem Benutzer, aber sie kann auch mit weiteren Computern kommunizieren.
  • Die Eingabevorrichtung 940 und die Ausgabevorrichtung 950 können zu einer einzigen Vorrichtung kombiniert werden; jede Vorrichtung 940 und 950 kann wahlweise bereitgestellt werden.
  • Der Bus 930 und das Netzwerk 990 stellen durch Beförderung von Anweisungs- und Datensignalen logische und physikalische Verbindungen bereit. Während auf Verbindungen innerhalb des Computers 900 zweckmäßigerweise als „Bus 930" Bezug genommen wird, wird auf Verbindungen zwischen Computern 900902 als „Netzwerk 990" Bezug genommen. Wahlweise umfasst das Netzwerk 990 Gateways, die Computer sind, die auf Datenübertragung und Protokollumsetzung spezialisiert sind.
  • Die Vorrichtungen 940 und 950 sind durch den Bus 930 (wie dargestellt) oder durch das Netzwerk 990 (wahlweise) mit dem Computer 900 gekoppelt. Während die Signale innerhalb des Computers 900 meistens elektrische Signale sind, sind die Signale in dem Netzwerk elektrische, magnetische, optische oder drahtlose (Funk-)Signale.
  • Vernetzungsumgebungen (wie das Netzwerk 990) sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet (d. h. weltweites Netz) alltäglich. Die physikalische Entfernung zwischen einem entfernten Computer und einem Computer 900 ist nicht wichtig. Das Netzwerk 990 kann verdrahtet oder ein drahtloses Netzwerk sein. Um ein paar Netzwerkimplementierungen zu nennen, ist das Netzwerk 990 zum Beispiel ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN), ein öffentliches Telefonnetz (PSTN), ein dienstintegrierendes digitales Netzwerk (ISDN), eine Infrarot-(IR-)Verbindung, eine Funkverbindung, wie etwa das universelle mobile Telekommunikationssystem (UMTS), das globale System zur Mobilkommunikation (GSM), Codemultiplex-Vielfachzugriff (CDMA) oder eine Satellitenverbindung.
  • Übertragungsprotokolle und Datenformate sind zum Beispiel bekannt als Übertragungssteuerungsprotokoll/Internetprotokoll (TCP/IP), Hypertext-Transferprotokoll (HTTP), sicheres HTTP, drahtloses Anwendungsprotokoll, Unique Resource Locator (URL), Unique Resource Identifier (URI), Hypertext-Markup-Language HTML, Extensible Markup-Language (XML), Extensible Hypertext-Markup-Language (XHTML), Wireless Application-Markup-Language (WML), Standard Generalized Markup Language (SGML) etc.
  • Zwischen die Elemente gekoppelte Schnittstellen sind in der Technik ebenfalls wohlbekannt. Der Einfachheit halber sind Schnittstellen nicht dargestellt. Eine Schnittstelle kann zum Beispiel eine serielle Anschlussschnittstelle, eine parallele Anschlussschnittstelle, ein Spielanschluss, eine universelle serielle Bus (USB-)Schnittstelle, ein internes oder externes Modem, ein Videoadapter oder ein Soundkarte sein.
  • Computer und Programm sind eng verknüpft. Wie hier nachstehend verwendet, sind Formulierungen, wie etwa „der Computer stellt bereit" und „das Programm stellt bereit" geeignete Abkürzungen, um Aktionen eines Computers auszudrücken, der von einem Programm gesteuert wird.
  • 2 stellt einen Abschnitt eines Speichers 921 des Computers 901 dar (siehe 1), der Softwarekomponenten speichert, die in einer Ausführungsform der Erfindung verwendet werden können. In einer anderen Ausführungsform sind einige oder alle der Softwarekomponenten in einer anderen Speichervorrichtung des Computersystems 999 (siehe 1) oder in einer Speichervorrichtung, die über ein Netzwerk (z. B. LAN, WAN, Internet) mit dem Computersystem 999 verbunden ist, gespeichert. Die Softwarekomponenten werden nun detailliert beschrieben.
  • Strukturierte Dokumente können unter Verwendung von Web-based-Distributed-and-Versioning (WebDAV) verwaltet werden. WebDAV ist eine Erweiterung des HTTP-Protokolls. Das HTTP-Protokoll, das Fachleuten der Technik bekannt ist, stellt PUT- und GET-Funktionen zum Hochladen/Herunterladen strukturierter Dokumente auf/von einem Web-Server bereit. WebDAV stellt weitere Funktionen bereit, wie etwa
    • • MKCOL zum Erstellen von Sammlungen (Verzeichnissen)
    • • COPY und MOVE zum Kopieren, Verschieben und Umbenennen von Dateien und
    • • DELETE zum Löschen von Dateien oder Sammlungen.
  • Diese weiteren Verfahren erlauben, einen Server zu verwenden, der WebDAV als ein Dateisystem unterstützt, wobei WebDAV als ein Zugriffsprotokoll auf das Dateisystem betrachtet werden kann. Die Implementierung des Dateisystems ist unabhängig von dem Zugriffsprotokoll. Auf Sammlungen und Dateien wird hier nachstehend als Ressourcen Bezug genommen. Zum Beispiel können in einer Implementierung Ressourcen in dem Dateisystem gespeichert werden und weitere Informationen, wie etwa Eigenschaften, können in einem relationalen Datenbankverwaltungssystem (RDBMS) gespeichert werden. In einer anderen Implementierung können alle Eigenschaften und Ressourcen in einem RDBMS gespeichert werden.
  • WebDAV stellt weitere Funktionen bereit, wie etwa
    • • PROPFIND zum Auflisten der Eigenschaften einer Ressource und
    • • PROPPATCH zum Festlegen und Ändern von Eigenschaften von Ressourcen durch Anwendungen, die die Ressourcen nutzen. Bevorzugt speichert der Speicher 921 ein Web-based-Distributed-
  • Authoring-and-Versioning-(WebDAV-)Dateisystem 200 (auf das hier nachstehend als Dateisystem 200 Bezug genommen wird). Zum Beispiel wird das Dateisystem 200 in einem Abschnitt des Speichers 921 gespeichert, der als ein relationales Datenbankverwaltungssystem (RDBMS) organisiert ist. Das Dateisystem 200 speichert Dokumente, wie etwa das strukturierte Dokument 210.
  • Das strukturierte Dokument 210 kann ein Markup-Language-Dokument, wie etwa ein XML-, XHTML- oder WML-Dokument, sein. Das strukturierte Dokument 210 hat zumindest eine Indexierungseigenschaft, wie etwa IP-1 und/oder IP-2 und hat ferner einen Identifikator bzw. eine Kennung ID-1.
  • Bevorzugt speichert der Speicher 921 auch das CPP 101 (nicht gezeigt; siehe 1). Das CPP 101 umfasst die folgenden Komponenten: eine Identifizierungseinrichtung 110, eine Extraktionseinrichtung 120, einen vordefinierten Extraktionsregelsatz 130, eine Indexwertdatenstruktur 140 und Schnittstellen 101-1 bis 101-6.
  • In dem Beispiel identifiziert die Identifizierungseinrichtung 110 das strukturierte Dokument 210 in dem Dateisystem 200 zum Indexieren. Zum Beispiel hat das strukturierte Dokument 210 zumindest eine Indexierungseigenschaft IP-1 und/oder IP-2. Eine Indexierungseigenschaft kann eine Dokumentart, eine URL und/oder eine Dokumentversion sein. Die Identifizierungseinrichtung 110 kann über die Schnittstelle 101-1 auf Indexierungseigenschaften IP-1, IP-2 des strukturierten Dokuments 210 zugreifen. In einer Ausführungsform der Erfindung ist der Zugriff auf Indexierungseigenschaften unter Verwendung der Funktion PROPFIND implementiert. In einem anderen Beispiel, das von den Patentansprüchen nicht abgedeckt ist, kann das Zugreifen auf die Indexierungseigenschaften mit einer entsprechenden SQL-Anweisung implementiert werden. Die Identifizierungseinrichtung 110 vergleicht die Indexierungseigenschaften des strukturierten Dokuments 210 mit Referenz-Indexierungseigenschaften. Zum Beispiel können die Referenz-Indexierungseigenschaften in einer (nicht gezeigten) entsprechenden Tabelle eines relationalen Datenbanksystems gespeichert werden. Bevorzugt greift die Identifizierungseinrichtung 110 über die Schnittstelle 101-2 auf die Referenz-Indexierungseigenschaften zu. In einer anderen Ausführungsform der Erfindung werden Referenz-Indexierungseigenschaften zum Beispiel in eine spezifische Eigenschaftsdatenstruktur gespeichert. Wie Fachleuten der Technik bekannt ist, kann die Indexwert-Datenstruktur 140 oder die spezifische Eigenschaftsdatenstruktur als Datenbanktabellen in einem RDBMS oder als ein weiteres strukturiertes Dokument, wie etwa eine XML-Datei, die zum Beispiel in das Dateisystem 220 gespeichert werden kann, implementiert werden. Wenn die Identifizierungseinrichtung 110 die Indexierungseigenschaft IP-1 und/oder IP-2 als entsprechenden Referenz-Indexierungseigenschaften entsprechend identifiziert, wird das strukturierte Dokument 210 der Indexierung unterzogen.
  • Die Extraktionseinrichtung 120 extrahiert entsprechend dem vordefinierten Extraktionsregelsatz 130 zumindest einen Indexwert IV-1 aus dem strukturierten Dokument 210. Bevorzugt ist die Extraktionseinrichtung 120 über die Schnittstelle 101-4 mit dem vordefinierten Extraktionsregelsatz 130 und über die Schnittstelle 101-5 mit dem strukturierten Dokument 210 verbunden. Der vordefinierte Extraktionsregelsatz 130 umfasst eine Vielzahl von Extraktionsregeln 130-1, 130-2, 130-3. Die Extraktionsregeln 130-1, 130-2, 130-3 sind XPath-Ausdrücke. Die Xpath-Spezifikation des W3C-Konsortiums ist Fachleuten der Technik bekannt. Wahlweise kann der Extraktionsregelsatz 130 in einer beliebigen Speichervorrichtung des Computersystems 999 oder in jeder Speichervorrichtung gespeichert werden, die über ein Netzwerk mit dem Computersystem 999 verbunden ist. Durch Anwenden des Extraktionsregelsatzes 130 auf das strukturierte Dokument 210 wird der zumindest eine Indexwert IV-1 extrahiert. Die Extraktionseinrichtung 120 verwendet dann die Schnittstelle 101-6, um den extrahierten Indexwert TV-1 in der Indexwertdatenstruktur 140 zusammen mit dem Identifikator ID-1 des strukturierten Dokuments 210 zu speichern.
  • Fachleute der Technik können weitere Ausführungsformen der Erfindung mit anderen Komponenten (z. B. nur eine einzige Komponente für die Identifizierungseinrichtung 110 und die Extraktionseinrichtung 120 oder das Aufnehmen des Extraktionsregelsatzes 130 in die Extraktionseinrichtung 120) und entsprechenden Schnittstellen konstruieren, um zu einem äquivalenten Indexierungssystem für strukturierte Dokumente in einem WebDAV-Dateisystem zu kommen. Diese weiteren Ausführungsformen werden als innerhalb des Bereichs der vorliegenden Erfindung betrachtet.
  • Wenn das Indexieren des strukturierten Dokuments 210 einmal abgeschlossen ist, kann wahlweise ein Indexierungsstatus des strukturierten Dokuments 210 auf einen Wert festgelegt werden, der anzeigt, dass das strukturierte Dokument bereits indexiert wurde. Zum Beispiel kann der Indexstatus als eine Eigenschaft des strukturierten Dokuments 210 implementiert werden, die unter Verwendung der Funktion PROPPATCH festgelegt wird.
  • In einem Beispiel, das von den Patentansprüchen nicht abgedeckt ist, arbeiten die Identifizierungseinrichtung 110 und die Extraktionseinrichtung 120, wie unter 2 beschrieben, synchron, wenn ein strukturiertes Dokument in einem Dateisystem 200 zum Beispiel unter Verwendung der Funktion PUT erzeugt wird. Zum Beispiel erzeugt eine Dokumenten-Eincheck-Anwendung das strukturierte Dokument 210, und eine Identifizierungseinrichtung 110 prüft im Wesentlichen gleichzeitig, ob das strukturierte Dokument 210 einer Indexierung unterzogen ist. Wenn ja, extrahiert die Extraktionseinrichtung 120 entsprechend dem Extraktionsregelsatz 130 Indexwerte (z. B. IV-1), und die extrahierten Indexwerte werden zusammen mit dem Identifikator ID-1 des strukturierten Dokuments 210 in die Indexwertdatenstruktur 140 gespeichert.
  • Gemäß der Erfindung arbeiten die Identifizierungseinrichtung 110 und die Extraktionseinrichtung 120, wie unter 2 beschrieben, asynchron. Mit anderen Worten ist das strukturierte Dokument 210 bereits in dem Dateisystem 200 vorhanden. Es ist jedoch noch nicht indexiert (was zum Beispiel durch den Indexstatus angezeigt wird). Die Identifizierungseinrichtung 110 und die Extraktionseinrichtung 120 werden durch ein spezifisches Ereignis ausgelöst, um entsprechend der Beschreibung von 2 zu arbeiten. Das spezifische Ereignis kann ein Steuersignal sein, das von einem Benutzer geschickt wird oder von dem Computersystem 999 automatisch erzeugt wird, zum Beispiel zu einem spezifischen Zeitpunkt oder auf regelmäßiger Basis, um das Dateisystem 200 kontinuierlich nach neuen strukturierten Dokumenten abzutasten, die indexiert werden sollen. Wenn zum Beispiel ein Auslöser bei Nacht auftritt, wenn nur ein paar Benutzer mit dem Computersystem 999 interagieren, kann eine große Anzahl von strukturierten Dokumenten (z. B. in einem Batch-Betrieb, der Fachleuten der Technik bekannt ist) verarbeitet werden, ohne CPU-Zeit zu verwenden, die von den Systemprozessen für die Benutzerinteraktion benötigt wird.
  • Ein spezifisches Implementierungsbeispiel für das Extrahieren eines spezifischen Indexwerts aus dem strukturierten Dokument 210 wird nun ohne die Absicht, den Bereich der Erfindung zu beschränken, erklärt.
  • Der Programmierungsabschnitt 1 zeigt ein vereinfachtes XML-Beispiel des strukturierten Dokuments 210 mit dem Identifikator ID-1 = "1111", der von Fachleuten der Technik zu verstehen ist. Programmierungsabschnitt 1:
    Figure 00130001
  • Die Extraktionsregel 130-1 entspricht dem folgenden XPath-Ausdruck:
    XPath_Index_Name="/departmentiemployeelist/name/text()"
  • Mit anderen Worten extrahiert die Extraktionseinrichtung 120 Indexwerte (z. B. Peter, Michael, etc.), die unter dem Inexierungseigenschaftsnamen XPath_Index_Name in dem Programmierungsabschnitt 1 gespeichert sind. Die Tabelle 1 zeigt Einträge, die in der Indexwertdatenstruktur 140 gespeichert sind, wenn der XPath-Ausdruck 130-1 auf den Programmierungsabschnitt 1 des strukturierten Dokuments 210 angewendet wird.
    Identifikator von strukturiertem Dokument Name der Indexierungseigenschaft Wert der Indexierungseigenschaft
    ... ... ...
    1111 XPath_Index_Name Peter
    1111 XPath_Index_Name Michael
    1111 XPath_Index_Name Ralf
    1111 XPath_Index_Name Carolin
    ... ... ...
    Tabelle 1: RDBMS-Beispiel für Indexwertdatenstruktur 140 nach dem Anwenden der Extraktionsregel 130-1.
  • Ein Beispiel für eine weitere Extraktionsregel 130-2 ist:
    XPath_Index_employeenumber="/department/employeelist/name/text0"
  • Das Anwenden der weiteren Extraktionsregel 130-2 auf den Programmierungsabschnitt 1 fügt einen anderen Eintrag für die Indexierungseigenschaft XPath_Index_employeenumber zu der Indexwertdatenstruktur 140 hinzu, wie in Tabelle 2 gezeigt.
    Identifikator von strukturiertem Dokument Name der Indexierungseigenschaft Wert der Indexierungseigenschaft
    ... ...
    1111 XPath_Index_Name Peter
    1111 XPath_Index_Name Michael
    1111 XPath_Index_Name Ralf
    1111 XPath_Index_Name Carolin
    1111 XPath_Index_employeenumber 4
    ... ...
    Tabelle 2: RDBMS-Beispiel der Indexwertdatenstruktur 140 nach dem Anwenden der Extraktionsregel 130-2.
  • Die Indexwertdatenstruktur 140 kann Indexwerte einer großen Anzahl strukturierter Dokumente speichern. Durch Verwenden der Indexwertdatenstruktur 140 können strukturierte Dokumente über eine entsprechende Abfrage identifiziert werden. Zum Beispiel kann eine Abfrage alle strukturierten Dokumente abfragen, die ein Department bzw. eine Abteilung mit mehr als 3 Angestellten beschreiben. In dem Beispiel identifiziert die Abfrage zumindest das strukturierte Dokument 210 mit dem Identifikator "1111".
  • Durch Verwenden eines eindeutigen Identifikators für jede Version eines strukturierten Dokuments oder durch Verwenden einer Versionseigenschaft des strukturierten Dokuments wird automatisch das versionierte Indexieren (= Indexieren von mehreren Versionen eines strukturierten Dokuments) bereitgestellt, wenn ein System verwendet wird, das das Indexieren gemäß einer Ausführungsform der Erfindung durchführt.
  • 3 stellt einen Computer 901 zum Indexieren strukturierter Dokumente gemäß einer alternativen Ausführungsform der Erfindung dar. Softwarekomponenten, wie etwa das Dateisystem 200 und das CPP 101 sind durch durchgezogene Rahmen dargestellt. Hardwarekomponenten, wie etwa der Speicher 921, der erste Prozessor 911 und der zweite Prozessor 921-2 sind durch gestrichelte Rahmen dargestellt.
  • In der alternativen Ausführungsform wird das Dateisystem 200 zumindest von dem ersten Prozessor 911 betrieben. Mit anderen Worten werden Programmanweisungen zum Betreiben des Dateisystems 200 von dem ersten Prozessor 911 ausgeführt. Das CPP 100 wird zumindest von dem zweiten Prozessor 911-2 ausgeführt.
  • Wie Fachleuten der Technik bekannt ist, kann jeder Prozessor den entsprechenden Systemprozessor zugewiesen werden. Gemeinsam genutzte Speicherprozessoren können verwendet werden, um die Leistung des Indexierungscomputers 901 zu verbessern.
  • Durch Verwenden verschiedener Prozessoren zum Betreiben des Dateisystems und zum Durchführen des Indexierens strukturierter Dokumente in dem Dateisystem hat das Indexieren keinen Einfluss auf die Leistung des Dateisystems (z. B. die Systemantwortzeit, wenn ein Benutzer ein Dokument in das Dateisystem einchecken möchte).
  • 4 stellt einen Sperrmechanismus für asynchrones Indexieren strukturierter Dokumente gemäß einer Ausführungsform der Erfindung dar.
  • Um das Indexieren des strukturierten Dokuments 210 und einer Vielzahl weiterer strukturierter Dokumente 220250, die in dem Dateisystem 200 gespeichert sind, zu beschleunigen, werden mehrere Indexierungsprozesse verwendet. In dem Beispiel werden der erste Indexierungsprozess 301 und der zweite Indexierungsprozess 302 (durch Pfeile dargestellt) verwendet. Das Symbol 310 stellt dar, dass ein strukturiertes Dokument gegenwärtig von einem anderen Indexierungsprozess gesperrt ist. Das Symbol 320 stellt dar, dass ein Indexierungsprozess bei einem strukturierten Dokument ankommt, das Gegenstand des Indexierens ist, aber noch nicht indexiert ist und nicht von einem anderen Indexierungsprozess gesperrt ist, und dass das strukturierte Dokument im Wesentlichen gleichzeitig mit dem Auswählen gesperrt wird.
  • In dem Beispiel erkennt der erste Indexierungsprozess 301, dass das strukturierte Dokument 250 bereits von einem anderen Indexierungsprozess gesperrt ist (nicht gezeigt). Daher überspringt der erste Indexierungsprozess 301 das gesperrte strukturierte Dokument und wählt das nächste ungesperrte strukturierte Dokument 210 in dem Dateisystem 200 aus. Im Wesentlichen gleichzeitig mit dem Auswählen des strukturierten Dokuments 210 sperrt der erste Indexierungsprozess 301 das strukturierte Dokument 210, während er das Dokument indexiert. Der zweite Indexierungsprozess 302 erkennt, dass die strukturierten Dokumente 210 und 250 bereits von anderen Indexierungsprozessen gesperrt sind, und wählt das nächste ungesperrte strukturierte Dokument 220 aus. Im Wesentlichen gleichzeitig mit dem Auswählen des strukturierten Dokuments 220 sperrt der zweite Indexierungsprozess 302 das strukturierte Dokument 220, während er das Dokument 220 indexiert.
  • Durch Verwenden des Auswahl- und Sperrmerkmals wie beschrieben, können Wartezeiten für Indexierungsprozesse (bis ein gesperrtes strukturiertes Dokument wieder entsperrt wird) beseitigt werden.
  • 5 stellt ein vereinfachtes Flussdiagramm eines Verfahrens 400 zum Indexieren strukturierter Dokumente in einem Computer dar, der ein Web-based-Distributed-Authoring-and-Versioning-(WebDAV-)Dateisystem 200 speichert. Zum Beispiel kann das Verfahren 400 von dem Computer 901 (siehe 1) des Computersystems 999 (siehe 1) ausgeführt werden. Das Computerprogrammprodukt 101 (siehe 1) umfasst Anweisungen, die zumindest einen Prozessor (z. B. 911, 911-2) des Computers 901 veranlassen, die Schritte des Verfahrens 400 auszuführen. Das Computerprogrammprodukt 101 kann auf dem Datenträger 971 gespeichert sein oder von dem Signal 981 befördert werden. Bevorzugt wird das Computerprogrammprodukt 101 in den Speicher 921 des Computers 901 geladen.
  • Das Verfahren 400 umfasst die Schritte Identifizieren 410, Extrahieren 420 und Speichern 430. Die Schritte werden nun im Detail beschrieben.
  • In dem Identifizierungsschritt 410 identifiziert das CPP 101 das strukturierte Dokument 210 in dem WebDAV-Dateisystem 200 zum Indexieren. Das strukturierte Dokument 210 hat zumindest eine Indexierungseigenschaft IP-1, IP-2 und hat einen Identifikator bzw. eine Kennung ID-1. Zum Beispiel kann die zumindest eine Indexierungseigenschaft IP-1 und/oder IP-2 eine Dokumentart, eine URL, eine Dokumentversion, etc. sein. Das strukturierte Dokument 210 kann ein Markup-Language-Dokument, wie etwa ein XML-, XHTML- und WML-Dokument sein. In einer Ausführungsform der Erfindung ist das WebDAV-Dateisystem 200 in einem relationalen Datenbankverwaltungssystem gespeichert.
  • In dem Extraktionsschritt 420 extrahiert das CPP 101 zumindest einen Indexwert IV-1 aus dem strukturierten Dokument 210 gemäß dem vordefinierten Extraktionsregelsatz 130. Der vordefinierte Extraktionsregelsatz 130 umfasst eine Vielzahl von XPath-Ausdrücken 130-1, 130-2, 130-3.
  • In dem Speicherschritt 430 speichert das CPP 101 den zumindest einen Indexwert IV-1 zusammen mit dem Identifikator ID-1 in eine Indexwertdatenstruktur 140. Zum Beispiel kann die Indexwertdatenstruktur 140 als eine relationale Datenbanktabelle gespeichert werden.
  • In einer bevorzugten Ausführungsform der Erfindung wird das WebDAV-Dateisystem 200 zumindest von dem ersten Prozessor 911 betrieben, und die Identifizierungs- 410, Extraktions- 420 und Speicherschritte 430 werden zumindest von dem zweiten Prozessor 911-2 ausgeführt.
  • Die Identifizierungs- 410, Extraktions- 420 und Speicherschritte 430 werden asynchron nach dem Erzeugen des strukturierten Dokuments 210 in dem WebDAV-Dateisystem 200 ausgeführt. In diesem Fall können die Identifizierungs-410, Extraktions- 420 und Speicherschritte 430 für das strukturierte Dokument 210 durch den ersten Indexierungsprozess 301 ausgeführt werden und können für eine Vielzahl weiterer strukturierter Dokumente 220, 230, 240, 250 des WebDAV-Dateisystems 200 zumindest von dem zweiten Indexierungsprozess 302 ausgeführt werden. Durch Verwenden mehrerer Indexierungsprozesse können mehrere strukturierte Dokumente im Wesentlichen gleichzeitig indexiert werden. Bevorzugt überspringt der zweite Indexierungsprozess 302 das strukturierte Dokument 210, wenn es von dem ersten Indexierungsprozess 301 gesperrt ist, und wählt ein nicht gesperrtes strukturiertes Dokument 220 aus der Vielzahl weiterer strukturierter Dokumente 220, 230, 240, 250 aus. Durch im Wesentlichen gleichzeitiges Sperren des ungesperrten strukturierten Dokuments 220 verhindert der zweite Indexierungsprozess 302, dass weitere Indexierungsprozesse weiter auf das strukturierte Dokument 220 zugreifen. Bevorzugt setzt das CPP 101 nach dem Indexieren eines strukturierten Dokuments einen entsprechenden Indexierungsstatus des Dokuments.
    Referenz Beschreibung
    101 Computerprogrammprodukt
    101-1 bis 101-6 Schnittstellen
    110 Identifizierungseinrichtung
    120 Extraktionseinrichtung
    130 Extraktionsregeisatz
    130-1 bis 130-3 Extraktionsregeln
    140 Indexwertdatenstruktur
    200 WebDAV-Dateisystem
    210250 Strukturierte Dokumente
    301, 302 Indexierungsprozesse
    400 Verfahren
    4xx Verfahrensschritte
    999 Computersystem
    900, 901, 902 Computer
    910, 911, 911-2, 912 Prozessoren
    920, 921, 922 Speicher
    940 Eingabevorrichtung
    950 Ausgabevorrichtung
    960 Benutzerschnittstelle
    970 Programmträger (computerlesbare Vorrichtung)
    980 Programmsignal
    Bezugsnummern

Claims (14)

  1. Verfahren (400) zum Indexieren strukturierter Dokumente in einem Computer (901), der ein Web-based-Distributed-Authoring-and-Versioning-(WebDAV-)Dateisystem (200) speichert; wobei das Verfahren (400) die folgenden Schritte umfasst: Identifizieren (410) eines strukturierten Dokuments (210) in dem Web-DAV-Dateisystem (200) zum Indexieren, wobei das strukturierte Dokument (210) zumindest eine Indexierungseigenschaft (IP-1, IP-2) hat und einen Identifikator bzw. eine Kennung (ID-1) hat; Zugreifen auf die mindestens eine Indexierungseigenschaft (IP-1, IP-2) unter Verwendung der WebDAV-Funktion PROPFIND; und das strukturierte Dokument einem Indexieren unterziehen, wenn die zumindest eine Indexierungseigenschaft (IP-1, IP-2) einer entsprechenden Referenz-Indexierungseigenschaft entspricht; Extrahieren (420) zumindest eines Indexwerts (IV-1) aus dem strukturierten Dokument (210) gemäß einem vordefinierten Extraktionsregelsatz (130), der eine Vielzahl von XPath-Ausdrücken (130-1, 130-2, 130-3) umfasst, indem zumindest einer der XPath-Ausdrücke (130-1, 130-2, 130-3) auf das strukturierte Dokument (210) angewendet wird; und Speichern (430) des zumindest einen Indexwerts (IV-1) mit dem Identifikator (ID-1) in eine Indexwertdatenstruktur (140), wobei: die Identifzierungs-(410), Extraktions-(420) und Speicher-(430)Schritte nach dem Erzeugen des strukturierten Dokuments (210) in dem WebDAV-Dateisystem (200) asynchron ausgeführt werden; die Identifzierungs-(410), Extraktions-(420) und Speicher-(430)Schritte für das strukturierte Dokument (210) von einem ersten Indexierungsprozess (301) ausgeführt werden und für eine Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) des WebDAV-Dateisystems (260) von zumindest einem zweiten Indexierungsprozess (302) ausgeführt werden; und der zweite Indexierungsprozess (302) das strukturierte Dokument (210), das von dem ersten Indexierungsprozess (301) gesperrt ist, übergeht und ein ungesperrtes strukturiertes Dokument (220) aus der Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) auswählt, indem er das ungesperrte strukturierte Dokument (220) gleichzeitig sperrt.
  2. Verfahren (400) nach Anspruch 1, wobei die zumindest eine Indexierungseigenschaft (IP-1, IP-2) aus der Gruppe aus Dokumentart, URL und Dokumentversion ausgewählt wird.
  3. Verfahren (400) nach Anspruch 1 oder 2, wobei das strukturierte Dokument (210) ein Mark-up-Language-Dokument mit einer Mark-up-Language ist, die aus der Gruppe aus XML, XHTML und WML ausgewählt wird.
  4. Verfahren (400) nach einem der Ansprüche 1 bis 3, wobei die Indexwertdatenstruktur (140) als eine relationale Datenbank gespeichert wird.
  5. Verfahren (400) nach einem der Ansprüche 1 bis 4, wobei das Web-DAV-Dateisystem (200) in einem relationalen Datenbankverwaltungssystem gespeichert wird.
  6. Verfahren (400) nach einem der Ansprüche 1 bis 5, wobei das Web-DAV-Dateisystem (200) von zumindest einem ersten Prozessor (911) betrieben wird und die Identifzierungs-(410), Extraktions-(420) und Speicher-(430)Schritte von zumindest einem zweiten Prozessor (911-2) ausgeführt werden.
  7. Computerprogrammprodukt (101), das eine Vielzahl von Anweisungen zum Indexieren strukturierter Dokumente in einem Computer (901) umfasst, der ein Web-based-Distributed-Authoring-and-Versioning-(WebDAV-)Dateisystem (200) speichert; wobei das Computerprogrammprodukt (101), wenn es in einen Speicher (921) eines Computers (900) geladen ist, zumindest einen Prozessor (911, 911-2) des Computers (901) veranlasst, die folgenden Schritte auszuführen: Identifizieren (410) eines strukturierten Dokuments (210) in dem Web-DAV-Dateisystem (200) zum Indexieren, wobei das strukturierte Dokument (210) zumindest eine Indexierungseigenschaft (IP-1, IP-2) hat und einen Identifikator (ID-1) hat; Zugreifen auf die mindestens eine Indexierungseigenschaft (IP-1, IP-2) unter Verwendung der WebDAV-Funktion PROPFIND; und das strukturierte Dokument einem Indexieren unterziehen, wenn die zumindest eine Indexierungseigenschaft (IP-1, IP-2) einer entsprechenden Referenz-Indexierungseigenschaft entspricht; Extrahieren (420) zumindest eines Indexwerts (IV-1) aus dem strukturierten Dokument (210) gemäß einem vordefinierten Extraktionsregelsatz (130), der eine Vielzahl von XPath-Ausdrücken (130-1, 130-2, 130-3) umfasst, indem zumindest einer der XPath-Ausdrücke (130-1, 130-2, 130-3) auf das strukturierte Dokument (210) angewendet wird; und Speichern (430) des zumindest einen Indexwerts (IV-1) mit dem Identifikator (ID-1) in eine Indexwertdatenstruktur (140), wobei: die Identifzierungs-(410), Extraktions-(420) und Speicher-(430)Schritte nach dem Erzeugen des strukturierten Dokuments (210) in dem WebDAV-Dateisystem (200) asynchron ausgeführt werden; die Identifzierungs-(410), Extraktions-(420) und Speicher-(430)Schritte für das strukturierte Dokument (210) von einem ersten Indexierungsprozess (301) ausgeführt werden und für eine Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) des WebDAV-Dateisystems (200) von zumindest einem zweiten Indexierungsprozess (302) ausgeführt werden; und der zweite Indexierungsprozess (302) das strukturierte Dokument (210), das von dem ersten Indexierungsprozess (301) gesperrt ist, übergeht und ein ungesperrtes strukturiertes Dokument (220) aus der Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) auswählt, indem er das ungesperrte strukturierte Dokument (220) gleichzeitig sperrt.
  8. Computerprogrammprodukt (101) nach Anspruch 7, wobei die Indexwertdatenstruktur (140) als eine relationale Datenbank gespeichert ist.
  9. Computerprogrammprodukt (101) nach den Ansprüchen 1 oder 8, wobei das WebDAV-Dateisystem (200) in einem relationalen Datenbankverwaltungssystem gespeichert ist.
  10. Computerprogrammprodukt (101) nach einem der Ansprüche 7 bis 9, wobei das WebDAV-Dateisystem (200) von zumindest einem ersten Prozessor (911) betrieben wird und die Identifzierungs-(410), Extraktions-(420) und Speicher-(430) Schritte von zumindest einem zweiten Prozessor (911-2) ausgeführt werden.
  11. Computer (901) zum Indexieren strukturierter Dokumente, der umfasst: einen Speicher (921) zum Speichern eines Web-based-Distributed-Authoring-and-Versioning-(WebDAV-)Dateisystems (200) und ein Computerprogramm (101) mit einer Identifizierungseinrichtung (110) und einer Extraktionseinrichtung (120); und zumindest einen Prozessor (911, 911-2), der konfiguriert ist, um Anweisungen der Identifizierungseinrichtung (110) auszuführen, um ein strukturiertes Dokument (210) in dem WebDAV-Dateisystem (200) zum Indexieren zu identifizieren, wobei das strukturierte Dokument (210) zumindest eine Indexierungseigenschaft (IP-1, IP-2) hat und einen Identifikator (ID-1) hat; unter Verwendung der WebDAV-Funktion PROPFIND auf zumindest eine Indexierungseigenschaft (IP-1, IP-2) zuzugreifen; das strukturierte Dokument der Indexierung zu unterziehen, wenn die zumindest eine Indexierungseigenschaft (IP-1, IP-2) einer entsprechenden Referenzindexierungseigenschaft entspricht; wobei der zumindest eine Prozessor (911-1, 911-2) ferner konfiguriert ist, um Anweisungen der Extraktionseinrichtung (120) auszuführen, um zumindest einen Indexwert (IV-1) aus dem strukturierten Dokument (210) gemäß einem vordefinierten Extraktionsregelsatz (130), der eine Vielzahl von XPath-Ausdrücken (130-1, 130-2, 130-3) umfasst, zu extrahieren (420), indem zumindest einer der XPath-Ausdrücke (130-1, 130-2, 130-3) auf das strukturierte Dokument (210) angewendet wird; wobei der zumindest eine Indexwert (IV-1) mit dem Identifikator (ID-1) in einer Indexwertdatenstruktur (140) gespeichert (430) wird, wobei: die Identifizierungseinrichtung (110) und die Extraktionseinrichtung (120) konfiguriert sind, um das Indexieren des strukturierten Dokuments, nachdem das strukturierte Dokument (210) in dem WebDAV-Dateisystem (200) erzeugt wurde, asynchron durchzuführen; die Identifizierungseinrichtung (110) und die Extraktionseinrichtung (120) konfiguriert sind, um das Indexieren des strukturierten Dokuments unter Verwendung eines ersten Indexierungsprozesses (301) durchzuführen, und das Indexieren einer Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) des WebDAV-Dateisystems (200) unter Verwendung zumindest eines zweiten Indexierungsprozesses (302) durchzuführen, so dass der zweite Indexierungsprozess (302) das strukturierte Dokument (210), das von dem ersten Indexierungsprozess (301) gesperrt ist, übergeht und ein ungesperrtes strukturiertes Dokument (220) aus der Vielzahl weiterer strukturierter Dokumente (220, 230, 240, 250) auswählt, indem es das ungesperrte strukturierte Dokument (220) gleichzeitig sperrt.
  12. Computer (901) nach Anspruch 11, wobei die Indexwertdatenstruktur (140) als eine relationale Datenbank in dem Speicher (921) gespeichert ist.
  13. Computer (901) nach einem der Ansprüche 11 bis 12, wobei das WebDAV-Dateisystem (200) in einem relationalen Datenbankverwaltungssystem in dem Speicher (921) gespeichert ist.
  14. Computer (901) nach einem der Ansprüche 11 bis 13, wobei das WebDAV-Dateisystem (200) von zumindest einem ersten Prozessor (911) betrieben wird und die Identifizierungseinrichtung (110) und die Extraktionseinrichtung (120) von zumindest einem zweiten Prozessor (911-2) betrieben werden.
DE2002626130 2002-05-27 2002-05-27 Verfahren und Computersystem zum Indexieren strukturierter Dokumente Expired - Lifetime DE60226130T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02011742A EP1367504B1 (de) 2002-05-27 2002-05-27 Verfahren und Computersystem zum Indexieren strukturierter Dokumente

Publications (2)

Publication Number Publication Date
DE60226130D1 DE60226130D1 (de) 2008-05-29
DE60226130T2 true DE60226130T2 (de) 2009-05-20

Family

ID=39326714

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002626130 Expired - Lifetime DE60226130T2 (de) 2002-05-27 2002-05-27 Verfahren und Computersystem zum Indexieren strukturierter Dokumente

Country Status (1)

Country Link
DE (1) DE60226130T2 (de)

Also Published As

Publication number Publication date
DE60226130D1 (de) 2008-05-29

Similar Documents

Publication Publication Date Title
EP1367504B1 (de) Verfahren und Computersystem zum Indexieren strukturierter Dokumente
EP1311989B1 (de) Verfahren zur automatischen recherche
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
CA2610208C (en) Learning facts from semi-structured text
US6449620B1 (en) Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US7231381B2 (en) Media content search engine incorporating text content and user log mining
DE60213409T2 (de) Erstellung von strukturierten daten aus unformatiertem text
US8095530B1 (en) Detecting common prefixes and suffixes in a list of strings
DE102017111438A1 (de) Api-lernen
DE112007001196T5 (de) System zur adaptiven Abfrage eines Datenspeicherlagers
US7457812B2 (en) System and method for managing structured document
DE112012003541T5 (de) Automatische Erkennung von Elementlisten innerhalb einer Webseite
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
DE60118399T2 (de) System und verfahren zur automatischen aufbereitung und suche von abgetasteten dokumenten
DE202013012490U1 (de) Effiziente hierarchisch geprägte Top-Down Verbindung geclusterter Datenstrom
US20050010556A1 (en) Method and apparatus for information retrieval
JPH11213014A (ja) データベースシステム、データベース検索方法及び記録媒体
CN114443928A (zh) 一种网络文本数据爬虫方法与系统
US8065605B2 (en) Indexing structured documents
DE60226130T2 (de) Verfahren und Computersystem zum Indexieren strukturierter Dokumente
DE102016015536A1 (de) Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie
EP1030254A1 (de) Verfahren und System zum Verwalten von Dokumenten
DE112012005628T5 (de) Suche und Darstellung von Ähnlichkeitsscores
DE60210934T2 (de) Verfahren und Rechneranordnung für vernetzte Aufgabenverwaltung
EP1452980A2 (de) System und Verfahren zur Generierung einer Abfrage von Information über ausgewählte Objekte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition