WO2018096998A1 - データ圧縮装置、コンピュータプログラム及びデータ圧縮方法 - Google Patents
データ圧縮装置、コンピュータプログラム及びデータ圧縮方法 Download PDFInfo
- Publication number
- WO2018096998A1 WO2018096998A1 PCT/JP2017/041056 JP2017041056W WO2018096998A1 WO 2018096998 A1 WO2018096998 A1 WO 2018096998A1 JP 2017041056 W JP2017041056 W JP 2017041056W WO 2018096998 A1 WO2018096998 A1 WO 2018096998A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- field
- compressed data
- registered
- record
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Definitions
- the present invention mainly relates to a technique for compressing XML data.
- Patent Document 1 As a technique for compressing XML data described in XML (Extensible Markup Language), a technique for compressing XML data into a table is known (Patent Document 1).
- compression of XML data shown in FIG. 8A into a table is performed as follows.
- the XML data shown in FIG. 8a represents a tree whose nodes are nodes shown in FIG. 8b.
- Each square in FIG. 8b is a node, and each node corresponds to an element surrounded by XML data tags (start tag and end tag), and has the tag name of the tag of the corresponding element as a node name.
- the node when there is a text with a tag corresponding to the node, the node has the text as a value.
- the tagged text refers to the text enclosed by the start and end tags of the tag. For example, if ⁇ title> ROAD ⁇ / title>, the tag "title” is added. The text will be "ROAD”.
- FIG. 8c shows a table in which the XML data of FIG. 8a is tabulated, and the table is composed of records equal to the number of nodes corresponding to the nodes one to one.
- the record has fields of “topology”, “node name”, and “value”.
- Each record is associated with a node as follows. That is, as shown in FIG. 8d, the records are sequentially associated with the nodes according to the order in which the nodes are traced through the depth-first search algorithm.
- the record number of the record of the parent node of the node corresponding to the record is registered. However, since there is no parent node in the root node, -1 is registered.
- the node name of the corresponding node is registered in the field “node name” of each record, and if the corresponding node has a value, the value is registered in the field “value” of each record.
- each record is associated with the nodes in order according to the order of tracing all the nodes by the breadth-first search algorithm shown in FIG. 8f. Is also acceptable.
- FIG. 8e shows a table when the nodes are traced in the order shown in FIG. 8f.
- the records are sequentially associated with the nodes.
- the field “Topology” the record number of the record of the parent node of the node corresponding to the record is registered, and in the field “Node Name” of each record, the node name of the corresponding node is registered, and the field of each record In the “value”, if the corresponding node has a value, the value is registered.
- a table created from XML data can be further compressed.
- the compressed table data shown in FIG. 9d is created by compressing this table.
- the compressed table data shown in FIG. 9d is obtained by replacing the column of the field “node name” in the table shown in FIG. 9c with an index (node name). That is, the compressed table data includes a table having a field “topology” column and a field “value” column, and an index (node name).
- the index (node name) includes VNo and VL.
- a value (unique value) used as the value of the field “node name” of each record is registered in the VL in a predetermined order (for example, ascending order of values).
- VNo has the same number of entries as the number of records in the table, and the entry of the field “node name” of the record of record number n of the corresponding table is registered in the entry of VNo rank n.
- a value indicating the order in the VL of the entry is registered.
- the value of the field “node name” of the record acquires the value of the entry in the rank corresponding to the record number of the record of VNo, and the value acquired by VL It is obtained as the value registered in the entry of the same rank as.
- the access log includes, for example, the IP address of the access source, the domain name of the access source, the date and time of access, the name of the file accessed, the URL of the link source page, the name of the web browser and OS of the access source.
- the time taken for processing, the number of received bytes, the number of transmitted bytes, the service status code, and the like are stored.
- an object of the present invention is to save the contents of a plurality of XML data in a form that can quickly use the contents represented by each XML data while reducing the data amount.
- the present invention provides a data compression apparatus for compressing a plurality of XML data, and a storage that stores a compressed data set including a pattern table set including one or a plurality of pattern tables and individual compressed data strings.
- table generation means for generating a table in which a plurality of records are arranged, each having a plurality of fields, from the XML data, and creating individual compressed data indicating the value of each field of each record of the table from the table
- an individual compressed data creating means for adding to the individual compressed data string of the compressed data set.
- the XML data represents a tree whose nodes are nodes corresponding to tags described in the XML data.
- the table generation means corresponds to a first field in which a value corresponding to a position of the corresponding node on the tree is registered, corresponding to each of the nodes, and a corresponding node.
- the table arranged in the corresponding order is generated.
- the pattern table set includes at least one of two pattern tables, a pattern table corresponding to the first field and a pattern table corresponding to the second field.
- the table includes one or more entries in which an array of values is registered.
- the individual compressed data creating means registers, for each field in which the corresponding pattern table of the table exists, the same array as the array in which the values of the field of the record are arranged according to the order in the table,
- the identification information of the pattern table entry corresponding to the field is included in the individual compressed data as data indicating the value of the field of each record of the table.
- the individual compressed data creation means for each field in which the corresponding pattern table of the table exists, an array in which the values of the field of the record are arranged according to the order in the table If there is no pattern table entry corresponding to the field in which the same array is registered, an entry in which the array is registered in the pattern table corresponding to the field is created, and identification information of the created entry is created. May be included in the individual compressed data as data indicating the value of the field of each record of the table.
- the configuration of the tree represented by the XML data and the name of the tag corresponding to each node according to the permutation of the nodes on the configuration of the tree are the patterns of the configuration of the tree represented by the XML data. And information indicating the permutation pattern of the tag name corresponding to each node according to the permutation of the nodes on the configuration of the tree, and included in the individual compressed data in the individual compressed data sequence of the compressed data set Included.
- each XML data is XML data representing the same type of information
- the table representing the contents of the XML data can be easily restored from the pattern data and the individual compressed data of the compressed data set, the contents represented by the XML data can be used quickly.
- the present invention stores a compressed data set including a pattern table set including one or a plurality of pattern tables and an individual compressed data string in a data compression apparatus that compresses a plurality of XML data.
- Storage table compressed table data generating means for generating compressed table data indicating the value of each field of each record of the table in which a plurality of records each having a plurality of fields are arranged from the XML data, and individually from the compressed table data
- Individual compressed data creating means for creating compressed data and adding it to the individual compressed data string of the compressed data set is provided.
- the XML data represents a tree whose nodes are nodes corresponding to tags described in the XML data.
- the table representing the XML data is a table in which records corresponding to each of the nodes are arranged in an order corresponding to the position of the corresponding node on the tree, and each record of the table corresponds to the record.
- a first field in which a value indicating the position of the node on the tree is registered, a second field in which the name of a tag corresponding to the node corresponding to the record is registered, and a node corresponding to the record It has a third field in which the text with the corresponding tag is registered.
- the compressed table data generation means includes a value list in which each unique value used as the value of the second field of each record of the table is sorted and registered according to a predetermined criterion, and each record of the table Corresponding information indicating an entry of a value list in which the value of the second field is registered, and data indicating the value of the second field of each record of the table is generated from the generated value list and the corresponding information. Included in the compressed table data.
- the pattern table set includes a pattern table corresponding to the value list, and each pattern table includes one or more entries in which an array of values is registered.
- the individual compressed data creating means creates individual compressed data including data indicating each part of the compressed table data, and sets the value of each entry in the value list included in the compressed table data as the entry's value.
- the identification information of the entry of the pattern table corresponding to the value list, in which the same array as the array arranged in accordance with the order is registered, is included in the individual compressed data as data indicating the value list portion of the compressed table data.
- the individual compressed data creation means in the individual compressed data creation means, the same array as the array in which the values of each entry in the value list of the compression table data are arranged according to the order of the entries is registered. If there is no pattern table entry corresponding to the value list, create an entry in which the array is registered in the pattern table corresponding to the value list, and use the identification information of the created entry as the value of the value list.
- the data shown may be included in the individual compressed data.
- the information on what kind of tag is included in the XML data among the information on the names of the tags included in the XML data is the tag information included in the XML data.
- Information indicating the unique value pattern of the name is included in the individual compressed data and included in the individual compressed data string of the compressed data set.
- each XML data is XML data representing the same type of information
- the table representing the contents of the XML data can be easily restored from the pattern data and the individual compressed data of the compressed data set, the contents represented by the XML data can be used quickly.
- the identification information of the entry in the pattern table for example, a value indicating the rank of the entry in the pattern table can be used.
- the present invention is also a data compression apparatus for compressing a plurality of tables in order to achieve the above-mentioned problem, wherein the table is a table in which a plurality of records are arranged, each having a plurality of fields.
- a data compression apparatus is provided.
- the data compression apparatus includes a storage that stores a compressed data set including a pattern table set including a pattern table and an individual compressed data string, and compressed table data indicating a value of each field of each record of the table.
- Compression table data generation means for generating, and individual compression data generation means for generating individual compression data from the compression table data and adding it to the individual compression data string of the compression data set.
- the compressed table data generation means for at least one field, a value list in which each unique value used as a value of the field of each record of the table is sorted and registered according to a predetermined criterion, Index information indicating the value of the corresponding field of each record of the table, and the corresponding information indicating the entry of the value list in which the field value of each record of the table is registered.
- the pattern table set includes a pattern table corresponding to the value list of each index data, and each pattern table includes one or more entries in which an array of values is registered. Includes multiple.
- the individual compressed data creating means creates individual compressed data including data indicating each part of the compressed table data, and the value of each entry in the value list of each index data included in the compressed table data Are registered in the same order as the array arranged according to the order of the entries, the identification information of the entry of the pattern table corresponding to the value list of the index data, the value list part of the index data of the compressed table data The data to be shown is included in the individual compressed data.
- the present invention is also a data compression apparatus for compressing a plurality of tables, wherein the table is a table in which a plurality of records are arranged, each having a plurality of fields.
- a data compression apparatus is provided.
- a storage storing a compressed data set including a pattern table set including a pattern table and an individual compressed data string, and a value of each field of each record of the table from the table are stored.
- An individual compressed data creating unit that creates the individual compressed data shown and adds it to the individual compressed data string of the compressed data set is provided.
- the pattern table set includes a pattern table corresponding to at least one of the plurality of fields, and each pattern table includes one or a plurality of entries in which an array of values is registered,
- the individual compressed data creating means registers, for each field in which the corresponding pattern table of the table exists, the same array as the array in which the values of the field of the record are arranged according to the order in the table.
- the identification information of the corresponding pattern table entry is included in the individual compressed data as data indicating the value of the field of each record of the table.
- the contents of a plurality of XML data can be saved in a form in which the contents represented by each XML data can be used quickly while reducing the data amount.
- FIG. 1 shows the configuration of the data processing apparatus according to the first embodiment.
- the data processing apparatus includes a storage 1, a processor 2, an input device 3, a display device 4, and the like.
- the processor 2 includes a data compression unit 11 and a data operation unit 12 (relational database management system 12).
- the data compression unit 11 and the data operation unit 12 are functional units realized by the processor 2 executing a predetermined computer program.
- the data compression unit 11 of the processor 2 compresses the XML data of the stored XML data string.
- the data is additionally stored in the compressed data set stored in the storage 1.
- FIG. 2 shows an XML data string that is a set of XML data that is compressed and additionally stored in the compressed data set.
- the XML data string includes one or more XML data, and each XML data uses a tag as described above to define a tree of nodes having node names and values. Data.
- each table is a table in which records having fields of “topology”, “node name”, and “value” are arranged.
- FIG. 4 a shows the configuration of the compressed data set stored in the storage 1.
- the compressed data set includes a pattern table set and an individual compressed data set.
- the pattern table set includes a topology pattern table and a node name pattern table. The contents of the topology pattern table and node name pattern table will be described later.
- a plurality of individual compressed data can be registered in the individual compressed data set.
- the data compression unit 11 of the processor 2 that has created the table sequence as described above next creates individual compressed data from each table in the table sequence, as shown in FIG. Add to the set.
- the data compression unit 11 of the processor 2 creates individual compressed data from the table as follows. First, the contents of the topology pattern table and the node name pattern table of the pattern table set of the compressed data set will be described. As shown in FIG. 5a, the topology pattern table can have a plurality of entries, and in each entry of the topology pattern table, the values of the field “topology” of the table to be created from XML data will be arranged in the order of record numbers. A sequence that can be expected to appear as a sequence is registered.
- the entries “0”, “0”, “2”, “2”, “0” are registered in the rank 0 entry of the topology pattern table.
- the arrays “-1”, “0”, “0”, “0”, “0”, “0”, “0” are registered.
- the node name pattern table can have a plurality of entries, and each entry of the node name pattern table is an array in which the values of the field “node name” of the table created from the XML data are arranged in the order of record numbers in the future. Sequences that can be expected to appear are registered.
- the entries of rank 0 in the node name pattern table are registered with the arrays “ ⁇ ⁇ book”, “title”, “auther”, “last”, “first”, and “price”.
- arrays “book”, “title”, “auther”, “auther”, “auther”, and “price” are registered.
- the one or more arrays known in advance are Each registered entry may be created in advance in the topology pattern table.
- the one or more known in advance An entry in which each array is registered may be created in advance in the node name pattern table.
- FIGS. the creation of individual compressed data from the table is performed as shown in FIGS. That is, first, an array in which the values of the field “topology” in the table are arranged in the order of the record number is obtained, and whether or not an array that matches the obtained array is registered in any entry of the topology pattern table is registered. If there is an entry, the rank in the topology pattern table of the registered entry is acquired as a hit rank. Then, the hit order is registered as TPNo in the individual compressed data.
- the array in which the values of the field “topology” are arranged in the order of record numbers is “ ⁇ 1”, “0”, “0”, “2”, “2”, “0”. Since this array matches the array registered in the entry of rank 0 in the topology pattern table, “0” is registered in the TPNo of the individual compressed data.
- an array in which the values of the field "node name" in the table are arranged in the order of record numbers is obtained, and whether or not an array that matches the obtained array is registered in any entry in the node name pattern table is registered. If there is a registered entry, the rank of the registered entry in the node name pattern table is acquired as a hit rank. Then, the hit order is registered as NNPNo in the individual compressed data.
- the array in which the values of the field “node name” are arranged in the order of record numbers is “book”, “title”, “auther”, “last”, “first”, “price”. Since this array matches the array registered in the rank 0 entry of the node name pattern table, “0” is registered in the NNPNo of the individual compressed data.
- the column of the field “value” of the table is stored in the individual compressed data as a table having only the column of the field “value”.
- the operation of compressing the XML data of the XML data string of the data compression unit 11 of the processor 2 and additionally storing it in the compressed data set has been described above.
- the individual compressed data of the set is smaller than the data amount of the table by the difference between the data amount of the field “topology” column and the field “node name” column of each record and the data amount of TPNo and NNPNo of the individual compressed data.
- the commonality of the tree of nodes represented by the XML data included in the set of XML data stored as the compressed data set is high, the data amount of the pattern table set of the compressed data set is not so large.
- the set of XML data to be stored as a compressed data set is a set of XML data representing the same type of information, such as the set of XML data representing the access log described above, the node represented by each XML data The commonality of the tree structure is high.
- the contents of a large number of XML data can be saved with a reduced data amount by the compressed data set.
- the tables can be easily restored from the individual compressed data. That is, if each value in the array of the topology pattern table entries in the order represented by the TPNo of the individual compressed data is set to the value of the field “topology” of the table record in order of the record number according to the order in the array. The column of the table field "Topology" is restored.
- each value in the array of node name pattern table entries in the order indicated by the NNPNo of the individual compressed data is sequentially changed according to the order in the array in the order of record numbers in the field “node name” of the table record. If the value is, the column of the field "node name" in the table is restored.
- the column of the field “value” in the table is obtained as it is as the “value” table in the compressed data. Therefore, it is easy to restore a table from such a compressed data set. As a result, the contents of a plurality of XML data can be quickly used by using such a compressed data set.
- the first embodiment of the present invention has been described above.
- the first embodiment described above of the table fields “topology”, “node name”, and “value”, “topology” and “node name” are compressed into TPNo and NNPNo using the pattern table set.
- this is done by providing a pattern table for the arbitrary number of fields of one or more of the three fields of the fields “topology”, “node name”, and “value”.
- the compression may be performed using a pattern table set in the same manner as the compression of the “topology” and “node name” fields shown.
- a compressed data set is created from the XML data string stored in the storage 1 and stored in the storage 1 in the data processing apparatus shown in FIG. .
- the data compression unit 11 of the processor 2 starts from each XML data of the XML data string first if the XML data string is stored in the storage 1.
- a table is created, and a table column that is a set of the created tables is generated.
- compression table data is created from each table in the table row as described above with reference to FIG. 9, and a compressed table data row that is a set of the created compression table data is generated.
- the compressed data set includes a pattern table set and an individual compressed data set.
- the pattern table set includes a topology pattern table and a VL pattern table. The contents of the topology pattern table and the VL pattern table will be described later.
- the data compression unit 11 of the processor 2 creates individual compressed data from the compression table data as follows. First, the contents of the topology pattern table and the VL pattern table of the individual compressed data set will be described. As shown in FIG. 7a, the topology pattern table is similar to the topology pattern table of the first embodiment, and the topology pattern table can have a plurality of entries. In each entry of the topology pattern table, an array that can be expected to appear in the future as an array in which the values of the field “topology” of the table created from the XML data are arranged in the order of record numbers is registered.
- the VL pattern table can have a plurality of entries, and each entry of the VL pattern table includes an index (node name) that is an index of the field “node name” of the compressed table data created from XML data in the future.
- An array that can be expected to appear as an array in which VL values are arranged in the order of entries is registered.
- the arrays “auther”, “book”, “price”, and “title” are registered in the rank 0 entry of the VL pattern table, and the array “auther”, “book”, “first”, “last”, “price”, and “title” are registered.
- the one or more known An entry in which the array is registered may be created in the node name pattern table in advance.
- the creation of individual compressed data from the compressed table data is performed as follows. That is, from the table of the field “topology” and the field “value” of the compression table data shown in FIG. 7B, an array in which the values of the column of the field “topology” are arranged in the order of the record number is obtained. It is checked whether it is registered in any entry of the topology pattern table. If there is a registered entry, the rank of the registered entry in the topology pattern table is obtained as a hit rank. Then, as shown in FIG. 7c, the hit order is registered as TPNo in the individual compressed data.
- an array in which the VL values of the index (node name) of the compression table data shown in FIG. 7b are arranged in the order of entries is obtained, and an array that matches the obtained array is registered in any entry of the VL pattern table. If there is a registered entry, the rank of the registered entry in the VL pattern table is acquired as a hit rank. Then, as shown in FIG. 7c, the hit order is registered as VLPNo in the compressed index data (node name) of the individual compressed data.
- the VNo of the index (node name) of the compressed table data is stored in the compressed index data (node name) of the individual compressed data. Then, the column of the field “value” of the table “topology” and the field “value” of the compressed table data is stored in the individual compressed data as a table having only the column of the field “value”.
- the table can be easily restored from the compressed data set, so that the contents of a plurality of XML data can be quickly used by using the compressed data set. Will be able to.
- the contents of a large number of XML data can be saved with a reduced data amount by the compressed data set.
- the VL values of the index (node name) of each compression table data are sorted and registered in order of value, when the tag name (node name) used in each XML data is common, Even if the order and the number of tags appearing in each XML data are different, the VL in each XML data is common. Therefore, the VL of each XML data having a common tag name (node name) used can be represented by one entry of the VL pattern table.
- the commonality of tag names (node names) used in each XML data is high, the data amount (number of entries) in the VL pattern table can be small.
- the compressed data set is more than that in the first embodiment. It can be expected that the amount of data can be reduced.
- attributes can be defined for each node of the tree represented by the XML data. Therefore, in the first embodiment and the second embodiment, when handling XML data in which an attribute is defined for a node, data representing the attribute is separately included in the compressed data set.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
複数のXMLデータの内容をデータ量を削減し速やかに利用できる形態で保存する。 圧縮データをパターンテーブルセットと個別圧縮データセットより構成する。XMLデータを変換したテーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列(b)と一致する配列が、パターンデータセットに含まれているトポロジパターンテーブル(a)に登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリの順位をTPNoとして個別圧縮データに登録する(b)。フィールド"ノードネーム"についても同様の処理を行い個別圧縮データにNNPNoを個別圧縮データに登録する。他のフィールドについては、そのフィールドの列を個別圧縮データに登録する。そして、個別圧縮データを個別圧縮データセットに追加登録する。
Description
本発明は、主としてXMLデータを圧縮する技術に関するものである。
XML(Extensible Markup Language)で記述されたXMLデータを圧縮する技術としては、XMLデータをテーブルに圧縮する技術が知られている(特許文献1)。
この技術では、たとえば、図8aに示すXMLデータのテーブルへの圧縮は次のように行われる。
いま、図8aに示すXMLデータは、図8bに示すノードを節点とするツリーを表している。
図8bの四角が各々ノードであり、ノードはXMLデータのタグ(開始タグと終了タグ)で囲まれた要素に各々該当し、対応する要素のタグのタグ名をノードネームとして持つ。また、ノードに対応するタグが付されたテキストが存在する場合、ノードは当該テキストを値として持つ。ここで、タグが付されたテキストとは、そのタグの開始タグと終了タグで囲まれたテキストを指し、たとえば、<title>ROAD</title>であれば、タグ"title"が付されたテキストは" ROAD"となる。
この技術では、たとえば、図8aに示すXMLデータのテーブルへの圧縮は次のように行われる。
いま、図8aに示すXMLデータは、図8bに示すノードを節点とするツリーを表している。
図8bの四角が各々ノードであり、ノードはXMLデータのタグ(開始タグと終了タグ)で囲まれた要素に各々該当し、対応する要素のタグのタグ名をノードネームとして持つ。また、ノードに対応するタグが付されたテキストが存在する場合、ノードは当該テキストを値として持つ。ここで、タグが付されたテキストとは、そのタグの開始タグと終了タグで囲まれたテキストを指し、たとえば、<title>ROAD</title>であれば、タグ"title"が付されたテキストは" ROAD"となる。
図8cは、図8aのXMLデータをテーブル化したテーブルを表しており、当該テーブルはノードと1対1に対応するノード数と等しいレコードよりなる。また、レコードは、"トポロジ"、"ノードネーム"、"値"のフィールドを持つ。
そして、各レコードは、以下のようにノードに対応づけられる。
すなわち、図8dに示すようにノードを深さ優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードは順番にノードに対応づけられる。
そして、各レコードのフィールド"トポロジ"には、当該レコードに対応するノードの親ノードのレコードのレコード番号を登録する。但し、ルートのノードには親ノードが存在しないので、-1を登録する。
すなわち、図8dに示すようにノードを深さ優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードは順番にノードに対応づけられる。
そして、各レコードのフィールド"トポロジ"には、当該レコードに対応するノードの親ノードのレコードのレコード番号を登録する。但し、ルートのノードには親ノードが存在しないので、-1を登録する。
また、各レコードのフィールド"ノードネーム"には、対応するノードのノードネームを登録し、各レコードのフィールド"値"には、対応するノードが値を持つ場合、当該値を登録する。
ここで、図8c示すようなテーブルは、図8bのノードのツリー構造と、各ノードのノードネームと値を完全に表している。
なお、この技術では、図8dの深さ優先探索アルゴリズムによる順序でノードを辿るのではなく、図8fに示す幅優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードを順番にノードに対応づけることも許容している。
なお、この技術では、図8dの深さ優先探索アルゴリズムによる順序でノードを辿るのではなく、図8fに示す幅優先探索アルゴリズムによって全てのノードを辿る順序に従って、各レコードを順番にノードに対応づけることも許容している。
図8eは、図8fに示した順序でノードを辿った場合のテーブルを示しており、図示する通り、この場合も、ノードを辿る順序に従って、各レコードは順番にノードに対応づけられ、レコードのフィールド"トポロジ"には、当該レコードに対応するノードの親ノードのレコードのレコード番号が登録され、各レコードのフィールド"ノードネーム"には、対応するノードのノードネームが登録し、各レコードのフィールド"値"には、対応するノードが値を持つ場合、当該値が登録される。
また、この技術では、図9に示すようにXMLデータから作成したテーブルを、さらに圧縮することも許容している。
この圧縮によれば、図9bに示すノードのツリーを表す図9aに示すXMLデータから図9cに示すテーブルが作成された場合、このテーブルを圧縮した図9dに示す圧縮テーブルデータが作成される。
この圧縮によれば、図9bに示すノードのツリーを表す図9aに示すXMLデータから図9cに示すテーブルが作成された場合、このテーブルを圧縮した図9dに示す圧縮テーブルデータが作成される。
図9dに示す圧縮テーブルデータは、図9cに示すテーブルの、フィールド"ノードネーム"の列を、インデックス(ノードネーム)に置換したものとなっている。すなわち、圧縮テーブルデータは、フィールド"トポロジ"の列とフィールド"値"の列を持つテーブルと、インデックス(ノードネーム)とを含むものとなる。
そして、インデックス(ノードネーム)は、VNoと VLとを含んでいる。
VLには、各レコードのフィールド"ノードネーム"の値として用いられている値(ユニーク値)が所定の順序(たとえば、値の昇順)で登録される。
また、VNoは、テーブルのレコード数と同数のエントリを有し、VNoの順位nのエントリには、対応するテーブルのレコード番号nのレコードのフィールド"ノードネーム"の値が登録されているVLのエントリのVL中の順位を示す値が登録される。
VLには、各レコードのフィールド"ノードネーム"の値として用いられている値(ユニーク値)が所定の順序(たとえば、値の昇順)で登録される。
また、VNoは、テーブルのレコード数と同数のエントリを有し、VNoの順位nのエントリには、対応するテーブルのレコード番号nのレコードのフィールド"ノードネーム"の値が登録されているVLのエントリのVL中の順位を示す値が登録される。
ここで、このようなインデックス(ノードネーム)によれば、レコードのフィールド"ノードネーム"の値は、VNoの当該レコードのレコード番号に対応する順位のエントリの値を取得し、VLの取得した値と同じ順位のエントリに登録されている値として求まる。
よって、このような圧縮テーブルデータによっても、図9bのノードのツリー構造と、各ノードのノードネームと値が完全に表されている。
さて、多数のXMLデータを保存する必要がある場合がある。
たとえば、WebページのアクセスのアクセスログをXMLデータとして作成し、作成したアクセスログを保存する場合、Webページのアクセスが発生する度にXMLデータが発生するので、保存されるXMLデータの数は膨大な数となる。
たとえば、WebページのアクセスのアクセスログをXMLデータとして作成し、作成したアクセスログを保存する場合、Webページのアクセスが発生する度にXMLデータが発生するので、保存されるXMLデータの数は膨大な数となる。
なお、アクセスログとしては、たとえば、アクセス元のIPアドレス、アクセス元のドメイン名、アクセスされた日付と時刻、アクセスされたファイル名、リンク元のページのURL、アクセス元のWebブラウザ名やOS名、処理にかかった時間、受信バイト数、送信バイト数、サービス状態コードなどが保存される。
そして、このように膨大な数のXMLデータを保存する場合、XMLデータを上述のようにテーブルに変換して保存しても、保存に要する記憶資源の量も莫大な量となる。
一方で、個々のテーブルを圧縮符号化して保存すれば保存に要する記憶資源量は減少するが、このようにすると保存した各テーブルを速やかに利用することが困難となる。
そこで、本発明は、複数のXMLデータの内容を、データ量を削減しつつ、各XMLデータが表す内容を速やかに利用できる形態で保存することを課題とする。
一方で、個々のテーブルを圧縮符号化して保存すれば保存に要する記憶資源量は減少するが、このようにすると保存した各テーブルを速やかに利用することが困難となる。
そこで、本発明は、複数のXMLデータの内容を、データ量を削減しつつ、各XMLデータが表す内容を速やかに利用できる形態で保存することを課題とする。
前記課題達成のために、本発明は、複数のXMLデータを圧縮するデータ圧縮装置に、1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、XMLデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備えたものである。ここで、前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表している。そして、前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、対応するノードに対応するタグの名称が登録された第2のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第3のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成する。また、前記パターンテーブルセットは、前記第1のフィールドに対応するパターンテーブルと、前記第2のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含んでいる。そして、前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含める。
ここで、このようなデータ圧縮装置は、前記個別圧縮データ作成手段において、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めるように構成してもよい。
このようなデータ処理装置によれば、XMLデータが表すツリーの構成や、当該ツリーの構成上のノードの順列に従った各ノードに対応するタグの名称は、XMLデータが表すツリーの構成のパターンを示す情報や、当該ツリーの構成上のノードの順列に従った各ノードに対応するタグの名称の順列のパターンを示す情報として個別圧縮データに含められて、圧縮データセットの個別圧縮データ列に含められる。
ここで、各XMLデータが、同じ種別の情報を表すXMLデータである場合、各XMLデータの当該パターンの共通性は高いことが期待できる。よって、以上のデータ圧縮装置によれば、同じ種別の情報を表す複数のXMLデータの内容を、データ量を削減して保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、XMLデータの内容を表すテーブルを容易に復元することができるので、各XMLデータが表す内容は、これを速やかに利用することができる。
また、前記課題達成のために、本発明は、複数のXMLデータを圧縮するデータ圧縮装置に、1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、XMLデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備えたものである。ここで、前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表している。また、XMLデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであり、前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第2のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第3のフィールドを備えている。そして、前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第2のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第2のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第2のフィールドの値を示すデータとして圧縮テーブルデータに含める。また、前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含んでいる。そして、前記個別圧縮データ作成手段は、前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含める。
ここで、このようなデータ圧縮装置は、前記個別圧縮データ作成手段において、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めるように構成してもよい。
このようなデータ処理装置によれば、XMLデータに含まれるタグの名称の情報のうち、XMLデータにどのような名称のタグが含まれているかの情報は、XMLデータに含まれているタグの名称のユニーク値のパターンを示す情報として個別圧縮データに含められて、圧縮データセットの個別圧縮データ列に含められる。
ここで、各XMLデータが、同じ種別の情報を表すXMLデータである場合、各XMLデータについての当該パターンの共通性は高いことが期待できる。よって、以上のデータ圧縮装置によれば、同じ種別の情報を表す複数のXMLデータの内容を、データ量を削減して保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、XMLデータの内容を表すテーブルを容易に復元することができるので、各XMLデータが表す内容は、これを速やかに利用することができる。
なお、以上のデータ圧縮装置において、前記パターンテーブルのエントリの識別情報としては、たとえば、当該エントリの前記パターンテーブル中の順位を表す値を用いることができる。
また、併せて、本発明は、前記課題達成のために、複数のテーブルを圧縮するデータ圧縮装置とであって、前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであるデータ圧縮装置を提供する。ここで、当該データ圧縮装置には、パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、テーブルの各レコードの各フィールドの値を示す圧縮テーブルデータを生成する圧縮テーブルデータ生成手段と、前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを備える。また、前記圧縮テーブルデータ生成手段は、少なくとも一つのフィールドについて、前記テーブルの各レコードの当該フィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードのフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの当該フィールドの値を示すインデックスデータとして圧縮テーブルデータに含めるものであり、前記パターンテーブルセットは、前記各インデックスデータの値リストに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含むものである。そして、前記個別圧縮データ作成手段は、前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる各インデックスデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、当該インデックスデータの値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの当該インデックスデータの値リストの部分を示すデータとして、前記個別圧縮データに含めるものである。
このようなデータ圧縮装置によれば、各テーブル間で同じフィールドのユニーク値の集合の共通性が高い場合、データ量を削減して複数のテーブルを保存することができる。また、圧縮データセットのパターンデータと個別圧縮データから、圧縮テーブルデータを介してテーブルを容易に復元することができるので、各テーブルが表す内容は、これを速やかに利用することができる。
また、前記課題達成のために、併せて、本発明は、複数のテーブルを圧縮するデータ圧縮装置であって、前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであるデータ圧縮装置を提供する。ここで、当該データ圧縮装置には、パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成部を備える。また、前記パターンテーブルセットは、前記複数のフィールドのうちの少なくとも一つのフィールドに対応するパターンテーブルを含んでおり、前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めるものである。
このようなデータ圧縮装置によれば、各テーブル間で同じフィールドの値の順列の共通性が高い場合、データ量を削減して複数のテーブルを保存することができる。また、圧縮データセットのパターンデータと個別圧縮データからテーブルを容易に復元することができるので、各テーブルが表す内容は、これを速やかに利用することができる。
以上のように、本発明によれば、複数のXMLデータの内容を、データ量を削減しつつ、各XMLデータが表す内容を速やかに利用できる形態で保存することができる。
以下、本発明の実施形態について説明する。
まず、本発明の第1の実施形態について説明する。
図1に、本第1の実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置は、ストレージ1とプロセッサ2と入力装置3と表示装置4等を備えている。また、プロセッサ2はデータ圧縮部11と、データ操作部12(リレーショナルデータベースマネジメントシステム12)とを備えている。なお、データ圧縮部11、データ操作部12は、プロセッサ2が所定のコンピュータプログラムを実行することにより実現される機能部である。
まず、本発明の第1の実施形態について説明する。
図1に、本第1の実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置は、ストレージ1とプロセッサ2と入力装置3と表示装置4等を備えている。また、プロセッサ2はデータ圧縮部11と、データ操作部12(リレーショナルデータベースマネジメントシステム12)とを備えている。なお、データ圧縮部11、データ操作部12は、プロセッサ2が所定のコンピュータプログラムを実行することにより実現される機能部である。
このような構成において、ストレージ1に新たに保存すべきXMLデータの集合であるXMLデータ列が格納されると、プロセッサ2のデータ圧縮部11は、格納されたXMLデータ列のXMLデータを圧縮して、ストレージ1に格納している圧縮データセットに追加保存する。
以下、このようなプロセッサ2のデータ圧縮部11のXMLデータ列のXMLデータを圧縮して圧縮データセットに追加保存する動作について説明する。
まず、図2に、圧縮して圧縮データセットに追加保存するXMLデータの集合であるXMLデータ列を示す。
図示するように、XMLデータ列は1または複数のXMLデータを含み、各XMLデータは、上述のようにタグを用いて、ノードネームを持ち、値をもつことのできるノードのツリーを規定しているデータである。
まず、図2に、圧縮して圧縮データセットに追加保存するXMLデータの集合であるXMLデータ列を示す。
図示するように、XMLデータ列は1または複数のXMLデータを含み、各XMLデータは、上述のようにタグを用いて、ノードネームを持ち、値をもつことのできるノードのツリーを規定しているデータである。
プロセッサ2のデータ圧縮部11は、このようなXMLデータ列がストレージ1に格納されたならば、図3に示すように、XMLデータ列の各XMLデータから、先に図8を用いて説明したようにテーブルを作成し、作成したテーブルの集合であるテーブル列を生成する。ここで、上述のように各テーブルは、"トポロジ"、"ノードネーム"、"値"のフィールドを持つレコードを配列したテーブルである。
ここで、図4aにストレージ1に保存される圧縮データセットの構成を示す。
図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとノードネームパターンテーブルを含んでいる。なお、トポロジパターンテーブルとノードネームパターンテーブルの内容については後述する。
図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとノードネームパターンテーブルを含んでいる。なお、トポロジパターンテーブルとノードネームパターンテーブルの内容については後述する。
また、個別圧縮データセットには個別圧縮データを複数登録することができる。
さて、上述のようにテーブル列を作成したプロセッサ2のデータ圧縮部11は、次に、図4bに示すように、テーブル列の各テーブルから個別圧縮データを作成し、圧縮データセットの個別圧縮データセットに追加登録する。
さて、上述のようにテーブル列を作成したプロセッサ2のデータ圧縮部11は、次に、図4bに示すように、テーブル列の各テーブルから個別圧縮データを作成し、圧縮データセットの個別圧縮データセットに追加登録する。
ここで、プロセッサ2のデータ圧縮部11は、テーブルから個別圧縮データを以下のように作成する。
まず、圧縮データセットのパターンテーブルセットの、トポロジパターンテーブルとノードネームパターンテーブルの内容について説明する。
図5aに示すように、トポロジパターンテーブルは複数のエントリを持つことができ、トポロジパターンテーブルの各エントリには、今後、XMLデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れることが期待できる配列が登録される。
まず、圧縮データセットのパターンテーブルセットの、トポロジパターンテーブルとノードネームパターンテーブルの内容について説明する。
図5aに示すように、トポロジパターンテーブルは複数のエントリを持つことができ、トポロジパターンテーブルの各エントリには、今後、XMLデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れることが期待できる配列が登録される。
図示した例では、トポロジパターンテーブルの順位0のエントリには、配列"-1"、"0"、"0"、"2"、"2"、"0"が登録されており、順位1のエントリには、配列"-1"、"0"、"0"、"0"、"0"、" 0"が登録されている。
また、ノードネームパターンテーブルは複数のエントリを持つことができ、ノードネームパターンテーブルの各エントリには、今後、XMLデータから作成するテーブルのフィールド"ノードネーム"の値をレコード番号順に並べた配列として表れることが期待できる配列が登録される。
図示した例では、ノードネームパターンテーブルの順位0のエントリには、配列" book"、"title"、"auther"、"last"、"first"、"price"が登録されており、順位1のエントリには、配列"book"、"title"、"auther"、"auther"、"auther"、"price"が登録されている。
ここで、XMLデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れる1または複数の配列が予め分かっている場合には、当該予め分かっている1または複数の配列を各々登録したエントリを予めトポロジパターンテーブルに作成しておくようにしてよい。
また、同様に、XMLデータから作成するテーブルのフィールド"ノードネーム"の値をレコード番号順に並べた配列として表れる1または複数の配列が予め分かっている場合には、当該予め分かっている1または複数の配列を各々登録したエントリを予めノードネームパターンテーブルに作成しておくようにしてよい。
次に、テーブルからの個別圧縮データの作成は、図5b、c、dに示すように行う。
すなわち、まず、テーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、個別圧縮データに、ヒット順位をTPNoとして登録する。
すなわち、まず、テーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、個別圧縮データに、ヒット順位をTPNoとして登録する。
すなわち、たとえば、図5bのテーブルの場合、フィールド"トポロジ"の値をレコード番号順に配列した配列は、"-1"、"0"、"0"、"2"、"2"、"0"となり、この配列は、トポロジパターンテーブルの順位0のエントリに登録されている配列と一致するので、個別圧縮データのTPNoには"0"を登録する。
一方、求めた配列と一致する配列が、トポロジパターンテーブルのいずれのエントリにも登録されていない場合には、トポロジパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのトポロジパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をTPNoとして登録する。
次に、テーブルのフィールド"ノードネーム"の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、ノードネームパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのノードネームパターンテーブルにおける順位をヒット順位として取得する。そして、個別圧縮データに、ヒット順位をNNPNoとして登録する。
すなわち、たとえば、図5bのテーブルの場合、フィールド"ノードネーム"の値をレコード番号順に配列した配列は、" book"、"title"、"auther"、"last"、"first"、"price"となり、この配列は、ノードネームパターンテーブルの順位0のエントリに登録されている配列と一致するので、個別圧縮データのNNPNoには"0"を登録する。
一方、求めた配列と一致する配列が、ノードネームパターンテーブルのいずれのエントリにも登録されていない場合には、ノードネームパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのノードネームパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をNNPNoとして登録する。
そして、テーブルのフィールド"値"の列を個別圧縮データに、フィールド"値"の列のみを持つテーブルとして保存する。
以上、プロセッサ2のデータ圧縮部11のXMLデータ列のXMLデータを圧縮して圧縮データセットに追加保存する動作について説明した。
ここで、以上のようにXMLデータ列から作成した圧縮データセットを保存した場合と、XMLデータ列の各XMLデータを変換したテーブルをそのまま保存した場合とを比べると、圧縮データセットの個別圧縮データセットの個別圧縮データは、テーブルのデータ量よりも、各レコードのフィールド"トポロジ"の列とフィールド"ノードネーム"の列のデータ量と、個別圧縮データのTPNoとNNPNoのデータ量の差分だけ小さくなる。また、圧縮データセットとして保存するXMLデータの集合に含まれる各XMLデータが表すノードのツリーの共通性が高い場合には、圧縮データセットのパターンテーブルセットのデータ量は、さほど大きくならない。そして、圧縮データセットして保存するXMLデータの集合が、たとえば、上述したアクセスログを表すXMLデータの集合などの、同じ種別の情報を表すXMLデータの集合である場合、各XMLデータが表すノードのツリー構造の共通性は高い。
以上、プロセッサ2のデータ圧縮部11のXMLデータ列のXMLデータを圧縮して圧縮データセットに追加保存する動作について説明した。
ここで、以上のようにXMLデータ列から作成した圧縮データセットを保存した場合と、XMLデータ列の各XMLデータを変換したテーブルをそのまま保存した場合とを比べると、圧縮データセットの個別圧縮データセットの個別圧縮データは、テーブルのデータ量よりも、各レコードのフィールド"トポロジ"の列とフィールド"ノードネーム"の列のデータ量と、個別圧縮データのTPNoとNNPNoのデータ量の差分だけ小さくなる。また、圧縮データセットとして保存するXMLデータの集合に含まれる各XMLデータが表すノードのツリーの共通性が高い場合には、圧縮データセットのパターンテーブルセットのデータ量は、さほど大きくならない。そして、圧縮データセットして保存するXMLデータの集合が、たとえば、上述したアクセスログを表すXMLデータの集合などの、同じ種別の情報を表すXMLデータの集合である場合、各XMLデータが表すノードのツリー構造の共通性は高い。
よって、このような場合には、圧縮データセットによって、多数のXMLデータの内容を、データ量を削減して保存することができる。
また、以上のように、複数のテーブルを個別圧縮データセットに圧縮しても、個別圧縮データからテーブルを容易に復元できる。すなわち、個別圧縮データのTPNoが表す順位のトポロジパターンテーブルのエントリの配列中の各値を、当該配列中の順序に従って、順次、レコード番号順に、テーブルのレコードのフィールド"トポロジ"の値とすればテーブルのフィールド" トポロジ"の列は復元される。
また、以上のように、複数のテーブルを個別圧縮データセットに圧縮しても、個別圧縮データからテーブルを容易に復元できる。すなわち、個別圧縮データのTPNoが表す順位のトポロジパターンテーブルのエントリの配列中の各値を、当該配列中の順序に従って、順次、レコード番号順に、テーブルのレコードのフィールド"トポロジ"の値とすればテーブルのフィールド" トポロジ"の列は復元される。
また、同様に、個別圧縮データのNNPNoが表す順位のノードネームパターンテーブルのエントリの配列中の各値を、当該配列中の順序に従って、順次、レコード番号順に、テーブルのレコードのフィールド"ノードネーム"の値とすればテーブルのフィールド"ノードネーム"の列は復元される。
そして、テーブルのフィールド"値"の列は、圧縮データ中の"値"テーブルとして、そのまま求まる。
よって、このような圧縮データセットからテーブルの復元は容易である。そして、このことより、このような圧縮データセットを用いて、複数のXMLデータの内容を速やかに利用することができるようになる。
よって、このような圧縮データセットからテーブルの復元は容易である。そして、このことより、このような圧縮データセットを用いて、複数のXMLデータの内容を速やかに利用することができるようになる。
以上、本発明の第1の実施形態について説明した。
なお、以上の第1の実施形態では、テーブルのフィールド"トポロジ"、"ノードネーム"、"値"のうち、"トポロジ"、"ノードネーム"をパターンテーブルセットを用いてTPNoとNNPNoに圧縮したが、これは、フィールド"トポロジ"、"ノードネーム"、"値"の3つのフィールドのうちの、1以上の任意数のフィールドについて、当該任意数のフィールドについてのパターンテーブルを設けて、以上に示した"トポロジ"、"ノードネーム"のフィールドの圧縮と同様にパターンテーブルセットを用いて圧縮するようにしてもよい。
なお、以上の第1の実施形態では、テーブルのフィールド"トポロジ"、"ノードネーム"、"値"のうち、"トポロジ"、"ノードネーム"をパターンテーブルセットを用いてTPNoとNNPNoに圧縮したが、これは、フィールド"トポロジ"、"ノードネーム"、"値"の3つのフィールドのうちの、1以上の任意数のフィールドについて、当該任意数のフィールドについてのパターンテーブルを設けて、以上に示した"トポロジ"、"ノードネーム"のフィールドの圧縮と同様にパターンテーブルセットを用いて圧縮するようにしてもよい。
以下、本発明の第2の実施形態について説明する。
本第2の実施形態は、図1に示したデータ処理装置において、ストレージ1に格納されたXMLデータ列から、次のように圧縮データセットを作成しストレージ1に保存するようにしたものである。
本第2の実施形態は、図1に示したデータ処理装置において、ストレージ1に格納されたXMLデータ列から、次のように圧縮データセットを作成しストレージ1に保存するようにしたものである。
すなわち、本第2の実施形態では、プロセッサ2のデータ圧縮部11は、図6に示すように、XMLデータ列がストレージ1に格納されたならば、XMLデータ列の各XMLデータから、先に図8を用いて説明したようにテーブルを作成し、作成したテーブルの集合であるテーブル列を生成する。そして、次に、テーブル列の各テーブルから、先に図9を用いて説明したように圧縮テーブルデータを作成し、作成した圧縮テーブルデータの集合である圧縮テーブルデータ列を生成する。
そして、圧縮テーブルデータ列の各圧縮テーブルデータから個別圧縮データを作成し、圧縮データセットの個別圧縮データセットに追加登録する。
ここで、図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとVLパターンテーブルを含んでいる。なお、トポロジパターンテーブルとVLパターンテーブルの内容については後述する。
ここで、図示するように、圧縮データセットは、パターンテーブルセットと、個別圧縮データセットを含んでいる。
また、パターンテーブルセットは、トポロジパターンテーブルとVLパターンテーブルを含んでいる。なお、トポロジパターンテーブルとVLパターンテーブルの内容については後述する。
そして、プロセッサ2のデータ圧縮部11は、圧縮テーブルデータから個別圧縮データを以下のように作成する。
まず、個別圧縮データセットの、トポロジパターンテーブルとVLパターンテーブルの内容について説明する。
図7aに示すように、トポロジパターンテーブルは第1実施形態のトポロジパターンテーブルと同様のテーブルであり、トポロジパターンテーブルは複数のエントリを持つことができる。そして、トポロジパターンテーブルの各エントリには、今後、XMLデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列として表れることが期待できる配列が登録される。
まず、個別圧縮データセットの、トポロジパターンテーブルとVLパターンテーブルの内容について説明する。
図7aに示すように、トポロジパターンテーブルは第1実施形態のトポロジパターンテーブルと同様のテーブルであり、トポロジパターンテーブルは複数のエントリを持つことができる。そして、トポロジパターンテーブルの各エントリには、今後、XMLデータから作成するテーブルのフィールド"トポロジ"の値をレコード番号順に配列した配列として表れることが期待できる配列が登録される。
また、VLパターンテーブルは複数のエントリを持つことができ、VLパターンテーブルの各エントリには、今後、XMLデータから作成する圧縮テーブルデータのフィールド"ノードネーム"のインデックスであるインデックス(ノードネーム)のVLの値をエントリ順に配列した配列として表れることが期待できる配列が登録される。
図示した例では、VLパターンテーブルの順位0のエントリには、配列"auther"、"book" 、"price" 、"title"が登録されており、順位1のエントリには、配列" auther" 、"book" 、"first" 、"last" 、"price" 、"title"が登録されている。
ここで、XMLデータから作成する圧縮テーブルデータのフィールド"トポロジ"の値をレコード番号順に並べた配列として表れる配列が1または複数既知である場合には、当該既知である1または複数の配列を登録したエントリを予めトポロジパターンテーブルに作成しておくようにしてよい。
また、同様に、XMLデータから作成する圧縮テーブルデータのインデックス(ノードネーム)のVLの値をエントリ順に配列した配列として表れる配列が1または複数既知である場合には、当該既知である1または複数の配列を登録したエントリを予めノードネームパターンテーブルに作成しておくようにしてよい。
次に、圧縮テーブルデータからの個別圧縮データの作成は、以下のように行う。
すなわち、図7bに示す圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルから、フィールド"トポロジ"の列の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、図7cに示すように個別圧縮データに、ヒット順位をTPNoとして登録する。
すなわち、図7bに示す圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルから、フィールド"トポロジ"の列の値をレコード番号順に配列した配列を求め、求めた配列と一致する配列が、トポロジパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのトポロジパターンテーブルにおける順位をヒット順位として取得する。そして、図7cに示すように個別圧縮データに、ヒット順位をTPNoとして登録する。
一方、求めた配列と一致する配列が、トポロジパターンテーブルのいずれのエントリにも登録されていない場合には、トポロジパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのトポロジパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データに、ヒット順位をTPNoとして登録する。
次に、図7bに示す圧縮テーブルデータのインデックス(ノードネーム)のVLの値をエントリ順に配列した配列を求め、求めた配列と一致する配列が、VLパターンテーブルのいずれかのエントリに登録されているかどうかを調べ、登録されているエントリがあれば、当該登録されているエントリのVLパターンテーブルにおける順位をヒット順位として取得する。そして、図7cに示すように、個別圧縮データの圧縮インデックスデータ(ノードネーム)に、ヒット順位をVLPNoとして登録する。
一方、求めた配列と一致する配列が、VLパターンテーブルのいずれのエントリにも登録されていない場合には、VLパターンテーブルに新たなエントリを作成し、作成したエントリに求めた配列を登録する。そして、作成したエントリのVLパターンテーブルにおける順位をヒット順位として取得し、個別圧縮データの圧縮インデックスデータ(ノードネーム)に、ヒット順位をVLPNoとして登録する。
また、圧縮テーブルデータのインデックス(ノードネーム)のVNoを個別圧縮データの圧縮インデックスデータ(ノードネーム)に保存する。
そして、圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルのフィールド"値"の列を、個別圧縮データに、フィールド"値"の列のみを持つテーブルとして保存する。
そして、圧縮テーブルデータのフィールド"トポロジ"とフィールド"値"のテーブルのフィールド"値"の列を、個別圧縮データに、フィールド"値"の列のみを持つテーブルとして保存する。
以上、第2の実施形態における、プロセッサ2のデータ圧縮部11のXMLデータ列のXMLデータを圧縮して圧縮データセットに追加保存する動作について説明した。
なお、以上の第2の実施形態では、テーブルのフィールド"トポロジ"、テーブルのフィールド"値"、インデックス(ノードネーム)のVNo、インデックス(ノードネーム)のVLのうち、"トポロジ"、フィールド"トポロジ"と、VLをパターンテーブルセットを用いてTPNoとVLPNoに圧縮したが、これは、フィールド"トポロジ"、フィールド"値"、VNo、VLのフィールドまたは配列うちの、"VL"と任意数のフィールドまたは配列について、当該任意数のフィールドまたは配列についてのパターンテーブルを設けて、上述した"トポロジ"、"VL"の圧縮と同様に、パターンテーブルセットを用いて圧縮するようにしてもよい。
なお、以上の第2の実施形態では、テーブルのフィールド"トポロジ"、テーブルのフィールド"値"、インデックス(ノードネーム)のVNo、インデックス(ノードネーム)のVLのうち、"トポロジ"、フィールド"トポロジ"と、VLをパターンテーブルセットを用いてTPNoとVLPNoに圧縮したが、これは、フィールド"トポロジ"、フィールド"値"、VNo、VLのフィールドまたは配列うちの、"VL"と任意数のフィールドまたは配列について、当該任意数のフィールドまたは配列についてのパターンテーブルを設けて、上述した"トポロジ"、"VL"の圧縮と同様に、パターンテーブルセットを用いて圧縮するようにしてもよい。
このような第2の実施形態に係る圧縮データセットによっても、圧縮データセットからテーブルを容易に復元することができるので、圧縮データセットを用いて、複数のXMLデータの内容を速やかに利用することができるようになる。
また、上述した第1の実施形態と同様に、圧縮データセットによって、多数のXMLデータの内容を、データ量を削減して保存することができる。
また、上述した第1の実施形態と同様に、圧縮データセットによって、多数のXMLデータの内容を、データ量を削減して保存することができる。
ここで、各圧縮テーブルデータのインデックス(ノードネーム)のVLの値は値順にソートされて登録されているので、各XMLデータで用いられているタグ名(ノードネーム)が共通している場合、各XMLデータにおけるタグの表れる順序や数が異なっていても、各XMLデータにおけるVLは共通することとなる。したがって、用いられているタグ名(ノードネーム)が共通している各XMLデータのVLは、VLパターンテーブルの一つのエントリで表すことができる。
したがって、各XMLデータで用いられているタグ名(ノードネーム)の共通性が高い場合には、VLパターンテーブルのデータ量(エントリ数)は小さくてすむ。そして、このことより、各XMLデータで用いられているタグ名(ノードネーム)の共通性が高く、タグの表れる順序や数が異なっている場合には、第1の実施形態よりも圧縮データセットのデータ量を小さくできることが期待できる。
ところで、XMLデータでは、当該XMLデータが表すツリーの各ノードに属性を定義することができる。そこで、上記第1の実施形態、第2の実施形態において、ノードに属性を定義されているXMLデータを取り扱う場合には、当該属性を表すデータを別途圧縮データセットに含めるようにする。
1…ストレージ、2…プロセッサ、3…入力装置、4…表示装置、11…データ圧縮部、12…データ操作部。
Claims (13)
- 複数のXMLデータを圧縮するデータ圧縮装置であって、
1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
XMLデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、対応するノードに対応するタグの名称が登録された第2のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第3のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第1のフィールドに対応するパターンテーブルと、前記第2のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。 - 請求項1記載のデータ圧縮装置であって、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。 - 複数のXMLデータを圧縮するデータ圧縮装置であって、
1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
XMLデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
XMLデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第2のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第3のフィールドを備え、
前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第2のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第2のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第2のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。 - 請求項3記載のデータ圧縮装置であって、
前記個別圧縮データ作成手段は、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。 - 請求項1、2、3または4記載のデータ圧縮装置であって、
前記パターンテーブルのエントリの識別情報は、当該エントリの前記パターンテーブル中の順位を表す値であることを特徴とするデータ圧縮装置。 - コンピュータによって読み取られ実行されるコンピュータプログラムであって、
当該コンピュータプログラムは、前記コンピュータを、
1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存した圧縮データセット保存手段と、
XMLデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成手段と、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段として機能させ、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成手段は、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、対応するノードに対応するタグの名称が登録された第2のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第3のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第1のフィールドに対応するパターンテーブルと、前記第2のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。 - 請求項6記載のコンピュータプログラムであって、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリが存在しない場合には、当該フィールドに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。 - コンピュータによって読み取られ実行されるコンピュータプログラムであって、
当該コンピュータプログラムは、前記コンピュータを、
1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存した圧縮データセット保存手段と、
XMLデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段として機能させ、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
XMLデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第2のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第3のフィールドを備え、
前記圧縮テーブルデータ生成手段は、前記テーブルの各レコードの第2のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第2のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第2のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。 - 請求項8記載のコンピュータプログラムであって、
前記個別圧縮データ作成手段は、前記圧縮テーブルデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリが存在しない場合には、当該値リストに対応するパターンテーブルに当該配列を登録したエントリを作成し、当該作成したエントリの識別情報を、当該値リストの値を示すデータとして、前記個別圧縮データに含めることを特徴とするコンピュータプログラム。 - 複数のXMLデータを、1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットに圧縮するデータ圧縮方法であって、
XMLデータから、各々複数のフィールドを備えた、複数のレコードを配列したテーブルを生成するテーブル生成ステップと、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成ステップとを有し、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
前記テーブル生成ステップにおいて、前記ノードの各々にそれぞれに対応するレコードであって、対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、対応するノードに対応するタグの名称が登録された第2のフィールドと、対応するノードに対応するタグが付されたテキストが登録された第3のフィールドとを備えたレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列した前記テーブルを生成し、
前記パターンテーブルセットは、前記第1のフィールドに対応するパターンテーブルと、前記第2のフィールドに対応するパターンテーブルとの二つのパターンテーブルとのうちの少なくとも一方を含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成ステップにおいて、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮方法。 - 複数のXMLデータを、1または複数のパターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットに圧縮するデータ圧縮方法であって、
XMLデータから、各々複数のフィールドを備えた複数のレコードを配列したテーブルの各レコードの各フィールドの値を示す圧縮テーブルデータ生成する圧縮テーブルデータ生成ステップと、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成ステップとを有し、
前記XMLデータは、各々XMLデータに記述されているタグに対応するノードを節点とするツリーを表しており、
XMLデータを表すテーブルは、前記ノードの各々に対応するレコードを、対応するノードの前記ツリー上の位置に応じた順序で配列したテーブルであって、
前記テーブルの各レコードは、当該レコードに対応するノードの前記ツリー上の位置を表す値が登録された第1のフィールドと、当該レコードに対応するノードに対応するタグの名称が登録された第2のフィールドと、当該レコードに対応するノードに対応するタグが付されたテキストが登録された第3のフィールドを備え、
前記圧縮テーブルデータ生成ステップにおいて、前記テーブルの各レコードの第2のフィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードの第2のフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの第2のフィールドの値を示すデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成ステップにおいて、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、前記値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮方法。 - 複数のテーブルを圧縮するデータ圧縮装置であって、
前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであり、
当該データ圧縮装置は、
パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
テーブルの各レコードの各フィールドの値を示す圧縮テーブルデータを生成する圧縮テーブルデータ生成手段と、
前記圧縮テーブルデータから個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成手段とを有し、
前記圧縮テーブルデータ生成手段は、少なくとも一つのフィールドについて、前記テーブルの各レコードの当該フィールドの値として用いられている各々ユニークな値を所定の基準でソートして登録した値リストと、前記テーブルの各レコードのフィールドの値が登録されている値リストのエントリを示す対応情報とを作成し、作成した値リストと対応情報とを、前記テーブルの各レコードの当該フィールドの値を示すインデックスデータとして圧縮テーブルデータに含め、
前記パターンテーブルセットは、前記各インデックスデータの値リストに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、
前記圧縮テーブルデータの各部分を示すデータを含んだ個別圧縮データを作成し、かつ、前記圧縮テーブルデータに含まれる各インデックスデータの値リストの各エントリの値を、エントリの順序に従って並べた配列と同じ配列が登録されている、当該インデックスデータの値リストに対応するパターンテーブルのエントリの識別情報を、前記圧縮テーブルデータの当該インデックスデータの値リストの部分を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。 - 複数のテーブルを圧縮するデータ圧縮装置であって、
前記テーブルは、各々複数のフィールドを備えた、複数のレコードを配列したテーブルであり、
当該データ圧縮装置は、
パターンテーブルを含むパターンテーブルセットと、個別圧縮データ列とを含む圧縮データセットを保存したストレージと、
前記テーブルから、前記テーブルの各レコードの各フィールドの値を示す個別圧縮データを作成し、前記圧縮データセットの個別圧縮データ列に追加する個別圧縮データ作成部を有し、
前記パターンテーブルセットは、前記複数のフィールドのうちの少なくとも一つのフィールドに対応するパターンテーブルを含んでおり、
前記各パターンテーブルは、値の配列が登録されたエントリを1または複数含み、
前記個別圧縮データ作成手段は、前記テーブルの対応するパターンテーブルが存在する各フィールドについて、前記レコードの当該フィールドの値を前記テーブル中の順序に従って並べた配列と同じ配列が登録されている、当該フィールドに対応するパターンテーブルのエントリの識別情報を、前記テーブルの各レコードの当該フィールドの値を示すデータとして、前記個別圧縮データに含めることを特徴とするデータ圧縮装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018552523A JPWO2018096998A1 (ja) | 2016-11-28 | 2017-11-15 | データ圧縮装置、コンピュータプログラム及びデータ圧縮方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016230212 | 2016-11-28 | ||
JP2016-230212 | 2016-11-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018096998A1 true WO2018096998A1 (ja) | 2018-05-31 |
Family
ID=62195155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/041056 WO2018096998A1 (ja) | 2016-11-28 | 2017-11-15 | データ圧縮装置、コンピュータプログラム及びデータ圧縮方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2018096998A1 (ja) |
WO (1) | WO2018096998A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764833A (ja) * | 1993-08-31 | 1995-03-10 | Nec Corp | ファイル容量削減方法 |
JP2005018672A (ja) * | 2003-06-30 | 2005-01-20 | Hitachi Ltd | 構造化文書の圧縮方法 |
WO2009095981A1 (ja) * | 2008-01-28 | 2009-08-06 | Turbo Data Laboratories Inc. | 表からツリー構造データを構築する方法及び装置 |
JP2009237934A (ja) * | 2008-03-27 | 2009-10-15 | Nec Corp | ファイル変換装置、ファイル変換方法及びプログラム |
JP2011145883A (ja) * | 2010-01-14 | 2011-07-28 | Fujitsu Ltd | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム |
JP2013246598A (ja) * | 2012-05-25 | 2013-12-09 | Clarion Co Ltd | データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム |
-
2017
- 2017-11-15 JP JP2018552523A patent/JPWO2018096998A1/ja not_active Ceased
- 2017-11-15 WO PCT/JP2017/041056 patent/WO2018096998A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764833A (ja) * | 1993-08-31 | 1995-03-10 | Nec Corp | ファイル容量削減方法 |
JP2005018672A (ja) * | 2003-06-30 | 2005-01-20 | Hitachi Ltd | 構造化文書の圧縮方法 |
WO2009095981A1 (ja) * | 2008-01-28 | 2009-08-06 | Turbo Data Laboratories Inc. | 表からツリー構造データを構築する方法及び装置 |
JP2009237934A (ja) * | 2008-03-27 | 2009-10-15 | Nec Corp | ファイル変換装置、ファイル変換方法及びプログラム |
JP2011145883A (ja) * | 2010-01-14 | 2011-07-28 | Fujitsu Ltd | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム |
JP2013246598A (ja) * | 2012-05-25 | 2013-12-09 | Clarion Co Ltd | データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2018096998A1 (ja) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8108411B2 (en) | Methods and systems for merging data sets | |
US20130139003A1 (en) | Test Data Generation | |
US8615526B2 (en) | Markup language based query and file generation | |
US11023439B2 (en) | Variable cardinality index and data retrieval | |
US20050172217A1 (en) | System and method for schemaless data mapping with nested tables | |
US20210149869A1 (en) | Correlating multiple tables in a non-relational database environment | |
CN105975495A (zh) | 大数据的存储、搜索方法及装置 | |
JP5844824B2 (ja) | Sparqlクエリ最適化方法 | |
WO2018096998A1 (ja) | データ圧縮装置、コンピュータプログラム及びデータ圧縮方法 | |
CN110825747A (zh) | 一种信息存取方法、装置和介质 | |
JP7099316B2 (ja) | 類似度演算装置、方法、およびプログラム | |
US7953761B2 (en) | System, method, and apparatus for retrieving structured document and apparatus for managing structured document | |
CN108304545A (zh) | 一种url日志存储方法及装置 | |
CN110472125B (zh) | 一种基于网络爬虫的多级页面的级联爬取方法和设备 | |
CN107357632A (zh) | 一种命令行解析方法及装置 | |
CN106802922A (zh) | 一种基于对象的溯源存储系统及方法 | |
US20200380048A1 (en) | Architecture and functional model of a generic data excavation engine | |
US9996621B2 (en) | System and method for retrieving internet pages using page partitions | |
TWM578817U (zh) | 用於轉換資料系統之資料為關聯式資料格式之處理系統 | |
JP2019003501A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11328501B2 (en) | Computer-readable recording medium recording specifying program, information processing apparatus, and specifying method | |
US10872096B1 (en) | Interchange data format system and method | |
JP2011053912A (ja) | ページ類似判定装置、ページ類似判定方法、および、ページ類似判定プログラム | |
JP5374456B2 (ja) | 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム | |
CN118535583A (zh) | 一种日志处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17873998 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018552523 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17873998 Country of ref document: EP Kind code of ref document: A1 |