DE60306663T2 - Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren - Google Patents

Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren Download PDF

Info

Publication number
DE60306663T2
DE60306663T2 DE60306663T DE60306663T DE60306663T2 DE 60306663 T2 DE60306663 T2 DE 60306663T2 DE 60306663 T DE60306663 T DE 60306663T DE 60306663 T DE60306663 T DE 60306663T DE 60306663 T2 DE60306663 T2 DE 60306663T2
Authority
DE
Germany
Prior art keywords
data
lock
data object
permanent
stored
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
DE60306663T
Other languages
English (en)
Other versions
DE60306663D1 (de
Inventor
Thorsten Pferdekaemper
Martin Fischer
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
Publication of DE60306663D1 publication Critical patent/DE60306663D1/de
Application granted granted Critical
Publication of DE60306663T2 publication Critical patent/DE60306663T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Gebiet der Erfindung
  • Das technische Gebiet dieser Erfindung liegt im Bereich der elektronischen Datenverarbeitung. Spezieller betrifft die Erfindung Datenstrukturen, Verfahren, Computerprogrammprodukte und Systeme zum Zugreifen auf Datenobjekte, insbesondere im Zusammenhang mit der Datenbewegung.
  • Beschreibung des Standes der Technik
  • Das Bewegen von Datenobjekten ist jedem Benutzer eines Computers wohlbekannt und ist eine Standardprozedur, welche routinemäßig angewendet wird. Eine spezielle Anwendung des Bewegens von Datenobjekten ist der Archivierungsprozess, durch welchen Datenobjekte aus Gründen der Sicherheit und/oder Leistungsfähigkeit von einer ersten Speicherstelle zu einer zweiten bewegt werden. In Unternehmen werden Softwareanwendungen der Unternehmensressourcenplanung (Enterprise Resource Planning, ERP) verwendet, um Geschäftsprozesse und die Leitung des Unternehmens zu steuern oder zu unterstützen. ERP-Software wird ferner verwendet, um Firmeninformationen von Unternehmen verschiedener Arten auf irgendeinem Gebiet der Technik mit Hilfe von automatischen Datenverarbeitungssystemen wie etwa Computern oder Computersystemen zu verwalten. Während der Verwendung einer solchen Software wird gewöhnlich eine riesige Menge von Daten erzeugt, welche wichtige Geschäftsinformationen enthalten und welche von Zeit zu Zeit archiviert werden müssen.
  • Gemäß dem Stand der Technik (siehe Helmut Stefani, "Datenarchivierung mit SAP", Galileo Press GmbH, Bonn 2002, ISBN 3-89842-212-7; R. Schaarschmidt, W. Röder. Wirtschaftsinformatik 39 (1997) 5, S. 469–477; Schaarschmidt, Bühnert, Herbst et al, "Konzepte und Implementierungsaspekte anwendungsorientierten Archivierens in Datenbanksystemen", Informatik Forschung und Entwicklung, 1998, 79–89) kann das Archivieren automatisch mit Hilfe von Archivierungssoftware-Tools durchgeführt werden, welche Bestandteil der ERP-Software sein können. Solche Tools können aus einem Schreibmodul bestehen, welches die zu archivierenden Datenobjekte sequentiell in Archivdateien speichert (schreibt), und aus einem Löschmodul, welches die erfolgreich archivierten Daten aus der ursprünglichen Bank der Datenobjekte löscht. Das Schreibmodul kann die zu archivierenden Datenobjekte aus der Datenbank nach spezifischen Kriterien auswählen, z.B. nach dem Zeitpunkt der Erzeugung der Daten. Es ändert die ursprünglichen Datenobjekte oder die ursprüngliche Datenbank gewöhnlich nicht. Das Löschmodul liest zeitlich versetzt die Archivdatei sequentiell und löscht die in der Archivdatei gefundenen Datenobjekte aus der ursprünglichen Datenbank. Dies stellt sicher, dass nur solche Datenobjekte aus der ursprünglichen Datenbank gelöscht werden, welche lesbar in der Archivdatei gespeichert sind. Die Zeit für die Archivierungsprozedur als Ganzes hängt von der Datenmenge ab und variiert von ein paar Millisekunden bis zu mehreren Stunden oder Tagen. Demzufolge ist in vielen Fällen ein beträchtlicher Zeitabstand zwischen dem Schreiben der Daten in die Archivdatei und dem Löschen der Daten aus der ursprünglichen Datenbank vorhanden. Dieser Zeitabstand kann eine Ursache für die folgenden Probleme sein:
    Solange die Datenobjekte noch in der ursprünglichen Datenbank verfügbar sind, können sie während des besagten Zeitabstandes noch immer durch irgendeine Softwareanwendung geändert werden. Da das Löschprogramm das archivierte Datenobjekt und das zu löschende Datenobjekt nicht vergleicht, können solche Änderungen verloren gehen. Dies hat nicht nur den Verlust der geänderten Daten zur Folge, sondern es kann außerdem zur Folge haben, dass bestimmte Geschäftsprozesse nicht abgeschlossen werden können.
  • Ein anderes Problem entsteht, wenn mehrere Archivierungsprozesse parallel ablaufen. Dann kann es geschehen, dass ein Datenobjekt mehrmals archiviert wird und nicht mehr eindeutig identifizierbar ist. Dies kann zur Folge haben, dass Berechnungen oder statistische Analysen, welche die Archivdateien benutzen, falsche Ergebnisse liefern.
  • Es kann außerdem geschehen, dass Datenobjekte in der ursprünglichen Datenbank von dem Schreibmodul gelesen werden und gleichzeitig von einer anderen Softwareanwendung geändert werden. In einem solchen Falle können die Daten aus einem archivierbaren Zustand in einen nicht archivierbaren Zustand versetzt werden. Als Folge davon werden Datenobjekte, welche nicht archivierbar sind, in die Archivdatei geschrieben und aus der ursprünglichen Datenbank gelöscht. In der Tat kann dies einen Verlust von Daten zur Folge haben.
  • Somit besteht Bedarf an einer Datenstruktur, einem Verfahren, einer Softwareanwendung und/oder einem Datenverarbeitungssystem, die eine effizientere Lösung der oben beschriebenen Probleme gewährleisten; insbesondere ist es wünschenswert, eine Datenstruktur zum Ermöglichen einer wirksamen Verhinderung der Änderung eines Datenobjektes während eines Bewegungs- oder Archivierungsprozesses bereitzustellen.
  • Kurzdarstellung der Erfindung
  • Der Schutzbereich der Erfindung ist durch die beigefügten Ansprüche definiert.
  • Kurzbeschreibung der Zeichnungen
  • Die beigefügten Zeichnungen, welche in diese Patentbeschreibung einbezogen sind und einen Bestandteil derselben darstellen, zeigen Beispiele von Ausführungsformen der Erfindung und erklären zusammen mit der Beschreibung die Prinzipien der Erfindung. In den Zeichnungen zeigen:
  • 1 ein schematisches Blockschaltbild der Implementierung der erfindungsgemäßen Datenstruktur innerhalb eines Computersystems;
  • 2 eine Prinzipskizze einer beispielhaften Struktur des ersten und zweiten Sperrobjektes und eines Datenobjektes gemäß den Prinzipien der Erfindung;
  • 3 ein beispielhaftes Flussdiagramm einer Implementierung der Erzeugung eines ersten und zweiten Sperrobjektes, die in 1 dargestellt sind;
  • 4 ein beispielhaftes Flussdiagramm einer anderen Implementierung der Erzeugung eines ersten und zweiten Sperrobjektes, die in 1 dargestellt sind;
  • 5 ein beispielhaftes Flussdiagramm einer Implementierung eines Löschprozesses im Zusammenhang mit der Datenbewegung/Datenarchivierung;
  • 6 ein beispielhaftes Flussdiagramm einer weiteren Implementierung der Erzeugung eines ersten und zweiten Sperrobjektes, die in 1 dargestellt sind;
  • 7 ein beispielhaftes Flussdiagramm, welches darstellt, wie eine Softwareanwendung das erfindungsgemäße Konzept des ersten und zweiten Sperrobjektes verwenden kann;
  • 8 einen Prozess, der anstelle des in 7 dargestellten angewendet werden kann und eine bedingte Löschung einer P-Sperre enthält;
  • 9 ein Beispiel eines Flussdiagramms für ein Softwaremodul, mit dessen Hilfe die Sperren gelöscht werden können.
  • Ausführliche Beschreibung
  • Computersysteme und Programme stehen in engem Zusammenhang. Wendungen, die im weiteren verwendet werden, wie etwa "der Computer liefert/stellt bereit" und "das Programm sieht spezifische Aktionen vor oder führt spezifische Aktionen durch", "ein Benutzer führt eine spezifische Aktion durch", sind eine praktische Abkürzung, um Aktionen auszudrücken, die von einem Computersystem durchgeführt werden, welches von einem Programm gesteuert wird, oder um auszudrücken, dass das Programm oder Programmmodul dazu bestimmt ist, das Computersystem in die Lage zu versetzen, die spezifische Aktion durchzuführen, oder einen Benutzer in die Lage zu versetzen, die spezifische Aktion mittels eines Computersystems durchzuführen.
  • Nachfolgend wird ausführlich auf die Prinzipien der Erfindung eingegangen, indem die Erfindung anhand des Archivierungsprozesses erläutert wird, für den Beispiele in den beigefügten Zeichnungen dargestellt sind. Die hier erwähnten Beispiele sind dazu bestimmt, die Erfindung zu erläutern, und nicht dazu, die Erfindung auf irgendeine Weise einzuschränken.
  • Innerhalb des Konzeptes dieser Beschreibung sollen die verwendeten Begriffe ihre übliche Bedeutung im Kontext des Gebietes der Datenverarbeitung haben, sofern sie nicht in dem folgenden Abschnitt anders definiert sind:
    Ein Computersystem kann ein selbstständiger Computer sein, wie etwa ein PC oder ein Laptop, oder eine Reihe von Computern, die zu einem Netzwerk verbunden sind, z.B. einem Netzwerk innerhalb einer Firma, oder eine Reihe von Computern, die über das Internet verbunden sind. Bei einem zu archivierenden Datenobjekt kann es sich um eine beliebige Art oder einen beliebigen Typ von Daten handeln, z.B. numerische Daten oder Textdaten, Bilddaten, Metadaten, unabhängig davon, ob die Daten als ganze Dateien oder Teile von Dateien oder Felder in Tabellen implementiert sind, und unabhängig davon, ob sie in einem flüchtigen Speicher oder einem nichtflüchtigen Speicher gespeichert sind. Beispielsweise können Datenobjekte gemäß der vorliegenden Erfindung als ein oder mehrere Felder von einer oder mehreren Tabellen implementiert sein, insbesondere von Tabellen eines relationalen Datenbanksystems, oder als Objekte in einer objektorientierten Programmsprache.
  • Der Begriff "ERP-Software" ist in dem Sinne aufzufassen, dass er eine beliebige Softwareanwendung beinhaltet, welche die Geschäftsprozesse eines Unternehmens unterstützt.
  • Eine Speicherstelle ist ein flüchtiges oder nichtflüchtiges (permanentes) Speichermittel, auf das durch das Computersystem zugegriffen werden kann, wobei das flüchtige Speichermittel seinen Inhalt verliert, wenn die elektrische Stromversorgung ausgeschaltet wird. Eine Speicherstelle kann eine beliebige Art von Computerspeichermittel sein, die dem Durchschnittsfachmann bekannt ist, z.B. RAM, Magnetspeicher oder optischer Speicher, wie etwa Diskette, Festplatte, MO-Disk, CD-ROM, CD RW, DVD ROM, DVD RW usw.
  • Eine Kennung (ID) ist ein Datentyp, welcher eine eindeutige Identifizierung des zu archivierenden Datenobjektes ermöglicht; sie kann zum Beispiel als eine Zahl oder eine Kombination von alphanumerischen Zeichen implementiert sein, oder als ein charakteristischer Teil des zu archivierenden Datenobjektes. Aus dieser Definition geht hervor, dass ein Datenobjekt sehr vielfältige IDs haben kann. Ein Sperrobjekt ist ein Datenobjekt, in welchem die Kennungen gespeichert sind. Es kann z.B. als eine Datei auf einem Speichermittel oder als ein Datenarray in einem Computerspeicher implementiert sein. Das erste Sperrobjekt kann vorteilhafterweise in einem nichtflüchtigen Speichermittel gespeichert sein, und das zweite Sperrobjekt kann in einem flüchtigen und/oder nichtflüchtigen Speichermittel gespeichert sein.
  • Die Zuweisung einer Speicherstelle zu einer ID kann durch eine Tabelle implementiert sein, in welcher ein Feld einer Zeile die ID enthält und ein anderes Feld der betreffenden Zeile eine Verknüpfung zu der zweiten Speicherstelle enthält, z.B. einen Dateinamen. Diese Tabelle kann als eine Datei auf einem nichtflüchtigen Speichermittel gespeichert sein.
  • In 1 ist ein Beispiel einer Implementierung einer ersten Ausführungsform der Erfindung dargestellt. 1 zeigt ein Computersystem 101, das einen Computer 103 aufweist, der eine Zentraleinheit 105 und einen Arbeitsspeicher 112, in welchem eine Softwareanwendung 111 für die Verarbeitung durch die Zentraleinheit 105 gespeichert ist, enthält. Ferner ist das zweite Sperrobjekt 115 ebenfalls in dem Arbeitsspeicher 112 gespeichert, während das erste Sperrobjekt auf einem ersten Speichermittel 107 gespeichert ist. Die Softwareanwendung 111 weist Programmmodule 106, 109, 110 zum Durchführen des Lesezugriffs, des Schreibzugriffs und zum Prüfen, ob die IDs der ausgewählten Datenobjekte in dem ersten und zweiten Sperrobjekt enthalten sind, auf. Das Computersystem 101 weist ferner Eingabemittel 113, Ausgabemittel 112 für die Interaktion mit einem Benutzer und allgemeine Ein-/Ausgabemittel 104, einschließlich eines Netzanschlusses 114, zum Senden und Empfangen von Daten auf. Mehrere Computersysteme 101 können über den Netzanschluss 114 in der Form eines Netzwerkes 113 verbunden sein. In diesem Falle können die Netzwerkcomputer 113 als weitere Ein-/Ausgabemittel verwendet werden, einschließlich der Verwendung als weitere Speicherstellen. Das Computersystem 103 weist ferner das erste Speichermittel 107 auf, in welchem die Datenobjekte und das erste Sperrobjekt gespeichert sind. Ein zweites Speichermittel 108 steht für Zwecke der Archivierung zur Verfügung.
  • Falls die Programmmodule 106, 109, 110 von der Zentraleinheit 105 verarbeitet werden, um von der erfindungsgemäßen Datenstruktur Gebrauch zu machen, werden ein oder mehrere Datenobjekte, die in dem ersten Speichermittel 107 gespeichert sind, ausgewählt, und das Prüfmodul 109 prüft, bevor durch das Lesemodul 110 oder das Schreibmodul 106 auf die Datenobjekte zugegriffen wird, ob die ID des ausgewählten Datenobjektes oder der ausgewählten Datenobjekte in dem ersten Sperrobjekt enthalten ist und ob eine Verknüpfung zu der zweiten oder ersten Speicherstelle 107, 108 oder zu einer Datei auf diesen Speicherstellen der ID in dem ersten Sperrobjekt zugewiesen ist. Falls die ID in dem ersten Sperrobjekt enthalten ist und/oder der ID keine Verknüpfung zugewiesen ist, wird der Aufruf des Lese- oder Schreibmoduls übersprungen. Die Softwareanwendung 111 kann dann beendet und zu einem späteren Zeitpunkt erneut gestartet werden. Stattdessen kann auch das Prüfmodul 109 wiederholt aufgerufen werden, bis das Datenobjekt frei für einen Zugriff ist.
  • Bei einer zweiten Implementierung der Erfindung weist ein Datenobjekt ein oder mehrere Felder einer oder mehrerer Tabellen auf, und die ID des jeweiligen Objektes weist ein oder mehrere Schlüsselfelder jenes Datenobjektes auf. Dies ist aus 2 ersichtlich. In diesem Falle werden verschiedene Mengen von Datenobjekten in der Form von zweidimensionalen Datenarrays erzeugt, d.h. von zwei Tabellen, welche Spalten, die mit Feld A bis Feld X bzw. Feld Y bezeichnet sind, und eine gewisse nicht festgelegte Anzahl von Zeilen aufweisen. Ein Feld des Arrays oder der Tabelle ist durch den Namen der Spalte und der jeweiligen Zeile definiert. Ein solches Feld kann Daten enthalten, die zu archivieren sind. Es kann stattdessen auch einen Verweis auf eine Zeile einer weiteren Tabelle enthalten. Zum Beispiel enthält in Tabelle 1 Feld X in Zeile 2 einen Verweis auf Zeile 3 in Tabelle 2. Ein zu archivierendes Datenobjekt weist Felder einer Zeile der jeweiligen Tabelle auf. Falls eines der Felder einen Verweis auf eine Zeile einer anderen Tabelle enthält, gehören die Felder dieser Zeile, auf die verwiesen wird, ebenfalls zu dem Datenobjekt. In dem Beispiel in 2 weist ein zu archivierendes Datenobjekt die Felder von Zeile 2 in Tabelle 1 und die Felder von Zeile 3 in Tabelle 2 auf.
  • Eine ID eines solchen Datenobjektes kann durch den Inhalt eines oder mehrerer so genannter Schlüsselfelder implementiert werden, falls die Kombination dieser Schlüsselfelder innerhalb der jeweiligen Tabelle einmalig ist. In dem Beispiel können die Felder von "Feld A" und "Feld B" als Schlüsselfelder für Tabelle 1 verwendet werden, während Feld A allein Schlüsselfeld in Tabelle 2 ist. Innerhalb dieses Beispiels hat das Datenobjekt den Inhalt der Felder der Spalten Feld A und Feld B der jeweiligen Zeilen als ID. Die ID für das zu archivierende Datenobjekt ist als eine ID von einem ersten Typ in einem Sperrobjekt von einem ersten Typ, das in 2 "permanentes Sperrobjekt" genannt wird, und als eine ID von einem zweiten Typ in einem Sperrobjekt von einem zweiten Typ, das "transaktionales Sperrobjekt" genannt wird, gespeichert. Das permanente Sperrobjekt ist als eine Tabelle implementiert, die zwei Spalten aufweist, von denen die erste die ID vom ersten Typ ID 1 enthält. Die ID vom zweiten Typ, ID 2, kann als ein Datenarray implementiert sein, zum Beispiel als ein eindimensionales Datenarray, das in dem Arbeitsspeicher des Computersystems gespeichert ist. Es kann jedoch auch als eine Datei auf einem nichtflüchtigen Speichermittel implementiert sein. Die ID vom ersten Typ, ID 1, wird in einem Bewegungs- oder Archivierungsprozess gelöscht, nachdem das ausgewählte Datenobjekt aus seiner ursprünglichen Speicherstelle gelöscht worden ist. Die ID vom zweiten Typ, ID 2, wird gelöscht, unmittelbar nachdem ein Lese- oder Schreibzugriff auf ein Datenobjekt beendet worden ist. Stattdessen können IDs vom Typ ID 1 auch gelöscht werden, nachdem sämtliche ausgewählten Datenobjekte aus der ursprünglichen Speicherstelle gelöscht worden sind. Wie man sieht, haben beide ID-Typen einen identischen Inhalt, die ID der jeweiligen Zeilen der zu bewegenden/archivierenden Daten. Die permanenten Sperrobjekte enthalten ferner eine Spalte, durch welche ein Dateiname der ID des Datenobjektes zugewiesen wird, d.h. jenes Datenobjektes, das zu archivieren ist. In dem Beispiel wird Zeile 1 in einer Datei mit dem Namen 001 archiviert, die Zeilen 2 und 3 in einer Datei 002 und Zeile 4 in einer Datei 003.
  • Die Auswahl des Datenobjektes kann durch eine automatische Prozedur implementiert werden, wie etwa eine einfache Abfrage, welche alle Zeilen zurückgibt, die ein bestimmtes Feld aufweisen, welches einer bestimmten Bedingung genügt. Zum Beispiel könnte die Prozedur alle Zeilen zurückgeben, in welchen der Inhalt eines Datenfeldes von vor oder nach einem bestimmten Zeitpunkt datiert. Die Auswahl kann auch von einem Benutzer implementiert werden, welchem über eine graphische Benutzeroberfläche eine Auswahltabelle präsentiert wird.
  • Eine weitere Ausführungsform ist dadurch gekennzeichnet, dass das erste und zweite Sperrobjekt durch einen Datenbewegungs- oder Datenarchivierungsprozess erzeugt werden.
  • Um die erfindungsgemäße Datenstruktur und ihre Vorteile besser zu verstehen, wird nun die Erzeugung der Sperrobjekte unter Bezugnahme auf die 3 bis 5 ausführlicher beschrieben, welche schematische Flussdiagramme beispielhafter Implementierungen von Prozessen der Datenbewegung bzw. Datenarchivierung sind, wie in 1 dargestellt. In Verbindung mit dieser Beschreibung und insbesondere mit den 3 bis 9 wird eine ID vom ersten Typ eine P-Sperre (permanent) und eine ID vom zweiten Typ eine T-Sperre (transaktional) genannt. Damit bedeutet das Setzen einer P- oder T-Sperre für ein ausgewähltes Objekt, eine ID dieses Objektes in einem entsprechenden Sperrobjekt zu speichern. Der Begriff "permanent" resultiert aus der Eigenschaft der P-Sperre, dass sie dauerhaft existiert, solange das Datenobjekt noch nicht aus seiner ursprünglichen Speicherstelle gelöscht worden ist. Der Begriff "transaktional" resultiert aus der Eigenschaft der T-Sperre, dass sie nur so lange existiert, wie eine bestimmte Aktion (z.B. Prüfen der Archivierbarkeit) an einem ausgewählten Datenobjekt durchgeführt wird, oder, anders ausgedrückt, dass sie gelöscht wird, kurz nachdem die jeweilige Aktion durchgeführt worden ist.
  • In dem Flussdiagramm des Auswahlmoduls in 3 wird in einem ersten Schritt 301 ein Datenobjekt ausgewählt. Anschließend wird in Schritt 302 eine T-Sperre auf dieses Objekt gesetzt. Falls die T-Sperre erfolgreich gesetzt wurde (Schritt 303), das heißt, falls sie noch nicht existierte, wird in Schritt 304 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert. Wenn nicht, wird in Schritt 309 das nächste Datenobjekt ausgewählt. Das Setzen der T-Sperre (Schritt 302) und die Prüfung (Schritt 303), ob sie erfolgreich gesetzt wurde, kann vorteilhafterweise als ein "elementarer" Schritt implementiert werden. Das bedeutet, dass beide Schritte im Wesentlichen zu derselben Zeit ausgeführt werden können, oder, anders ausgedrückt, dass der Zeitabstand zwischen beiden Schritten im Wesentlichen null sein kann.
  • Beide Prüfungen (Schritte 303 und 304) können auch durch Abfragen der jeweiligen Sperrobjekte implementiert werden. Falls eine P-Sperre existiert, wird die T-Sperre gelöscht (Schritt 308), und es wird das nächste Datenobjekt ausgewählt (Schritt 309). Falls keine P-Sperre existiert, wird in den Schritten 305 und 306 geprüft, ob das Datenobjekt archivierbar ist. Eine solche Prüfung umfasst einen Test, ob die Daten in dem Datenobjekt lesbar, vollständig, nicht mit offensichtlichen Fehlern behaftet sind usw. Falls der Test erfolgreich ist, wird in Schritt 307 auf das betreffende Datenobjekt eine P-Sperre gesetzt, wobei dem Datenobjekt zu diesem Zeitpunkt keine Archivdatei zugewiesen wird. Danach wird die T-Sperre gelöscht (Schritt 308), und es wird das nächste Datenobjekt ausgewählt (Schritt 309).
  • In dem Flussdiagramm des Schreibmoduls in 4 wird in einem ersten Schritt 401 ein Datenobjekt ausgewählt. Anschließend wird in Schritt 402 eine T-Sperre auf dieses Objekt gesetzt. Falls die T-Sperre erfolgreich gesetzt wurde (Schritt 403), wird in Schritt 404 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert, wobei diesem Datenobjekt an dieser Stelle des Prozesses keine Datei zugewiesen werden darf. Falls die Bedingung nicht erfüllt ist, wird in Schritt 407 die T-Sperre gelöscht, und es wird in Schritt 408 das nächste Datenobjekt ausgewählt. Falls eine P-Sperre existiert, wird das Datenobjekt in Schritt 405 in einer Archivdatei gespeichert, und in Schritt 406 wird die Archivdatei dem Datenobjekt zugewiesen, z.B. durch Hinzufügen des Dateinamens zu dem Sperrobjekt, wie in 2 dargestellt. Anschließend wird die T-Sperre gelöscht (Schritt 407), und es wird das nächste Datenobjekt ausgewählt (Schritt 408).
  • In dem Flussdiagramm des Löschmoduls in 5 wird ein Datenobjekt ausgewählt (Schritt 501), welches bereits archiviert worden ist. Dies kann implementiert werden, indem die Archivdateien geprüft werden. Wenn ein Datenobjekt ausgewählt und erfolgreich aus der Archivdatei gelesen worden ist, wird dieses Datenobjekt aus der ursprünglichen Speicherstelle gelöscht (Schritt 502), die P-Sperre wird gelöscht (Schritt 503), und es wird das nächste Datenobjekt ausgewählt (Schritt 504).
  • In dem beispielhaften Flussdiagramm einer weiteren beispielhaften Implementierung der Erzeugung eines Sperrobjektes in 6 sind die Prozesse, welche oben unter Bezugnahme auf die 3 und 4 beschrieben wurden, zu einem Modul kombiniert. Dementsprechend wird in einem ersten Schritt 601 ein Datenobjekt ausgewählt. Anschließend wird in Schritt 602 eine T-Sperre auf dieses Objekt gesetzt. Falls die T-Sperre erfolgreich gesetzt wurde (Schritt 603), wird in Schritt 604 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert. Falls die T-Sperre nicht erfolgreich gesetzt wurde, wird das nächste Datenobjekt ausgewählt (Schritt 610). Falls eine P-Sperre auf dem betreffenden Objekt existiert, wird die T-Sperre gelöscht (Schritt 609), und es wird das nächste Datenobjekt ausgewählt (Schritt 610). Falls keine P-Sperre auf dem betreffenden Objekt existiert, wird in Schritt 605 geprüft, ob das Datenobjekt archivierbar ist. Falls diese Prüfung fehlschlägt (Schritt 606), wird die T-Sperre gelöscht (Schritt 609), und es wird das nächste Datenobjekt ausgewählt (Schritt 610). Falls die Prüfung erfolgreich ist, wird das Datenobjekt in einer Archivdatei gespeichert (Schritt 605), es wird eine P-Sperre mit der zugewiesenen Archivdatei gesetzt (Schritt 608), die T-Sperre wird gelöscht (Schritt 609), und es wird das nächste Datenobjekt ausgewählt (Schritt 610).
  • 7 zeigt anhand eines beispielhaften Flussdiagramms, wie eine beliebige Softwareanwendung gemäß der Erfindung das erfindungsgemäße Konzept der P- und T-Sperren benutzen kann, um sicherzustellen, dass die Maßnahmen, welche die Softwareanwendung auf das Datenobjekt anwenden wird, den Archivierungsprozess nicht beeinflussen. Eine Softwareanwendung, welche so programmiert ist, dass sie einen Lese- und/oder Schreibzugriff auf Datenobjekte hat, welche einem Archivierungsprozess der beschriebenen Art unterzogen werden können, weist die folgenden Schritte auf, wie in 7 dargestellt. In einem ersten Schritt 701 wird das Datenobjekt ausgewählt. Danach wird in Schritt 702 durch die Anwendung eine T-Sperre auf dieses Objekt gesetzt. Falls die T-Sperre erfolgreich gesetzt wurde (Schritt 703), wird in Schritt 704 geprüft, ob eine P-Sperre auf diesem Objekt existiert; andernfalls endet die Anwendung in Schritt 707. Falls eine P-Sperre auf diesem Objekt existiert (Schritt 704), wird die T-Sperre gelöscht (Schritt 706), and die Anwendung endet (Schritt 707). Falls keine P-Sperre existiert, d.h. wenn das Datenobjekt keinem Archivierungsprozess unterzogen wird, kann die Anwendung in einem Arbeitsschritt 705 einen Lese-/Schreibzugriff auf das Datenobjekt haben. Anschließend löscht die Anwendung die T-Sperre (Schritt 706) und endet (Schritt 707).
  • 8 zeigt einen Prozess, der anstelle des in 7 dargestellten angewendet werden kann und eine bedingte Löschung einer P-Sperre enthält. In einem ersten Schritt 801 wird das Datenobjekt ausgewählt. Danach wird von der Anwendung eine T-Sperre auf dieses Objekt gesetzt (Schritt 802). Falls die T-Sperre erfolgreich gesetzt wurde (Schritt 803), wird geprüft (Schritt 804), ob eine P-Sperre auf diesem Objekt existiert; andernfalls endet die Anwendung (Schritt 809). Falls keine P-Sperre existiert (Schritt 804), d.h. das Datenobjekt keinem Archivierungsprozess unterzogen wird, kann die Anwendung in einem Arbeitsschritt 807 einen Lese-/Schreibzugriff auf das Datenobjekt haben. Anschließend löscht die Anwendung die T-Sperre (Schritt 808) und endet (Schritt 809). Falls eine P-Sperre existiert 804, wird geprüft 805, ob ihr eine Datei zugewiesen ist. Falls eine Datei zugewiesen ist, löscht die Anwendung die T-Sperre (Schritt 808) und endet (Schritt 809). Falls keine Datei zugewiesen ist, wird die P-Sperre gelöscht (Schritt 806), und die Anwendung kann einen Lese-/Schreibzugriff auf das Datenobjekt haben (Schritt 807). Anschließend löscht die Anwendung die T-Sperre (Schritt 808) und endet (Schritt 809).
  • Diese Prozedur ist insbesondere insofern von Nutzen, als Datenobjekte, welche noch nicht in einer Archivdatei gespeichert sind, noch geändert werden können. Demzufolge können sie erst beim nächsten Archivierungslauf archiviert werden.
  • 9 zeigt ein Beispiel eines Flussdiagramms für ein Softwaremodul, mit dessen Hilfe die Sperren, die von den oben beschriebenen Modulen gesetzt wurden, gelöscht werden können. Dies kann in Fällen von Nutzen sein, in denen P-Sperren keine Archivdateien zugewiesen sind oder in denen P-Sperren für einen Benutzer gelöscht worden sind. In solchen Fällen ist eine P-Sperre nichts anderes als ein Datenobjekt und kann auf dieselbe Weise wie oben beschrieben behandelt werden. In einem ersten Schritt 901 wird eine P-Sperre gewählt. Danach wird in Schritt 902 eine T-Sperre zu der P-Sperre gesetzt. Falls die T-Sperre erfolgreich gesetzt worden ist (Schritt 903), wird in Schritt 904 geprüft, ob der P-Sperre eine Datei zugewiesen ist. Falls die T-Sperre nicht erfolgreich gesetzt worden ist, endet das Modul (Schritt 907). Falls der gewählten P-Sperre keine Datei zugewiesen ist (Schritt 904), wird die P-Sperre gelöscht (Schritt 905). Danach wird die T-Sperre gelöscht (Schritt 906), und das Modul endet (Schritt 907). Anstelle des Beendigungsschrittes 907 kann auch eine nächste P-Sperre ausgewählt werden.
  • Änderungen und Anpassungen der vorliegenden Erfindung werden für Fachleute aus dem Studium der Beschreibung und der Anwendung der darin offenbarten Erfindung offensichtlich. Die obige Beschreibung einer Implementierung der Erfindung wurde für Zwecke der Veranschaulichung und Erläuterung gegeben. Sie ist nicht erschöpfend und schränkt die Erfindung nicht auf die konkrete offenbarte Form ein. Änderungen und Variationen sind angesichts der obigen Lehren möglich oder können aus der Anwendung der Erfindung abgeleitet werden. Zum Beispiel bezieht sich die beschriebene Implementierung auf Software, jedoch können Systeme und Verfahren, die mit der vorliegenden Erfindung im Einklang stehen, als eine Kombination von Hardware und Software oder als Hardware allein implementiert werden. Außerdem ist, obwohl Aspekte der vorliegenden Erfindung als in einem Speicher zu speichern beschrieben sind, für einen Fachmann leicht einzusehen, dass diese Aspekte auch auf anderen Typen von computerlesbaren Medien gespeichert werden können, wie etwa sekundären Speichereinrichtungen, zum Beispiel Festplatten, Disketten oder CD-ROM; dem Internet oder einem anderen Übertragungsmedium; oder anderen Formen von RAM oder ROM.
  • Ein erfahrener Softwareentwickler ist in der Lage, Computerprogramme zu erstellen, die auf der verbalen Beschreibung und den Flussdiagrammen dieser Erfindung beruhen. Die verschiedenen Programme oder Programmmodule können unter Anwendung irgendeines der dem Fachmann bekannten Verfahren erstellt werden, oder sie können in Verbindung mit existierender Software entwickelt werden. Zum Beispiel können Programme oder Programmmodule in oder mittels ® Java, C++, HTML, XML oder HTML mit enthaltenen Java-Applets entwickelt werden, oder in SAP R/3 oder ABAP.

Claims (12)

  1. Verfahren zum Ermöglichen des Verhinderns eines Zugriffes auf ein Datenobjekt (201.x), das eine Kennung (ID) aufweist, durch eine Softwareanwendung (111) während eines Datenbewegungs- oder Datenarchivierungsprozesses in einem Computersystem (101), wobei Datenobjekte von einer ersten zu einer zweiten Speicherstelle bewegt werden, dadurch gekennzeichnet, dass es umfasst – Verwenden eines permanenten Sperrobjektes (203), in welchem die ID des Datenobjektes (201.x) gespeichert werden kann und in welchem der ID eine Verknüpfung zu der zweiten Speicherstelle des Datenobjektes (201.x) zugewiesen werden kann, und eines transaktionalen Sperrobjektes (204), in welchem die ID des Datenobjektes (201.x) gespeichert werden kann, um die Softwareanwendung am Zugreifen auf das Datenobjekt zu hindern, – Speichern der ID mittels des Datenbewegungs- oder Datenarchivierungsprozesses in dem transaktionalen Sperrobjekt (204) vor dem Speichern der ID in dem permanenten Sperrobjekt (203) oder vor dem Zuweisen der zweiten Speicherstelle des Datenobjektes (201.x) zu der ID in dem permanenten Sperrobjekt (203), – Löschen der ID mittels des Datenbewegungs- oder Datenarchivierungsprozesses aus dem transaktionalen Sperrobjekt (204) nach dem Speichern der ID in dem permanenten Sperrobjekt (203) oder nach dem Zuweisen der zweiten Speicherstelle des Datenobjektes (201.x) zu der ID in dem permanenten Sperrobjekt (203), – Zugreifen auf die Sperrobjekte (203, 204) mittels der Softwareanwendung (111), und – wobei die Softwareanwendung nicht auf das Datenobjekt (201.x) zugreift, falls die ID und eine Verknüpfung zu der zweiten Speicherstelle in dem permanenten Sperrobjekt (203) gespeichert sind oder falls die ID in dem transaktionalen Sperrobjekt (204) gespeichert ist.
  2. Verfahren nach Anspruch 1, wobei die Verknüpfung ein Dateiname oder eine Verknüpfung zu einer Datei ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das permanente Sperrobjekt (203) eine Datei ist, die auf einem nichtflüchtigen Speichermittel (107) gespeichert ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das permanente Sperrobjekt (203) eine Tabelle aufweist, die eine Spalte für die ID und eine Spalte für die Verknüpfung der ID zu der zweiten Speicherstelle besitzt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei ein Datenobjekt (201.x) ein oder mehrere Felder einer oder mehrerer Tabellen aufweist und wobei die ID ein oder mehrere Schlüsselfelder der einen oder mehreren Tabellen aufweist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das transaktionale Sperrobjekt (204) in einem flüchtigen (112) oder nichtflüchtigen (107) Speichermittel gespeichert ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das transaktionale Sperrobjekt (204) ein Datenarray ist.
  8. Verfahren nach Anspruch 7, wobei das Datenarray eindimensional ist.
  9. Verfahren nach einem der Ansprüche 1 bis 8 zur Verwendung in einer Software zur Unternehmensressourcenplanung.
  10. Computersystem (101), das Codemittel aufweist, die so beschaffen sind, dass sie jeden der Schritte des Verfahrens (203, 204) gemäß einem oder mehreren der Ansprüche 1 bis 9 durchführen.
  11. Computerprogramm, das Codemittel aufweist, die so beschaffen sind, dass sie ein Verfahren gemäß einem oder mehreren der Ansprüche 1 bis 9 durchführen, wenn das Programm auf einem Computersystem ausgeführt wird.
  12. Computerprogramm nach Anspruch 11, das auf einem computerlesbaren Medium enthalten ist.
DE60306663T 2002-09-09 2003-09-04 Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren Expired - Lifetime DE60306663T2 (de)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US40890102P 2002-09-09 2002-09-09
US40890202P 2002-09-09 2002-09-09
US40890302P 2002-09-09 2002-09-09
US40890502P 2002-09-09 2002-09-09
US408901P 2002-09-09
US408902P 2002-09-09
US408903P 2002-09-09
US408905P 2002-09-09
US40959302P 2002-09-11 2002-09-11
US40960602P 2002-09-11 2002-09-11
US409593P 2002-09-11
US409606P 2002-09-11
PCT/EP2003/009833 WO2004025506A1 (en) 2002-09-09 2003-09-04 Electronic data structure for controlling access to data objects using locks

Publications (2)

Publication Number Publication Date
DE60306663D1 DE60306663D1 (de) 2006-08-17
DE60306663T2 true DE60306663T2 (de) 2007-06-28

Family

ID=31999857

Family Applications (6)

Application Number Title Priority Date Filing Date
DE60330254T Expired - Lifetime DE60330254D1 (de) 2002-09-09 2003-09-04 Verfahren und gerät zur datenarchivierung
DE60315996T Expired - Lifetime DE60315996T2 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtung zur datenbewegung mittels sperren
DE60306674T Expired - Lifetime DE60306674T2 (de) 2002-09-09 2003-09-04 Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE60330482T Expired - Lifetime DE60330482D1 (de) 2002-09-09 2003-09-04 Verfahren und systeme zum bewegen von daten unter verwendung von riegeln
DE60306663T Expired - Lifetime DE60306663T2 (de) 2002-09-09 2003-09-04 Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
DE60333303T Expired - Lifetime DE60333303D1 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtungen zur datenbewegung mittels sperren

Family Applications Before (4)

Application Number Title Priority Date Filing Date
DE60330254T Expired - Lifetime DE60330254D1 (de) 2002-09-09 2003-09-04 Verfahren und gerät zur datenarchivierung
DE60315996T Expired - Lifetime DE60315996T2 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtung zur datenbewegung mittels sperren
DE60306674T Expired - Lifetime DE60306674T2 (de) 2002-09-09 2003-09-04 Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE60330482T Expired - Lifetime DE60330482D1 (de) 2002-09-09 2003-09-04 Verfahren und systeme zum bewegen von daten unter verwendung von riegeln

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60333303T Expired - Lifetime DE60333303D1 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtungen zur datenbewegung mittels sperren

Country Status (6)

Country Link
US (3) US7693890B2 (de)
EP (6) EP1540527B1 (de)
AT (6) ATE371903T1 (de)
AU (6) AU2003273824A1 (de)
DE (6) DE60330254D1 (de)
WO (6) WO2004025479A2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002366867A1 (en) 2001-12-21 2003-07-09 Micronas Gmbh Method and device for the exchange of data
AU2003273824A1 (en) * 2002-09-09 2004-04-30 Sap Aktiengesellschaft Methods and systems for data moving using locks
US7457933B2 (en) * 2002-09-09 2008-11-25 Sap Ag Methods and systems for archiving data
US7756813B2 (en) * 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US7693881B2 (en) 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
US7653667B2 (en) * 2002-09-09 2010-01-26 Sap Ag Methods and systems for data moving using locks
US20060149696A1 (en) * 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks
US7779386B2 (en) 2003-12-08 2010-08-17 Ebay Inc. Method and system to automatically regenerate software code
EP1566744A1 (de) 2004-02-19 2005-08-24 Sap Ag Optimierung der Sperrgranularität mittels Bereichssperren
US7664966B2 (en) * 2004-05-17 2010-02-16 Microsoft Corporation Secure storage on recordable medium in a content protection system
US8676748B2 (en) * 2004-11-18 2014-03-18 International Business Machines Corporation Clearing metadata tracks in a storage system
US20060106873A1 (en) * 2004-11-18 2006-05-18 International Business Machines (Ibm) Corporation Selective clearing of persistent metadata in a storage subsystem
EP1684194A1 (de) 2005-01-25 2006-07-26 Sap Ag Ein zentraler Sperrdienst für Datenbankanwendungen
EP1684193A1 (de) * 2005-01-25 2006-07-26 Sap Ag Zentraler Sperrdienst für Datenbankanwendungen
US7844578B2 (en) * 2005-03-31 2010-11-30 Sap Ag Parallel archiving for a messaging system
ITTO20060534A1 (it) * 2006-07-20 2008-01-21 Si Sv El S P A Gestione automatica di archivi digitali in particolare di file audio e/o video
US7861093B2 (en) * 2006-08-30 2010-12-28 International Business Machines Corporation Managing data access via a loop only if changed locking facility
US20080154994A1 (en) * 2006-12-22 2008-06-26 Sap Ag Managing aged index data for a database
US7827160B2 (en) * 2007-03-30 2010-11-02 Sap Ag Managing distributed index data
US8510720B2 (en) * 2007-12-20 2013-08-13 Sap Ag System landscape trace
US20100287553A1 (en) 2009-05-05 2010-11-11 Sap Ag System, method, and software for controlled interruption of batch job processing
US9164998B2 (en) 2010-07-29 2015-10-20 Sap Se Archive-system-independent archive-type objects
US10114843B2 (en) 2011-11-09 2018-10-30 Sap Se Content migration framework
US9892207B2 (en) 2013-02-01 2018-02-13 Sap Se Automatic migration for on-premise data objects to on-demand data objects
US9270617B2 (en) 2013-06-05 2016-02-23 Sap Se Load controller framework
GB2520361A (en) 2013-11-19 2015-05-20 Ibm Method and system for a safe archiving of data
US10963459B2 (en) 2014-08-29 2021-03-30 Sap Se Generic utilization of on-premise query frameworks by new on-demand applications
US10331498B1 (en) * 2017-04-26 2019-06-25 EMC IP Holding Company LLC ColoredLock synchronization object, allowing flow specific policy of lock canceling
EP3882794A4 (de) * 2018-11-13 2022-08-03 Nippon Telegraph And Telephone Corporation Proprietäres endgerät, benutzerendgerät, neues proprietäres endgerät, proprietäres programm, benutzerprogramm, neues proprietäres programm, inhaltsverwendungssystem und datenstruktur zum routing von objektdaten

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251502B (en) * 1990-11-07 1995-06-14 Nonstop Networks Limited Data-loss prevention products
JPH0827755B2 (ja) 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
JPH05197604A (ja) 1991-05-21 1993-08-06 Digital Equip Corp <Dec> マルチプロセッサ・コンピュータ及びその動作方法
US5408653A (en) 1992-04-15 1995-04-18 International Business Machines Corporation Efficient data base access using a shared electronic store in a multi-system environment with shared disks
EP0569605A1 (de) * 1992-05-06 1993-11-18 International Business Machines Corporation Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten
SE500656C2 (sv) * 1992-12-08 1994-08-01 Ellemtel Utvecklings Ab System för backuptagning i en distribuerad databas
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5835906A (en) 1996-07-01 1998-11-10 Sun Microsystems, Inc. Methods and apparatus for sharing stored data objects in a computer system
US5822773A (en) 1996-10-17 1998-10-13 Fwb Software Llc Method and system for accelerating the copying of repetitively copied computer data
US6088693A (en) 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US5913213A (en) 1997-06-16 1999-06-15 Telefonaktiebolaget L M Ericsson Lingering locks for replicated data objects
US6314408B1 (en) 1997-07-15 2001-11-06 Eroom Technology, Inc. Method and apparatus for controlling access to a product
GB2330220B (en) 1997-10-07 2002-04-10 Ibm Access control for groups of related data items
US5995998A (en) 1998-01-23 1999-11-30 Sun Microsystems, Inc. Method, apparatus and computer program product for locking interrelated data structures in a multi-threaded computing environment
US6353836B1 (en) * 1998-02-13 2002-03-05 Oracle Corporation Method and apparatus for transferring data from the cache of one node to the cache of another node
US6182186B1 (en) 1998-06-30 2001-01-30 Sun Microsystems, Inc. Method and apparatus that utilizes lock states to lock resources
US6334134B1 (en) 1998-08-18 2001-12-25 International Business Machines Corporation Insert performance on a multi-system transaction environment
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6530035B1 (en) 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6405274B1 (en) 1998-12-30 2002-06-11 Oracle Corporation Anticipatory lock mode conversions in a lock management system
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6412034B1 (en) * 1999-04-16 2002-06-25 Oracle Corporation Transaction-based locking approach
US6874104B1 (en) 1999-06-11 2005-03-29 International Business Machines Corporation Assigning recoverable unique sequence numbers in a transaction processing system
US6343296B1 (en) * 1999-09-03 2002-01-29 Lucent Technologies Inc. On-line reorganization in object-oriented databases
CA2302981C (en) 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US6557082B1 (en) 2000-03-30 2003-04-29 International Business Machines Corporation Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices
US6651123B1 (en) 2000-03-30 2003-11-18 International Business Machines Corporation File system locking
EP1168174A1 (de) 2000-06-19 2002-01-02 Hewlett-Packard Company, A Delaware Corporation Verfahren zur automatischen Datensicherung und -wiederherstellung
US6850938B1 (en) 2001-02-08 2005-02-01 Cisco Technology, Inc. Method and apparatus providing optimistic locking of shared computer resources
US6772155B1 (en) 2001-04-04 2004-08-03 Ncr Corporation Looking data in a database system
US6772177B2 (en) 2001-06-01 2004-08-03 International Business Machines Corporation System and method for parallelizing file archival and retrieval
JP4183400B2 (ja) * 2001-06-27 2008-11-19 株式会社日立製作所 データベースシステムとデータベース管理方法およびプログラム
US6944615B2 (en) 2001-06-28 2005-09-13 International Business Machines Corporation System and method for avoiding deadlock situations due to pseudo-deleted entries
US6775750B2 (en) 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
EP1283477A1 (de) * 2001-08-07 2003-02-12 Sap Ag Verfahren und Computersystem zum Identifizieren der zu archivierenden Objekte
US7028287B2 (en) 2001-11-14 2006-04-11 Sun Microsystems, Inc. Method and apparatus for facilitating compact object headers
US6839819B2 (en) 2001-12-28 2005-01-04 Storage Technology Corporation Data management appliance
US7036043B2 (en) * 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US7251661B1 (en) 2002-03-29 2007-07-31 Ncr Corp. Movable objects in a database
US7693881B2 (en) 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
US7756813B2 (en) 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US7457933B2 (en) 2002-09-09 2008-11-25 Sap Ag Methods and systems for archiving data
US20060149696A1 (en) 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks
AU2003273824A1 (en) 2002-09-09 2004-04-30 Sap Aktiengesellschaft Methods and systems for data moving using locks

Also Published As

Publication number Publication date
US20060101094A1 (en) 2006-05-11
AU2003287947A8 (en) 2004-04-30
ATE473484T1 (de) 2010-07-15
DE60315996T2 (de) 2008-05-21
EP1540516B1 (de) 2009-11-25
US7756814B2 (en) 2010-07-13
EP1540517B1 (de) 2010-07-07
DE60306674D1 (de) 2006-08-17
EP1540532A1 (de) 2005-06-15
ATE451653T1 (de) 2009-12-15
WO2004025479A3 (en) 2004-10-14
ATE332534T1 (de) 2006-07-15
EP1540527B1 (de) 2007-08-29
WO2004025506A1 (en) 2004-03-25
ATE332535T1 (de) 2006-07-15
DE60306674T2 (de) 2007-06-28
AU2003267042A1 (en) 2004-04-30
DE60333303D1 (de) 2010-08-19
EP1540517A1 (de) 2005-06-15
WO2004025502A1 (en) 2004-03-25
DE60315996D1 (de) 2007-10-11
US7693890B2 (en) 2010-04-06
ATE450010T1 (de) 2009-12-15
AU2003264263A1 (en) 2004-04-30
AU2003258703A1 (en) 2004-04-30
AU2003273824A1 (en) 2004-04-30
DE60306663D1 (de) 2006-08-17
US20040153457A1 (en) 2004-08-05
EP1559039B1 (de) 2006-07-05
WO2004025505A1 (en) 2004-03-25
US20040243773A1 (en) 2004-12-02
DE60330482D1 (de) 2010-01-21
WO2004025503A1 (en) 2004-03-25
EP1540516A1 (de) 2005-06-15
AU2003287947A1 (en) 2004-04-30
EP1559039A1 (de) 2005-08-03
EP1552434B1 (de) 2009-12-09
WO2004025479A2 (en) 2004-03-25
EP1540532B1 (de) 2006-07-05
ATE371903T1 (de) 2007-09-15
US7222142B2 (en) 2007-05-22
EP1540527A2 (de) 2005-06-15
AU2003264264A1 (en) 2004-04-30
WO2004025504A1 (en) 2004-03-25
DE60330254D1 (de) 2010-01-07
EP1552434A1 (de) 2005-07-13

Similar Documents

Publication Publication Date Title
DE60306663T2 (de) Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
DE69906488T2 (de) Verfahren zur Synchronisierung eines Datenbankschemas mit seiner Darstellung in einem objekt-orientierten Repository
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE60022767T2 (de) Mehrpunkten dateibank synchronisierungsprotokoll um datenverfalschung zu vermeiden.
DE19926115B4 (de) Transaktionshandhabung in einer Konfigurationsdatenbank
DE102008015662B4 (de) Beseitigung von Daten
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
EP0829046B1 (de) Setup-verfahren und setup-system für benutzerprogramme, sowie benutzerrechner in einem rechnernetz
DE202009019149U1 (de) Asynchron verteilte Speicherbereinigung für replizierte Speichercluster
DE19844071A1 (de) Verfahren zum Lösen von Datenkonflikten in einem gemeinsamen Datenumfeld
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
DE112018000456T5 (de) Verwalten von umfangreichen Zuordnungsgruppen unter Verwendung von optimierten Bitmap-Darstellungen
DE19937423A1 (de) Verfahren und Vorrichtung zur schnellen Datensicherung und Datenübertragung
EP1067460B1 (de) Datenträger mit wiederherstellbarem Basisdatengrundzustand und Verfahren zu dessen Herstellung
EP1637956A1 (de) Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen
DE69936674T2 (de) Speicherteilsystem und Verfahren zur Reorganisierung von multiplexierten Daten
EP1798673A1 (de) Computer-implementiertes System zur Erzeugung, Bearbeitung und Verwaltung von strukturierten Datensätzen
DE19538448A1 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
EP2601594A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
DE60315030T2 (de) Vermeiden von datenverlusten beim aktualisieren eines data warehouse
DE102018123463A1 (de) Personendatenbank
DE10108564A1 (de) Verfahren zur Suche nach in einem verteilten System aktuell oder früher gespeicherten Daten oder Daten enthaltenden Ressourcen unter Berücksichtigung des Zeitpunkts ihrer Verfügbarkeit
EP1741029A2 (de) Verwalten eines dateisystems in einem tragbaren datenträger
EP0791886B1 (de) Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gesprecherten Datei

Legal Events

Date Code Title Description
8364 No opposition during term of opposition