DE112013000734T5 - Multiplex-Klassifizierung zum Komprimieren von Tabellendaten - Google Patents

Multiplex-Klassifizierung zum Komprimieren von Tabellendaten Download PDF

Info

Publication number
DE112013000734T5
DE112013000734T5 DE112013000734.7T DE112013000734T DE112013000734T5 DE 112013000734 T5 DE112013000734 T5 DE 112013000734T5 DE 112013000734 T DE112013000734 T DE 112013000734T DE 112013000734 T5 DE112013000734 T5 DE 112013000734T5
Authority
DE
Germany
Prior art keywords
compression
column
data
regular
compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112013000734.7T
Other languages
English (en)
Other versions
DE112013000734B4 (de
Inventor
c/o IBM Corporation Demidov Lilia
c/o IBM Corporation Halowani Nir
c/o IBM Corporation Amit Jonathan
c/o IBM Corporation Marenkov Sergey
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013000734T5 publication Critical patent/DE112013000734T5/de
Application granted granted Critical
Publication of DE112013000734B4 publication Critical patent/DE112013000734B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

Für eine Multiplex-Klassifizierung zum Spaltenkomprimieren von Tabellendaten werden Datensegmente ähnlichen Typs in Klassen klassifiziert, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Klassen zugehörig sind. Die Komprimierungsdatenströme werden auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert. Die Komprimierung geht in einen Ausgabepuffer, wobei die Komprimierungsdatenströme extrahiert werden.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich allgemein auf Computer und insbesondere auf Multiplex-Klassifizierungen zum Komprimieren von Tabellendaten in einer Datenverarbeitungsumgebung.
  • Stand der Technik
  • In der heutigen Gesellschaft sind Computersysteme allgemein üblich. Computersysteme findet man am Arbeitsplatz, zu Hause oder in der Schule. Zu Computersystemen können Datenspeichersysteme oder Plattenspeichersysteme zum Verarbeiten und Speichern von Daten gehören. Datenspeichersysteme oder Plattenspeichersysteme werden zum Verarbeiten und Speichern von Daten verwendet. Ein Speichersystem kann ein oder mehrere Plattenlaufwerke enthalten. Diese Datenverarbeitungssysteme erfordern üblicherweise einen umfangreichen Datenspeicher. Kundendaten oder Daten, die von Benutzern in dem Datenverarbeitungssystem erzeugt werden, belegen einen großen Teil dieses Datenspeichers. Viele dieser Computersysteme enthalten virtuelle Speicherkomponenten.
  • Datenverarbeitungssysteme werden zum Speichern und Verwalten einer Vielfalt von Datentypen wie beispielsweise Tabellendaten verwendet. Tabellendaten sind in der Regel in Zeilen und Spalten gegliedert, um gebräuchliche Tabellen zu bilden, die z. B. in relationalen Tabellen, Textverarbeitungsdokumenten, Arbeitsblättern oder arbeitsblattähnlichen Strukturen oder ähnlichen Datenbankstrukturen verwendet werden. Zum Bilden dieser Tabellen gehört eine Vielfalt von gegliederten Bereichen und Anordnungen für die Zeilen und Spalten. Das eigentliche physische Speichern der Tabellendaten kann jedoch eine Vielfalt von Formen annehmen. Die logische Struktur der Tabellendaten kann zwar mehrdimensional sein, die Tabellendaten können jedoch physisch in linearem Format wie beispielsweise in einem zeilenweisen oder spaltenweisen Format gespeichert werden. Im zeilenweisen Format werden Spaltenwerte einer Zeile aus der tabellenähnlichen Struktur in einem dauerhaften Speicher fortlaufend aneinander grenzend gespeichert. Im spaltenweisen Format dagegen werden für eine gegebene Spalte aus mehreren Zeilen Spaltenwerte der Spalte fortlaufend aneinander grenzend gespeichert.
  • Datenkomprimierung wird häufig dazu verwendet, den Umfang von Daten zu verringern, die erforderlich sind, um eine gegebene Menge von Informationen zu verarbeiten, zu übertragen oder zu speichern. Datenkomprimierung ist die Codierung von Daten zur Verkleinerung ihrer Darstellung. Komprimierung kann zum Beispiel verwendet werden, um die Speicheranforderungen für Dateien zu verringern, um die Datenübertragungsrate in einem Kanal zu vergrößern oder um die Redundanz vor einer Verschlüsselung für eine größere Sicherheit zu verringern. Datenkomprimierung ist für Tabellendatenstrukturen auch von Vorteil, da Datenkomprimierung von Nutzen ist, um die Inanspruchnahme von teuren Ressourcen wie Festplattenspeicherplatz oder Übertragungsbandbreite zu verringern.
  • Kurzdarstellung der Erfindung
  • Technisches Problem
  • Da Speichern von Daten teuer ist, ist es eindeutig wünschenswert, den Umfang des zum Speichern von strukturierten Daten benötigten Speichers zu verringern. Wenn eine Datenfolge darüber hinaus kopiert oder zwischen Speicherplätzen übertragen wird, ist es wünschenswert, den Aufwand bezüglich CPU-Zyklen, Netzwerkverwendung usw. im Datenbankbereich zu verringern, wobei viel Forschungsarbeit in Bezug auf Techniken zum Verwalten von Datenkopien durchgeführt wurde. Bei Tabellendaten würde ein unabhängiges Komprimieren jeder Spalte ein höheres Komprimierungsverhältnis gewährleisten als ein Komprimieren der vollständigen Tabelle mit einem Datenstrom. Der Grund für das erhöhte Komprimierungsverhältnis besteht darin, dass die Daten in jeder Spalte verhältnismäßig homogen sind. Speicher-Steuereinheiten kennen die Tabellenstruktur jedoch nicht, da sie keine Spaltenkomprimierungsalgorithmen anwenden können und aus dem erhöhten Komprimierungsverhältnis keinen Vorteil ziehen können. Effizienz und Produktivität können infolgedessen vermindert sein.
  • Lösung des Problems
  • Dementsprechend und im Hinblick auf das oben Gesagte werden verschiedene beispielhafte Ausführungsformen für Verfahren, Systeme und Computerprogrammprodukte für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten bereitgestellt. Bei einer Ausführungsform werden Datensegmente ähnlichen Typs in Klassen klassifiziert, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Klassen zugehörig sind. Die Komprimierungsdatenströme werden auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert. Die Komprimierung geht in einen Ausgabepuffer, wobei die Komprimierungsdatenströme extrahiert werden.
  • Zusätzlich zu der vorhergehenden beispielhaften Ausführungsform des Verfahrens werden weitere beispielhafte Ausführungsformen von Systemen und Computerprogrammprodukten bereitgestellt und liefern ähnliche Vorteile. Die vorgehende Darstellung wurde bereitgestellt, um eine Auswahl von Konzepten in einer vereinfachten Form vorzustellen, die nachfolgend in der ausführlichen Beschreibung weiter beschrieben werden. Es ist weder vorgesehen, dass diese Darstellung Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstands kennzeichnet, noch ist vorgesehen, dass sie als Hilfe beim Festlegen des Umfangs des beanspruchten Gegenstands zu verwenden ist. Der beanspruchte Gegenstand ist nicht auf Ausführungen beschränkt, die einige oder alle der bei dem Hintergrund angegebenen Nachteile beheben.
  • Damit die Vorteile der Erfindung leicht verstanden werden, wird eine genauere Beschreibung der Erfindung, die vorstehend kurz beschrieben wurde, durch Bezugnahme auf spezifische Ausführungsformen gegeben, die in den beigefügten Zeichnungen dargestellt sind. Ausgehend davon, dass diese Zeichnungen Ausführungsformen der Erfindung darstellen und deshalb nicht als Einschränkung ihres Umfangs betrachtet werden dürfen, wird die Erfindung mit größerer Genauigkeit und zusätzlichen Einzelheiten durch die Verwendung der beigefügten Zeichnungen beschrieben und erklärt.
  • Kurzbeschreibung der Zeichnungen
  • 1 veranschaulicht eine Computerspeicherumgebung, die eine beispielhafte Speichereinheit aufweist, bei der Aspekte der vorliegenden Erfindung verwirklicht sein können.
  • 2 veranschaulicht ein beispielhaftes Blockschaltbild, das eine Hardware-Struktur eines Datenspeichersystems in einem Computersystem zeigt, bei dem Aspekte der vorliegenden Erfindung verwirklicht sein können.
  • 3 ist ein Ablaufplan, der ein beispielhaftes Verfahren für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten veranschaulicht.
  • 4 veranschaulicht ein beispielhaftes Blockschaubild, das eine Komprimierung auf der Grundlage einer Multiplex-Klassifizierung zeigt.
  • 5 veranschaulicht ein beispielhaftes Blockschaubild, das einen Multiplex-Ausgabepuffer zeigt, bei dem Aspekte der vorliegenden Erfindung verwirklicht sein können.
  • 6 veranschaulicht ein beispielhaftes Blockschaubild, das eine Multiplex-Klassifizierung für einen Komprimierungspuffer von Tabellendaten zeigt, bei dem Aspekte der vorliegenden Erfindung verwirklicht sein können.
  • 7 ist ein Ablaufplan, der ein beispielhaftes Verfahren für ein Codieren einer Multiplex-Klassifizierung zum Komprimieren von Tabellendaten veranschaulicht.
  • 8 ist ein Ablaufplan, der ein beispielhaftes Verfahren zum Extrahieren der Multiplex-Klassifizierungsdaten zurück in den ursprünglichen zuvor verarbeiteten Eingabedatenblock veranschaulicht.
  • Beschreibung der Ausführungsformen
  • Wie zuvor erwähnt, ist es aufgrund der Kosten und der für die Datenspeicherung benötigten Ressourcen wünschenswert, die Größe der Kapazität des zum Speichern strukturierter Daten benötigten Speichers zu verringern. Wenn eine Datenfolge darüber hinaus kopiert oder zwischen Speicherplätzen übertragen wird, ist es wünschenswert, die den Aufwand bezüglich CPU-Zyklen, Netzwerkverwendung usw. im Datenbankbereich zu verringern. Bei Tabellendaten würde ein unabhängiges Komprimieren jeder Spalte ein höheres Komprimierungsverhältnis gewährleisten als ein Komprimieren der vollständigen Tabelle mit einem Datenstrom. Der Grund für das erhöhte Komprimierungsverhältnis besteht darin, dass die Daten in jeder Spalte verhältnismäßig homogen sind. Speicher-Steuereinheiten kennen die Tabellenstruktur jedoch nicht, da sie keine Spaltenkomprimierungsalgorithmen anwenden können und aus dem erhöhten Komprimierungsverhältnis keinen Vorteil ziehen können. Effizienz und Produktivität können infolgedessen vermindert sein.
  • Im Gegensatz dazu und um die zuvor beschriebenen Leistungsschwächen und Leistungsprobleme zu beseitigen, stellen die veranschaulichten Ausführungsformen Mechanismen bereit, die eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten ermöglichen, die ein größeres Komprimierungsverhältnis des Speicherbereichs zum Ergebnis hat, indem für jede Spaltenverarbeitung eine eindeutige Datenstromeinheit ausgewählt wird. Bei einer Ausführungsform stellen die Mechanismen ein Format eines Ausgabepuffercontainers mit einem neuen Block-Array bereit, das Mehrzweckblöcke mit mehreren internen Blockprototypen unterstützt, darunter: Spaltenkomprimierung mit eindeutiger Datenstromeinheit, reguläre Komprimierung, Rohblock und Spaltenkomprimierung mit einer Datenstromeinheit.
  • Bei einer Ausführungsform klassifizieren die Mechanismen der vorliegenden Erfindung lediglich beispielhaft Datensegmente ähnlichen Typs in Klassen, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Klassen zugehörig sind. Die Komprimierungsdatenströme werden auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert. Die Komprimierungsdatenströme werden in einem Ausgabepuffer zusammengefasst, und die Komprimierungsdatenströme werden extrahiert.
  • Mit Bezug nunmehr auf 1 ist eine beispielhafte Architektur 10 von Datenspeichersystemen (z. B. virtuellen Bandsystemen) in einer Datenverarbeitungsumgebung dargestellt. Das Computersystem 10 enthält eine Zentraleinheit (CPU) 12, die mit einer oder mehreren Massenspeichereinheiten 14 und einer Speichereinheit 16 verbunden ist. Zu Massenspeichereinheiten können Festplattenlaufwerkeinheiten (HDD-Einheiten), Halbleitereinheiten (SSD-Einheiten) usw. gehören, die in einer redundanten Anordnung unabhängiger Festplatten (redundant array of independent disks, RAID) konfiguriert sein können. Die weiter unten beschriebenen Sicherungsoperationen können an einer oder mehreren Einheiten 14 in dem System 10 oder an anderer Stelle ausgeführt werden. Die Speichereinheit 16 kann einen Speicher wie beispielsweise einen elektrisch löschbaren, programmierbaren Nur-Lese-Speicher (EEPROM) oder einen Host aus betreffenden Einheiten enthalten. Die Speichereinheit 16 und die Massenspeichereinheit 14 sind über ein signaltragendes Medium mit der CPU 12 verbunden. Die CPU 12 ist ferner über einen Datenübertragungsanschluss 18 mit einem Datenübertragungsnetzwerk 20 verbunden, das eine angeschlossene Vielzahl von weiteren Computersystemen 22 und 24 aufweist.
  • 2 ist ein beispielhaftes Blockschaltbild 200, das eine Hardware-Struktur eines Datenspeichersystems in einem Computersystem gemäß der vorliegenden Erfindung zeigt. Mit Bezug auf 2 sind die Host-Computer 210, 220, 225 dargestellt, die jeweils als Zentraleinheit fungieren, um als Teil eines Datenspeichersystems 200 Datenverarbeitung durchzuführen. Bei den Hosts (physische oder virtuelle Einheiten) 210, 220 und 225 kann es sich um eine oder mehrere neue physische Einheiten oder logische Einheiten handeln, um die Zwecke der vorliegenden Erfindung in dem Datenspeichersystem 200 umzusetzen. Bei einer Ausführungsform kann das Datenspeichersystem 200 lediglich beispielhaft als System Storage TMDS8000TM von IBM (eingetragenes Warenzeichen) ausgeführt sein. Bei einer Netzwerkverbindung 260 kann es sich um eine Fibre-Channel-Struktur, eine Fibre-Channel-Punkt-zu-Punkt-Verbindung, eine Fibre-Channel-over-Ethernet-Struktur oder -Punkt-zu-Punkt-Verbindung, eine FICON- oder ESCON-E/A-Schnittstelle, jeden anderen E/A-Schnittstellentyp, ein drahtloses Netzwerk, ein drahtgebundenes Netzwerk, ein LAN, ein WAN, eine heterogene, homogene, öffentliche (z. B. das Internet), private Verbindung oder eine Kombination davon handeln. Die Hosts 210, 220 und 225 können lokal sein oder über eine oder mehrere Stellen verteilt sein und mit jeder Art von Struktur (oder Strukturkanal) (nicht in 2 dargestellt) oder Netzwerkadapter 260 zu der Speicher-Steuereinheit 240 wie beispielsweise Fibre Channel, FICON, ESCON, Ethernet, Lichtwellenleiter, drahtloser oder Koaxial-Adapter ausgestattet sein. Das Datenspeichersystem 200 ist dementsprechend für den Datenaustausch mit einem geeigneten Strukturadapter (nicht in 2 dargestellt) oder Netzwerkadapter ausgestattet. Das Datenspeichersystem 200 ist in 1 mit einer Speicher-Steuereinheit 240 und einem Speicher 230 dargestellt.
  • Um ein besseres Verständnis der hier beschriebenen Verfahren zu erleichtern, ist die Speicher-Steuereinheit 240 in 2 als eine einzelne Verarbeitungseinheit dargestellt, die einen Mikroprozessor 242, einen Systemspeicher 243 und einen nichtflüchtigen Speicher (nonvolative storage, ”NVS”) 216 enthält und nachstehend genauer beschrieben wird. Es sei darauf hingewiesen, dass die Speicher-Steuereinheit 240 bei einigen Ausführungsformen aus mehreren Verarbeitungseinheiten besteht, wobei jede ihren eigenen Prozessorkomplex und Systemspeicher aufweist und durch ein spezielles Netzwerk in dem Datenspeichersystem 200 verbunden ist. Der Speicher 230 kann aus einer oder mehreren Speichereinheiten bestehen wie beispielsweise Speicher-Arrays, die durch ein Speichernetzwerk mit der Speicher-Steuereinheit 240 verbunden sind.
  • Bei einigen Ausführungsformen können die im Speicher 230 enthaltenen Einheiten in einer Schleifenarchitektur verbunden sein. Die Speicher-Steuereinheit 240 verwaltet den Speicher 230 und ermöglicht die Verarbeitung von Schreib- und Leseanforderungen, die für den Speicher 230 vorgesehen sind. Der Systemspeicher 243 der Speicher-Steuereinheit 240 speichert Programmbefehle und Daten, auf die der Prozessor 242 zum Ausführen von Funktions- und Verfahrensschritten zugreifen kann, die mit dem Verwalten des Speichers 230 und dem Ausführen der Schritte und Verfahren der vorliegenden Erfindung zum Multiplexer-Spaltenkomprimieren von Tabellendaten in einer Datenverarbeitungsumgebung verbunden sind. Bei einer Ausführungsform enthält der Systemspeicher 243 die Betriebssoftware 250 zum Multiplexer-Spaltenkomprimieren von Tabellendaten in einer Computerspeicherumgebung, die die hier beschriebenen Verfahren und Operationen enthält, gehört zu dieser oder tauscht mit ihr Daten aus. Wie in 2 dargestellt, kann der Systemspeicher 243 außerdem einen Zwischenspeicher 245 für den Speicher 230 enthalten oder mit diesem Daten austauschen, der auch als ”Cachespeicher” bezeichnet wird und zum Puffern von ”Schreibdaten” bzw. ”Lesedaten” dient, die Schreib-/Leseanforderungen und ihre zugehörigen Daten betreffen. Bei einer Ausführungsform ist der Cachespeicher 245 in einer Einheit zugewiesen, die sich außerhalb des Systemspeichers 243 befindet, auf die der Mikroprozessor 242 jedoch zugreifen kann und die dazu dienen kann, neben dem Ausführen der hier beschriebenen Operationen zusätzliche Sicherheit gegenüber Datenverlust zu gewährleisten.
  • Bei einigen Ausführungsformen ist der Cachespeicher 245 mit einem flüchtigen Speicher und einem nichtflüchtigen Speicher ausgeführt und über einen lokalen Bus (nicht in 2 dargestellt) für eine bessere Leistungsfähigkeit des Datenspeichersystems 200 mit dem Mikroprozessor 242 verbunden. Auf den NVS 216, der in der Datenspeicher-Steuereinheit enthalten ist, kann der Mikroprozessor 242 zugreifen, und er dient zum Bereitstellen einer zusätzlichen Unterstützung für Operationen und die Ausführung der vorliegenden Erfindung, wie in anderen Figuren beschrieben. Der NVS 216 kann auch als ”dauerhafter” Zwischenspeicher oder ”Cachespeicher” bezeichnet werden und ist mit einem nichtflüchtigen Speicher ausgeführt, der möglicherweise eine externe Spannungsversorgung nutzt, um darin gespeicherte Daten zu sichern. Der NVS kann in und mit dem Cachespeicher 245 für beliebige Zwecke vorgesehen sein, die geeignet sind, die Zielsetzungen der vorliegenden Erfindung umzusetzen. Bei einigen Ausführungsformen versorgt eine Sicherungs-Spannungsquelle (nicht in 2 dargestellt) wie beispielsweise eine Batterie den NVS 216 mit einer ausreichenden Spannung, damit die darin gespeicherten Daten im Fall eines Spannungsausfalls im Datenspeichersystem 200 erhalten bleiben. Bei bestimmten Ausführungsformen ist die Kapazität des NVS 216 kleiner als oder gleich groß wie die Gesamtkapazität des Cachespeichers 245.
  • Der Speicher 230 kann physisch aus einer oder mehreren Speichereinheiten bestehen wie beispielsweise aus Speicher-Arrays. Ein Speicher-Array ist eine logische Gruppierung von einzelnen Speichereinheiten wie beispielsweise eine Festplatte. Bei bestimmten Ausführungsformen besteht der Speicher 230 aus einem JBOD-Bereich (Just a Bunch of Disks) oder einem RAID-Bereich (Redundant Array of Independent Disks). Eine Ansammlung von physischen Speicher-Arrays kann ferner so kombiniert sein, dass eine Rangebene (rank) gebildet wird, die die physische Speicherung von der logischen Konfiguration trennt. Der Speicherraum in einer Rangebene kann logischen Speicherbereichen (logical volumes) zugeordnet sein, die den in einer Schreib-/Leseanforderung spezifizierten Speicherort definieren.
  • Bei einer Ausführungsform kann das Speichersystem wie in 2 gezeigt lediglich beispielhaft einen logischen Speicherbereich oder einfach ”Speicherbereich” enthalten, der verschiedene Arten von Zuordnungen aufweisen kann. Die Speicher 230a, 230b und 230n sind als Rangebenen in dem Datenspeichersystem 200 dargestellt und werden hierin als Rangebene 230a, 230b und 230n bezeichnet. Rangebenen können für das Datenspeichersystem 200 lokal sein oder an einer physisch entfernten Stelle angeordnet sein. Mit anderen Worten, eine lokale Speicher-Steuereinheit kann mit einer entfernt angeordneten Speicher-Steuereinheit verbunden sein und einen Speicher an der entfernt angeordneten Stelle verwalten. Die Rangebene 230a ist so dargestellt, dass sie mit zwei vollständigen Speicherbereichen 234 und 236 sowie einem Teilspeicherbereich 232a konfiguriert ist. Die Rangebene 230b ist mit einem weiteren Teilspeicherbereich 232b dargestellt. Somit ist der Speicherbereich 232 über die Rangebenen 230a und 230b zugeordnet. Die Rangebene 230n ist so dargestellt, dass sie dem Speicherbereich 238 vollständig zugeordnet ist, das heißt, die Rangebene 230n bezieht sich auf den vollständigen physischen Speicher für den Speicherbereich 238. Aus den oben genannten Beispielen wird klar, dass eine Rangebene so konfiguriert sein kann, dass sie ein oder mehrere Teilspeicherbereiche und/oder vollständige Speicherbereiche enthält. Speicherbereich und Rangebenen können weiterhin in sogenannte ”Spuren” (tracks) unterteilt sein, die einen festen Block des Speichers darstellen. Eine Spur ist deswegen einem gegebenen Speicherbereich zugeordnet und kann für eine gegebene Rangebene festgelegt sein.
  • Die Speicher-Steuereinheit 240 kann ein Klassifizierungsmodul 255, ein klassenspezifisches Codiermodul 257, ein Spaltenkomprimierungsmodul 259 und ein Decodiermodul 260 enthalten, um eine Multiplexer-Spaltenkomprimierung von Tabellendaten in einer Datenverarbeitungsumgebung zu unterstützen. Das Klassifizierungsmodul 255, das klassenspezifische Codiermodul 257, das Spaltenkomprimierungsmodul 259 und das Decodiermodul 260 können mit jeder einzelnen Komponente der Speicher-Steuereinheit 240, der Hosts 210, 220, 225 und der Speichereinheiten 230 zusammenwirken. Sowohl das Klassifizierungsmodul 255, das klassenspezifische Codiermodul 257, das Spaltenkomprimierungsmodul 259 als auch das Decodiermodul 260 können strukturell ein vollständiges Modul sein und gemeinsam und in Verbindung für eine Multiplexer-Spaltenkomprimierung von Tabellendaten in einer Datenverarbeitungsumgebung miteinander arbeiten oder einzelne Module darstellen. Das Klassifizierungsmodul 255, das klassenspezifische Codiermodul 257, das Spaltenkomprimierungsmodul 259 und das Decodiermodul 260 können außerdem in dem Cachespeicher 245 oder anderen Komponenten der Speicher-Steuereinheit 240 angeordnet sein, um die Zwecke der vorliegenden Erfindung zu erreichen.
  • Die Speicher-Steuereinheit 240 kann aufgebaut sein mit einem Steuerungs-Switch 241 zum Steuern des Fibre-Channel-Protokolls zu den Host-Computern 210, 220, 225, einem Mikroprozessor 242 zum Steuern der gesamten Speicher-Steuereinheit 240, einem nichtflüchtigen Steuerungsspeicher 243 zum Speichern eines Mikroprogramms (Betriebssoftware) 250 zum Steuern des Betriebs der Speicher-Steuereinheit 240, von Daten zur Steuerung und jeder Tabelle, die später beschrieben werden, einem Cachespeicher 245 zum vorübergehenden Speichern (Puffern) von Daten und Puffern 244 zum Unterstützen des Cachespeichers 245 zum Lesen und Schreiben von Daten, einem Steuerungs-Switch 241 zum Steuern eines Protokolls zum Steuern der Datenübermittlung zu oder von den Speichereinheiten 230, dem Klassifizierungsmodul 255, dem klassenspezifischen Codiermodul 257, dem Spaltenkomprimierungsmodul 259 und dem Decodiermodul 260, auf denen Informationen eingerichtet werden können. Mehrere Puffer 244 können bei der vorliegenden Erfindung ausgeführt sein, um die Multiplexer-Spaltenkomprimierung von Tabellendaten in einer Computerspeicherumgebung zu unterstützen.
  • Bei einer Ausführungsform sind lediglich beispielhaft die Host-Computer oder eine oder mehrere physische oder virtuelle Einheiten 210, 220, 225 und die Speicher-Steuereinheit 240 durch einen Netzwerkadapter 260 (der ein Fibre Channel sein könnte) als Schnittstelle, d. h. über einen Switch, der als ”Struktur” (fabric) bezeichnet wird, verbunden. Bei einer Ausführungsform wird lediglich beispielhaft der Betrieb des in 2 gezeigten Systems beschrieben. Der Mikroprozessor 242 kann den Speicher 243 so steuern, dass er Befehlsinformationen von der (physischen oder virtuellen) Host-Einheit 210 und Informationen zum Kennzeichnen der (physischen oder virtuellen) Host-Einheit 210 speichert. Der Steuerungs-Switch 241, die Puffer 244, der Cachespeicher 245, die Betriebssoftware 250, der Mikroprozessor 242, der Speicher 243, der NVS 216, das Klassifizierungsmodul 255, das klassenspezifische Codiermodul 257, das Spaltenkomprimierungsmodul 259 und das Decodiermodul 260 tauschen untereinander Daten aus und können separate Komponenten oder eine einzige Komponente sein. Außerdem können mehrere, wenn nicht sogar alle Komponenten wie beispielsweise die Betriebssoftware 245 in dem Speicher 243 für eine Multiplexer-Spaltenkomprimierung von Tabellendaten in einer Datenspeicherumgebung enthalten sein. Alle Komponenten in der Speichereinheit können miteinander verbunden sein und für Zwecke, die für die vorliegende Erfindung geeignet sind, untereinander Daten austauschen.
  • Wie nachstehend beschrieben wird, sollen die Mechanismen der veranschaulichten Ausführungsformen bei einer Ausführungsform die Fähigkeit bereitstellen, Tabellendaten in Echtzeit zu komprimieren. Bei einer Ausführungsform erkennen die Mechanismen die Tabellenstruktur der Daten in einer Speicher-Steuereinheit. Die Mechanismen erkennen die Tabellenstruktur durch Verwenden einer Kombination von Spaltenkomprimierung, um ein höheres Komprimierungsverhältnis in der Speicher-Steuereinheit zu ermöglichen. Die Mechanismen verwenden Komprimierungsrückmeldung, gewöhnliche Begrenzer und/oder gewöhnliche Zellenauffüllmuster (cell padding patterns) und/oder eine Kombination aus gewöhnlichen Begrenzern und/oder gewöhnlichen Zellenauffüllmuster zum Erkennen der eingehenden Tabellendatenstruktur.
  • 3 ist ein Ablaufplan, der ein beispielhaftes Verfahren 300 für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten veranschaulicht. Das Verfahren 300 beginnt (Schritt 302) durch Klassifizieren von Datensegmenten ähnlichen Typs in Klassen, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Klassen zugehörig sind (Schritt 304). Die Komprimierungsdatenströme werden auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert (Schritt 306). Die Komprimierungsdatenströme werden in einem Ausgabepuffer zusammengefasst (Schritt 308). Die Komprimierungsdatenströme werden extrahiert (Schritt 310). Das Verfahren 300 endet (Schritt 312).
  • 4 veranschaulicht ein beispielhaftes Blockschaubild 400, das eine Komprimierung auf der Grundlage einer Multiplex-Klassifizierung zeigt. Wie in 4 veranschaulicht, werden eingehende Daten 402 (z. B. eine E/A-Operation wie etwa eine Schreiboperation) an einen Klassifizierer 404 gesendet. Der Klassifizierer 404 gruppiert Daten ähnlichen Typs im gleichen Komprimierungsdatenstrom, indem er die Daten klassifiziert. Wie in 4 veranschaulicht, können die Klassifizierungen 406 danach klassifiziert und eingeordnet werden, ob es sich bei den Daten um Text 406A, Zahlen 406B, 406C, Binärdaten 406D und/oder weitere Klassen 406N handelt, die dann dementsprechend in diese Klassen 406 eingeordnet werden. Die Multiplexer-Klassifizierung für Spaltenkomprimierungsoperationen ermöglicht das Gruppieren von Daten ähnlichen Typs im selben Komprimierungsdatenstrom und klassifiziert die Daten darüber hinaus auf eine Weise, bei der ein geringerer Platzbedarf in Bezug auf das Alphabet gewährleistet wird. Jede Klassifizierung behält ein wesentlich größeres Komprimierungsfenster, das eine Identifizierung von Wiederholungen ermöglicht, die sich in größerem Abstand zueinander befinden (z. B. indem ein Wörterbuch verwendet wird). Das Klassifizieren kann in einem einzigen Durchgang durchgeführt werden und ist nicht auf ein starres Format beschränkt. Die auf Klassifizierung beruhende Komprimierung unterstützt sowohl feste als auch variable Datenlängen (z. B. JASON, XML usw.) und komprimiert Daten über die Spalten. Da reguläre Komprimierungsoperationen kurze Token nicht wirksam komprimieren, verwendet die Klassifizierung kleine Wörterbücher zur Unterstützung bei der Komprimierung von kurzen Token. Für jede Klasse 406 wenden die Mechanismen eine klassenspezifische optimierte Codieroperation an und fassen dann alle komprimierten klassenspezifischen Codierverfahren in einem Ausgabepuffer für eine Echtzeit-Komprimierung 408 zusammen. Das Zusammenpacken aller Klassen in einen Ausgabepuffer ist auch erforderlich, um Leseoperationen mit wahlfreiem Zugriff aus dem Speicher bereitzustellen. Es ist anzumerken, dass eine Vielfalt von Spaltenkomprimierungsoperationen auf jeden der Komprimierungsdatenströme angewendet werden kann, um ein höheres Komprimierungsverhältnis zu erhalten. Die Daten können dann extrahiert und in einer Vielfalt von Speicherkomponenten 410 gespeichert werden.
  • 5 veranschaulicht ein beispielhaftes Blockschaubild, das einen Multiplex-Ausgabepuffer zeigt, bei dem Aspekte der vorliegenden Erfindung verwirklicht sein können. Bei einer Ausführungsform kann ein Multiplex-Ausgabepuffer 3 Typen von codierten Datenströmen enthalten. 1) Einen komprimierten Puffer mit Spaltenkomprimierung, der für eine spezifische Spalte verwendet wird (z. B. Spaltenkomprimierung|Nummer der Datenstromeinheit wird verwendet und kann eine eindeutige Datenstromeinheit der Spaltenkomprimierung aufweisen). 2) Eine reguläre Komprimierung mit Spaltenkomprimierung, die eine verkettete Spaltenzeichenfolge enthalten kann, die mit einer Komprimierungsdatenstromeinheit (z. B. eine ZLIB-Komprimierungsdatenstromeinheit) für alle Spaltenzeichenfolgen (z. B. reguläre Spaltenkomprimierung mit einer Komprimierungsdatenstromeinheit) komprimiert wird. 3) Ein regulärer komprimierter Puffer, der verwendet wird, wenn kein Spaltenkomprimierungsverfahren verwendet wird. Ein Spaltenkomprimierungsdatenstrom kann bei einer Ausführungsform vorgesehen sein, um sich auf einen Spaltenkomprimierungsdatenstrom zu beziehen, bei dem es sich um eine eindeutige Spaltenkomprimierungsdatenstromeinheit für eine spezifische Spalte handelt. Ein regulärer Komprimierungsdatenstrom mit Spaltenkomprimierung (z. B. ”reguläre Spaltenkomprimierung”) kann bei einer Ausführungsform vorgesehen sein, um sich auf eine reguläre Spaltenkomprimierung mit einer verketteten Spaltenzeichenfolge zu beziehen, die mit einer Komprimierungsdatenstromeinheit komprimiert wird (z. B. eine reguläre Spaltenkomprimierung mit einer Datenstromeinheit). Ein regulärer komprimierter Datenstrom kann bei einer Ausführungsform vorgesehen sein, um sich auf einen regulären komprimierten Puffer/Datenstrom zu beziehen, wenn kein Spaltenkomprimierungsverfahren/keine Spaltenkomprimierungstechnik verwendet wird (zum Beispiel ein regulärer ZLIB-komprimierter Puffer).
  • Wie in 5 veranschaulicht, sind ein Füll-Header (padding header) 502 (''PH), eine Spaltenkomprimierung mit Datenstromeinheit 1 504 (''CC1), eine reguläre Spaltenkomprimierung 506 (''RC1), eine reguläre Spaltenkomprimierung 508 (dieselbe Datenstromeinheit wie bei RC1) (RC2), eine Spaltenkomprimierung mit Datenstromeinheit 2, die als 510 (''CC2) bezeichnet wird, und ein regulärer komprimierter Puffer 512 (RZ1) in dem Ausgabepuffer dargestellt.
  • 6 veranschaulicht ein beispielhaftes Blockschaubild, das eine Multiplex-Klassifizierung für einen Komprimierungspuffer von Tabellendaten zeigt, bei dem Aspekte der vorliegenden Erfindung verwirklicht sein können. In 6 ist ein Multi-Zlib-Rückverweis-Wörterbuch mit 32 Kilobyte (KB) × N Spalte 602 dargestellt. In den Eingabedatenströmen 604 sind Spalten 606 von Daten (in 6 als 606A bis 606N veranschaulicht) klassifiziert, wobei jede Spalte auf 1 KB komprimiert ist. Jede der klassifizierten Spalten 606 wird in den Ausgabeblock 620 gesetzt, der mit 32 KB veranschaulicht ist. In dem Ausgabeblock kann folgende Blockreihenfolge auftreten. Bei den ersten 20 Bits in dem Ausgabepuffer handelt es sich um den Füll-Header 608. Das nächste 1 Byte 610 gibt 0 für Komprimierung (z. B. Zlib-Komprimierung) oder 1 für Spaltenkomprimierung an. 7 Bits stellen die Gesamtspaltenzahl 610 dar. Als Nächstes gibt das nächste 1 Byte 612 an, ob die Gesamtzahl der komprimierten Spalten insgesamt kleiner als und/oder gleich groß wie die Gesamtspaltenzahl 612 ist. Der komprimierte Puffer 614 von Spalte 1 zeigt, dass jede komprimierte Spalte mit 3 Bytes extrahierter Länge und 1 Byte für die Spaltenposition in der Tabelle dargestellt wird, dies wiederholt sich bis zu dem komprimierten Puffer von Spalte N 612. Wenn N kleiner als die Gesamtspalten 616 ist, werden die übrigen Daten (spaltenweise verkettet) komprimiert. Dieser verkettete Puffer weist dasselbe Format der Spaltendarstellung auf. 1 Byte bezieht sich auf die Position der Spalte, und 4 Bytes auf die Spaltenpufferlänge. Zum Schluss wird dieselbe Struktur für den nächsten Datenblock 618 wiederholt (entweder mit derselben Spaltentrennung oder mit einer neuen Spaltentrennungsdefinition).
  • 7 ist ein Ablaufplan, der ein beispielhaftes Verfahren 700 für ein Codieren einer Multiplex-Klassifizierung zum Komprimieren von Tabellendaten veranschaulicht. Verfahren 700 ordnet einen Füll-Header zu (Schritt 702). Verfahren 700 ermittelt den Komprimierungstyp der Komprimierungsdatenströme (Schritt 704). Wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Komprimierung handelt, kann das Verfahren 700 einen regulären Komprimierungstyp festlegen (Schritt 706), eine nichtkomprimierte Menge festlegen (Schritt 708) und komprimierte Daten schreiben (Schritt 710). Wenn es sich bei dem erkannten Komprimierungstyp jedoch um eine Spaltenkomprimierung handelt, schreibt das Verfahren 700 eine Nummer der Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird (Schritt 712). Die Nummer der Datenstromeinheit wird für die vorangehende Datenverarbeitung benötigt. Das Verfahren 700 kann daraufhin eine verarbeitete Spaltennummer schreiben (Schritt 714), eine nichtkomprimierte Datenmenge schreiben (Schritt 716) und komprimierte Spaltendaten schreiben (Schritt 718).
  • Wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, kann das Verfahren 700 eine Nummer einer Datenstromeinheit schreiben, die für die reguläre Spaltenkomprimierung verwendet wird, und die verarbeitete Spaltennummer schreiben (Schritt 720). Die Nummer der Datenstromeinheit wird für die vorangehende Datenverarbeitung benötigt. Das Verfahren 700 kann die komprimierten Spaltendetenmenge schreiben (Schritt 722) und die komprimierten Spaltendaten schreiben (Schritt 724). Das Verfahren 700 wiederholt die Schritte 720, 722 und 724, z. B. Schreiben der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  • 8 ist ein Ablaufplan, der ein beispielhaftes Verfahren 800 zum Extrahieren der Multiplex-Klassifizierungsdaten zurück in den ursprünglichen vorverarbeiteten Eingabedatenblock veranschaulicht. Das Verfahren 800 liest den Füll-Header und extrahiert die komprimierte Gesamtmenge (Schritt 802). Das Verfahren 800 ermittelt den Extrahierungskomprimierungstyp der Komprimierungsdatenströme (Schritt 804). Wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Komprimierung handelt, kann das Verfahren 800 einen regulären Komprimierungstyp extrahieren (Schritt 806), eine nichtkomprimierte Menge extrahieren (Schritt 808) und komprimierte Daten extrahieren (Schritt 810). Wenn es sich bei dem erkannten Komprimierungstyp jedoch um eine Spaltenkomprimierung handelt, extrahiert das Verfahren 800 eine Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird (Schritt 812). Die Nummer der Datenstromeinheit wird für die vorangehende Datenverarbeitung benötigt. Das Verfahren 800 kann daraufhin eine verarbeitete Spaltennummer extrahieren (Schritt 814), eine nichtkomprimierte Datenmenge extrahieren (Schritt 816) und komprimierte Spaltendaten extrahieren (Schritt 818). Es ist anzumerken, dass die reguläre Komprimierung eine reguläre Zlib-Komprimierung beinhalten kann.
  • Wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, kann das Verfahren 800 eine Nummer einer Datenstromeinheit extrahieren, die für die reguläre Spaltenkomprimierung verwendet wird, und die verarbeitete Spaltennummer extrahieren (Schritt 820). Die Nummer der Datenstromeinheit wird für die vorangehende Datenverarbeitung benötigt. Das Verfahren 800 kann die nichtkomprimierte Datenmenge extrahieren (Schritt 822) und die komprimierten Spaltendaten extrahieren (Schritt 824). Das Verfahren 800 wiederholt die Schritte 820, 822 und 824, z. B. Extrahieren der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme extrahiert sind.
  • Für den Fachmann ist ersichtlich, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Aspekte der vorliegenden Erfindung können daher die Form einer kompletten Hardware-Ausführung, einer kompletten Software-Ausführung (darunter Firmware, residente Software, Mikrocode usw.) oder eine Ausführungsform haben, bei der Hardware- und Software-Aspekte kombiniert sind, die allgemein hierin als ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Aspekte der vorliegenden Erfindung können des Weiteren die Form eines Computerprogrammprodukts haben, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, die über einen darin enthaltenen computerlesbaren Programmcode verfügen.
  • Es können beliebige Kombinationen von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit oder eine geeignete Kombination davon handeln, ohne darauf beschränkt zu sein. Zu genauen Beispielen (einer nicht vollständigen Liste) für das computerlesbare Speichermedium gehören wie folgt: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computer-Diskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disc-Nur-Lese-Speicher, (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine geeignete Kombination davon. Im Zusammenhang mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges physisches Medium handeln, das ein Programm enthalten oder speichern kann, welches von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen verwendet wird.
  • In einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines geeigneten Mediums übermittelt werden, das drahtlos, drahtgebunden, ein Lichtwellenleiterkabel, HF usw. oder eine geeignete Kombination davon sein kann, ohne darauf beschränkt zu sein. Computerprogrammcode zum Ausführen von Operationen in Verbindung mit Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, zu denen eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder ähnliche sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache ”C” oder ähnliche Programmiersprachen gehören. Der Programmcode kann ganz auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder ganz auf dem entfernt angeordneten Computer oder Server ausgeführt werden.
  • Im letztgenannten Szenario kann der entfernt angeordnete Computer über ein beliebiges Netzwerk mit dem Computer des Benutzers verbunden sein, zum Beispiel über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder es kann die Verbindung zu einem externen Computer hergestellt werden (beispielsweise über das Internet durch einen Internetdienstanbieter).
  • Aspekte der vorliegenden Erfindung werden unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaltbilder sowie Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder in den Blockschaltbildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalrechners, eines Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, um auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich der Anweisungen erzeugen, die die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegte Funktion/Maßnahme umsetzen. Die Computerprogrammanweisungen können ferner in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Funktionsschritten auszulösen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder den anderen Einheiten durchgeführt werden, um einen auf einem Computer implementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer oder in der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse bereitstellen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaltbildern ein Modul, Segment oder einen Teil eines Codes darstellen, das/der eine oder mehrere ausführbare Anweisungen zur Umsetzung der festgelegten Logikfunktion(en) aufweist. Es ist ferner darauf hinzuweisen, dass die im Block angegebenen Funktionen bei einigen alternativen Ausführungen in einer anderen Reihenfolge als in den Figuren dargestellt ablaufen können. Zwei aufeinanderfolgend dargestellte Blöcke können zum Beispiel tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach entsprechender Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Des Weiteren ist darauf hinzuweisen, dass jeder Block der Blockschaltbilder und/oder der Ablaufplandarstellung sowie Kombinationen von Blöcken in den Blockschaltbildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die angegebenen Funktionen oder Maßnahmen durchführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen.
  • Zwar wurden eine oder mehrere Ausführungsformen der vorliegenden Erfindung genau beschrieben, dem Fachmann wird jedoch klar sein, dass Änderungen und Anpassungen an diesen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, der in den folgenden Ansprüchen dargelegt ist.

Claims (24)

  1. Verfahren für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten durch eine Prozessoreinheit in einer Datenverarbeitungsumgebung, wobei das Verfahren aufweist: Klassifizieren von Datensegmenten ähnlichen Typs in einer Vielzahl von Klassen, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Vielzahl von Klassen zugehörig sind, wobei die Komprimierungsdatenströme auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert werden; und Zusammenfassen der Komprimierungsdatenströme in einem Ausgabepuffer, wobei die Komprimierungsdatenströme extrahiert werden.
  2. Verfahren nach Anspruch 1, wobei die Vielzahl von Klassen mindestens eine Klassifizierung von Text, Zahlen, Datumsangaben, Binärdaten, XML/HTML-Tags und eMail-Adressklassen beinhaltet.
  3. Verfahren nach Anspruch 2, wobei der eine Ausgabepuffer mindestens eine Spaltenkomprimierung, eine reguläre Spaltenkomprimierung und einen regulären Komprimierungsdatenstrom enthält.
  4. Verfahren nach Anspruch 1, das weiterhin in Verbindung mit dem Codieren der Komprimierungsdatenströme ein Durchführen von mindestens einem des Folgenden beinhaltet: Zuordnen eines Füll-Header, Erkennen eines Komprimierungstyps der Komprimierungsdatenströme, wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Komprimierung handelt, Festlegen der regulären Komprimierung, Festlegen einer nichtkomprimierten Menge, und Schreiben von komprimierten Daten, wenn es sich bei dem erkannten Komprimierungstyp um eine Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, und Schreiben von komprimierten Spaltendaten, und wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, Schreiben von komprimierten Spaltendaten, und Wiederholen des Schreibens der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  5. Verfahren nach Anspruch 1, das weiterhin in Verbindung mit dem Extrahieren der Komprimierungsdatenströme ein Durchführen von mindestens einem des Folgenden beinhaltet: Lesen eines Füll-Header und Extrahieren einer komprimierten Gesamtmenge, Extrahieren eines Komprimierungstyps, wenn es sich bei dem Komprimierungstyp um eine reguläre Komprimierung handelt, Lesen einer nichtkomprimierten Menge, und Extrahieren von komprimierten Daten, wenn es sich bei dem Komprimierungstyp um eine Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, und Extrahieren von komprimierten Spaltendaten, und wenn es sich bei dem Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, Extrahieren von komprimierten Spaltendaten, und Extrahieren der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  6. Verfahren nach Anspruch 1, wobei das Klassifizieren eine Vielzahl von kleinen Wörterbüchern zum Unterstützen beim Komprimieren von kurzen Token verwendet.
  7. Verfahren nach Anspruch 1, wobei das Klassifizieren ein größeres Komprimierungsfenster behält, um ein Identifizieren von Wiederholungen zu ermöglichen.
  8. Verfahren nach Anspruch 1, das weiterhin ein Anwenden mindestens einer Spaltenkomprimierungsoperation aus einer Vielzahl von Spaltenkomprimierungsoperationen auf jeden der Komprimierungsdatenströme beinhaltet, um ein höheres Komprimierungsverhältnis zu erhalten.
  9. System für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten in einer Datenverarbeitungsumgebung, wobei das System aufweist: mindestens eine Prozessoreinheit, die in der Datenverarbeitungsumgebung verwendbar ist, wobei die mindestens eine Prozessoreinheit: Datensegmente ähnlichen Typs in eine Vielzahl von Klassen klassifiziert, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Vielzahl von Klassen zugehörig sind, wobei die Komprimierungsdatenströme auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert werden, und die Komprimierungsdatenströme in einem Ausgabepuffer zusammenfasst, wobei die Komprimierungsdatenströme extrahiert werden.
  10. System nach Anspruch 9, wobei die Vielzahl von Klassen mindestens eine Klassifizierung von Text, Zahlen, Datumsangaben, Binärdaten, XML/HTML-Tags und eMail-Adressklassen beinhaltet.
  11. Verfahren nach Anspruch 10, wobei der eine Ausgabepuffer mindestens eine Spaltenkomprimierung, eine reguläre Spaltenkomprimierung und einen regulären Komprimierungsdatenstrom enthält.
  12. System nach Anspruch 9, wobei die mindestens eine Prozessoreinheit in Verbindung mit dem Codieren der Komprimierungsdatenströme mindestens eines des Folgenden durchführt: Zuordnen eines Füll-Header, Erkennen eines Komprimierungstyps der Komprimierungsdatenströme, wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Komprimierung handelt, Festlegen der regulären Komprimierung, Festlegen einer nichtkomprimierten Menge, und Schreiben von komprimierten Daten, wenn es sich bei dem erkannten Komprimierungstyp um eine Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, und Schreiben von komprimierten Spaltendaten, und wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, Schreiben von komprimierten Spaltendaten, und Wiederholen des Schreibens der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  13. System nach Anspruch 9, wobei die mindestens eine Prozessoreinheit in Verbindung mit dem Extrahieren der Komprimierungsdatenströme mindestens eines des Folgenden durchführt Lesen eines Füll-Header und Extrahieren einer komprimierten Gesamtmenge, Extrahieren eines Komprimierungstyps, wenn es sich bei dem Komprimierungstyp um eine reguläre Komprimierung handelt, Lesen einer nichtkomprimierten Menge, und Extrahieren von komprimierten Daten, wenn es sich bei dem Komprimierungstyp um eine Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, und Extrahieren von komprimierten Spaltendaten, und wenn es sich bei dem Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, Extrahieren von komprimierten Spaltendaten, und Extrahieren der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  14. System nach Anspruch 9, wobei das Klassifizieren eine Vielzahl von kleinen Wörterbüchern zum Unterstützen beim Komprimieren von kurzen Token verwendet.
  15. System nach Anspruch 9, wobei das Klassifizieren ein größeres Komprimierungsfenster behält, um ein Identifizieren von Wiederholungen zu ermöglichen.
  16. System nach Anspruch 9, wobei die mindestens eine Prozessoreinheit mindestens eine Spaltenkomprimierungsoperation aus einer Vielzahl von Spaltenkomprimierungsoperationen auf jeden der Komprimierungsdatenströme anwendet, um ein höheres Komprimierungsverhältnis zu erhalten.
  17. Computerprogrammprodukt für eine Multiplex-Klassifizierung zum Komprimieren von Tabellendaten durch eine Prozessoreinheit, wobei das Computerprogrammprodukt ein nichtflüchtiges computerlesbares Speichermedium mit darin gespeicherten computerlesbaren Programmcodeteilen aufweist, wobei die computerlesbaren Programmcodeteile aufweisen: einen ersten ausführbaren Teil zum Klassifizieren von Datensegmenten ähnlichen Typs in einer Vielzahl von Klassen, um die Datensegmente in Komprimierungsdatenströmen zu gruppieren, die jeder der Vielzahl von Klassen zugehörig sind, wobei die Komprimierungsdatenströme auf der Grundlage einer klassenspezifischen optimierten Codieroperation codiert werden; und ein zweiter ausführbarer Teil zum Zusammenfassen der Komprimierungsdatenströme in einem Ausgabepuffer, wobei die Komprimierungsdatenströme extrahiert werden.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die Vielzahl von Klassen mindestens eine Klassifizierung von Text, Zahlen, Datumsangaben, Binärdaten, XML/HTML-Tags und eMail-Adressklassen beinhaltet.
  19. Computerprogrammprodukt nach Anspruch 18, wobei der eine Ausgabepuffer mindestens eine Spaltenkomprimierung, eine reguläre Spaltenkomprimierung und einen regulären Komprimierungsdatenstrom enthält.
  20. Computerprogrammprodukt nach Anspruch 17, das weiterhin in Verbindung mit dem Codieren der Komprimierungsdatenströme einen dritten ausführbaren Teil enthält, um mindestens eines der Folgenden durchzuführen: Zuordnen eines Füll-Header, Erkennen eines Komprimierungstyps der Komprimierungsdatenströme, wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Komprimierung handelt, Festlegen der regulären Komprimierung, Festlegen einer nichtkomprimierten Menge, und Schreiben von komprimierten Daten, wenn es sich bei dem erkannten Komprimierungstyp um eine Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, und Schreiben von komprimierten Spaltendaten, wenn es sich bei dem erkannten Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Schreiben einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Schreiben einer verarbeiteten Spaltennummer, Schreiben einer nichtkomprimierten Datenmenge, Schreiben von komprimierten Spaltendaten, und Wiederholen des Schreibens der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  21. Computerprogrammprodukt nach Anspruch 17, das weiterhin in Verbindung mit dem Extrahieren der Komprimierungsdatenströme einen dritten ausführbaren Teil enthält, um mindestens eines der Folgenden durchzuführen: Lesen eines Füll-Header und Extrahieren einer komprimierten Gesamtmenge, Extrahieren eines Komprimierungstyps, wenn es sich bei dem Komprimierungstyp um eine reguläre Komprimierung handelt, Lesen einer nichtkomprimierten Menge, und Extrahieren von komprimierten Daten, wenn es sich bei dem Komprimierungstyp um eine Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die Spaltenkomprimierung verwendet wird, und Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, und Extrahieren von komprimierten Spaltendaten, wenn es sich bei dem Komprimierungstyp um eine reguläre Spaltenkomprimierung handelt, Extrahieren einer Nummer einer Datenstromeinheit, die für die reguläre Spaltenkomprimierung verwendet wird, Extrahieren einer verarbeiteten Spaltennummer, Extrahieren einer nichtkomprimierten Datenmenge, Extrahieren von komprimierten Spaltendaten, und Extrahieren der Nummer der Datenstromeinheit, der Spaltennummer und der komprimierten Spaltendaten, bis alle regulären Spaltenkomprimierungsdatenströme verarbeitet sind.
  22. Computerprogrammprodukt nach Anspruch 17, wobei das Klassifizieren eine Vielzahl von kleinen Wörterbüchern zum Unterstützen beim Komprimieren von kurzen Token verwendet.
  23. Computerprogrammprodukt nach Anspruch 17, wobei das Klassifizieren ein größeres Komprimierungsfenster behält, um ein Identifizieren von Wiederholungen zu ermöglichen.
  24. Computerprogrammprodukt nach Anspruch 17, das weiterhin einen dritten ausführbaren Teil beinhaltet, um mindestens eine Spaltenkomprimierungsoperation aus einer Vielzahl von Spaltenkomprimierungsoperationen auf jeden der Komprimierungsdatenströme anzuwenden, um ein höheres Komprimierungsverhältnis zu erhalten.
DE112013000734.7T 2012-03-27 2013-03-13 Multiplex-Klassifizierung zum Komprimieren von Tabellendaten Active DE112013000734B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/430,996 US8639672B2 (en) 2012-03-27 2012-03-27 Multiplex classification for tabular data compression
US13/430,996 2012-03-27
US13/538,566 2012-06-29
US13/538,566 US8639673B2 (en) 2012-03-27 2012-06-29 Multiplex classification for tabular data compression
PCT/JP2013/001639 WO2013145599A1 (en) 2012-03-27 2013-03-13 Multiplex classification for tabular data compression

Publications (2)

Publication Number Publication Date
DE112013000734T5 true DE112013000734T5 (de) 2014-11-13
DE112013000734B4 DE112013000734B4 (de) 2016-01-14

Family

ID=49236412

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013000734.7T Active DE112013000734B4 (de) 2012-03-27 2013-03-13 Multiplex-Klassifizierung zum Komprimieren von Tabellendaten

Country Status (5)

Country Link
US (2) US8639672B2 (de)
CN (1) CN104205065B (de)
DE (1) DE112013000734B4 (de)
GB (1) GB2515428B (de)
WO (1) WO2013145599A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885001B2 (en) * 2013-01-17 2021-01-05 International Business Machines Corporation System and method for assigning data to columnar storage in an online transactional system
EP3317973A4 (de) * 2015-07-03 2019-03-06 INTEL Corporation Vorrichtung und verfahren zur datenkompression in einer wearable-vorrichtung
US10331947B2 (en) * 2017-04-26 2019-06-25 International Business Machines Corporation Automatic detection on string and column delimiters in tabular data files
CN107609169A (zh) * 2017-09-27 2018-01-19 合肥博力生产力促进中心有限公司 一种基于数据库的专利名称后台管理分析系统
US10725911B2 (en) 2018-12-10 2020-07-28 Sap Se Non-Uniform pagination of columnar data
US10606775B1 (en) 2018-12-28 2020-03-31 Micron Technology, Inc. Computing tile
US11893277B2 (en) * 2020-10-14 2024-02-06 Western Digital Technologies, Inc. Data storage device managing low endurance semiconductor memory write cache
US20220121397A1 (en) * 2020-10-16 2022-04-21 Western Digital Technologies, Inc. Internal Compression Storage Devices
CN112417815B (zh) * 2020-11-18 2024-01-23 红有软件股份有限公司 一种大数据处理中类别组合数据的动态编码方法
CN113659992B (zh) * 2021-07-16 2023-08-11 深圳智慧林网络科技有限公司 数据压缩方法及装置、存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546575A (en) 1994-05-23 1996-08-13 Basil E. Potter & Associates, Inc. Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records
US8880709B2 (en) 2001-09-12 2014-11-04 Ericsson Television Inc. Method and system for scheduled streaming of best effort data
US6667700B1 (en) * 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US7720943B2 (en) 2004-07-26 2010-05-18 Centillium Communications, Inc. Communication device for obtaining an application image or configuration from a service provider
DE102004038213A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Verfahren und Vorrichtung zum Zugriff auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US7558290B1 (en) * 2005-12-16 2009-07-07 Narus, Inc. Method and apparatus of data compression for computer networks
WO2008034213A1 (en) * 2006-09-18 2008-03-27 Infobright Inc. A method and system for data compression in a relational database
JP5217155B2 (ja) 2006-11-17 2013-06-19 日本電気株式会社 ファイル圧縮自動判定方式および方法、並びに、プログラム
US20090006399A1 (en) * 2007-06-29 2009-01-01 International Business Machines Corporation Compression method for relational tables based on combined column and row coding
CN101398752B (zh) * 2007-09-29 2011-08-31 国际商业机器公司 重叠指令存取单元和重叠指令存取方法
US7609179B2 (en) * 2008-01-08 2009-10-27 International Business Machines Corporation Method for compressed data with reduced dictionary sizes by coding value prefixes
US20090193042A1 (en) 2008-01-29 2009-07-30 International Business Machines Corporation System and computer program product for automated design of row compression on tables in a relational database
US8516002B2 (en) 2008-03-21 2013-08-20 Dell Products L.P. Deflate file data optimization
JP5303213B2 (ja) 2008-07-23 2013-10-02 株式会社日立製作所 データ圧縮処理を伴うデータ管理方法
US7904363B2 (en) 2008-09-24 2011-03-08 Morgan Stanley Database for financial market data storage and retrieval
US8935223B2 (en) * 2009-04-30 2015-01-13 Oracle International Corporation Structure of hierarchical compressed data structure for tabular data
US8356060B2 (en) * 2009-04-30 2013-01-15 Oracle International Corporation Compression analyzer
US8131688B2 (en) * 2009-08-26 2012-03-06 Lsi Corporation Storage system data compression enhancement
EP2317654A1 (de) 2009-10-30 2011-05-04 Research In Motion Limited Verfahren und Vorrichtung zum Trimmen von Nebeninformation für grammatikbasierte Kompression
US8832142B2 (en) * 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US8312026B2 (en) * 2009-12-22 2012-11-13 At&T Intellectual Property I, L.P. Compressing massive relational data
US8107307B2 (en) * 2010-02-04 2012-01-31 Elite Semiconductor Memory Technology Inc. Memory device with data paths for outputting compressed data
CN101835043B (zh) 2010-03-23 2013-10-09 熔点网讯(北京)科技有限公司 基于块编码的带宽自适应桌面共享方法
CN102226906A (zh) 2011-06-03 2011-10-26 王秋池 一种针对htm/html信息隐藏系统

Also Published As

Publication number Publication date
CN104205065A (zh) 2014-12-10
CN104205065B (zh) 2017-09-29
US20130262409A1 (en) 2013-10-03
WO2013145599A1 (en) 2013-10-03
US8639673B2 (en) 2014-01-28
GB2515428B (en) 2018-01-17
DE112013000734B4 (de) 2016-01-14
GB2515428A (en) 2014-12-24
US20130262407A1 (en) 2013-10-03
GB201417927D0 (en) 2014-11-26
US8639672B2 (en) 2014-01-28

Similar Documents

Publication Publication Date Title
DE112013000734B4 (de) Multiplex-Klassifizierung zum Komprimieren von Tabellendaten
DE102013205738A1 (de) Erfassung von tabellengrenzen in datenblöcken zur kompression
DE112014000251T5 (de) Echtzeitklassifizierung von Daten in Datenkomprimierungsdomänen
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
DE112013001905B4 (de) Erhöhte Inline-Deduplizierungseffizienz
DE112013002355B4 (de) Steigern von Datenzwischenspeicherungsleistung
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE102013210642B4 (de) Vorrichtung zum Wiederherstellen von Redundanz
DE102016105526A1 (de) Schnelles mehrschichtiges Indexieren mit Unterstützung für dynamische Aktualisierung
DE112018004637B4 (de) Maschinelles lernen zum verbessern von wiederherstellungen von redundanten anordnungen von unabhängigen festplatten
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE102005032744A1 (de) Indexextraktion von Dokumenten
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE112012005557B4 (de) Erzeugen eines Code-Alphabets von Symbolen zum Erzeugen von Codewörtern für Wörter, die mit einem Programm verwendet werden
DE112018003081T5 (de) Optimieren von benutzerzufriedenheit beim schulen eines kognitiven hierarchischen speicherverwaltungssystems
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE102011056563A1 (de) Datenkompressionsvorrichtungen, Betriebsverfahren dafür und Datenverarbeitungsgeräte einschließlich derselben
DE102021115763A1 (de) Identifizierung und klassifizierung der schreibstrompriorität
DE112013000392T5 (de) Volles Ausnutzen von Parallelprozessoren zum Verarbeiten von Daten
DE102005032734A1 (de) Indexextraktion von Dokumenten
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012000000

Ipc: G06F0017300000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final