JP6260359B2 - データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 - Google Patents
データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 Download PDFInfo
- Publication number
- JP6260359B2 JP6260359B2 JP2014045042A JP2014045042A JP6260359B2 JP 6260359 B2 JP6260359 B2 JP 6260359B2 JP 2014045042 A JP2014045042 A JP 2014045042A JP 2014045042 A JP2014045042 A JP 2014045042A JP 6260359 B2 JP6260359 B2 JP 6260359B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- binary data
- file
- record
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
マップ−リデュース型の分散処理システムにおいては、分散処理システム上のデータをデータブロックと呼ばれる単位に分割し、これらのデータブロックに対してマップ処理及びリデュース処理を順次適用する。
Hadoop(登録商標)は大規模データを効率的に分散処理・管理するためのOSS(Open Source Software)のフレームワークであり、主に分析処理で活用されている。このHadoopを基幹系のバッチ処理に適用することにより、データを複数のマシンに分散して処理させ、処理時間が課題となっている大規模バッチ処理の高速化が実現できる。
Hadoopでは、ファイルを一定のサイズのブロックに分割し、そのブロック毎にマップタスクで処理を行う。
このため、64MBでファイル分割が行なわれた後、データの区切り位置を調整する必要がある。Hadoopのデフォルトでは、データの区切りとして改行コードを用い、この改行コードの位置を区切りとして処理することで、データの泣き別れを防いでいる。この区切りの調整処理はカスタマイズ可能であり、例えば任意の文字を区切りとするような、カスタマイズが可能になっている。
NetCOBOLの可変長レコード順ファイルは、この図16に示すように、データの前後に4バイトのレコード長情報を有する可変長レコードを複数連続することにより構成されている。データは利用者が設定する任意のバイナリ値である。また、データの前後に配置されるレコード長には同一の値が格納される。
図17はNetCOBOLの可変長レコード順ファイルのレコードイメージを示す図である。
この図17に示す例においては、1つの可変長レコード毎に改行して見やすくしているが、実際は複数の可変長レコードが連続している。
この図18に示す例においては、ファイルを64MBのブロックサイズ単位で分割する場合に、データ長が105バイトのデータが、その途中で分断されてしまうことを示す。
そこで、NetCOBOLでは、レコードの位置を正しく求めてデータ区切り位置を調整するために、ブロックサイズによる分断位置から次の可変長レコードの先頭位置までの距離(バイト長)を保持する情報ファイルを予め作成し、この情報ファイルを区切りの調整処理で参照する手法が用いられる。
情報ファイルは、入力ファイルである可変長レコード順ファイルを読み込んでレコード長を加算し、ブロックサイズで分断される位置から次のレコード先頭位置までの情報を保持する。
図19に示す例においては、情報ファイルにおいて、例えばファイルを先頭から64MBの位置で分割する場合に、その分断位置から次の可変長レコード(データ長が20バイト)の先頭までのデータ長が55バイトであることを示す。なお、情報サイズ作成時には、ブロックサイズもパラメータで指定する必要がある。
1つの側面では、本発明は、分割処理を高速化できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
により処理する分割処理方法であって、前記複数の処理部のそれぞれに、前記バイナリデータの一部である部分バイナリデータをそれぞれ割り当て、前記複数の処理部はそれぞれ、割り当てられた部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成
する所定のデータの特性に基づき検出するとともに、検出したデータ区切り位置を示す情
報を記憶手段に登録し、前記複数の処理部はそれぞれ、他の処理部により前記記憶手段に
登録されたデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出
したデータ区切り位置が正当であるかを判定し、前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する。
本分散処理システム1は、複数(図1に示す例では4つ)のサーバ(計算ノード,ノード)10−1〜10−4をそなえ、これらの複数のサーバ10−1〜10−4で分散して処理を行なう。本分散処理システム1は、例えばHadoop(登録商標)を用いて分散処理を実現するマップ−リデュースシステムである。Hadoopはデータ(ファイル)を複数のマシンに分散して処理させるオープンソースのプラットフォームであり、公知の技術であるので、その詳細な説明は省略する。
サーバ10−1〜10−4は、それぞれサーバ機能をそなえたコンピュータ(情報処理装置,処理部)である。各サーバ10−1〜10−4は、同様の構成を備える。以下、サーバを示す符号としては、複数のサーバのうち1つを特定する必要があるときには符号10−1〜10−4を用いるが、任意のサーバを指すときには符号10を用いる。
マスタノードMNは、本分散処理システム1における処理を管理する装置であり、複数のスレーブノードSNにタスクをそれぞれ割り当てる。スレーブノードSNは、マスタノードMNから割り当てられたマップタスク(Mapタスク;以下、単にタスクという)を実行する。タスクを分散して割り当てられた複数のスレーブノードSNが、それぞれ割り当てられたタスクを並行して実行することによりジョブの処理時間を短縮する。
また、本実施形態においては、各スレーブノードSNが、それぞれマップタスクを実行するものとする。
メモリ202はROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶装置である。メモリ202のROMには、分散処理制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ202上のソフトウェアプログラムは、CPU201に適宜読み込まれて実行される。また、このメモリ202のRAMには、後述するノード間共有情報15が格納される。
表示装置205は、例えば、液晶ディスプレイやCRT(Cathode Ray Tube)ディスプレイであり、種々の情報を表示する。
記憶装置208は種々のデータやプログラムを格納する記憶装置であって、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)である。又、記憶装置208は、例えば、複数のHDDを組み合わせて、冗長化された1つのストレージとして管理するRAID(Redundant Arrays of Inexpensive Disks)装置であってもよい。
マスタノードMNにおいて、CPU201は、図1に示す、ユーザアプリケーション機能部11,ファイル管理部12,ジョブトラッカ14及びタスクトラッカ13として機能する。
ユーザアプリケーション機能部11は、ユーザからのジョブ依頼を受け付け、マップリデュースジョブ(Map-Reduceジョブ;以下、単にジョブという)を生成し、ジョブトラッカ14にジョブを投入(ジョブ登録)する。
ジョブトラッカ14は、ユーザアプリケーション機能部11によって行なわれたジョブ登録に基づいて、クラスタ中の利用可能なタスクトラッカ13にタスクを割り当てる、割り当て制御部としての機能を備える。
なお、これらのユーザアプリケーション機能部11,ジョブトラッカ14及びタスクトラッカ13としての機能は既知の種々の手法で実現することができ、その詳細な説明は省略する。
ファイル管理部12は、処理対象のファイルを複数のサーバ10の記憶装置208に分散して格納させる。以下、サーバ10の記憶装置208にデータを格納することを、単にサーバ10にデータを格納すると表現する。図1に示す例においては、サーバ10−1にファイル1が、サーバ10−2にファイル4が、サーバ10−3にファイル2,5が、サーバ10−4にファイル3が、それぞれ格納されている。
分割処理部20は、割り当てられた分割ファイルが可変長レコードの途中で分断されている場合、すなわち、分割ファイルの先頭や終端の区切り位置が可変長レコードの途中に位置する場合には、その区切り位置をずらす。これにより、分割ファイル中に含まれる全ての可変長レコードが、それぞれ2つのレコード長とデータ(レコードデータ)とを含むようにする。つまり、分割ファイル中の可変長レコードが連続する2つの分割ファイルに分かれて格納される(いわゆる泣き別れ状態)となることがないように、区切り位置を調整する。
ファイル読込部21は、メモリ202の図示しないバッファ領域に、ユーザアプリケーション機能部11によって指定されたファイルのデータを格納する。また、ファイル読込部21は、ファイルのデータをバッファ領域に読み込むに際して、バッファ領域の初期化も行なう。
ノード間共有情報15は、サーバ10(ノード)間で共有される情報であって、各サーバ10が、自らに割り当てられた分割ファイル(タスク)について区切り位置の調整後の先頭位置と終端位置とをそれぞれ記録する。
この図3に示す例においては、ノード間共有情報15は、タスク番号に対して開始位置及び終端位置を関連付けて構成されている。
タスク番号は、サーバ10に割り当てられるタスクを特定する識別情報であり、タスクとは分割ファイルを示す。図3に示す例においてはタスク番号として1〜3の整数が用いられている。ただし、タスク番号は整数に限定されるものではなく、任意の文字列等を用いてもよく、種々変形して実施することができる。なお、以下、タスク番号のことをタスクIDという場合がある。
このように、ノード間共有情報15を格納するメモリ202は、検出した区切り位置を示す情報(確定レコード先頭位置,確定レコード終端位置)を記憶する記憶手段として機能する。また、このノード間共有情報15に開始位置(確定レコード先頭位置)や終端位置(確定レコード終端位置)を記憶するファイル先頭記録部22やファイル終端記録部24は、検出した区切り位置を示す情報をメモリ202に登録する登録部として機能する。
ただし、ノード間共有情報15の格納場所はマスタノードMNに限定されるものではなく、種々変形して実施することができる。例えば、いずれかのスレーブノードSNにノード間共有情報15を格納してもよく、又、図示しない他の情報処理装置がノード間共有情報15を格納してもよい。また、各サーバ10が、それぞれノード間共有情報15を備え、サーバ間通信を行なうことで各サーバ10が有するノード間共有情報15を同期させてもよい。
ファイル終端記録部24は、特定部23が特定した分割ファイルの終端位置(確定レコード終端位置)を示す情報を、ノード間共有情報15に終端位置として記録する。
特定部23は、可変長レコードのヘッダに含まれるデータ長情報に基づき、当該可変長レコードと、後続する可変長レコードとの境界位置を特定する。すなわち、特定部23は、可変長レコードのヘッダに含まれるデータ長情報に基づき、当該可変長レコードの位置を特定する。つまり、特定部23は、可変長レコードにおいては、データの前後に当該データのデータ長を示すレコード長情報が配置されているというデータ構造上の特性に基づき、可変長レコードの位置を特定する。
特定部23は、例えば、以下の(A1)〜(A6)の処理を行なうことで、分割ファイルの区切り位置を特定する。
(A1)特定部23は、分割ファイルが格納されたバッファ領域の先頭から4バイトを読み出す。処理対象のファイル中における、この読み出した4バイトのデータ位置を仮先頭位置とする。
具体的には、特定部23は、先ず、取得した4バイトの値(X)を符号なし整数値として、0<X<32768 の範囲内かどうか確認する。ここで、Xの上限値として32767と比較するのは、COBOLのレコード長の最大値が32767だからである。
すなわち、バッファ領域において、走査方向に、このレコード長分進んだ位置から4バイトのデータを読み出し、先に取得した4バイトの値と同一であるか否かを確認する。
(A5)ファイル先頭記録部22は、通知された確定レコード先頭位置を、当該分割ファイルに相当するタスク番号に関連づけてノード間共有情報15に記録する。
また、正しいレコードの開始位置が判明したものとしてレコードの読み込み処理を行なう。すなわち、分割ファイルを構成する各可変長レコードのデータを、先頭から順次読み出す。この際、各可変長レコードについて、ヘッダに含まれるレコード長とデータのレコード長との整合性を確認しながら読み込みを行なう。
(A6)解析対象の分割ファイルの終端位置まで到達したら、特定部23は、その終端位置を示す情報を確定レコード終端位置としてファイル終端記録部24に通知する。
従って、特定部23は、処理対象の分割ファイル(部分バイナリデータ)のデータ区切り位置を、バイナリデータを構成する可変長レコードの構造上の特性に基づき検出する検出部として機能する。
整合性判定部25は、特定部23によって特定された分割ファイルの位置と、他のマップタスクにおいて特定された分割ファイルの位置とを比較することにより、特定した分割ファイルの区切り位置の整合性を判定する。
具体的には、整合性判定部25は、特定部23によって特定された確定レコード先頭位置を、処理対象のファイルにおいて、当該分割ファイルよりも前側(先行して)に隣接する他の分割ファイルを処理するマップタスクについてノード間共有情報15に記録されている分割ファイルの終端位置(確認レコード終端位置)と比較する。この比較の結果、先行する分割ファイルの確認レコード終端位置が、当該マップタスクにおいて特定される確定レコード先頭位置と連続している場合に、整合性判定部25は整合性があると判断する。
整合性判定部25により整合性があると判定されると、分割処理部(確定部)20は、確定レコード先頭位置と確定レコード終端位置とを分割ファイルのデータ区切り位置として確定する。すなわち、分割ファイルのデータ範囲は、確定レコード先頭位置が先頭であり、且つ、確定レコード終端位置が終端となるよう修正される。
このようにファイル管理部12(分割処理部20)によりデータの区切り位置が修正された分割ファイルは、タスクトラッカ13に受け渡され、処理される。
上述の如く構成された実施形態の一例としての分散処理システム1における分割ファイルの区切り位置の調整方法を、図5に示すフローチャート(ステップB1〜B12)に従って説明する。
このステップB1における、ファイル読込部21によるファイルの読み込み処理を、図6に示すフローチャート(ステップB101〜B102)に従って説明する。
次に、図5のステップB2において、ファイル先頭記録部22が、ファイルの先頭位置を示す情報をノード間共有情報15に記録する。
先ず、ステップB201において、ファイル先頭記録部22は、処理中のタスク(分割ファイル)を特定するタスクIDを取得する。このタスクIDは、例えば、ユーザアプリケーション機能部11から取得してもよく、又、ファイル管理部12等が任意に設定してもよい。
次に、図5のステップB3において、ファイル読込部21は、処理対象の分割ファイルにおける終端位置であるか否かを確認する。すなわち、バッファ領域に展開された処理対象の分割ファイルにおいて、処理中(走査中)位置を示すポインタが分割ファイルの終端に到達しているか否かを確認する。
ステップB5において、取得した4バイトの値(X)を符号なし整数値として、0<X<32768 の範囲内かどうか確認する。
ステップB7において、ステップB4で取得した4バイトの値と、ステップB6でレコード長だけ進んだバッファ位置から取得した、後側レコード長情報と仮定される4バイトの値とが同一であるか否かを確認する。
このステップB10における、整合性判定部25及びファイル終端記録部24による処理を、図8に示すフローチャート(ステップB111〜B116)に従って説明する。
ステップB112において、整合性判定部25はノード間共有情報15にアクセスして、ステップB113において、ファイル終端記録部24が、ノード間共有情報15にタスクID及び確定レコード終端位置を記録する。
取得した一つ前の分割ファイルについての確定レコード終端位置の値に1を加算した値と、当該処理対象ファイルについて特定部23が特定した確定レコード先頭位置とが一致した場合には(ステップB116のYesルート参照)、整合性があると判断して処理を終了する。
なお、整合性の判断結果(整合性ありもしくは整合性なし)は、その旨を示す情報(例えばフラグ)をメモリ202等の所定の記憶領域に記録することが望ましい。
その後、図5におけるステップB11において、特定部23は、整合性判定部25による判定結果を参照して、整合性があると判断された場合には(ステップB11のYesルート参照)、処理を終了する。
次に、上述の如く構成された実施形態の一例としての分散処理システム1における解析対象ファイルの分割処理を、図9〜図12を用いて例示する。図9は解析対象ファイルFを例示する図である。解析対象ファイルFは、NetCOBOLの可変長レコード順ファイルであり、以下においては、この図9に示すように、ファイル管理部12が、この解析対象ファイル(ファイル)Fを、3つの分割ファイルDF1〜DF3に分割する例を示す。各分割ファイルDF1〜DF3はそれぞれ64MBのデータサイズを有する。
分割ファイルDF1はマップタスク1に(図10参照)、分割ファイルDF2はマップタスク2に(図11参照)、また、分割ファイルDF3はマップタスク3に(図12参照)、それぞれ割り当てられ、各マップタスク1〜3によりそれぞれ処理される。
また、その際、各マップタスクにおいては、ファイル先頭記録部22が、区切り位置の調整後の分割ファイルの確定レコード先頭位置をノード間共有情報15の開始位置に格納し、又、確定レコード終端位置を、ノード間共有情報15の終端位置に格納する。
また、区切り位置の調整後の分割ファイルDF1の終端位置が64MB+904B(バイト)であり、ノード間共有情報15のタスク番号1の終端位置には64MB+904Bが登録される。
また、区切り位置の調整後の分割ファイルDF2の終端位置は128MB+381Bであり、ノード間共有情報15のタスク番号2の終端位置には128MB+381Bが登録される。
また、区切り位置の調整後の分割ファイルDF3の終端位置は128MB+2079Bであり、ノード間共有情報15のタスク番号3の終端位置には128MB+2079Bが登録される。
例えば、分割ファイルを構成する可変長レコードが、データの前後にデータ長を示す情報を有している場合に、バッファ領域に格納された分割ファイルの先頭から走査して、レコード長を示すデータ(前側データ長情報)と想定される部分を検出する。そして、このレコード長と想定されるデータが示す値(データ長)だけ進んだバッファ位置にも、同一のレコード長と想定されるデータ(後側データ長情報)が検出された場合に、可変長レコードのレコード位置が検出できたとみなす。
本分散処理システム1によれば、処理対象ファイル全体をその先頭から可変長レコードのレコード長を順次取り出して加算することなく、分割ファイルの区切り位置(分断位置)を容易に特定することができる。従って、マップタスク処理に要する時間を短縮することができ、処理を高速化することができる。
このように、処理対象のデータがバイナリデータであっても、データの規則性を利用し、且つ、規則性によるデータ区切りを検証することで、ブロック分割による泣き別れを防止することができる。
分割ファイルがバイナリデータであるので、可変長レコードのデータ部分に、レコード長データに似たデータが存在するおそれがある。特定部23による区切り位置の検証時に、データ中のレコード長に似た値をレコード長と誤認し、更に、そのレコード長に似た値が示すデータ長だけ進んだ位置に、そのレコード長に似た値と同じ値が存在する場合に、区切り位置が誤検知されるおそれがある。
分割ファイルが格納されたバッファ領域から読み出した4バイトの値が32768未満の整数値であると、特定部23は、この値をレコード長と誤検知することになる。なお、図13中においては、便宜上、マップタスク2についてのみ示し、他のマップタスク1,3について図示を省略する。
特定部23は、取得した4バイトの値(“100”)がレコード長であると仮定して、バッファ領域において、このレコード長分進んだ位置(バッファ位置)に、同一のレコード長データが存在するか確認する。
このような場合に、特定部23が確定レコード先頭位置及び確定レコード終端位置をノード間共有情報15に記録し、整合性判定部25が、他のノードによってノード間共有情報15に記録された、当該分割ファイルと連続する他の分割ファイルの確定レコード先頭位置や確定レコード終端位置との連続性を調査することで、特定部23による誤検知を検知することができるのである(符号C5参照)。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
すなわち、整合性判定部25は、特定部23によって特定された分割ファイルの終端位置が正しいものであるか否かを検証してもよい。
具体的には、整合性判定部25は、特定部23が特定した終端位置を、処理対象の分割ファイルに後続する他の分割ファイルを処理するマップタスクについてノード間共有情報15に記録されている分割ファイルの先頭位置(確認レコード先頭位置)と比較する。この比較の結果、後続する分割ファイルの確認レコード先頭位置が、当該マップタスクにおいて到達した終端位置と連続している場合に、整合性判定部25は整合性があると判断してもよい。
図14はMicroFocusのレコード順ファイルの構成を例示する図である。
この図14に例示するレコード順ファイルは、可変長レコードで構成され、各可変長レコードが、書き込まれたデータ(レコード)の前に、レコード長を含むレコードヘッダーを備えるとともに、データの後に最大3文字の埋め込み文字を備える。埋め込み文字は、次のレコードが4バイトの境界で開始されるようにするためのものである。
本分散処理システム1においては、処理対象ファイルがこの図14に例示するようなレコード順ファイルであってもよい。すなわち、特定部23は、そのデータ構造の規則性に基づいて、分割ファイルに含まれる可変長レコードの位置(データ区切り位置)を特定する。
このように、処理対象のデータ構造に応じて、特定部23が、可変長レコードからのデータ読出位置や比較対象を適宜変更して実施することで、種々の処理対象データに適用することができる。
(付記1)
コンピュータに、
処理対象である、バイナリデータが複数に分割された部分バイナリデータのデータ区切
り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出し、
検出したデータ区切り位置を示す情報を記憶手段に登録し、
前記記憶手段に登録された他の部分バイナリデータに関するデータ区切り位置を示す情
報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるか
を判定する
処理を実行させることを特徴とする、データ分割処理プログラム。
前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する
処理を前記コンピュータに実行させることを特徴とする、付記1記載のデータ分割処理プログラム。
前記部分バイナリデータを構成する個々の単位レコードに含まれるデータ長情報に基づき、当該部分バイナリデータの位置を特定する
処理を前記コンピュータに実行させることを特徴とする、付記1又は2記載のデータ分割処理プログラム。
正当であると判断された前記データ区切り位置に基づき、前記バイナリデータのデータ区切り位置を確定する
処理を前記コンピュータに実行させることを特徴とする、付記1〜3のいずれか1項に記載のデータ分割処理プログラム。
バイナリデータを複数に分割した部分バイナリデータを処理するデータ分割処理装置であって、
処理対象の部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出する検出部と、
検出したデータ区切り位置を示す情報を記憶手段に登録する登録部と、
前記記憶手段に登録された他の部分バイナリデータに関するデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるかを判定する判定部と、
を備えることを特徴とする、データ分割処理装置。
前記判定部が、
前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する
ことを特徴とする、付記5記載のデータ分割処理装置。
前記検出部が、前記部分バイナリデータを構成する個々の単位レコードに含まれるデータ長情報に基づき、当該部分バイナリデータの位置を特定する
ことを特徴とする、付記5又は6記載のデータ分割処理装置。
(付記8)
正当であると判断された前記データ区切り位置に基づき、前記バイナリデータのデータ区切り位置を確定する確定部
を備えることを特徴とする、付記5〜7のいずれか1項に記載のデータ分割処理装置。
バイナリデータを複数に分割して複数の処理部により処理する分割処理方法であって、
前記複数の処理部のそれぞれに、前記バイナリデータの一部である部分バイナリデータをそれぞれ割り当て、
前記複数の処理部はそれぞれ、割り当てられた部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出するとともに、検出したデータ区切り位置を示す情報を記憶手段に登録し、
前記複数の処理部はそれぞれ、他の処理部により前記記憶手段に登録されたデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるかを判定する
ことを特徴とする、データ分割処理方法。
前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する
ことを特徴とする、付記9記載のデータ分割処理方法。
前記部分バイナリデータを構成する個々の単位レコードに含まれるデータ長情報に基づき、当該部分バイナリデータの位置を特定する
ことを特徴とする、付記9又は10記載のデータ分割処理方法。
(付記12)
正当であると判断された前記データ区切り位置に基づき、前記バイナリデータのデータ区切り位置を確定する
ことを特徴とする、付記9〜11のいずれか1項に記載のデータ分割処理方法。
10,10−1〜10−4 サーバ(処理部,データ分割処理装置)
11 ユーザアプリケーション機能部
12 ファイル管理部
13 タスクトラッカ
14 ジョブトラッカ
15 ノード間共有情報
20 分散処理部
21 ファイル読込部
22 ファイル先頭記録部(登録部)
23 特定部(検出部,確定部)
24 ファイル終端記録部(登録部)
25 整合性判定部(判定部)
201 CPU
202 メモリ(記憶手段)
205 表示装置
206 キーボード
207 マウス
208 記憶装置
50 ネットワーク
Claims (5)
- コンピュータに、
処理対象である、バイナリデータが複数に分割された部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出し、
検出したデータ区切り位置を示す情報を記憶手段に登録し、
前記記憶手段に登録された他の部分バイナリデータに関するデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるかを判定し、
前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する
処理を実行させることを特徴とする、データ分割処理プログラム。 - 前記部分バイナリデータを構成する個々の単位レコードに含まれるデータ長情報に基づき、当該部分バイナリデータの位置を特定する
処理を前記コンピュータに実行させることを特徴とする、請求項1記載のデータ分割処理プログラム。 - 正当であると判断された前記データ区切り位置に基づき、前記バイナリデータのデータ区切り位置を確定する
処理を前記コンピュータに実行させることを特徴とする、請求項1又は2記載のデータ分割処理プログラム。 - バイナリデータを複数に分割した部分バイナリデータを処理するデータ分割処理装置であって、
処理対象の部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出する検出部と、
検出したデータ区切り位置を示す情報を記憶手段に登録する登録部と、
前記記憶手段に登録された他の部分バイナリデータに関するデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるかを判定する判定部と、
を備え、
前記判定部は、前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断することを特徴とする、データ分割処理装置。 - バイナリデータを複数に分割して複数の処理部により処理する分割処理方法であって、
前記複数の処理部のそれぞれに、前記バイナリデータの一部である部分バイナリデータをそれぞれ割り当て、
前記複数の処理部はそれぞれ、割り当てられた部分バイナリデータのデータ区切り位置を、前記バイナリデータを構成する所定のデータの特性に基づき検出するとともに、検出したデータ区切り位置を示す情報を記憶手段に登録し、
前記複数の処理部はそれぞれ、他の処理部により前記記憶手段に登録されたデータ区切り位置を示す情報に基づき、前記部分バイナリデータにおいて検出したデータ区切り位置が正当であるかを判定し、
前記処理対象の部分バイナリデータについて検出したデータ区切り位置と、前記記憶手段に登録された、前記バイナリデータにおいて前記処理対象の部分バイナリデータと隣接する部分バイナリデータについてのデータ区切り位置とが連続する場合に、検出したデータ区切り位置が正当であると判断する
ことを特徴とする、データ分割処理方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014045042A JP6260359B2 (ja) | 2014-03-07 | 2014-03-07 | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 |
| US14/613,442 US10102217B2 (en) | 2014-03-07 | 2015-02-04 | Non-transitory computer-readable recording medium having stored therein data dividing program, data dividing apparatus, and data dividing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014045042A JP6260359B2 (ja) | 2014-03-07 | 2014-03-07 | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015170170A JP2015170170A (ja) | 2015-09-28 |
| JP6260359B2 true JP6260359B2 (ja) | 2018-01-17 |
Family
ID=54017548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014045042A Expired - Fee Related JP6260359B2 (ja) | 2014-03-07 | 2014-03-07 | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10102217B2 (ja) |
| JP (1) | JP6260359B2 (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105205174B (zh) * | 2015-10-14 | 2019-10-11 | 北京百度网讯科技有限公司 | 用于分布式系统的文件处理方法和装置 |
| WO2017158802A1 (ja) * | 2016-03-17 | 2017-09-21 | 株式会社日立製作所 | データ変換システム及びデータ変換方法 |
| US11146613B2 (en) * | 2016-07-29 | 2021-10-12 | International Business Machines Corporation | Distributed computing on document formats |
| JP6772883B2 (ja) | 2017-02-15 | 2020-10-21 | 富士通株式会社 | 読込プログラム、読込方法および情報処理装置 |
| US11314593B2 (en) | 2019-06-25 | 2022-04-26 | Western Digital Technologies, Inc. | Storage node processing of data functions using overlapping symbols |
| US11055018B2 (en) * | 2019-06-25 | 2021-07-06 | Western Digital Technologies, Inc. | Parallel storage node processing of data functions |
| US11281531B2 (en) * | 2019-06-25 | 2022-03-22 | Western Digital Technologies, Inc. | Serial storage node processing of data functions |
| US10990324B2 (en) | 2019-06-25 | 2021-04-27 | Western Digital Technologies, Inc. | Storage node processing of predefined data functions |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0362137A (ja) | 1989-07-28 | 1991-03-18 | Nec Corp | 可変長ブロック群による長大データの格納方法 |
| JP2975650B2 (ja) * | 1989-11-01 | 1999-11-10 | 富士通株式会社 | 手続管理装置 |
| WO1992001991A1 (fr) | 1990-07-23 | 1992-02-06 | Fujitsu Limited | Terminal |
| US5592342A (en) | 1994-05-23 | 1997-01-07 | Quantum Corporation | Method for packing variable size user data records into fixed size blocks on a storage medium |
| JP2004287525A (ja) * | 2003-03-19 | 2004-10-14 | Ricoh Co Ltd | 情報提供装置、情報提供方法、および情報提供プログラム |
| US8214517B2 (en) * | 2006-12-01 | 2012-07-03 | Nec Laboratories America, Inc. | Methods and systems for quick and efficient data management and/or processing |
| US8694703B2 (en) * | 2010-06-09 | 2014-04-08 | Brocade Communications Systems, Inc. | Hardware-accelerated lossless data compression |
| JP2012118669A (ja) | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
| JP5735654B2 (ja) * | 2011-10-06 | 2015-06-17 | 株式会社日立製作所 | 格納データの重複排除方法、格納データの重複排除装置、及び重複排除プログラム |
| US9164688B2 (en) * | 2012-07-03 | 2015-10-20 | International Business Machines Corporation | Sub-block partitioning for hash-based deduplication |
| US9626373B2 (en) * | 2012-10-01 | 2017-04-18 | Western Digital Technologies, Inc. | Optimizing data block size for deduplication |
| WO2014184857A1 (ja) * | 2013-05-13 | 2014-11-20 | 株式会社日立製作所 | 重複排除システム及びその方法 |
| US9100042B2 (en) * | 2013-06-20 | 2015-08-04 | International Business Machines Corporation | High throughput decoding of variable length data symbols |
-
2014
- 2014-03-07 JP JP2014045042A patent/JP6260359B2/ja not_active Expired - Fee Related
-
2015
- 2015-02-04 US US14/613,442 patent/US10102217B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015170170A (ja) | 2015-09-28 |
| US20150254287A1 (en) | 2015-09-10 |
| US10102217B2 (en) | 2018-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6260359B2 (ja) | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 | |
| US12056583B2 (en) | Target variable distribution-based acceptance of machine learning test data sets | |
| CN108681565B (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
| US9116903B2 (en) | Method and system for inserting data records into files | |
| US20140365819A1 (en) | Rebuilding data of a storage system | |
| JP5825122B2 (ja) | 生成プログラム、生成方法、および生成システム | |
| US10838767B2 (en) | Distributed computing utilizing a recovery site | |
| JP2021518021A (ja) | データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
| US11385823B2 (en) | Method, electronic device and computer program product for rebuilding disk array | |
| US8762773B2 (en) | Processing apparatus, data migration method, and computer-readable recording medium having data migration program recorded thereon | |
| JP6421568B2 (ja) | 情報処理装置及び情報処理プログラム | |
| WO2013108745A1 (ja) | ストレージ装置、その制御方法、及びプログラム | |
| US11360710B2 (en) | Storage control device, distributed storage system, and non-transitory computer-readable storage medium for storing storage control program | |
| KR20220073951A (ko) | 블룸필터를 이용한 분산식별자 검색 방법 | |
| JP2009070206A (ja) | データ検索システムおよびデータ検索方法ならびにデータ検索装置,検索実行者端末およびプログラム | |
| US20200249871A1 (en) | Methods, devices, and a computer program product for processing an access request and updating a storage system | |
| CN117009308B (zh) | 基于兼容层的可执行文件加载方法及系统 | |
| JP2014206828A (ja) | データ直列化装置、データ直列化方法、及びデータ直列化プログラム | |
| JP4865449B2 (ja) | 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法 | |
| US20170255499A1 (en) | Hybrid quorum system with persistent and non-persistent | |
| JP5842437B2 (ja) | 情報処理装置及び情報処理プログラム | |
| US8635699B1 (en) | Performance optimization for scanning of digital content on read-only optical media | |
| KR20140046860A (ko) | 해쉬 기반의 콘텐츠 파일의 식별자 생성 장치 및 방법, 및 해쉬 코드 생성 방법 | |
| JP5183132B2 (ja) | ルールベースシステム及びルール適用プログラム | |
| US20170220571A1 (en) | Information Processing Device, Information Processing Method, and Non-Transitory Computer Readable Medium Storing Information Processing Program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161102 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170830 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170905 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171106 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171114 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171127 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6260359 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |