JP2020021177A - Information processing apparatus, decentralized processing system and decentralized processing program - Google Patents
Information processing apparatus, decentralized processing system and decentralized processing program Download PDFInfo
- Publication number
- JP2020021177A JP2020021177A JP2018142937A JP2018142937A JP2020021177A JP 2020021177 A JP2020021177 A JP 2020021177A JP 2018142937 A JP2018142937 A JP 2018142937A JP 2018142937 A JP2018142937 A JP 2018142937A JP 2020021177 A JP2020021177 A JP 2020021177A
- Authority
- JP
- Japan
- Prior art keywords
- item
- data
- code
- dictionary
- assigned
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、情報処理装置、分散処理システム、および分散処理プログラムに関する。 The present invention relates to an information processing device, a distributed processing system, and a distributed processing program.
従来、エッジコンピュータが、IoT(Internet of Things)デバイスからデータを収集し、収集したデータのメタデータを圧縮してからデータセンターに送信することにより、データセンターにメタデータを集約するシステムがある。 2. Description of the Related Art Conventionally, there is a system in which an edge computer collects data from an Internet of Things (IoT) device, compresses the metadata of the collected data, and transmits the compressed data to a data center, thereby collecting the metadata in the data center.
先行技術としては、例えば、一般RDB(Relational DataBase)に記録された各属性の型の情報に加えて、属性の属性値の種類の数を調査し、型および種類数によって、一般RDBの各属性を分類することにより、圧縮を施すかどうかを判断するものがある。また、例えば、受信したレコードをカラムごとに圧縮してカラム位置情報と共にデータベースに登録し、一致検索の場合に検索キーデータを圧縮して検索対象となる圧縮されたままのカラムデータと比較する技術がある。 As prior art, for example, in addition to information on the type of each attribute recorded in a general RDB (Relational DataBase), the number of types of attribute values of the attribute is checked, and each attribute of the general RDB is determined based on the type and the number of types. Are classified to determine whether to apply compression. Also, for example, a technique of compressing a received record for each column, registering it in a database together with column position information, and compressing the search key data in the case of a match search and comparing it with compressed column data as a search target There is.
しかしながら、従来技術では、メタデータの圧縮効率が低下してしまうことがある。例えば、エッジコンピュータが一度に送信するメタデータの量が少ないほど、メタデータの圧縮効率が低下してしまう傾向がある。 However, in the related art, the compression efficiency of metadata may be reduced. For example, the smaller the amount of metadata transmitted by the edge computer at one time, the lower the metadata compression efficiency tends to be.
1つの側面では、本発明は、データの圧縮効率の向上を図ることを目的とする。 In one aspect, an object of the present invention is to improve data compression efficiency.
1つの実施態様によれば、全符号化対象データが共通して有する第1項目を有するデータを取得し、前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する情報処理装置、分散処理システム、および分散処理プログラムが提案される。 According to one embodiment, data having a first item shared by all data to be encoded is obtained, and the item data of the first item is associated with a code assigned to the item data. The difference between the code assigned to the first item data of the first item included in the acquired data and the code assigned to the other item data of the first item is small with reference to the first dictionary to be represented. A code that does not overlap with a code assigned to another item data of the first item is assigned to the first item data, and the item data of a second item different from the first item is assigned to the first item data. A code assigned to the second item data of the second item included in the acquired data and a code assigned to the first item data are referred to by referring to a second dictionary representing the code assigned to the first item data in association with the first item data. The second item data is assigned a code that does not overlap with the code assigned to the other item data of the second item, so that the difference from the assigned code is reduced. An information processing apparatus, a distributed processing system, and a distributed processing program that synchronize the contents of the first dictionary and the second dictionary with a first apparatus that compresses or decompresses a file are proposed.
一態様によれば、データの圧縮効率の向上を図ることが可能になる。 According to an aspect, it is possible to improve data compression efficiency.
以下に、図面を参照して、本発明にかかる情報処理装置、分散処理システム、および分散処理プログラムの実施の形態を詳細に説明する。 Hereinafter, embodiments of an information processing apparatus, a distributed processing system, and a distributed processing program according to the present invention will be described in detail with reference to the drawings.
(実施の形態にかかる分散処理方法の一実施例)
図1は、実施の形態にかかる分散処理方法の一実施例を示す説明図である。図1において、情報処理装置100は、分散処理システムに用いられるコンピュータである。
(One Example of Distributed Processing Method According to Embodiment)
FIG. 1 is an explanatory diagram of an example of the distributed processing method according to the embodiment. In FIG. 1, an
分散処理システムは、例えば、IoTデバイスと、エッジコンピュータと、データセンターとを含む。分散処理システムでは、例えば、エッジコンピュータが、IoTデバイスからデータを収集し、収集したデータをデータセンターに送信することにより、データセンターにデータを集約し、データセンターでデータを利用可能にすることがある。 The distributed processing system includes, for example, an IoT device, an edge computer, and a data center. In a distributed processing system, for example, an edge computer collects data from an IoT device, transmits the collected data to a data center, aggregates the data in the data center, and makes the data available in the data center. is there.
ここで、IoTデバイスが生成するデータのすべてが、データセンターで利用されるとは限らず、通信コストをかけてデータセンターに送信したデータが、データセンターで利用されないことがある。通信コストは、消費電力および帯域負荷などである。このため、エッジコンピュータが、IoTデバイスから収集したデータについてのメタデータをデータセンターに送信することにより、データセンターにメタデータを集約するようにすることが考えられる。 Here, not all data generated by the IoT device is used in the data center, and data transmitted to the data center at a communication cost may not be used in the data center. Communication costs include power consumption and bandwidth load. For this reason, it is conceivable that the edge computer transmits the metadata about the data collected from the IoT device to the data center, so that the metadata is aggregated in the data center.
また、エッジコンピュータとデータセンターとの間の通信帯域が狭いほど、エッジコンピュータとデータセンターとで大量のデータをやり取りすることが困難になる。例えば、通信帯域は、1.5Mbpsである。このため、エッジコンピュータとデータセンターとの間の一度の通信量を低減化することが好ましい。具体的には、エッジコンピュータが、メタデータをデータセンターに送信する際には、メタデータを圧縮することが好ましい。また、具体的には、エッジコンピュータが、データセンターに一度に送信するメタデータの量を少なくすることが好ましい。 Further, as the communication band between the edge computer and the data center becomes narrower, it becomes more difficult to exchange a large amount of data between the edge computer and the data center. For example, the communication band is 1.5 Mbps. For this reason, it is preferable to reduce the amount of communication between the edge computer and the data center at one time. Specifically, when transmitting the metadata to the data center, the edge computer preferably compresses the metadata. More specifically, it is preferable to reduce the amount of metadata transmitted by the edge computer to the data center at one time.
しかしながら、かかる状況では、メタデータを効率よく圧縮することが難しく、エッジコンピュータとデータセンターとの間の一度の通信量を低減することが難しい。例えば、エッジコンピュータが、辞書式符号化とハフマン符号化とをベースとしたDeflateと呼ばれる圧縮技術を利用する場合、一度に送信するメタデータの量が少ないほど、メタデータの圧縮効率が低下してしまう傾向がある。また、圧縮したメタデータに、伸長のための辞書情報を付与することになる。このため、エッジコンピュータとデータセンターとの間の一度の通信量を低減することは難しい。 However, in such a situation, it is difficult to efficiently compress the metadata, and it is difficult to reduce a single communication amount between the edge computer and the data center. For example, when the edge computer uses a compression technique called Deflate based on lexicographic coding and Huffman coding, the smaller the amount of metadata transmitted at a time, the lower the compression efficiency of metadata. There is a tendency. Also, dictionary information for decompression is added to the compressed metadata. For this reason, it is difficult to reduce the amount of communication at one time between the edge computer and the data center.
これに対し、エッジコンピュータとデータセンターとで、定期的に辞書情報を同期し、エッジコンピュータが、同期した辞書情報を利用してメタデータを圧縮するようにする場合が考えられる。この場合でも、メタデータを効率よく圧縮することが難しく、エッジコンピュータとデータセンターとの間の一度の通信量を低減することが難しい。例えば、メタデータが有する項目ごとに項目データを符号化し、同じ項目についての符号を並べた符号列に対して整数列圧縮を実施することになるが、符号列の隣り合う符号の差分が小さくなるとは限らず、圧縮効率が低下してしまうことがある。 On the other hand, there is a case where dictionary information is periodically synchronized between the edge computer and the data center, and the edge computer compresses metadata using the synchronized dictionary information. Even in this case, it is difficult to efficiently compress the metadata, and it is difficult to reduce the amount of communication at one time between the edge computer and the data center. For example, item data is encoded for each item included in metadata, and integer sequence compression is performed on a code sequence in which codes for the same item are arranged, but when the difference between adjacent codes in the code sequence is reduced. However, the compression efficiency may be reduced.
そこで、本実施の形態では、装置間で辞書を同期した状況で、一方の装置がデータを効率よく圧縮し、他方の装置に送信することが可能になるように、データに含まれる各種項目の項目データに符号を割り当てることができる分散処理方法について説明する。 Therefore, in this embodiment, in a situation where the dictionaries are synchronized between the devices, various items included in the data are compressed so that one device can efficiently compress the data and transmit the data to the other device. A distributed processing method capable of assigning codes to item data will be described.
図1の例では、情報処理装置100は、第1装置110と通信可能である。情報処理装置100は、第1辞書および第2辞書を、記憶部101に記憶する。第1装置110は、同様に、第1辞書および第2辞書を、記憶部111に記憶する。記憶部101の記憶内容と、記憶部111の記憶内容とは、情報処理装置100により同期される。第1装置110は、データを圧縮または伸長する装置である。
In the example of FIG. 1, the
第1辞書は、第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第1項目は、全符号化対象データが共通して有する項目である。第1項目は、例えば、符号化対象データの生成元装置の識別情報が設定される項目である。符号は、例えば、整数である。また、第2辞書は、第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第2項目は、例えば、符号化対象データの生成元装置が取得したセンサ情報が設定される項目である。 The first dictionary is correspondence information representing the item data of the first item in association with the code assigned to the item data. The first item is an item common to all data to be encoded. The first item is, for example, an item in which identification information of a device that generates the data to be encoded is set. The sign is, for example, an integer. In addition, the second dictionary is correspondence information representing the item data of the second item different from the first item in association with the code assigned to the item data. The second item is, for example, an item in which sensor information acquired by the source device of the encoding target data is set.
(1−1)情報処理装置100は、第1項目を有するデータ120を取得する。情報処理装置100は、例えば、自装置がIoTデバイスと通信可能な場合、IoTデバイスから第1項目を有するデータ120を受信する。
(1-1) The
(1−2)情報処理装置100は、第1辞書を参照して、取得したデータ120に含まれる第1項目の第1項目データ121に、第1項目の他の項目データ131,141に割り当てられた符号と重複しない符号を割り当てる。他の項目データ131,141は、例えば、過去に取得したデータ130,140に含まれる項目データであり、符号を割り当て済みの項目データである。この際、情報処理装置100は、第1項目データ121に割り当てられる符号と、他の項目データ131,141に割り当てられた符号との差分が小さくなるように、第1項目データ121に符号を割り当てる。
(1-2) The
(1−3)情報処理装置100は、第2辞書を参照して、取得したデータ120に含まれる第2項目の第2項目データ122に、第2項目の他の項目データ132,142に割り当てられた符号と重複しない符号を割り当てる。他の項目データ132,142は、例えば、過去に取得したデータ130,140に含まれる項目データであり、符号を割り当て済みの項目データである。この際、情報処理装置100は、第2項目データ122に割り当てられる符号と、第1項目データ121に割り当てた符号との差分が小さくなるように、第2項目データ122に符号を割り当てる。
(1-3) The
(1−4)情報処理装置100は、割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。情報処理装置100は、例えば、割り当て結果を第1装置110に送信する。第1装置110は、割り当て結果を記憶部111に反映し、記憶部111にある第1辞書および第2辞書を更新する。また、情報処理装置100は、割り当て結果を記憶部101に反映し、記憶部101にある第1辞書および第2辞書を更新する。
(1-4) The
これにより、情報処理装置100は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。
Thereby, when the
例えば、IoTデバイスは、所定間隔でデータを生成する傾向があり、第1項目についての項目データは、IoTデバイスごとに固定的である傾向がある。換言すれば、内容が同一である第1項目についての項目データを含むデータが、IoTデバイスから所定間隔で生成される傾向があると考えられる。 For example, IoT devices tend to generate data at predetermined intervals, and item data for the first item tends to be fixed for each IoT device. In other words, it is considered that data including item data of the first item having the same content tends to be generated at predetermined intervals from the IoT device.
このため、同時期の、第1項目についての複数の項目データに、互いに差分が小さい符号を割り当てた場合、以降のある時期の、第1項目についての複数の項目データを符号化する際に、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。
For this reason, when codes having small differences are assigned to a plurality of item data of the first item at the same time, when a plurality of item data of the first item at a certain time thereafter is encoded, It is considered that the codes can be replaced with codes having a small difference from each other. As a result, after synchronizing the contents of the first dictionary and the second dictionary with the
また、情報処理装置100は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。
In addition, when the
例えば、第1項目についての複数の項目データを、互いに差分が小さい符号に置き換えた場合、置き換えた符号との差分が小さい符号が割り当てられた第2項目についての複数の項目データも、互いに差分が小さい符号に置き換えることができると考えられる。結果として、情報処理装置100は、第1装置110との間で、第1辞書および第2辞書の内容について同期した以降、第2項目についての複数の項目データを、互いに差分が小さい符号に置き換えることができ、整数列圧縮を効率化することができる。
For example, when a plurality of item data of the first item are replaced with codes having a small difference from each other, a plurality of item data of the second item to which a code having a small difference from the replaced code is assigned also has a difference from each other. It is thought that it can be replaced with a smaller code. As a result, after synchronizing the contents of the first dictionary and the second dictionary with the
また、情報処理装置100は、記憶部101の記憶内容と、記憶部111の記憶内容とを同期することができ、第1装置110が第1辞書および第2辞書に基づいてデータを圧縮可能または伸長可能にすることができる。結果として、情報処理装置100は、データを効率よく圧縮可能にすることができ、第1装置110との間の通信量の低減化を図ることができる。
Further, the
(分散処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、分散処理システム200の一例について説明する。
(Example of distributed processing system 200)
Next, an example of a distributed
図2は、分散処理システム200の一例を示す説明図である。図2において、分散処理システム200は、末端処理装置201と、IoTデバイス202と、中央処理装置203とを含む。
FIG. 2 is an explanatory diagram illustrating an example of the distributed
分散処理システム200において、IoTデバイス202と末端処理装置201とは、有線または無線により接続される。また、分散処理システム200において、末端処理装置201と中央処理装置203とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
In the distributed
図2の例では、末端処理装置201に、図1に示した情報処理装置100が適用される。末端処理装置201は、IoTデバイス202からデータを収集するコンピュータである。末端処理装置201は、図6〜図12に後述する各種データベースを有する。末端処理装置201は、例えば、図6に後述するバージョン情報600により、図7に後述する固定値符号表700、および、図8に後述する変動値符号表800を管理する。
In the example of FIG. 2, the
固定値符号表700は、メタデータの固定値フィールドのデータに割り振られた符号を示す情報である。固定値フィールドは、全メタデータが共通して有するフィールドである。固定値符号表700は、例えば、メタデータの固定値フィールドのデータのハッシュ値と、メタデータの固定値フィールドのデータに割り当てられた符号とを対応付けた対応情報である。ここで、データと、データのハッシュ値との対応関係は、図9に後述する対応関係テーブル900に記憶される。固定値符号表700は、具体的には、図1に示した第1辞書に対応する。 The fixed value code table 700 is information indicating codes assigned to the data of the fixed value field of the metadata. The fixed value field is a field that all metadata has in common. The fixed value code table 700 is, for example, correspondence information in which a hash value of data of a fixed value field of metadata is associated with a code assigned to data of the fixed value field of metadata. Here, the correspondence between the data and the hash value of the data is stored in a correspondence table 900 described later with reference to FIG. The fixed-value code table 700 specifically corresponds to the first dictionary shown in FIG.
変動値符号表800は、メタデータの変動値フィールドのデータに割り振られた符号を示す情報である。変動値フィールドは、固定値フィールド以外のフィールドである。変動値符号表800は、例えば、メタデータの変動値フィールドのデータのハッシュ値と、メタデータの変動値フィールドのデータに割り当てられた符号とを対応付けた対応情報である。ここで、データと、データのハッシュ値との対応関係は、図9に後述する対応関係テーブル900に記憶される。変動値符号表800は、具体的には、図1に示した第2辞書に対応する。 The variable value code table 800 is information indicating codes allocated to the data of the variable value field of the metadata. The variable value field is a field other than the fixed value field. The variable value code table 800 is, for example, correspondence information in which a hash value of data in a variable value field of metadata is associated with a code assigned to data in the variable value field of metadata. Here, the correspondence between the data and the hash value of the data is stored in a correspondence table 900 described later with reference to FIG. The variation value code table 800 specifically corresponds to the second dictionary shown in FIG.
また、末端処理装置201は、固定値符号表700、および、変動値符号表800を参照して、収集したデータについてのメタデータを符号化して蓄積し、符号化したメタデータを複数纏めて圧縮し、中央処理装置203に送信する。メタデータの具体例については、図4を用いて後述する。符号化したメタデータの具体例については、図5を用いて後述する。
Further, the
また、末端処理装置201は、メタデータの固定値フィールドのデータ、および、変動値フィールドのデータに新たな符号を割り振り、図10に後述する同期待ち符号リスト1000に保存する。また、末端処理装置201は、図11に後述する共起確率リスト1100を利用し、メタデータの固定値フィールドのデータに符号を割り振り直し、同期待ち符号リスト1000に保存してもよい。また、末端処理装置201は、図12に後述する累積差分リスト1200を利用し、変動値フィールドのデータに割り当て可能な符号の数を調整する。
Further, the
また、末端処理装置201は、同期待ち符号リスト1000を中央処理装置203に送信すると共に、同期待ち符号リスト1000を固定値符号表700、および、変動値符号表800に反映する。末端処理装置201は、例えば、サーバやPC(Personal Computer)などである。
Further, the
IoTデバイス202は、データを生成して末端処理装置201に送信するコンピュータである。IoTデバイス202は、例えば、所定の場所に設けられ、所定の場所の周囲の環境を示すデータを、末端処理装置201に送信する。IoTデバイス202は、例えば、所定の物体に装着され、所定の物体の状態を示すデータを、末端処理装置201に送信してもよい。IoTデバイス202は、例えば、人間に所持され、人間の状態を示すデータを、末端処理装置201に送信してもよい。
The
中央処理装置203は、圧縮されたメタデータを受信し、圧縮されたメタデータを伸長するコンピュータである。中央処理装置203は、末端処理装置201と同様に、固定値符号表700、変動値符号表800、および、対応関係テーブル900を有する。中央処理装置203は、同期待ち符号リスト1000を受信し、同期待ち符号リスト1000を、固定値符号表700、および、変動値符号表800に反映する。中央処理装置203は、例えば、サーバやPCなどである。
The
ここでは、末端処理装置201に図1に示した情報処理装置100が適用される場合について説明したが、これに限らない。例えば、中央処理装置203に図1に示した情報処理装置100が適用される場合があってもよい。この場合、中央処理装置203が、伸長したメタデータに基づいて、メタデータの固定値フィールドや変動値フィールドに符号を割り当てて同期待ち符号リスト1000を生成し、同期待ち符号リスト1000を末端処理装置201に送信することになる。
Here, the case where the
また、例えば、末端処理装置201や中央処理装置203とは異なる装置に図1に示した情報処理装置100が適用される場合があってもよい。この場合、末端処理装置201や中央処理装置203とは異なる装置が、末端処理装置201または中央処理装置203からメタデータを収集することになる。そして、末端処理装置201や中央処理装置203とは異なる装置が、メタデータの固定値フィールドや変動値フィールドに符号を割り当てて同期待ち符号リスト1000を生成する。そして、末端処理装置201や中央処理装置203とは異なる装置が、同期待ち符号リスト1000を末端処理装置201や中央処理装置203に送信する。
Further, for example, the
ここでは、末端処理装置201が1つの装置である場合について説明したが、これに限らない。例えば、末端処理装置201が、協働する複数の装置を含むシステムであってもよい。また、中央処理装置203が1つの装置である場合について説明したが、これに限らない。例えば、中央処理装置203が、協働する複数の装置を含むシステムであってもよい。
Here, the case where the
(末端処理装置201のハードウェア構成例)
次に、図3を用いて、末端処理装置201のハードウェア構成例について説明する。
(Example of hardware configuration of terminal processing device 201)
Next, an example of a hardware configuration of the
図3は、末端処理装置201のハードウェア構成例を示すブロック図である。図3において、末端処理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
FIG. 3 is a block diagram illustrating an example of a hardware configuration of the
ここで、CPU301は、末端処理装置201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
Here, the
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
The network I /
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、末端処理装置201から着脱可能であってもよい。
The recording medium I /
末端処理装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、末端処理装置201は、記録媒体I/F304や記録媒体305を有していなくてもよい。
The
(メタデータ400の具体例)
次に、図4を用いて、メタデータ400の具体例について説明する。メタデータ400は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域に記憶される。
(Specific example of metadata 400)
Next, a specific example of the
図4は、メタデータ400の具体例を示す説明図である。図4に示すように、メタデータ400は、source_idと、locationと、1以上のkeyとのフィールドを有する。source_idのフィールドには、メタデータ400を生成したIoTデバイス202を識別するデータが設定される。locationのフィールドには、メタデータ400を生成したIoTデバイス202がある場所を示すデータが設定される。keyのフィールドには、メタデータ400を生成したIoTデバイス202で取得したデータが設定される。
FIG. 4 is an explanatory diagram showing a specific example of the
メタデータ400は、keyのフィールドを有さない場合があってもよい。以下の説明では、例えば、source_idと、locationとのフィールドが、併せて、固定値フィールドとして扱われる。また、例えば、keyのフィールドが、変動値フィールドとして扱われる。
(符号化したメタデータ500の具体例)
次に、図5を用いて、符号化したメタデータ500の具体例について説明する。符号化したメタデータ500は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域に記憶される。
(Specific Example of Encoded Metadata 500)
Next, a specific example of the encoded metadata 500 will be described with reference to FIG. The encoded metadata 500 is stored in, for example, a storage area such as the
図5は、符号化したメタデータ500の具体例を示す説明図である。図5に示すように、符号化したメタデータ500は、固定値と、変動値と、文字列とのフィールドを有する。固定値のフィールドには、固定値フィールドのデータと置き換えられた符号が設定される。変動値のフィールドには、変動値フィールドのデータと置き換えられた符号が設定される。文字列のフィールドには、符号と置き換えられなかったデータが設定される。 FIG. 5 is an explanatory diagram showing a specific example of the encoded metadata 500. As shown in FIG. 5, the encoded metadata 500 has fields of a fixed value, a variable value, and a character string. In the fixed value field, a code replaced with the data of the fixed value field is set. In the variable value field, a code replaced with the data of the variable value field is set. In the character string field, data that has not been replaced with a code is set.
(バージョン情報600の記憶内容)
次に、図6を用いて、バージョン情報600の記憶内容の一例について説明する。バージョン情報600は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of version information 600)
Next, an example of the storage contents of the
図6は、バージョン情報600の記憶内容の一例を示す説明図である。図6に示すように、バージョン情報600は、固定値符号表700のVerと、変動値符号表800のVerとのフィールドを有する。固定値符号表700のVerのフィールドには、固定値符号表700が何回更新されたかを示すバージョン番号が設定される。変動値符号表800のVerのフィールドには、変動値符号表800が何回更新されたかを示すバージョン番号が設定される。
FIG. 6 is an explanatory diagram showing an example of the storage contents of the
(固定値符号表700の記憶内容)
次に、図7を用いて、固定値符号表700の記憶内容の一例について説明する。固定値符号表700は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Contents of Fixed Value Code Table 700)
Next, an example of the storage contents of the fixed-value code table 700 will be described with reference to FIG. The fixed value code table 700 is realized by, for example, a storage area such as the
図7は、固定値符号表700の記憶内容の一例を示す説明図である。図7に示すように、固定値符号表700は、ハッシュ値と、符号とのフィールドを有する。固定値符号表700は、固定値フィールドのデータのハッシュ値ごとに各フィールドに情報を設定することにより、固定値符号情報がレコードとして記憶される。 FIG. 7 is an explanatory diagram showing an example of the storage contents of the fixed-value code table 700. As shown in FIG. 7, the fixed-value code table 700 has fields of a hash value and a code. In the fixed-value code table 700, fixed-value code information is stored as a record by setting information in each field for each hash value of data in the fixed-value field.
ハッシュ値のフィールドには、固定値フィールドのデータのハッシュ値が設定される。符号のフィールドには、固定値フィールドのデータに割り当てられた符号が設定される。 In the hash value field, a hash value of data in the fixed value field is set. In the code field, a code assigned to the data in the fixed value field is set.
(変動値符号表800の記憶内容)
次に、図8を用いて、変動値符号表800の記憶内容の一例について説明する。変動値符号表800は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Contents of Fluctuation Value Code Table 800)
Next, an example of the storage contents of the variable value code table 800 will be described with reference to FIG. The variation value code table 800 is realized by, for example, a storage area such as the
図8は、変動値符号表800の記憶内容の一例を示す説明図である。図8に示すように、変動値符号表800は、ハッシュ値と、符号と、割当数とのフィールドを有する。変動値符号表800は、変動値フィールドのデータのハッシュ値ごとに各フィールドに情報を設定することにより、変動値符号情報がレコードとして記憶される。 FIG. 8 is an explanatory diagram showing an example of the stored contents of the variable value code table 800. As shown in FIG. 8, the variable value code table 800 has fields of a hash value, a code, and an assigned number. In the variable value code table 800, variable value code information is stored as a record by setting information in each field for each hash value of data in the variable value field.
ハッシュ値のフィールドには、変動値フィールドのデータのハッシュ値が設定される。符号のフィールドには、変動値フィールドのデータに割り当てられた符号が設定される。符号のフィールドには、符号が複数設定されてもよい。割当数のフィールドには、変動値フィールドのデータに割り当て可能な符号の数が設定される。 In the hash value field, a hash value of the data in the variable value field is set. In the code field, a code assigned to the data of the variation value field is set. A plurality of codes may be set in the code field. The number of codes that can be allocated to the data of the variable value field is set in the field of the number of allocations.
(対応関係テーブル900の記憶内容)
次に、図9を用いて、対応関係テーブル900の記憶内容の一例について説明する。対応関係テーブル900は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of correspondence table 900)
Next, an example of the contents of the correspondence table 900 will be described with reference to FIG. The correspondence table 900 is realized by, for example, a storage area such as the
図9は、対応関係テーブル900の記憶内容の一例を示す説明図である。図9に示すように、対応関係テーブル900は、ハッシュ値と、データとのフィールドを有する。対応関係テーブル900は、データごとに各フィールドに情報を設定することにより、対応情報がレコードとして記憶される。 FIG. 9 is an explanatory diagram showing an example of the storage contents of the correspondence table 900. As shown in FIG. 9, the correspondence table 900 has fields of a hash value and data. In the correspondence table 900, correspondence information is stored as a record by setting information in each field for each data.
ハッシュ値のフィールドには、メタデータに含まれる固定値フィールドのデータまたは変動値フィールドのデータから算出されたハッシュ値が設定される。データのフィールドには、メタデータに含まれる固定値フィールドのデータまたは変動値フィールドのデータが設定される。 In the hash value field, a hash value calculated from fixed value field data or variable value field data included in the metadata is set. In the data field, data of a fixed value field or data of a variable value field included in the metadata is set.
(同期待ち符号リスト1000の記憶内容)
次に、図10を用いて、同期待ち符号リスト1000の記憶内容の一例について説明する。同期待ち符号リスト1000は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of synchronization waiting code list 1000)
Next, an example of the storage contents of the synchronization waiting
図10は、同期待ち符号リスト1000の記憶内容の一例を示す説明図である。図10に示すように、同期待ち符号リスト1000は、データ/ハッシュ値と、固定値/変動値と、符号と、追加/削除とのフィールドを有する。同期待ち符号リスト1000は、データまたはハッシュ値ごとに各フィールドに情報を設定することにより、同期待ち符号情報がレコードとして記憶される。
FIG. 10 is an explanatory diagram showing an example of the storage contents of the synchronization waiting
データ/ハッシュ値のフィールドには、データまたはハッシュ値が設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800に対して、データと符号との組み合わせを追加しようとする場合には、データが設定される。データ/ハッシュ値のフィールドには、例えば、固定値符号表700または変動値符号表800から、ハッシュ値と符号との組み合わせを削除しようとする場合には、ハッシュ値が設定される。 Data or hash value is set in the data / hash value field. In the data / hash value field, data is set when a combination of data and code is to be added to the fixed value code table 700 or the variable value code table 800, for example. In the data / hash value field, for example, when a combination of a hash value and a code is to be deleted from the fixed value code table 700 or the variable value code table 800, a hash value is set.
固定値/変動値のフィールドには、固定値符号表700および変動値符号表800のいずれを処理対象にするかを示すフラグ情報が設定される。フラグ情報が固定値であれば、固定値符号表700を処理対象とすることを示し、フラグ情報が変動値であれば、変動値符号表800を処理対象とすることを示す。符号のフィールドには、処理対象に対して追加または削除される符号が設定される。追加/削除のフィールドには、処理種別として追加または削除が設定される。 In the fixed value / variation value field, flag information indicating which of the fixed value code table 700 and the variable value code table 800 is to be processed is set. If the flag information is a fixed value, it indicates that the fixed value code table 700 is to be processed, and if the flag information is a fluctuating value, it indicates that the fluctuating value code table 800 is to be processed. In the code field, a code added or deleted from the processing target is set. In the addition / deletion field, addition or deletion is set as the processing type.
(共起確率リスト1100の記憶内容)
次に、図11を用いて、共起確率リスト1100の記憶内容の一例について説明する。共起確率リスト1100は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage contents of the co-occurrence probability list 1100)
Next, an example of the storage content of the
図11は、共起確率リスト1100の記憶内容の一例を示す説明図である。図11に示すように、共起確率リスト1100は、ハッシュ値ペアと、共起確率とのフィールドを有する。共起確率リスト1100は、ハッシュ値のペアごとに各フィールドに情報を設定することにより、共起確率情報がレコードとして記憶される。
FIG. 11 is an explanatory diagram showing an example of the stored contents of the
ハッシュ値ペアのフィールドには、固定値フィールドについての互いに異なる2つのデータのそれぞれのデータから算出されたハッシュ値のペアが設定される。共起確率のフィールドには、固定値フィールドについての互いに異なる2つのデータが、単位時間あたりに取得される確率である共起確率が設定される。 In the field of the hash value pair, a pair of hash values calculated from respective data of two different data in the fixed value field is set. In the co-occurrence probability field, a co-occurrence probability is set, which is a probability that two different data items for the fixed value field are acquired per unit time.
(累積差分リスト1200の記憶内容)
次に、図12を用いて、累積差分リスト1200の記憶内容の一例について説明する。累積差分リスト1200は、例えば、図3に示した末端処理装置201のメモリ302や記録媒体305などの記憶領域により実現される。
(Storage Content of Cumulative Difference List 1200)
Next, an example of the storage contents of the accumulated
図12は、累積差分リスト1200の記憶内容の一例を示す説明図である。図12に示すように、累積差分リスト1200は、ハッシュ値と、累積差分と、割当数とのフィールドを有する。累積差分リスト1200は、ハッシュ値ごとに各フィールドに情報を設定することにより、累積差分情報がレコードとして記憶される。
FIG. 12 is an explanatory diagram showing an example of the storage contents of the
ハッシュ値のフィールドには、変動値フィールドについてのデータから算出されたハッシュ値が設定される。累積差分のフィールドには、メタデータに含まれる変動値フィールドについてのデータと置き換えられた符号と、同じメタデータに含まれる固定値フィールドについてのデータと置き換えられた符号との差分を累積した結果が設定される。割当数のフィールドには、変動値フィールドについてのデータに対して割り当て可能な符号の数が設定される。 In the hash value field, a hash value calculated from data on the variable value field is set. The cumulative difference field contains the result of accumulating the difference between the sign replaced with the data for the variable value field included in the metadata and the sign replaced with the data for the fixed value field included in the same metadata. Is set. The number of codes that can be allocated to the data of the variable value field is set in the field of the number of allocations.
(IoTデバイス202のハードウェア構成例)
IoTデバイス202のハードウェア構成例は、図3に示した末端処理装置201のハードウェア構成例と同様であるが、IoTデバイス202は、記録媒体I/Fや記録媒体を有していなくてもよい。また、IoTデバイス202は、例えば、センサ装置を有していてもよい。
(Example of hardware configuration of IoT device 202)
The example of the hardware configuration of the
センサ装置は、例えば、IoTデバイス202の状態を検出する。IoTデバイス202の状態は、例えば、IoTデバイス202の位置、動き、および向きのうち少なくともいずれかである。センサ装置は、具体的には、加速度センサ、地磁気センサ、振動センサ、または、GPS受信機などのいずれかを含んでもよい。
The sensor device detects a state of the
また、センサ装置は、例えば、IoTデバイス202の周辺の環境を検出してもよい。環境は、例えば、音や光などである。センサ装置は、具体的には、光センサ、または、音センサなどのいずれかを含んでもよい。また、センサ装置は、例えば、生体情報を検出してもよい。生体情報は、例えば、脈拍、心拍、体温、または、運動量などである。
Further, the sensor device may detect, for example, an environment around the
(中央処理装置203のハードウェア構成例)
次に、図13を用いて、中央処理装置203のハードウェア構成例について説明する。
(Example of hardware configuration of central processing unit 203)
Next, an example of a hardware configuration of the
図13は、中央処理装置203のハードウェア構成例を示すブロック図である。図13において、中央処理装置203は、CPU(Central Processing Unit)1301と、メモリ1302と、ネットワークI/F(Interface)1303と、記録媒体I/F1304と、記録媒体1305とを有する。また、各構成部は、バス1300によってそれぞれ接続される。
FIG. 13 is a block diagram illustrating a hardware configuration example of the
ここで、CPU1301は、中央処理装置203の全体の制御を司る。メモリ1302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1301のワークエリアとして使用される。メモリ1302に記憶されるプログラムは、CPU1301にロードされることで、コーディングされている処理をCPU1301に実行させる。メモリ1302は、固定値符号表700、変動値符号表800、および、対応関係テーブル900などを記憶する。
Here, the
ネットワークI/F1303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F1303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F1303は、例えば、モデムやLANアダプタなどである。
The network I /
記録媒体I/F1304は、CPU1301の制御に従って記録媒体1305に対するデータのリード/ライトを制御する。記録媒体I/F1304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体1305は、記録媒体I/F1304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体1305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体1305は、中央処理装置203から着脱可能であってもよい。
The recording medium I /
中央処理装置203は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、中央処理装置203は、記録媒体I/F1304や記録媒体1305を複数有していてもよい。また、中央処理装置203は、記録媒体I/F1304や記録媒体1305を有していなくてもよい。
The
(分散処理システム200の機能的構成例)
次に、図14を用いて、分散処理システム200の機能的構成例について説明する。具体的には、分散処理システム200に含まれる情報処理装置100の機能的構成例と、情報処理装置100と通信可能な第1装置110の機能的構成例とについて説明する。
(Example of Functional Configuration of Distributed Processing System 200)
Next, an example of a functional configuration of the distributed
図14は、分散処理システム200の機能的構成例を示すブロック図である。図14の例では、主として、図2に示した末端処理装置201が情報処理装置100に対応し、図2に示した中央処理装置203が第1装置110に対応する場合について説明する。
FIG. 14 is a block diagram illustrating a functional configuration example of the distributed
図14において、情報処理装置100は、記憶部1400と、取得部1401と、割当部1402と、同期部1403と、圧縮部1404と、出力部1405とを含む。また、第1装置110は、記憶部1410と、更新部1411と、伸長部1412とを含む。
14, the
記憶部1400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部1400が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部1400が、情報処理装置100とは異なる装置に含まれ、記憶部1400の記憶内容が情報処理装置100から参照可能である場合があってもよい。
The
取得部1401〜出力部1405は、制御部の一例として機能する。取得部1401〜出力部1405は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。情報処理装置100の各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
The
記憶部1400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部1400は、例えば、第1辞書および第2辞書を記憶する。第1辞書は、第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第1項目は、全符号化対象データが共通して有する項目である。第1項目は、複数の項目を含んでもよい。第1項目は、例えば、固定値フィールドである。符号は、例えば、整数である。また、第2辞書は、第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す対応情報である。第2項目は、例えば、変動値フィールドである。記憶部1400は、具体的には、図6〜図12に示した各種データベースを記憶する。
The
取得部1401は、各機能部の処理に用いられる各種情報を取得する。取得部1401は、取得した各種情報を、記憶部1400に記憶し、または、各機能部に出力する。また、取得部1401は、記憶部1400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部1401は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部1401は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
The
取得部1401は、具体的には、第1項目を有するデータを取得する。データは、1以上の項目を有し、1以上の項目のそれぞれの項目の項目データを含む。項目データは、項目名を含んでもよい。データは、例えば、メタデータである。データは、メタデータではなくてもよい。取得部1401は、より具体的には、IoTデバイス202から、メタデータを受信する。これにより、取得部1401は、各機能部がメタデータを参照可能にすることができる。
The
割当部1402は、第1辞書を参照して、取得したデータに含まれる第1項目の第1項目データに、第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当てる。他の項目データは、例えば、過去に取得したデータに含まれる項目データであり、符号を割り当て済みの項目データである。この際、割当部1402は、第1項目データに割り当てられる符号と、他の項目データに割り当てられた符号との差分が小さくなるように、第1項目データに符号を割り当てる。差分が小さくなるようにすることは、例えば、差分を0に近づけることである。差分が小さくなるようにすることは、例えば、差分が一定以上小さくなるようにすることであってもよい。
The allocating
割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データに符号を割り当てなくてもよい。
For example, referring to the first dictionary, if there is no code assigned to the item data of the first item included in the acquired data, the allocating
割当部1402は、具体的には、メタデータに含まれる固定値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに固定値符号表700を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、固定値符号表700に追加する場合があってもよい。
Specifically, the allocating
これにより、割当部1402は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。
By this means, when allocating a plurality of item data for the first item and performing integer sequence compression on the code sequence for the first item,
割当部1402は、第2辞書を参照して、取得したデータに含まれる第2項目の第2項目データに、第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当てる。他の項目データは、例えば、過去に取得したデータに含まれる項目データであり、符号を割り当て済みの項目データである。この際、割当部1402は、第2項目データに割り当てられる符号と、第1項目データに割り当てた符号との差分が小さくなるように、第2項目データに符号を割り当てる。
The allocating
割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データに符号を割り当てる。また、割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データに符号を割り当てなくてもよい。
For example, referring to the second dictionary, if there is no code assigned to the item data of the second item included in the acquired data, the allocating
割当部1402は、具体的には、メタデータに含まれる変動値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに変動値符号表800を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。
Specifically, the allocating
また、割当部1402は、例えば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号の数が、取得したデータに含まれる第2項目の項目データに割り当て可能な符号の数未満であるか否かを判定してもよい。そして、割当部1402は、割り当て可能な符号の数未満であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てる。また、割当部1402は、割り当て可能な符号の数以上であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てなくてもよい。
Further, the allocating
割当部1402は、具体的には、メタデータに含まれる変動値フィールドのデータのハッシュ値を算出する。次に、割当部1402は、ハッシュ値をキーに変動値符号表800を検索し、ハッシュ値に対応する符号があるか否かを判定する。そして、割当部1402は、符号がなければ、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。
Specifically, the allocating
また、割当部1402は、ハッシュ値に対応する符号があれば、ハッシュ値に対応する符号の数が、割り当て可能な符号の数未満であるか否かを判定する。そして、割当部1402は、割り当て可能な符号の数未満であれば、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存する。ここで、割当部1402は、ハッシュ値と、新たな符号とを対応付けて、同期待ち符号リスト1000に保存せず、変動値符号表800に追加する場合があってもよい。
If there is a code corresponding to the hash value, the allocating
これにより、割当部1402は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。
With this, the allocating
割当部1402は、第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率を算出する。確率は、共起確率である。そして、割当部1402は、算出した確率が高いほど、2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、それぞれの項目データに符号を割り当てる。
The allocating
割当部1402は、具体的には、単位時間ごとのメタデータ群における固定値フィールド群の中に2種のデータが同時に現れた回数を基に、2種のデータについて共起確率を算出する。次に、割当部1402は、算出した共起確率を、2種のデータのハッシュ値を組み合わせたハッシュ値のペアに対応付けて、共起確率リスト1100に追加する。そして、割当部1402は、共起確率が高い順に、ハッシュ値のペアに対応する符号の差分が小さくなるように、ハッシュ値のペアに符号を割り当てる。
More specifically, the allocating
割当部1402は、割り当て結果を、同期待ち符号リスト1000に保存する。ここで、割当部1402は、割り当て結果を、同期待ち符号リスト1000に保存せず、固定値符号表700に反映する場合があってもよい。これにより、割当部1402は、さらに整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当て直すことができる。
The allocating
割当部1402は、第1項目を有するデータを取得する都度、取得したデータに含まれる第1項目の項目データと置き換えられた符号と、取得したデータに含まれる第2項目の項目データと置き換えられた符号との差分を算出する。そして、割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、いずれかの項目データに割り当て可能な符号の数を増加させる。
Each time data having the first item is acquired, the allocating
割当部1402は、具体的には、メタデータを符号化する都度、符号化したメタデータに含まれる固定値フィールドの符号と変動値フィールドの符号との差分を算出する。次に、割当部1402は、算出した差分に基づいて、累積差分リスト1200のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた累積差分を更新する。累積差分は、変動値フィールドの符号に対応するハッシュ値に対応付けられた符号の数に基づいて正規化されてもよい。
More specifically, each time the metadata is encoded, the allocating
そして、割当部1402は、累積差分が一定以上であれば、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた割り当て可能な符号の数を増加させる。これにより、割当部1402は、さらに整数列圧縮の効率化が図られるように、第2項目についての項目データに、新たに符号を割り当て可能にすることができる。
If the cumulative difference is equal to or more than a certain value, the allocating
例えば、割当部1402は、第1項目の項目データと置き換えられた符号と、第2項目の項目データと置き換えられた符号との差分を小さくすることが、整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で第2項目の項目データと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、割当部1402は、第2項目についての項目データに、新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。
For example, the allocating
割当部1402は、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、第2辞書から、いずれかの項目データに割り当てられた符号を削除する。割当部1402は、具体的には、メタデータを符号化する都度、符号化したメタデータに含まれる固定値フィールドの符号と変動値フィールドの符号との差分を算出する。次に、割当部1402は、算出した差分に基づいて、累積差分リスト1200のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた累積差分を更新する。
If the magnitude of the sum of the differences calculated for any of the item data of the second items is less than a certain value, the allocating
そして、割当部1402は、累積差分が一定未満であれば、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた符号を削除する。割当部1402は、削除結果を、同期待ち符号リスト1000に保存する。ここで、割当部1402は、削除結果を、同期待ち符号リスト1000に保存せず、変動値符号表800に反映する場合があってもよい。また、割当部1402は、変動値符号表800のうち、変動値フィールドの符号に対応するハッシュ値に対応付けられた割り当て可能な符号の数を減少させる。これにより、割当部1402は、利用回数の比較的少ない符号を削除し、利用可能な符号の数を増加させることができる。
Then, if the accumulated difference is less than a certain value, the allocating
同期部1403は、割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。同期部1403は、例えば、割り当て結果を第1装置110に送信する。また、同期部1403は、割り当て結果に基づいて、記憶部1400が記憶する第1辞書および第2辞書の内容を更新する。同期部1403は、具体的には、同期待ち符号リスト1000を、中央処理装置203に送信する。また、同期部1403は、同期待ち符号リスト1000に基づいて、固定値符号表700および変動値符号表800を更新する。
The
これにより、同期部1403は、第1装置110が記憶する第1辞書および第2辞書の内容を、情報処理装置100が記憶する第1辞書および第2辞書と同じ内容になるように、第1装置110に更新させることができる。このため、同期部1403は、第1辞書および第2辞書に基づいてデータを、第1装置110が圧縮可能または伸長可能にすることができる。結果として、同期部1403は、データを効率よく圧縮可能にすることができ、第1装置110との間の通信量の低減化を図ることができる。
Accordingly, the
同期部1403は、第1項目の項目データに符号を割り当てたこと、または、第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積してもよい。そして、同期部1403は、蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。
The
同期部1403は、例えば、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。同期部1403は、一定時間のうちで蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期する。これにより、同期部1403は、同期にかかる通信量の低減化を図ることができる。
For example, the
圧縮部1404は、第1項目を有するデータを取得する都度、第1装置110との間で同期した第1辞書および第2辞書に基づいて、取得したデータに含まれる第1項目の項目データおよび第2項目の項目データを符号に置き換えて、置換後のデータを蓄積する。
Each time the
圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データを、当該符号に置き換える。また、圧縮部1404は、例えば、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データを、所定符号に置き換える。
For example, if there is a code assigned to the item data of the first item included in the acquired data, the
圧縮部1404は、例えば、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データを、当該符号に置き換える。また、圧縮部1404は、例えば、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データを、所定符号に置き換える。
For example, if there is a code assigned to the item data of the second item included in the acquired data, the
そして、圧縮部1404は、蓄積した複数の置換後のデータを纏めて圧縮する。圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第1項目の項目データと置き換えられた符号を並べた符号列を圧縮する。また、圧縮部1404は、例えば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第2項目の項目データと置き換えられた符号を並べた符号列を圧縮する。これにより、圧縮部1404は、データを効率よく圧縮することができる。
Then, the
出力部1405は、圧縮結果を、第1装置110に送信する。出力部1405は、具体的には、圧縮された複数のメタデータを、圧縮に利用した固定値符号表700のバージョン番号、および、圧縮に利用した変動値符号表800のバージョン番号と共に、中央処理装置203に送信する。これにより、出力部1405は、第1装置110との間の通信量の低減化を図ることができる。
The
記憶部1410は、例えば、図13に示したメモリ1302や記録媒体1305などの記憶領域によって実現される。以下では、記憶部1410が、第1装置110に含まれる場合について説明するが、これに限らない。例えば、記憶部1410が、第1装置110とは異なる装置に含まれ、記憶部1410の記憶内容が第1装置110から参照可能である場合があってもよい。
The storage unit 1410 is realized by, for example, a storage area such as the
更新部1411および伸長部1412は、具体的には、例えば、メモリ1302や記録媒体1305などの記憶領域に記憶されたプログラムをCPU1301に実行させることにより、または、ネットワークI/F1303により、その機能を実現する。第1装置110の各機能部の処理結果は、例えば、図13に示したメモリ1302や記録媒体1305などの記憶領域に記憶される。
The
記憶部1410は、記憶部1400と同様に、第1辞書および第2辞書を記憶する。記憶部1400の記憶内容と、記憶部1410の記憶内容とは、同期される。例えば、記憶部1400が記憶する第1辞書および第2辞書と、記憶部1410が記憶する第1辞書および第2辞書とは、同一内容になるように同期される。記憶部1410は、具体的には、固定値符号表700および変動値符号表800を記憶する。また、記憶部1410は、バージョン情報600を記憶してもよい。
The storage unit 1410 stores the first dictionary and the second dictionary, similarly to the
更新部1411は、割当部1402の割り当て結果に基づいて、記憶部1410に記憶された第1辞書および第2辞書を更新する。更新部1411は、具体的には、同期待ち符号リスト1000を受信し、同期待ち符号リスト1000に基づいて、記憶部1410に記憶された固定値符号表700および変動値符号表800を更新する。これにより、更新部1411は、情報処理装置100と第1装置110とが同じ内容の第1辞書および第2辞書を有するように同期することができる。
The
伸長部1412は、第1辞書および第2辞書に基づいて、圧縮されたデータを伸長する。伸長部1412は、具体的には、圧縮に利用した固定値符号表700のバージョン番号、および、圧縮に利用した変動値符号表800のバージョン番号と共に、圧縮された複数のメタデータを受信する。そして、伸長部1412は、固定値符号表700、変動値符号表800、および、バージョン情報600に基づいて、圧縮された複数のメタデータを伸長する。これにより、伸長部1412は、圧縮されたデータを利用可能にすることができる。
The
ここでは、図2に示した分散処理システム200において、末端処理装置201が情報処理装置100に対応し、中央処理装置203が第1装置110に対応する場合について説明したが、これに限らない。例えば、末端処理装置201が第1装置110に対応し、中央処理装置203が情報処理装置100に対応する場合があってもよい。
Here, in the distributed
例えば、この場合、取得部1401は、末端処理装置201から、圧縮されたメタデータを受信し、圧縮されたメタデータを伸長してもよい。また、例えば、同期部1403は、同期待ち符号リスト1000を、末端処理装置201に送信してもよい。また、例えば、情報処理装置100の圧縮部1404および出力部1405と、第1装置110の伸長部1412とが入れ替わってもよい。
For example, in this case, the
(分散処理システム200の動作例)
次に、図15〜図18を用いて、図2に示した分散処理システム200の動作例について説明する。
(Operation Example of Distributed Processing System 200)
Next, an operation example of the distributed
図15〜図18は、分散処理システム200の動作例を示す説明図である。図15において、末端処理装置201は、IoTデバイス202から、メタデータ1501を受信する。ここで、メタデータ1501のうち、固定値フィールドは、source_idのフィールドと、locationのフィールドとの組み合わせである。また、変動値フィールドは、hogeのフィールドと、fooのフィールドとのそれぞれのフィールドである。
15 to 18 are explanatory diagrams illustrating an operation example of the distributed
末端処理装置201は、固定値符号表700に、メタデータ1501の固定値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の固定値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の固定値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。
The
図15の例では、末端処理装置201は、固定値フィールドのデータ「“source_id”:“001”,“location”:{“lat”:xx,“lng”:yy}」のハッシュ値「abcdefg」を算出する。末端処理装置201は、固定値符号表700に、ハッシュ値「abcdefg」に対応する符号「1」があると判定する。このため、末端処理装置201は、固定値フィールドのデータ「“source_id”:“001”,“location”:{“lat”:xx,“lng”:yy}」を符号「1」に置き換える。
In the example of FIG. 15, the
ここで、末端処理装置201は、データに符号を割り当てる際、固定値フィールドについての互いに異なる2つのデータに割り当てられる符号が連続せず、少なくとも一定以上離れるようにしてもよい。これにより、末端処理装置201は、固定値フィールドのデータに割り当てられた符号の周囲に余分範囲を設け、当該符号との差分が小さい符号を、変動値フィールドのデータに割り当てやすくしておくことができる。
Here, when assigning codes to the data, the
また、末端処理装置201は、変動値符号表800に、メタデータ1501の変動値フィールドのデータに対応する符号があるか否かを判定し、符号があれば、メタデータ1501の変動値フィールドのデータを符号化する。末端処理装置201は、符号がなければ、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存する。また、末端処理装置201は、符号があっても、割り当て済みの符号の数が、割り当て可能な符号の数未満であれば、メタデータ1501の変動値フィールドのデータに符号を割り当てて、同期待ち符号リスト1000に保存してもよい。
Also, the
図15の例では、末端処理装置201は、1つ目の変動値フィールドのデータ「“hoge”:“fuga”」のハッシュ値「nopqrst」を算出する。末端処理装置201は、変動値符号表800に、ハッシュ値「nopqrst」に対応する符号「1」があるため、1つ目の変動値フィールド「“hoge”:“fuga”」のデータを符号「1」に置き換える。固定値フィールドのデータと置き換える符号と、変動値フィールドのデータと置き換える符号とは、同値であってもよい。
In the example of FIG. 15, the
ここで、末端処理装置201は、2つ目以降の変動値フィールドのデータについては符号に置き換えなくてもよい。このため、末端処理装置201は、2つ目の変動値フィールドのデータ「“foo”:“bar”」を、そのままにする。また、末端処理装置201が、2つ目以降の変動値フィールドのデータについても符号に置き換える場合があってもよい。末端処理装置201は、符号化したメタデータ1502を、送信待ちバッファに蓄積する。送信待ちバッファは、例えば、FIFOキューである。
Here, the
また、末端処理装置201は、固定値フィールドのデータと置き換えた符号と、変動値フィールドのデータと置き換えた符号との差分を算出し、累積差分リスト1200を更新する。末端処理装置201は、例えば、変動値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商+1を算出する。最大数は、例えば、3である。
Further, the
また、末端処理装置201は、固定値フィールドのデータと置き換えた符号を、変動値フィールドのデータに割り当て可能な符号の最大数で除算した商を算出する。そして、末端処理装置201は、変動値フィールドについて算出した商+1から、固定値フィールドについて算出した商を減算した差分を算出し、累積差分リスト1200の累積差分に加算する。
The
これにより、末端処理装置201は、符号の整数列圧縮の効率化への寄与が少ないほど累積差分が大きくなるように、かつ、符号の利用回数が少ないほど累積差分が小さくなるように、累積差分を記憶することができる。そして、末端処理装置201は、累積差分に基づいて、整数列圧縮の効率化が図られるように、変動値符号表800における符号の割り当てを調整可能にすることができる。次に、図16の説明に移行する。
By this means, the
図16において、末端処理装置201は、送信待ちバッファに蓄積した符号化されたメタデータの量が一定以上になるか、または、一定時間が経過すると、蓄積した符号化されたメタデータを複数纏めて圧縮する。
In FIG. 16, when the amount of encoded metadata stored in the transmission waiting buffer becomes equal to or more than a predetermined value, or when a predetermined time elapses, the
図16の例では、末端処理装置201は、固定値フィールドにある符号の順に、符号化されたメタデータをソートして、固定値符号表700のバージョン番号や変動値符号表800のバージョン番号を付与したファイル1600のエントリとして記入する。
In the example of FIG. 16, the
次に、末端処理装置201は、エントリごとに符号の数を合わせるためにパディングを実施する。末端処理装置201は、具体的には、エントリ「5,{“piyo”:“baz”}」にパディングを実施し、エントリ「5,0,{“piyo”:“baz”}」とする。
Next, the
そして、末端処理装置201は、エントリのカラムごとに、符号または文字列を並べて、ファイル1601に記入する。末端処理装置201は、具体的には、固定値フィールドにある符号を並べた「1,3,5,7」、および、変動値フィールドにある符号を並べた「1,3,0,7」を、ファイル1601に記入する。また、末端処理装置201は、文字列フィールドにある文字列を並べた「[{“foo”:“bar”},{“hoge”:“fuga”},{“piyo”:“baz”},nil]」を、ファイル1601に記入する。nilは、文字列がないことを示す。
Then, the
そして、末端処理装置201は、ファイル1601に対して、カラム単位での整数列圧縮を実施する。末端処理装置201は、具体的には、固定値フィールドにある符号を並べた符号列「1,3,5,7」を整数列圧縮し、変動値フィールドにある符号を並べた符号列「1,3,0,7」を整数列圧縮する。また、末端処理装置201は、文字列フィールドにある文字列を並べた文字列群に対しては、整数列圧縮以外の圧縮を実施する。
Then, the
そして、末端処理装置201は、圧縮結果であるバイナリデータ1602を、中央処理装置203に送信する。中央処理装置203は、末端処理装置201とは逆の処理を実行し、バイナリデータ1602から、ファイル1600を伸長する。これにより、末端処理装置201は、符号化されたメタデータを効率よく圧縮することができ、中央処理装置203との間の通信量の低減化を図ることができる。
Then, the
ここで、末端処理装置201は、送信待ちバッファに蓄積した符号化されたメタデータに基づいて、固定値フィールドのデータと置き換えられた符号のペアに対応するハッシュ値のペアについて、共起確率リスト1100の共起確率を更新してもよい。そして、末端処理装置201は、共起確率リスト1100を参照し、ハッシュ値のペアの共起確率が高いほど、ハッシュ値のペアのそれぞれのハッシュ値に割り当てられる符号の差分が小さくなるように、それぞれのハッシュ値に符号を割り当て直す。末端処理装置201は、ハッシュ値と、ハッシュ値に割り当て直した符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する。
Here, based on the encoded metadata stored in the transmission waiting buffer, the
例えば、末端処理装置201は、符号化されたメタデータに含まれる固定値フィールドの符号を並べた符号列における符号同士の差分を小さくすることが、符号列に対する整数列圧縮の効率化に寄与するという性質を利用している。また、ハッシュ値のペアの共起確率が高いことは、ハッシュ値のペアに対応する固定値フィールドのデータのペアが、同じタイミングで符号化されやすいことを示している。
For example, the
このため、共起確率が高いハッシュ値のペアに対応する固定値フィールドのデータのペアを、差分が小さい符号に置き換えられれば、整数列圧縮の対象となる符号列に、差分が小さい符号が含まれる可能性を向上することができると考えられる。これに対し、末端処理装置201は、共起確率が高いハッシュ値のペアのそれぞれのハッシュ値に、符号を割り当て直すことで、さらに整数列圧縮の効率化を図ることができる。
For this reason, if the data pair of the fixed value field corresponding to the hash value pair having a high co-occurrence probability is replaced with a code having a small difference, the code string to be subjected to integer sequence compression includes a code having a small difference. It is thought that it is possible to improve the possibility of being performed. On the other hand, the
ここでは、末端処理装置201が、データに一旦符号を割り当てた後、共起確率に基づいてデータに符号を割り当て直す場合について説明したが、これに限らない。例えば、末端処理装置201は、データに一旦符号を割り当てることなく、共起確率に基づいて、データに符号を割り当てるようにする場合があってもよい。次に、図17の説明に移行する。
Here, a case has been described where the
図17において、末端処理装置201は、一定時間ごとに、固定値符号表700および変動値符号表800についての同期要求を中央処理装置203に送信する。同期要求は、例えば、固定値符号表700および変動値符号表800をどのように更新するかを示す同期待ち符号リスト1000が付与される。また、同期要求は、バージョン情報600に基づいて、固定値符号表700のバージョン番号、および、変動値符号表800のバージョン番号が付与される。
In FIG. 17, the
中央処理装置203は、同期要求を受信する。中央処理装置203は、同期要求に付与された同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映する。中央処理装置203は、例えば、同期待ち符号リスト1000の追加/削除のフィールドの処理種別で、固定値符号表700および変動値符号表800に対して、ハッシュ値と符号との対応関係を追加または削除する。中央処理装置203は、自装置が記憶するバージョン情報1700を、同期待ち符号リスト1000に付与された固定値符号表700のバージョン番号と変動値符号表800のバージョン番号とで上書きする。
The
ここで、中央処理装置203は、同期待ち符号リスト1000を自装置が記憶する固定値符号表700に反映する際、反映前の固定値符号表700を残しておいてもよい。同様に、中央処理装置203は、同期待ち符号リスト1000を自装置が記憶する変動値符号表800に反映する際、反映前の変動値符号表800を残しておいてもよい。中央処理装置203は、同期要求に付与された同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映した後、更新完了応答を、末端処理装置201に送信する。
Here, when the
末端処理装置201は、更新完了応答を受信すると、同期待ち符号リスト1000を、自装置が記憶する固定値符号表700および変動値符号表800に反映する。そして、末端処理装置201は、同期待ち符号リスト1000を初期化する。これにより、末端処理装置201は、中央処理装置203との間で、同一の内容の固定値符号表700および変動値符号表800を有するようにすることができる。このため、末端処理装置201は、中央処理装置203が、圧縮されたメタデータを伸長可能にすることができる。次に、図18の説明に移行する。
Upon receiving the update completion response, the
図18において、末端処理装置201は、累積差分リスト1200を参照し、累積差分の大小に基づいて、変動値フィールドのデータに割り当て可能な符号の数を増減させる。ここで、累積差分は、値が大きいほど、符号の整数列圧縮の効率化への寄与が少ないことを示し、かつ、値が小さいほど、符号の利用回数が少ないことを示している。
In FIG. 18, the
このため、末端処理装置201は、ハッシュ値ごとの累積差分の分布1800を生成する。末端処理装置201は、累積差分が閾値1801を超えるハッシュ値に対応するデータについては、割り当て可能な符号の数を増加させる。閾値1801は、例えば、30である。また、末端処理装置201は、累積差分が閾値1802を下回るハッシュ値に対応するデータに割り当てられた符号を削除する。閾値1802は、例えば、3である。そして、末端処理装置201は、累積差分リスト1200を初期化する。
For this reason, the
図18の例では、末端処理装置201は、変動値符号表800および累積差分リスト1200において、累積差分「40」であるハッシュ値「nopqrst」に対応するデータに割り当て可能な符号の数を「1」から「2」に増加させる。また、末端処理装置201は、累積差分「40」であるハッシュ値「nopqrst」に対応する累積差分を「0」に初期化する。また、末端処理装置201は、変動値符号表800および累積差分リスト1200から、累積差分「1」であるハッシュ値「cdefghi」に対応するレコードを削除する。
In the example of FIG. 18, the
例えば、末端処理装置201は、同じメタデータについての固定値フィールドにある符号と変動値フィールドにある符号との差分を小さくすることが、変動値フィールドにある符号を並べた符号列に対する整数列圧縮の効率化に寄与するという性質を利用している。このため、累積差分が大きい場合、現状で変動値フィールドにあるデータと置き換えている符号は、整数列圧縮の効率化に寄与しにくいと考えられる。これに対し、末端処理装置201は、データに新たに符号を割り当て可能にし、さらに整数列圧縮の効率化が図られるようにすることができる。
For example, the
また、符号は、符号化における利用回数が多いほど、変動値符号表800を用いた辞書式圧縮の効率化に寄与することができると考えられる。また、現状、いずれかのデータに割り当てられた圧縮の効率化に寄与しない符号は、他のデータに割り当てられた場合には、辞書式圧縮の効率化、または、整数列圧縮の効率化に寄与することができる可能性がある。これに対し、末端処理装置201は、データに割り当てた符号を削除し、符号を利用可能にすることができ、辞書式圧縮の効率化、または、整数列圧縮の効率化が図られるようにすることができる。
Also, it is considered that the more the number of uses of the code in the coding, the more the code can contribute to the efficiency of the lexical compression using the variable value code table 800. Also, at present, codes that do not contribute to the efficiency of compression assigned to any data contribute to the efficiency of lexicographic compression or the efficiency of integer string compression when they are assigned to other data. Could be possible. On the other hand, the
(登録処理手順)
次に、図19を用いて、末端処理装置201が実行する、登録処理手順の一例について説明する。登録処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Registration procedure)
Next, an example of a registration processing procedure executed by the
図19は、登録処理手順の一例を示すフローチャートである。図19において、末端処理装置201は、IoTデバイス202からデータを受信して保存する(ステップS1901)。そして、末端処理装置201は、受信したデータの格納場所と対応付けて受信したデータについてのメタデータを保存する(ステップS1902)。
FIG. 19 is a flowchart illustrating an example of a registration processing procedure. In FIG. 19, the
次に、末端処理装置201は、図20に後述する第1払出処理を実行し、メタデータを符号化する(ステップS1903)。そして、末端処理装置201は、図21に後述する第2払出処理を実行し、メタデータを符号化する(ステップS1904)。
Next, the
次に、末端処理装置201は、符号化したメタデータを送信待ちバッファに保存する(ステップS1905)。そして、末端処理装置201は、登録処理を終了する。
Next, the
(第1払出処理手順)
次に、図20を用いて、末端処理装置201が実行する、第1払出処理手順の一例について説明する。第1払出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First payment processing procedure)
Next, an example of a first payout processing procedure executed by the
図20は、第1払出処理手順の一例を示すフローチャートである。図20において、末端処理装置201は、メタデータに含まれる固定値フィールドのデータ全体のハッシュ値を算出する(ステップS2001)。
FIG. 20 is a flowchart illustrating an example of the first payout processing procedure. In FIG. 20, the
次に、末端処理装置201は、固定値符号表700を参照し、算出したハッシュ値に対応する符号が存在するか否かを判定する(ステップS2002)。ここで、ハッシュ値に対応する符号が存在しない場合(ステップS2002:No)、末端処理装置201は、ステップS2004の処理に移行する。一方で、ハッシュ値に対応する符号が存在する場合(ステップS2002:Yes)、末端処理装置201は、ステップS2003の処理に移行する。
Next, the
ステップS2003では、末端処理装置201は、固定値符号表700を参照し、メタデータに含まれる固定値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2003)。そして、末端処理装置201は、第1払出処理を終了する。
In step S2003, the
ステップS2004では、末端処理装置201は、メタデータに含まれる固定値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、固定値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2004)。
In step S2004, the
次に、末端処理装置201は、メタデータに含まれる固定値フィールドのデータを0に置換し、メタデータに含まれる固定値フィールドのデータを、メタデータに含まれる文字列フィールドに移動する(ステップS2005)。そして、末端処理装置201は、第1払出処理を終了する。
Next, the
(第2払出処理手順)
次に、図21を用いて、末端処理装置201が実行する、第2払出処理手順の一例について説明する。第2払出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second payout processing procedure)
Next, an example of a second payout processing procedure executed by the
図21は、第2払出処理手順の一例を示すフローチャートである。図21において、末端処理装置201は、メタデータに含まれる変動値フィールドのデータ全体のハッシュ値を算出する(ステップS2101)。
FIG. 21 is a flowchart illustrating an example of the second payout processing procedure. In FIG. 21, the
次に、末端処理装置201は、変動値符号表800を参照し、算出したハッシュ値に対応する符号が存在するか否かを判定する(ステップS2102)。ここで、ハッシュ値に対応する符号が存在しない場合(ステップS2102:No)、末端処理装置201は、ステップS2109の処理に移行する。一方で、ハッシュ値に対応する符号が存在する場合(ステップS2102:Yes)、末端処理装置201は、ステップS2103の処理に移行する。
Next, the
ステップS2103では、末端処理装置201は、変動値符号表800を参照し、算出したハッシュ値に対応する符号の数が、算出したハッシュ値に対応する割り当て可能な符号の数未満であるか否かを判定する(ステップS2103)。ここで、割り当て可能な符号の数未満である場合(ステップS2103:Yes)、末端処理装置201は、ステップS2106の処理に移行する。一方で、割り当て可能な符号の数以上である場合(ステップS2103:No)、末端処理装置201は、ステップS2104の処理に移行する。
In step S2103, the
ステップS2104では、末端処理装置201は、変動値符号表800を参照し、メタデータに含まれる変動値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2104)。次に、末端処理装置201は、変動値フィールドにある符号と、固定値フィールドにある符号との差分を算出し、累積差分リスト1200のうち、算出したハッシュ値に対応する累積差分を更新する(ステップS2105)。そして、末端処理装置201は、ステップS2112の処理に移行する。
In step S2104, the
ステップS2106では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2106)。ここで、割り当て可能な符号が存在しない場合(ステップS2106:No)、末端処理装置201は、ステップS2108の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2106:Yes)、末端処理装置201は、ステップS2107の処理に移行する。
In step S2106, the
ステップS2107では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、変動値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2107)。そして、末端処理装置201は、ステップS2108の処理に移行する。
In step S2107, the
ステップS2108では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータを、算出したハッシュ値に対応する符号に置換する(ステップS2108)。そして、末端処理装置201は、ステップS2112の処理に移行する。
In step S2108, the
ステップS2109では、末端処理装置201は、固定値フィールドにある符号に対応する余分範囲に、変動値フィールドのデータに割り当て可能な符号が存在するか否かを判定する(ステップS2109)。ここで、割り当て可能な符号が存在しない場合(ステップS2109:No)、末端処理装置201は、ステップS2111の処理に移行する。一方で、割り当て可能な符号が存在する場合(ステップS2109:Yes)、末端処理装置201は、ステップS2110の処理に移行する。
In step S2109, the
ステップS2110では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータに対して新たな符号を割り当てる。末端処理装置201は、変動値フィールドのデータと、新たな符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2110)。そして、末端処理装置201は、ステップS2111の処理に移行する。
In step S2110, the
ステップS2111では、末端処理装置201は、メタデータに含まれる変動値フィールドのデータを0に置換し、メタデータに含まれる変動値フィールドのデータを、メタデータに含まれる文字列フィールドに移動する(ステップS2111)。そして、末端処理装置201は、ステップS2112の処理に移行する。
In step S2111, the
ステップS2112では、末端処理装置201は、メタデータに含まれるすべての変動値フィールドのデータを処理したか否かを判定する(ステップS2112)。ここで、未処理の変動値フィールドのデータがある場合(ステップS2112:No)、末端処理装置201は、ステップS2101の処理に戻る。一方で、すべての変動値フィールドのデータを処理している場合(ステップS2112:Yes)、末端処理装置201は、第2払出処理を終了する。
In step S2112, the
(圧縮呼び出し処理手順)
次に、図22を用いて、末端処理装置201が実行する、圧縮呼び出し処理手順の一例について説明する。圧縮呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Compression call processing procedure)
Next, an example of a compression call processing procedure executed by the
図22は、圧縮呼び出し処理手順の一例を示すフローチャートである。図22において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2201)。ここで、開始指示を受信している場合(ステップS2201:Yes)、末端処理装置201は、ステップS2203の処理に移行する。一方で、開始指示を受信していない場合(ステップS2201:No)、末端処理装置201は、ステップS2202の処理に移行する。
FIG. 22 is a flowchart illustrating an example of a compression call processing procedure. In FIG. 22, the
ステップS2202では、末端処理装置201は、送信待ちバッファに蓄積されたメタデータの量が一定以上であるか否かを判定する(ステップS2202)。ここで、メタデータの量が一定未満である場合(ステップS2202:No)、末端処理装置201は、ステップS2201の処理に戻る。一方で、メタデータの量が一定以上である場合(ステップS2202:Yes)、末端処理装置201は、ステップS2203の処理に移行する。
In step S2202, the
ステップS2203では、末端処理装置201は、図23に後述する圧縮処理を実行する(ステップS2203)。そして、末端処理装置201は、圧縮呼び出し処理を終了する。
In step S2203, the
(圧縮処理手順)
次に、図23を用いて、末端処理装置201が実行する、圧縮処理手順の一例について説明する。圧縮処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Compression procedure)
Next, an example of a compression processing procedure executed by the
図23は、圧縮処理手順の一例を示すフローチャートである。図23において、末端処理装置201は、共起確率リスト1100のうち、送信待ちバッファに蓄積されたメタデータに含まれる固定値フィールドにある符号のペアに対応するハッシュ値のペアごとの共起確率を更新する(ステップS2301)。
FIG. 23 is a flowchart illustrating an example of a compression processing procedure. In FIG. 23, the
次に、末端処理装置201は、固定値フィールドにある符号を基準にして、送信待ちバッファに蓄積されたメタデータをソートする(ステップS2302)。そして、末端処理装置201は、ソートしたメタデータに含まれる固定値フィールドにある符号を並べた符号列に対して整数列圧縮を実施する(ステップS2303)。
Next, the
次に、末端処理装置201は、送信待ちバッファに蓄積されたメタデータのうち、変動値フィールドの数がn以上含まれるメタデータの数がth_vを超えるようになるnを算出する(ステップS2304)。そして、末端処理装置201は、ソートしたメタデータに含まれるn番目までの変動値フィールドのそれぞれの変動値フィールドにある符号を並べた符号列に対して整数列圧縮を実施する(ステップS2305)。
Next, the
次に、末端処理装置201は、ソートしたメタデータに含まれる文字列フィールドにあるデータに対して順序を維持したまま文字列圧縮を実施する(ステップS2306)。そして、末端処理装置201は、圧縮したメタデータを、中央処理装置203に送信する(ステップS2307)。そして、末端処理装置201は、圧縮処理を終了する。
Next, the
(同期呼び出し処理手順)
次に、図24を用いて、末端処理装置201が実行する、同期呼び出し処理手順の一例について説明する。同期呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Synchronous call processing procedure)
Next, an example of a synchronous call processing procedure executed by the
図24は、同期呼び出し処理手順の一例を示すフローチャートである。図24において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2401)。ここで、開始指示を受信していない場合(ステップS2401:No)、末端処理装置201は、ステップS2401の処理に戻る。一方で、開始指示を受信している場合(ステップS2401:Yes)、末端処理装置201は、ステップS2402の処理に移行する。
FIG. 24 is a flowchart illustrating an example of a synchronous call processing procedure. In FIG. 24, the
ステップS2402では、末端処理装置201は、図25に後述する同期処理を実行する(ステップS2402)。そして、末端処理装置201は、同期呼び出し処理を終了する。
In step S2402, the
(同期処理手順)
次に、図25を用いて、末端処理装置201が実行する、同期処理手順の一例について説明する。同期処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Synchronous processing procedure)
Next, an example of a synchronization processing procedure executed by the
図25は、同期処理手順の一例を示すフローチャートである。図25において、末端処理装置201は、バージョン番号をインクリメントし、バージョン番号と対応付けた同期待ち符号リスト1000を、中央処理装置203に送信する(ステップS2501)。
FIG. 25 is a flowchart illustrating an example of the synchronization processing procedure. In FIG. 25, the
次に、末端処理装置201は、中央処理装置203から更新完了応答を受信したか否かを判定する(ステップS2502)。ここで、更新完了応答を受信していない場合(ステップS2502:No)、末端処理装置201は、ステップS2502の処理に戻る。一方で、更新完了応答を受信している場合(ステップS2502:Yes)、末端処理装置201は、ステップS2503の処理に移行する。
Next, the
ステップS2503では、末端処理装置201は、同期待ち符号リスト1000を固定値符号表700および変動値符号表800に反映した後、同期待ち符号リスト1000を初期化する(ステップS2503)。そして、末端処理装置201は、同期処理を終了する。
In step S2503, the
(更新処理手順)
次に、図26を用いて、中央処理装置203が実行する、更新処理手順の一例について説明する。更新処理は、例えば、図13に示したCPU1301と、メモリ1302や記録媒体1305などの記憶領域と、ネットワークI/F1303とによって実現される。
(Update procedure)
Next, an example of an update processing procedure executed by the
図26は、更新処理手順の一例を示すフローチャートである。図26において、中央処理装置203は、バージョン番号と対応付けた同期待ち符号リスト1000を受信する(ステップS2601)。
FIG. 26 is a flowchart illustrating an example of the update processing procedure. In FIG. 26, the
次に、中央処理装置203は、受信したバージョン番号を記録し、送信元の末端処理装置201に対応する固定値符号表700および変動値符号表800に、受信した同期待ち符号リスト1000を反映する(ステップS2602)。そして、中央処理装置203は、更新完了応答を、送信元の末端処理装置201に送信する(ステップS2603)。そして、中央処理装置203は、更新処理を終了する。
Next, the
(第1符号調整呼び出し処理手順)
次に、図27を用いて、末端処理装置201が実行する、第1符号調整呼び出し処理手順の一例について説明する。第1符号調整呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First sign adjustment call processing procedure)
Next, an example of a first code adjustment call processing procedure executed by the
図27は、第1符号調整呼び出し処理手順の一例を示すフローチャートである。図27において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2701)。ここで、開始指示を受信していない場合(ステップS2701:No)、末端処理装置201は、ステップS2701の処理に戻る。一方で、開始指示を受信している場合(ステップS2701:Yes)、末端処理装置201は、ステップS2702の処理に移行する。
FIG. 27 is a flowchart illustrating an example of a first code adjustment calling process procedure. In FIG. 27, the
ステップS2702では、末端処理装置201は、図28に後述する第1符号調整処理を実行する(ステップS2702)。そして、末端処理装置201は、第1符号調整呼び出し処理を終了する。
In step S2702, the
(第1符号調整処理手順)
次に、図28を用いて、末端処理装置201が実行する、第1符号調整処理手順の一例について説明する。第1符号調整処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(First sign adjustment processing procedure)
Next, an example of a first code adjustment processing procedure executed by the
図28は、第1符号調整処理手順の一例を示すフローチャートである。図28において、末端処理装置201は、共起確率リスト1100を参照する。末端処理装置201は、ハッシュ値のペアの共起確率が高いほど、ハッシュ値のペアのそれぞれのハッシュ値に割り当てられる符号の差分が小さくなるように、それぞれのハッシュ値に符号を割り当て直す(ステップS2801)。
FIG. 28 is a flowchart illustrating an example of a first code adjustment processing procedure. In FIG. 28, the
次に、末端処理装置201は、ハッシュ値と、ハッシュ値に割り当て直した符号と、処理種別として追加とを対応付けて、同期待ち符号リスト1000に追加する(ステップS2802)。そして、末端処理装置201は、第1符号調整処理を終了する。
Next, the
(第2符号調整呼び出し処理手順)
次に、図29を用いて、末端処理装置201が実行する、第2符号調整呼び出し処理手順の一例について説明する。第2符号調整呼び出し処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second code adjustment call processing procedure)
Next, an example of a second code adjustment call processing procedure executed by the
図29は、第2符号調整呼び出し処理手順の一例を示すフローチャートである。図29において、末端処理装置201は、デーモンから定期的に発行される開始指示を受信したか否かを判定する(ステップS2901)。ここで、開始指示を受信していない場合(ステップS2901:No)、末端処理装置201は、ステップS2901の処理に戻る。一方で、開始指示を受信している場合(ステップS2901:Yes)、末端処理装置201は、ステップS2902の処理に移行する。
FIG. 29 is a flowchart illustrating an example of the procedure of the second code adjustment calling process. In FIG. 29, the
ステップS2902では、末端処理装置201は、図30に後述する第2符号調整処理を実行する(ステップS2902)。そして、末端処理装置201は、第2符号調整呼び出し処理を終了する。
In step S2902, the
(第2符号調整処理手順)
次に、図30を用いて、末端処理装置201が実行する、第2符号調整処理手順の一例について説明する。第2符号調整処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Second code adjustment processing procedure)
Next, an example of a second code adjustment processing procedure executed by the
図30は、第2符号調整処理手順の一例を示すフローチャートである。図30において、末端処理装置201は、累積差分リスト1200を参照し、変動値符号表800にあるハッシュ値ごとに割り当てられた符号の数により正規化した、変動値符号表800にあるハッシュ値ごとの累積差分の分布を生成する(ステップS3001)。
FIG. 30 is a flowchart illustrating an example of the second code adjustment processing procedure. In FIG. 30, the
次に、末端処理装置201は、分布に基づいて、変動値符号表800において累積差分が一定以下であるハッシュ値に割り当てられた符号を削除する(ステップS3002)。そして、末端処理装置201は、累積差分が一定以下であるハッシュ値と、削除した符号と、処理種別として削除とを対応付けて、同期待ち符号リスト1000に追加する(ステップS3003)。
Next, the
次に、末端処理装置201は、累積差分が一定以下であるハッシュ値に割り当て可能な符号の数を一定数減少させる(ステップS3004)。そして、末端処理装置201は、分布に基づいて、変動値符号表800において累積差分が一定以上であるハッシュ値に割り当て可能な符号の数を増加させる(ステップS3005)。
Next, the
次に、末端処理装置201は、累積差分リスト1200を初期化する(ステップS3006)。そして、末端処理装置201は、第2符号調整処理を終了する。
Next, the
ここで、図19〜図30のそれぞれのフローチャートにおいて、一部ステップの処理の順序が入れ替えられてもよい。また、図19〜図30のそれぞれのフローチャートにおいて、一部ステップの処理が省略されてもよい。 Here, in each of the flowcharts of FIGS. 19 to 30, the order of the processing of some steps may be changed. In each of the flowcharts of FIGS. 19 to 30, the processing of some steps may be omitted.
以上説明したように、情報処理装置100によれば、全符号化対象データが共通して有する第1項目を有するデータを取得することができる。情報処理装置100によれば、第1辞書を参照して、取得したデータに含まれる第1項目の第1項目データに割り当てられる符号と、第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、第1項目データに符号を割り当てることができる。情報処理装置100によれば、第2辞書を参照して、取得したデータに含まれる第2項目の第2項目データに割り当てられる符号と、第1項目データに割り当てた符号との差分が小さくなるように、第2項目データに符号を割り当てることができる。情報処理装置100によれば、割り当て結果に基づいて、取得したデータを圧縮または伸長する第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。
As described above, according to the
これにより、情報処理装置100は、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施する場合に、整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当てることができる。また、情報処理装置100は、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施した場合に、整数列圧縮の効率化が図られるように、第2項目についての項目データに符号を割り当てることができる。そして、情報処理装置100は、第1装置110が第1辞書および第2辞書に基づいてデータを圧縮可能または伸長可能にすることができる。結果として、情報処理装置100は、データを効率よく圧縮可能になり、第1装置110との間の通信量の低減化を図ることができる。
Thereby, when the
情報処理装置100によれば、第1項目を有するデータを取得する都度、第1装置110との間で同期した第1辞書および第2辞書に基づいて、取得したデータに含まれる第1項目の項目データおよび第2項目の項目データを符号に置き換えることができる。情報処理装置100によれば、置換後のデータを蓄積し、蓄積した複数の置換後のデータを纏めて圧縮して第1装置110に送信することができる。これにより、情報処理装置100は、データを効率よく圧縮することができる。
According to the
情報処理装置100によれば、第1装置110との間で同期した第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第1項目の項目データを、当該符号に置き換えることができる。情報処理装置100によれば、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データを、所定符号に置き換えることができる。これにより、情報処理装置100は、第1項目の項目データに割り当てられた符号がなくても、第1項目についての複数の項目データを符号化し、第1項目についての符号列に対して整数列圧縮を実施可能にすることができる。
According to the
情報処理装置100によれば、第1装置110との間で同期した第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号があれば、取得したデータに含まれる第2項目の項目データを、当該符号に置き換えることができる。情報処理装置100によれば、取得したデータに含まれる第2項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第2項目の項目データを、所定符号に置き換えることができる。これにより、情報処理装置100は、第2項目の項目データに割り当てられた符号がなくても、第2項目についての複数の項目データを符号化し、第2項目についての符号列に対して整数列圧縮を実施可能にすることができる。
According to the
情報処理装置100によれば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第1項目の項目データと置き換えられた符号を並べた符号列を圧縮することができる。情報処理装置100によれば、蓄積した複数の置換後のデータのそれぞれの置換後のデータに含まれる第2項目の項目データと置き換えられた符号を並べた符号列を圧縮することができる。これにより、情報処理装置100は、データを効率よく圧縮することができる。
According to the
情報処理装置100によれば、第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率を算出することができる。情報処理装置100によれば、算出した確率が高いほど、2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、それぞれの項目データに符号を割り当てることができる。情報処理装置100によれば、それぞれの項目データに符号を割り当てた結果に基づいて、第1装置110との間で、第1辞書の内容について同期することができる。これにより、情報処理装置100は、さらに整数列圧縮の効率化が図られるように、第1項目についての項目データに符号を割り当て直すことができる。
According to the
情報処理装置100によれば、第1辞書を参照して、取得したデータに含まれる第1項目の項目データに割り当てられた符号がなければ、取得したデータに含まれる第1項目の項目データに符号を割り当てることができる。情報処理装置100によれば、第2辞書を参照して、取得したデータに含まれる第2項目の項目データに割り当てられた符号の数が、取得したデータに含まれる第2項目の項目データに割り当て可能な符号の数未満か否かを判定することができる。情報処理装置100によれば、割り当て可能な符号の数未満であれば、取得したデータに含まれる第2項目の項目データに符号を割り当てることができる。これにより、情報処理装置100は、同じ項目データに割り当てられる符号の数を抑制することができる。
According to the
情報処理装置100によれば、第1項目を有するデータを取得する都度、取得したデータに含まれる第1項目の項目データと置き換えられた符号と、取得したデータに含まれる第2項目の項目データと置き換えられた符号との差分を算出することができる。情報処理装置100によれば、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、いずれかの項目データに割り当て可能な符号の数を増加させることができる。これにより、情報処理装置100は、さらに整数列圧縮の効率化が図られるように、第2項目についての項目データに、新たに符号を割り当て可能にすることができる。
According to the
情報処理装置100によれば、第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、第2辞書から、いずれかの項目データに割り当てられた符号を削除することができる。これにより、情報処理装置100は、利用回数の比較的少ない符号を削除し、利用可能な符号の数を増加させることができる。
According to the
情報処理装置100によれば、第1項目の項目データに符号を割り当てたこと、または、第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積することができる。情報処理装置100によれば、蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。
According to the
情報処理装置100によれば、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。
According to the
情報処理装置100によれば、一定時間のうちで蓄積した割り当て結果に基づいて、第1装置110との間で、第1辞書および第2辞書の内容について同期することができる。これにより、情報処理装置100は、同期にかかる通信量の低減化を図ることができる。
According to the
情報処理装置100によれば、第1項目が、複数の項目を含むようにすることができる。これにより、情報処理装置100は、複数の項目の項目データを纏めて符号化することができる。
According to the
情報処理装置100によれば、取得するデータとして、メタデータを利用することができる。これにより、情報処理装置100は、メタデータの通信に適用することができる。
According to the
情報処理装置100によれば、符号として、整数を利用することができる。これにより、情報処理装置100は、整数列圧縮を実施可能にすることができる。
According to the
なお、本実施の形態で説明した分散処理システムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した分散処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した分散処理プログラムは、インターネット等のネットワークを介して配布してもよい。 The distributed processing system described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The distributed processing program described in the present embodiment is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, the distributed processing program described in the present embodiment may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 Regarding the above-described embodiment, the following supplementary notes are further disclosed.
(付記1)全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。
(Supplementary Note 1) Acquire data having a first item that all encoding target data has in common,
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
An information processing device comprising a control unit.
(付記2)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書および前記第2辞書に基づいて、取得した前記データに含まれる前記第1項目の項目データおよび前記第2項目の項目データを符号に置き換えて、置換後のデータを蓄積し、
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする付記1に記載の情報処理装置。
(Supplementary Note 2) Each time the control unit acquires the data having the first item, the control unit includes the data included in the acquired data based on the first dictionary and the second dictionary synchronized with the first device. The item data of the first item and the item data of the second item are replaced with signs, and the replaced data is stored.
2. The information processing apparatus according to
(付記3)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号があれば、取得した前記データに含まれる前記第1項目の項目データを、当該符号に置き換え、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データを、所定符号に置き換える、ことを特徴とする付記2に記載の情報処理装置。
(Supplementary Note 3) Each time the control unit acquires the data having the first item, the control unit refers to the first dictionary synchronized with the first device and refers to the first dictionary included in the acquired data. If there is a code assigned to the item data of the item, the item data of the first item included in the obtained data is replaced with the code and assigned to the item data of the first item included in the obtained data. 3. The information processing apparatus according to
(付記4)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1装置との間で同期した前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号があれば、取得した前記データに含まれる前記第2項目の項目データを、当該符号に置き換え、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第2項目の項目データを、所定符号に置き換える、ことを特徴とする付記2または3に記載の情報処理装置。
(Supplementary Note 4) Each time the control unit acquires the data having the first item, the control unit refers to the second dictionary synchronized with the first device and refers to the second dictionary included in the acquired data. If there is a code assigned to the item data of the item, the item data of the second item included in the obtained data is replaced with the code and assigned to the item data of the second item included in the obtained data. 4. The information processing apparatus according to
(付記5)前記制御部は、蓄積した複数の前記置換後のデータのそれぞれの前記置換後のデータに含まれる前記第1項目の項目データと置き換えられた符号を並べた符号列を圧縮し、蓄積した複数の前記置換後のデータのそれぞれの前記置換後のデータに含まれる前記第2項目の項目データと置き換えられた符号を並べた符号列を圧縮する、ことを特徴とする付記2〜4のいずれか一つに記載の情報処理装置。
(Supplementary Note 5) The control unit compresses a code string in which codes replaced with the item data of the first item included in the replaced data of each of the accumulated plurality of replaced data are arranged,
(付記6)前記制御部は、前記第1項目についての互いに異なる2つの項目データのうち、一方の項目データを含むデータと、他方の項目データを含むデータとが共に、単位時間あたりに取得される確率が高いほど、前記2つの項目データのそれぞれの項目データに割り当てられる符号の差分が小さくなるように、前記それぞれの項目データに符号を割り当て、
前記それぞれの項目データに符号を割り当てた結果に基づいて、前記第1装置との間で、前記第1辞書の内容について同期する、ことを特徴とする付記2〜5のいずれか一つに記載の情報処理装置。
(Supplementary Note 6) The control unit may be configured such that, of the two different item data of the first item, data including one item data and data including the other item data are both acquired per unit time. Assigning a code to each item data so that the difference between codes assigned to the respective item data of the two item data becomes smaller as the probability of the item data becomes higher.
The content of the first dictionary is synchronized with the first device based on a result of assigning a code to each of the item data, wherein the content of the first dictionary is synchronized. Information processing device.
(付記7)前記制御部は、前記第1項目を有するデータを取得する都度、前記第1辞書を参照して、取得した前記データに含まれる前記第1項目の項目データに割り当てられた符号がなければ、取得した前記データに含まれる前記第1項目の項目データに符号を割り当て、
前記第1項目を有するデータを取得する都度、前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号の数が、取得した前記データに含まれる前記第2項目の項目データに割り当て可能な符号の数未満であれば、取得した前記データに含まれる前記第2項目の項目データに符号を割り当てる、ことを特徴とする付記2〜6のいずれか一つに記載の情報処理装置。
(Supplementary Note 7) Each time the control unit acquires the data having the first item, the control unit refers to the first dictionary and assigns a code assigned to the item data of the first item included in the acquired data. If not, assign a code to the item data of the first item included in the obtained data,
Each time the data having the first item is obtained, the number of codes assigned to the item data of the second item included in the obtained data is included in the obtained data by referring to the second dictionary. Wherein the code is assigned to the item data of the second item included in the acquired data if the number is smaller than the number of codes that can be assigned to the item data of the second item. The information processing device according to any one of the above.
(付記8)前記制御部は、前記第1項目を有するデータを取得する都度、取得した前記データに含まれる第1項目の項目データと置き換えられた符号と、取得した前記データに含まれる前記第2項目の項目データと置き換えられた符号との差分を算出し、
前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、前記いずれかの項目データに割り当て可能な符号の数を増加させる、ことを特徴とする付記7に記載の情報処理装置。
(Supplementary Note 8) Each time the control unit acquires the data having the first item, the control unit may replace the item data of the first item included in the acquired data with the code included in the acquired data. Calculate the difference between the two item data and the replaced code,
If the magnitude of the sum of the differences calculated for any one of the item data of the second items is equal to or greater than a certain value, the number of codes that can be assigned to any of the item data is increased. 8. The information processing device according to 7.
(付記9)前記制御部は、前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定未満であれば、前記第2辞書から、前記いずれかの項目データに割り当てられた符号を削除する、ことを特徴とする付記8に記載の情報処理装置。 (Supplementary Note 9) If the magnitude of the sum of the differences calculated for any of the item data of the second item is less than a certain value, the control unit assigns the item to the item data from the second dictionary. 9. The information processing apparatus according to claim 8, wherein the assigned code is deleted.
(付記10)前記制御部は、前記第1項目の項目データに符号を割り当てたこと、または、前記第2項目の項目データに符号を割り当てたことに応じて、割り当て結果を蓄積し、
蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記7〜9のいずれか一つに記載の情報処理装置。
(Supplementary Note 10) The control unit accumulates an assignment result in accordance with assigning a code to the item data of the first item or assigning a code to the item data of the second item.
The information according to any one of supplementary notes 7 to 9, wherein the contents of the first dictionary and the second dictionary are synchronized with the first device based on the accumulated assignment result. Processing equipment.
(付記11)前記制御部は、一定数以上のデータを取得するまでに蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記10に記載の情報処理装置。 (Supplementary Note 11) The control unit synchronizes the contents of the first dictionary and the second dictionary with the first device based on an allocation result accumulated until a predetermined number or more of data is acquired. An information processing apparatus according to claim 10, wherein:
(付記12)前記制御部は、一定時間のうちで蓄積した割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、ことを特徴とする付記10または11に記載の情報処理装置。 (Supplementary Note 12) The control unit synchronizes the contents of the first dictionary and the second dictionary with the first device based on an allocation result accumulated within a certain period of time. 12. The information processing device according to supplementary note 10 or 11.
(付記13)前記第1項目は、複数の項目を含む、ことを特徴とする付記1〜12のいずれか一つに記載の情報処理装置。
(Supplementary Note 13) The information processing apparatus according to any one of
(付記14)前記データは、メタデータである、ことを特徴とする付記1〜13のいずれか一つに記載の情報処理装置。
(Supplementary note 14) The information processing apparatus according to any one of
(付記15)前記符号は、整数である、ことを特徴とする付記1〜14のいずれか一つに記載の情報処理装置。
(Supplementary note 15) The information processing apparatus according to any one of
(付記16)情報処理装置と、前記情報処理装置と通信可能な第1装置とを含む分散処理システムであって、
前記情報処理装置は、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期し、
前記第1装置は、
前記情報処理装置との間で同期した前記第1辞書および前記第2辞書の内容を記憶する、
ことを特徴とする分散処理システム。
(Supplementary Note 16) A distributed processing system including an information processing device and a first device capable of communicating with the information processing device,
The information processing device,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with the first device based on the assignment result,
The first device comprises:
Storing the contents of the first dictionary and the second dictionary synchronized with the information processing device;
A distributed processing system, characterized in that:
(付記17)コンピュータに、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。
(Appendix 17)
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
A distributed processing program for executing a process.
100 情報処理装置
101,111,1400,1410 記憶部
110 第1装置
120,130,140 データ
121 第1項目データ
122 第2項目データ
131,132,141,142 項目データ
200 分散処理システム
201 末端処理装置
202 IoTデバイス
203 中央処理装置
210 ネットワーク
300,1300 バス
301,1301 CPU
302,1302 メモリ
303,1303 ネットワークI/F
304,1304 記録媒体I/F
305,1305 記録媒体
400,500,1501,1502 メタデータ
600 バージョン情報
700 固定値符号表
800 変動値符号表
900 対応関係テーブル
1000 同期待ち符号リスト
1100 共起確率リスト
1200 累積差分リスト
1401 取得部
1402 割当部
1403 同期部
1404 圧縮部
1405 出力部
1411 更新部
1412 伸長部
1600,1601 ファイル
1602 バイナリデータ
1800 分布
1801,1802 閾値
REFERENCE SIGNS
302, 1302
304, 1304 Recording medium I / F
305, 1305
Claims (8)
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
制御部を有することを特徴とする情報処理装置。 Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
An information processing device comprising a control unit.
蓄積した複数の前記置換後のデータを纏めて圧縮して前記第1装置に送信する、ことを特徴とする請求項1に記載の情報処理装置。 The control unit is configured such that each time the data having the first item is obtained, the first unit included in the obtained data is based on the first dictionary and the second dictionary synchronized with the first device. The item data of the item and the item data of the second item are replaced with signs, and the replaced data is stored.
The information processing apparatus according to claim 1, wherein the stored plurality of replaced data are collectively compressed and transmitted to the first device.
前記それぞれの項目データに符号を割り当てた結果に基づいて、前記第1装置との間で、前記第1辞書の内容について同期する、ことを特徴とする請求項2に記載の情報処理装置。 The control unit has a high probability that both of the data including one item data and the data including the other item data among the two different item data of the first item are obtained per unit time. A code is assigned to each item data so that a difference between codes assigned to each item data of the two item data becomes smaller.
The information processing apparatus according to claim 2, wherein contents of the first dictionary are synchronized with the first apparatus based on a result of assigning a code to each item data.
前記第1項目を有するデータを取得する都度、前記第2辞書を参照して、取得した前記データに含まれる前記第2項目の項目データに割り当てられた符号の数が、取得した前記データに含まれる前記第2項目の項目データに割り当て可能な符号の数未満であれば、取得した前記データに含まれる前記第2項目の項目データに符号を割り当てる、ことを特徴とする請求項2または3に記載の情報処理装置。 The control unit refers to the first dictionary each time the data having the first item is obtained, and obtains the code if the code assigned to the item data of the first item included in the obtained data does not exist. Assigning a code to the item data of the first item included in the data,
Each time the data having the first item is obtained, the number of codes assigned to the item data of the second item included in the obtained data is included in the obtained data by referring to the second dictionary. 4. A code is assigned to the item data of the second item included in the acquired data if the number is smaller than the number of codes that can be assigned to the item data of the second item. An information processing apparatus according to claim 1.
前記第2項目のいずれかの項目データについて算出した差分の合計値の大きさが一定以上であれば、前記いずれかの項目データに割り当て可能な符号の数を増加させる、ことを特徴とする請求項4に記載の情報処理装置。 The control unit is configured such that each time the data having the first item is obtained, a code replaced with the item data of the first item included in the obtained data, and the item of the second item included in the obtained data Calculate the difference between the data and the replaced code,
If the magnitude of the total value of the differences calculated for any one of the item data of the second items is equal to or greater than a certain value, the number of codes that can be assigned to any of the item data is increased. Item 5. The information processing device according to item 4.
前記情報処理装置は、
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、前記第1装置との間で、前記第1辞書および前記第2辞書の内容について同期し、
前記第1装置は、
前記情報処理装置との間で同期した前記第1辞書および前記第2辞書の内容を記憶する、
ことを特徴とする分散処理システム。 A distributed processing system including an information processing device and a first device capable of communicating with the information processing device,
The information processing device,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with the first device based on the assignment result,
The first device comprises:
Storing the contents of the first dictionary and the second dictionary synchronized with the information processing device;
A distributed processing system, characterized in that:
全符号化対象データが共通して有する第1項目を有するデータを取得し、
前記第1項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第1辞書を参照して、取得した前記データに含まれる前記第1項目の第1項目データに割り当てられる符号と、前記第1項目の他の項目データに割り当てられた符号との差分が小さくなるように、前記第1項目データに、前記第1項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
前記第1項目とは異なる第2項目の項目データと、当該項目データに割り当てられた符号とを対応付けて表す第2辞書を参照して、取得した前記データに含まれる前記第2項目の第2項目データに割り当てられる符号と、前記第1項目データに割り当てた符号との差分が小さくなるように、前記第2項目データに、前記第2項目の他の項目データに割り当てられた符号と重複しない符号を割り当て、
割り当て結果に基づいて、取得した前記データを圧縮または伸長する第1装置との間で、前記第1辞書および前記第2辞書の内容について同期する、
処理を実行させることを特徴とする分散処理プログラム。 On the computer,
Acquiring data having a first item that all the encoding target data has in common;
The first item data of the first item included in the obtained data is assigned with reference to a first dictionary that associates the item data of the first item with the code assigned to the item data. The first item data does not overlap with the code assigned to the other item data of the first item so that the difference between the code and the code assigned to the other item data of the first item is small. Assign a sign,
With reference to a second dictionary that associates item data of a second item different from the first item with a code assigned to the item data, a second item of the second item included in the acquired data is referred to. The second item data overlaps with the code assigned to the other item data of the second item so that the difference between the code assigned to the two item data and the code assigned to the first item data becomes small. Not assign sign
Synchronizing the contents of the first dictionary and the second dictionary with a first device that compresses or decompresses the acquired data based on the assignment result.
A distributed processing program for executing a process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018142937A JP7047651B2 (en) | 2018-07-30 | 2018-07-30 | Information processing equipment, distributed processing systems, and distributed processing programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018142937A JP7047651B2 (en) | 2018-07-30 | 2018-07-30 | Information processing equipment, distributed processing systems, and distributed processing programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020021177A true JP2020021177A (en) | 2020-02-06 |
JP7047651B2 JP7047651B2 (en) | 2022-04-05 |
Family
ID=69588511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018142937A Active JP7047651B2 (en) | 2018-07-30 | 2018-07-30 | Information processing equipment, distributed processing systems, and distributed processing programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7047651B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001282600A (en) * | 2000-03-30 | 2001-10-12 | Nec Corp | Information management system |
JP2009237934A (en) * | 2008-03-27 | 2009-10-15 | Nec Corp | File converting device, and file converting method and program |
US20110222596A1 (en) * | 2010-03-15 | 2011-09-15 | Zhigang Huang | Compression dictionary synchronization method and device |
JP2011530234A (en) * | 2008-07-31 | 2011-12-15 | マイクロソフト コーポレーション | Efficient column-based data encoding for large-scale data storage |
WO2015186205A1 (en) * | 2014-06-04 | 2015-12-10 | 株式会社日立製作所 | Medical care data search system |
WO2018021094A1 (en) * | 2016-07-25 | 2018-02-01 | 株式会社高速屋 | Data compression coding method, decoding method, device therefor, and program therefor |
-
2018
- 2018-07-30 JP JP2018142937A patent/JP7047651B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001282600A (en) * | 2000-03-30 | 2001-10-12 | Nec Corp | Information management system |
JP2009237934A (en) * | 2008-03-27 | 2009-10-15 | Nec Corp | File converting device, and file converting method and program |
JP2011530234A (en) * | 2008-07-31 | 2011-12-15 | マイクロソフト コーポレーション | Efficient column-based data encoding for large-scale data storage |
US20110222596A1 (en) * | 2010-03-15 | 2011-09-15 | Zhigang Huang | Compression dictionary synchronization method and device |
WO2015186205A1 (en) * | 2014-06-04 | 2015-12-10 | 株式会社日立製作所 | Medical care data search system |
WO2018021094A1 (en) * | 2016-07-25 | 2018-02-01 | 株式会社高速屋 | Data compression coding method, decoding method, device therefor, and program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP7047651B2 (en) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1684464B (en) | Method and system for updating object between local device and remote device | |
CN105190573B (en) | The reduction redundancy of storing data | |
JP4961126B2 (en) | An efficient algorithm for finding candidate objects for remote differential compression | |
US8799291B2 (en) | Forensic index method and apparatus by distributed processing | |
AU2012282870B2 (en) | Managing storage of data for range-based searching | |
AU2009246432B2 (en) | Managing storage of individually accessible data units | |
CN102576321B (en) | Performance storage system in fast photographic system for capacity optimizing memory system performance improvement | |
US20160006456A1 (en) | Compression device, compression method, dictionary generation device, dictionary generation method, decompression device, decompression method, information processing system, and recording medium | |
US8189912B2 (en) | Efficient histogram storage | |
JP6527462B2 (en) | Compression device, compression method, recording medium and decompression device | |
US9600578B1 (en) | Inverted index and inverted list process for storing and retrieving information | |
JP6467937B2 (en) | Document processing program, information processing apparatus, and document processing method | |
CN112559462A (en) | Data compression method and device, computer equipment and storage medium | |
WO2016194401A1 (en) | Computer, database processing method, and integrated circuit | |
KR101842420B1 (en) | Information processing apparatus, and data management method | |
JP7047651B2 (en) | Information processing equipment, distributed processing systems, and distributed processing programs | |
JP6931442B2 (en) | Coding program, index generator, search program, coding device, index generator, search device, coding method, index generation method and search method | |
Dong et al. | Record-aware compression for big textual data analysis acceleration | |
KR102195239B1 (en) | Method for data compression transmission considering bandwidth in hadoop cluster, recording medium and device for performing the method | |
CN113641769A (en) | Data processing method and device | |
WO2017027226A1 (en) | On the fly statistical delta differencing engine | |
CN116069788B (en) | Data processing method, database system, computer device, and storage medium | |
JP6512294B2 (en) | Compression program, compression method and compression apparatus | |
US20240168929A1 (en) | Optimizing storage of data in row-oriented data storages | |
US10367523B2 (en) | Data processing method and data processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210408 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7047651 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |