-
Die vorliegende Erfindung betrifft ein Verfahren zur Verarbeitung von Datensammlungen, insbesondere in Datenbanksystemen.
-
Mit Hilfe der Datenbanken können Datensammlungen verarbeitet werden, indem sie beispielsweise durchsucht oder durch Verknüpfungen miteinander ausgewertet werden.
-
Die Datensammlungen werden häufig so bereitgestellt, dass in aus den Datensammlungen erzeugten Datensätzen mit binärer Struktur je nach verwendeten Daten zum Teil binäre Datenstrukturen enthalten sind, die über weite Teilbereiche nur Nullwerte enthalten. Beim Erzeugen von Datensammlungen kann es dazu kommen, dass Daten, die sich beispielsweise nur geringfügig unterscheiden, nicht zusammengefasst werden, sondern als zwei unterschiedliche Datensätze erstellt werden. Dadurch ist häufig die Anzahl der Datensätze in einer Datenbank sehr groß.
-
Um dennoch die Datensätze gut verwalten zu können, ist man dazu übergegangen, die Datensätze zu verkleinern, ohne dass Informationen verloren gehen. Dies geschieht beispielsweise durch eine Datenkompression.
-
Dies hat den Vorteil, dass die aufzubewahrende, beispielsweise elektronisch zu speichernde, Datenmenge deutlich reduziert wird. Jedoch müssen bei elektronischen Verarbeitungsprozessen, wie beispielsweise bei Verknüpfung von Daten mit Rechnern, die komprimierten Daten jeweils wieder vollständig entkomprimiert und somit in den ursprünglichen Zustand zurückgesetzt werden, um eine entsprechende Verarbeitung durchführen zu können.
-
Dadurch wird die Verarbeitungszeit durch den vorzunehmenden Dekomprimierungsvorgang erhöht.
-
Bei der elektronischen Verarbeitung der Daten ist darüber hinaus ein sehr großer Arbeitsspeicher notwendig, in dem die entkomprimierten Daten für die Verarbeitung vorgehalten werden müssen. Da die Daten vor der Verarbeitung in den Ursprungszustand zurückgesetzt bzw. entkomprimiert werden müssen, ist lediglich eine sequentielle Verarbeitung der Daten möglich. Dies ist dadurch begründet, dass die Dekomprimierung durch die Art der Komprimierung meist nur sequentiell möglich ist.
-
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Verarbeitung von Datensammlungen bereitzustellen, bei dem bei der Verarbeitung von Datensätzen ein Zurücksetzen der Daten in den ursprünglichen Zustand nicht notwendig ist, sondern die Daten im verkleinerten Zustand verarbeitet werden können. Darüber hinaus ist es wünschenswert, dass einzelne Verarbeitungsoperationen parallel durchgeführt werden können.
-
Zur Lösung der Aufgabe dient ein Verfahren mit den Merkmalen des Anspruchs 1.
-
Erfindungsgemäß ist vorgesehen, dass bei einem Verfahren zur Verarbeitung von Datensammlungen, insbesondere in Datenbanksystemen, folgende Schritte durchgeführt werden. Zunächst werden Datensammlungen erstellt und aus den Datensammlungen Datensätze in einer binären Struktur erzeugt. Die Datensätze werden anschließend in mehrere Bitvektoren aufgeteilt. Jeder Bitvektor wird verkleinert, indem folgende Unterschritte durchgeführt werden:
- – Aufteilen des Bitvektors in aufeinanderfolgende Teilbereiche gleicher Größe, wobei jeder Teilbereich aus n Bits besteht
- – Klassifizieren der Teilbereiche in triviale Teilbereiche, quasi-triviale Teilbereiche und nicht-triviale Teilbereiche
- – Zusammenfassen von einem nicht-trivialen oder mehreren aufeinanderfolgenden nicht-trivialen Teilbereichen zu jeweils einem R-Block und Notieren der absoluten Bitvektorposition PR des ersten Bits des ersten in jedem R-Block enthaltenen nicht-trivialen Teilbereiches und der Anzahl mR der in einem R-Block aufeinanderfolgenden nicht-trivialen Teilbereiche
- – Entfernen der trivialen Teilbereiche
- – Zusammenfassen von einem quasi-trivialen oder mehreren aufeinanderfolgenden quasi-trivialen Teilbereichen zu jeweils einem O-Block, Notieren der absoluten Bitvektorposition PO des ersten Bits des ersten in jedem O-Block enthaltenen quasi-trivialen Teilbereiches und der Anzahl mO der in einem O-Block aufeinanderfolgenden quasi-trivialen Teilbereiche und Entfernen der quasi-trivialen Teilbereiche.
-
Anschließend werden mindestens zwei Bitvektoren ausgewählt und zu einem Lösungsvektor verknüpft, wobei die Verknüpfung der Bitvektoren durch die Verknüpfung von O- und/oder R-Blöcken der Bitvektoren erfolgt. Triviale Teilbereiche und quasi-triviale Teilbereiche können dabei beispielsweise Teilbereiche sein, in denen eine regelmäßige Bitstruktur enthalten ist. Triviale Teilbereiche können beispielsweise Teilbereiche sein, in denen nur Nullen enthalten sind, während quasi-triviale Teilbereiche Teilbereiche sein können, in denen nur Einsen enthalten sind. Nicht-triviale Teilbereiche sind Teilbereiche, in denen sowohl Einsen als auch Nullen enthalten sind.
-
Durch die Verkleinerung des Bitvektors, wobei keine Informationen verloren gehen und die bei einer elektronischen Datenverarbeitung beispielsweise durch eine Datenkompression erfolgen kann, wird die Menge an zu verarbeitenden Daten deutlich reduziert. Dabei sieht die Erfindung in vorteilhafter Weise vor, dass jeder Bitvektor verkleinert bzw. komprimiert wird. Dazu werden die Bitvektoren jeweils in aufeinanderfolgende Teilbereiche gleicher Größe aufgeteilt, wobei jeder Teilbereich aus n Bits besteht. Die Teilbereiche können nun Bits enthalten, die unterschiedliche Werte besitzen oder nur Bits mit dem gleichen Wert aufweisen.
-
Dadurch sind die Teilbereiche in unterschiedliche Teilbereiche klassifizierbar. Die Teilbereiche, in denen die Bits unterschiedliche Werte aufweisen, sind nicht-triviale Teilbereiche. Die Teilbereiche, in denen die Bits beispielsweise nur den Wert 1 besitzen, sind quasi-triviale Teilbereiche. Die Teilbereiche, in denen die Bits nur den Wert 0 aufweisen, sind beispielsweise triviale Teilbereiche.
-
Anschließend können jeweils aufeinanderfolgende nicht-triviale Teilbereiche und aufeinanderfolgende quasi-triviale Teilbereiche zu Blöcken zusammengefasst werden. Die nicht-trivialen Teilbereiche werden zu R-Blöcken zusammengefasst. In jedem R-Block wird die Position PR des ersten Bits, des ersten in jedem R-Block enthaltenen Teilbereiches, die das Bit im ursprünglichen Zustand in dem Bitvektor besitzt, notiert. Ferner wird die Anzahl mR der in einem R-Block enthaltenen aufeinanderfolgenden nicht-trivialen Teilbereiche notiert. Falls auf einen nicht-trivialen Teilbereich sofort ein quasi-trivialer Teilbereich oder ein trivialer Teilbereich folgt, wird der einzelne nicht-triviale Teilbereich in den R-Block gesetzt und die Bitvektorposition PR und die Anzahl mR = 1 notiert.
-
Die quasi-trivialen Teilbereiche werden im wesentlichen fiktiv zusammengefasst, indem aufeinanderfolgende quasi-triviale Teilbereiche aufgefunden werden, die absolute Position PO des ersten Bits des ersten in jedem O-Block fiktiv enthaltenen quasi-trivialen Teilbereiches, die das Bit in dem Ursprungszustand des Bitvektors besitzt, zusammen mit der Anzahl mO der in einem O-Block aufeinanderfolgenden quasi-trivialen Teilbereiche notiert. Anschließend werden die quasi-trivialen Teilbereiche entfernt, so dass lediglich die Information über die absolute Bitvektorposition PO und die Anzahl mO in dem O-Block noch enthalten sind. Folgt auf einen quasi-trivialen Teilbereich unmittelbar ein trivialer Teilbereich oder ein nicht-trivialer Teilbereich, wird lediglich die absolute Bitvektorposition PO des ersten Bits dieses quasi-trivialen Teilbereiches notiert und die Anzahl mO = 1 notiert.
-
Die trivialen Teilbereiche werden vollständig entfernt.
-
Durch die Notierung der absoluten Position des ersten Bits des ersten in jedem R-Block enthaltenen Teilbereiches und der Anzahl mR der in einem R-Block aufeinanderfolgenden nicht-trivialen Teilbereiche können die in jedem R-Block enthaltenen Daten verwendet werden, ohne dass es notwendig ist, den Bitvektor in den Ursprungszustand zu versetzen bzw. zu dekomprimieren.
-
Durch die Verwendung der absoluten Bitvektorposition PO der ursprünglich in jedem O-Block enthaltenen quasi-trivialen Teilbereiche und der Anzahl mO der ursprünglich in einem O-Block aufeinanderfolgenden quasi-trivialen Teilbereiche sind in den O-Blöcken ausreichende Informationen enthalten, um auch diese Daten bei der Verarbeitung von Datensätzen zu nutzen, ohne dass ein Zurücksetzen des Bitvektors in den ursprünglichen Zustand bzw. ein Dekomprimieren des Bitvektors notwendig ist.
-
Dadurch, dass die absoluten Bitvektorpositionen PO und PR der O- bzw. R-Blöcke bekannt sind, ist es auch möglich, die darin enthaltenen Daten zur parallelen Datenverarbeitung zu nutzen. So ist es beispielsweise möglich, dass bei der Verknüpfung von mindestens zwei Bitvektoren zu einem Lösungsvektor die Verknüpfung von einzelnen O- und/oder R-Blöcken der Bitvektoren parallel durchgeführt wird. Dadurch ist eine besonders schnelle Verarbeitung der Datensätze möglich.
-
Die Erfindung sieht in vorteilhafter Weise vor, dass die absolute Bitvektorposition PR und die Anzahl mR der in einem R-Block aufeinanderfolgenden nicht-trivialen Teilbereiche am Anfang jedes R-Blockes, vorzugsweise in binärer Form, notiert werden. Dabei kann in jedem R-Block ein Informationsbereich mit n Bits erzeugt werden, in dem die absolute Vektorposition PR und die Anzahl mR der in einem R-Block aufeinanderfolgenden nicht-trivialen Teilbereiche binär notiert werden, wobei die Anzahl mR in den letzten x Bits des Informationsbereiches notiert wird und x = log2 n ist. Eine derartige Notierung hat sich als besonders vorteilhaft herausgestellt, die darüber hinaus eine geringe Datenmenge benötigt. Durch das Vorsehen des Informationsbereiches am Anfang jedes R-Blocks ist die Verarbeitung der in dem R-Block enthaltenen Daten in vorteilhafter Weise möglich, da bereits bei Beginn der Verarbeitung des R-Blocks bekannt ist, wie viele Daten in dem R-Block enthalten sind und wo diese Daten ursprünglich in dem Bitvektor enthalten waren.
-
Dadurch, dass jeder Teilbereich aus n Bits besteht und in jedem R-Block stets eine ganzzahlige Anzahl mR von nicht-trivialen Teilbereichen in jedem R-Block enthalten sind, ist die absolute Bitvektorposition PR stets ein ganzzahliges Vielfaches von n.
-
Bei der Notierung der absoluten Bitvektorposition PR in binärer Form verbleiben daher die letzten x Bits des Informationsbereiches stets als 0, unter der Voraussetzung, dass x = log2 n ist. Die letzten x Bits des Informationsbereiches werden daher für die Notierung der absoluten Bitvektorposition PR nicht benötigt, so dass in diesem die Anzahl mR der aufeinanderfolgenden nicht-trivialen Teilbereiche notiert werden kann. Dadurch wird die für den Informationsbereich benötigte Datenmenge reduziert.
-
Die Erfindung sieht ferner in vorteilhafter Weise vor, dass ausschließlich die absolute Bitvektorposition PO, die Anzahl mO der in einem O-Block ursprünglich enthaltenen quasi-trivialen Teilbereiche und eine Kennzeichnung des O-Blocks, vorzugsweise in binärer Form, in einem O-Block notiert werden. Dabei kann vorgesehen sein, dass in jedem O-Block ein erster und ein zweiter Informationsbereich mit jeweils n Bits erzeugt wird, in denen die absolute Bitvektorposition PO und die Anzahl mO der in einem O-Block ursprünglich enthaltenen quasi-trivialen Teilbereiche binär notiert werden, wobei die absolute Bitvektorposition PO in dem ersten Informationsbereich und die Anzahl mO in dem zweiten Informationsbereich notiert werden, wobei ferner die Kennzeichnung der letzten x Bits des ersten Informationsbereiches notiert wird und x = log2 n ist. Die Kennzeichnung kann beispielsweise dadurch erfolgen, dass die letzten x Bits den Wert 0 besitzen.
-
Auf diese Weise kann ein O-Block mit dem in den O-Block enthaltenen Informationen der absoluten Bitvektorposition PO und der Anzahl mO mit einer geringen Datenmenge erzeugt werden.
-
In einem Ausführungsbeispiel der Erfindung ist vorgesehen, dass die Anzahl mR ≤ n – 1 ist. Auch kann vorgesehen sein, dass die Anzahl mO ≤ 2n ist. Jeder Bitvektor kann eine maximale Länge von 2n + n – 1 besitzen.
-
In einem Ausführungsbeispiel der Erfindung ist vorgesehen, dass die Verarbeitung von Datensätzen über eine Rechnereinheit mit mehreren SIMD-Prozessoren (SIMD – single instruction multiple data) erfolgt, wobei die parallele Verknüpfung auf die mehreren SIMD-Prozessoren verteilt wird.
-
Im Folgenden wird unter Bezugnahme auf die einzige Figur die Erfindung näher erläutert.
-
Das erfindungsgemäße Verfahren zur Verarbeitung von Datensätzen, insbesondere in Datenbanksystemen, kann beispielsweise im Zusammenhang mit Datenbanksystemen für Call Data Records (CDR) bei Abrechnungssystemen im Telekommunikationsbereich verwendet werden.
-
Datensammlungen über Telekommunikationsdienstleistungen werden beispielsweise in Datenbanksystemen gespeichert, wobei die Daten beispielsweise aus Telefonnummer, Dauer des Gespräches, Uhrzeit etc. bestehen können. Mit Hilfe der Datenbanksysteme können diese Daten ausgewertet werden.
-
Die Daten werden häufig jedoch so erstellt, dass nur eine der Informationen, wie beispielsweise Uhrzeit oder Dauer zutrifft. Selbst wenn von einem Anschluss Gespräche zur gleichen Telefonnummer kurz nacheinander geführt werden, so wird dies als zwei unabhängige Gespräche angesehen und es werden zwei unterschiedliche Daten angelegt. Dadurch entsteht eine sehr große Anzahl von Daten. In Deutschland beträgt die Anzahl derartiger Daten mehrere Milliarden.
-
Die Datensammlungen werden nun in Datensätzen mit einer binären Struktur überführt. Dies kann beispielsweise in Form einer Matrix (bitmap) geschehen, wobei die Zeilen beispielsweise die jeweiligen Gespräche darstellen und die Spalten die entsprechenden Bedingungen, wie Uhrzeit, Dauer etc. In dieser Matrix bedeutet der Binärwert 1, dass die entsprechende Information zutrifft und der Binärwert 0, dass diese Information nicht zutrifft. Aufgrund der Struktur der Datensätze sind in der binären Struktur in Form einer Matrix nun große Bereiche, in denen die Bits mit dem Wert 0 enthalten sind und es existieren auch Bereiche, in denen eine Vielzahl von aufeinanderfolgenden Bits mit dem Wert 1 enthalten sind.
-
Die binäre Struktur kann nun in mehrere Bitvektoren aufgeteilt werden, wobei jede Spalte einen Bitvektor darstellt.
-
Zur Vereinfachung der Verarbeitung der Datensätze können die Bitvektoren nun verkleinert werden, ohne dass es zu Verlust von Informationen kommt. Dazu werden die Bitvektoren in aufeinanderfolgende Teilbereiche gleicher Größe aufgeteilt, wobei jeder Teilbereich aus n Bits besteht. Die entsprechenden Teilbereiche sind in der Figur schematisch dargestellt. Dabei ist der erste Teilbereich eines Bitvektors, der dritte Teilbereich eines Bitvektors und der fünfte Teilbereich eines Bitvektors gezeigt. Die Teilbereiche bestehen in dem gezeigten Ausführungsbeispiel aus 32 Bits, da bei vielen Computern die Basisspeichereinheit aus 32 Bits besteht. Neuere Systeme besitzen 64 Bit Basisspeichereinheiten, so dass es selbstverständlich auch möglich ist, die Teilbereiche mit 64 Bits vorzusehen.
-
Anschließend werden die Teilbereiche klassifiziert. Die Teilbereiche, die jeweils Bits mit den Werten 0 und 1 in einer beliebigen Reihenfolge enthalten, sind sogenannte nicht-triviale Teilbereiche. Die Teilbereiche, die ausschließlich Bits mit dem Wert 1 beinhalten, sind quasi-triviale Teilbereiche. Die Teilbereiche, die ausschließlich Bits mit dem Wert 0 beinhalten, sind triviale Teilbereiche. Jeweils mehrere aufeinanderfolgende nicht-triviale Teilbereiche werden nun zu einem R-Block zusammengefasst.
-
In dem R-Block wird ein Informationsbereich am Anfang des R-Blockes erzeugt, der die Länge von n Bits besitzt. In dem gezeigten Ausführungsbeispiel besitzt der Informationsbereich des R-Blocks die Länge 32 Bits. In diesem Informationsbereich wird nun die absolute Position des ersten Bits der aufeinanderfolgenden Teilbereiche notiert, die die Teilbereiche in dem ursprünglichen Bitvektor besitzen. In der Figur sind die absoluten Bitvektorpositionen als Offset bezeichnet.
-
Da in dem gezeigten Ausführungsbeispiel die Teilbereiche jeweils eine Länge von 32 besitzen, sind die letzten 5 Bits des Informationsbereiches, die Bits 28 bis 32, bei der Notierung der absoluten Bitvektorposition PR stets unverändert, so dass diese für die Notierung der absoluten Bitvektorposition PR nicht benötigt werden. Daher können die Bits 28 bis 32 genutzt werden, um die Anzahl mR der in einem R-Block aufeinanderfolgenden nicht-trivialen Teilbereiche zu notieren.
-
In dem dargestellten Ausführungsbeispiel besitzt der Bit Nummer 27 des Informationsbereiches den Wert 0, so dass die Bitvektorposition PR ebenfalls 0 ist. Das Bit 32 besitzt den Wert 1, so dass angezeigt wird, dass ein nicht-trivialer Teilbereich in diesem Block enthalten ist. In einem R-Block können maximal 31 nicht-triviale Teilbereiche enthalten sein. Sollten mehr als 31 nicht-triviale Teilbereiche in einem Bitvektor aufeinander folgen, so werden diese in zwei oder mehr unterschiedliche R-Blöcke aufgeteilt.
-
Für den Fall, dass der Bitvektor die Länge von 64 Bits besitzt, sind jeweils die letzten 6 Bits des Informationsbereiches frei, so dass die Notierung des absoluten Bitvektors bei Bit Nummer 58 bekommt. In diesem Fall können in einem R-Block 63 nicht-triviale Teilbereiche enthalten sein.
-
Für die Anzahl mR der in einem R-Block enthaltenen nicht-trivialen Teilbereiche gilt somit mR ≤ n – 1.
-
In einem R-Block kann beispielsweise auch nur ein nicht-trivialer Teilbereich enthalten sein, wie in dem Beispiel der Figur gezeigt.
-
Die quasi-trivialen Teilbereiche, die nur Bits mit dem Wert 1 besitzen, werden ebenfalls zu Blöcken zusammengefasst, die als O-Blöcke bezeichnet werden. Dabei werden diese Blöcke lediglich fiktiv zusammengefasst. In einem O-Block sind lediglich ein erster und ein zweiter Informationsbereich enthalten. In dem ersten Informationsbereich ist eine Kennzeichnung enthalten, dass es sich um einen O-Block handelt sowie die absolute Bitvektorposition des ersten Bits des ersten in dem O-Block fiktiv enthaltenen Teilbereichs notiert wird. In dem dargestellten Beispiel ist die absolute Bitvektorposition PO 64, so dass der Bit 26 des ersten Informationsbereiches den Wert 1 besitzen. Die Kennzeichnung erfolgt, indem in dem ersten Informationsbereich die Bits 28 bis 32 den Wert 0 besitzen. Dadurch kann der O-Block von dem R-Block unterschieden werden. In dem zweiten Informationsbereich ist die Anzahl mO der fiktiv in dem O-Block enthaltenen quasi-trivialen Teilbereiche binär notiert. In dem dargestellten Ausführungsbeispiel können in einem O-Block maximal 232 quasi-triviale Teilbereiche fiktiv enthalten sein.
-
Bei einem System, bei dem Teilbereiche aus 64 Bits bestehen, wird die Kennzeichnung in den Bits 59 bis 64 des ersten Informationsbereiches notiert, indem diese Bits auf 0 gesetzt werden. Die Anzahl wird wiederum in dem zweiten Informationsbereich notiert, wobei in diesem Fall die Anzahl der fiktiv in einem O-Block aufeinanderfolgenden quasi-trivialen Teilbereich theoretisch maximal mO = 264 ist.
-
Die quasi-trivialen Teilbereiche werden nun entfernt. Ferner werden die trivialen Teilbereiche, bei denen die Bitwerte stets den Wert 0 besitzen, ebenfalls entfernt. Auf diese Weise kann durch die Verkleinerung der Bitvektoren die Datenmenge stark reduziert werden, insbesondere bei Datensätzen, wie in dem beschriebenen Ausführungsbeispiel, bei dem große Datenmengen mit Bits mit dem Wert 0 oder mit Bits mit dem Wert 1 aufeinanderfolgen.
-
Bei der weiteren Verarbeitung der Datensätze werden nun mindestens zwei Bitvektoren ausgewählt und miteinander verknüpft. Die Auswahl der Bitvektoren richtet sich nach der gestellten Anfrage. Bei der Verknüpfung der Bitvektoren werden O- und/oder R-Blöcke der Bitvektoren miteinander verknüpft. Dazu wird zunächst festgestellt, ob die beiden miteinander zu verknüpfenden Blöcke einen Überschneidungsbereich aufweisen. Dieser Überschneidungsbereich wird dann lediglich dann durch die entsprechenden Operation, beispielsweise eine Und- oder eine Oder-Operation miteinander verknüpft. Das Ergebnis wird in einen Lösungsvektor geschrieben.
-
Dabei kann die Lösung in dem Lösungsvektor bereits in komprimierter Form eingetragen werden. Selbstverständlich ist es auch möglich, dass der Lösungsvektor im unkomprimierten Zustand ausgegeben wird. Die nach der Verknüpfung verbleibenden Freistellen in dem Lösungsvektor werden in dem unkomprimierten Zustand dann mit den Werten 0 aufgefüllt.
-
Aus dem Lösungsvektor können nun die Gespräche, die die entsprechenden Anfragen erfüllen, entnommen werden, da für diese Gespräche an der entsprechenden Position des Lösungsvektors der Bitvektor 1 beträgt.
-
Bei der Verknüpfung der Bitvektoren kann die Verknüpfung von O- und/oder R-Blöcken der Bitvektoren parallel vorgenommen werden, da bei den Blöcken die absolute Bitvektorposition der in den Blöcken enthaltenen Teilbereiche bekannt ist. Insbesondere ist es bei der Verknüpfung nicht notwendig, dass die Bitvektoren in den ursprünglichen Zustand zurückversetzt werden, d. h. dass sie entkomprimiert werden müssen.
-
Dadurch ist bei der Verknüpfung eine enorme Zeitersparnis möglich. Bei der Verwendung von Rechnersystemen zur Verarbeitung der Datensätze ist ferner der Speicherbedarf bei der Verknüpfung gering gehalten.
-
Es ist erfindungsgemäß vorgesehen, dass die Verknüpfungsoperationen auf mehreren SIMD-Prozessoren (single instruction multiple data) parallel stattfinden kann. In einem besonderen Ausführungsbeispiel ist vorgesehen, dass die auf Graphikkarten vorhandenen SIMD-Prozessoren für die Verarbeitung der Daten genutzt werden. Dabei kann beispielsweise vorgesehen sein, dass in einer Rechnereinheit mehrere Graphikkarten enthalten sind.
-
Selbstverständlich ist es möglich, dass das erfindungsgemäße Verfahren auch bei anderen Datensätzen als Telekommunikationsdaten Anwendung findet. Das erfindungsgemäße Verfahren ist jedoch besonders leistungsfähig bei Datensätzen in binärer Struktur, bei denen eine Vielzahl von Bitwerten mit 0 oder Bitwerten mit 1 aufeinanderfolgen.
-
SIMD-Prozessoren sind für die erforderlichen Verknüpfungsaufgaben ausreichend und darüber hinaus in großer Anzahl in normalen Rechnersystemen verfügbar. Beispielsweise verfügen Graphikchips leistungsstarker Graphikkarten über 256 SIMD-Prozessoren. Dadurch können eine große Anzahl von Verknüpfungsoperationen gleichzeitig durchgeführt werden, so dass die Verarbeitung der Daten sehr schnell erfolgen kann.