JP5735702B2 - 情報処理システム及び情報処理システムの制御方法 - Google Patents

情報処理システム及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP5735702B2
JP5735702B2 JP2014504599A JP2014504599A JP5735702B2 JP 5735702 B2 JP5735702 B2 JP 5735702B2 JP 2014504599 A JP2014504599 A JP 2014504599A JP 2014504599 A JP2014504599 A JP 2014504599A JP 5735702 B2 JP5735702 B2 JP 5735702B2
Authority
JP
Japan
Prior art keywords
data
data structure
unit
processing
file
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
Application number
JP2014504599A
Other languages
English (en)
Other versions
JPWO2013136520A1 (ja
Inventor
純也 澤崎
純也 澤崎
尚紀 井川
尚紀 井川
武田 景
景 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5735702B2 publication Critical patent/JP5735702B2/ja
Publication of JPWO2013136520A1 publication Critical patent/JPWO2013136520A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、半構造化データの処理に適用することができる情報処理システム及び情報処理システムの制御方法に関する。
情報処理システムが処理するデータの量は、処理対象とする分野の広がりとともに、年々増加している。また、データの種類も、従来の業務用データから、センサ技術に代表される実世界情報まで、多岐に渡っている。さらに、近年では、情報処理システムの処理過程で発生するログデータを解析することで、これまであまり価値がないものとして捉えられてきたログデータから、ビジネス、社会に対して新たな知見を得ようとする動きが活発である。これらのログデータを含む大量のデータはビッグデータと呼ばれており、大量データ処理を実現する基盤として、情報処理システムにはこれまで以上に高速なデータ処理が求められている。
情報処理システムを高速化するには大きく分けて二種類の方法が存在する。一つは、スケールアップと呼ばれる単体の計算機の性能を向上させる方法である。もう一つは、スケールアウトと呼ばれ、計算機を複数台並べることで、情報処理システムの性能を向上させる方法である。最近では、スケールアップによる性能向上が従来に比べ鈍化しており、スケールアウトによる性能向上が主流となっている。さらに、スケールアウト型の分散処理においては、コモディティハードウェアで構成される計算機を複数台並べることで安価に分散処理を実現できるようになり、ユーザが手軽に利用できる分散処理基盤も情報処理システム向けに登場している。
前記のように、近年利用されている分散処理基盤は、コモディティハードウェアを利用することを想定しているため、高速に分散処理を行うために、処理対象とするファイルを各計算機に分散配置することで、分散処理のスケールアウト性を実現している。
また、分散処理基盤を高速に実行するため、専用のファイルシステムも用意されている。このファイルシステムにおいては、コモディティハードウェアを利用することを想定しているため、処理対象とするファイルを複数の計算機で冗長的に保持することで、ファイルの耐障害性を実現している。
また、大量データ処理が一般的になってきたことで、従来に比べデータの格納構造も変化している。これまでに処理対象としてきたデータは、リレーショナルデータベースに格納できるデータが一般的であった。このようなデータは構造化データと呼ばれている。また、リレーショナルデータベースの場合、データを検索したり、抽出したりする処理に適しているが、検索や抽出を行うために多大な時間とデータベースへのロード作業が必要である。
一方、大量データ処理においては、データの量及び種類が増大しているため、従来のリレーショナルデータベースの方式では対応しきれなくなっているという問題がある。まず、画像や音声といった従来の構造化データでは扱えないデータが処理対象となりつつある。このようなデータは従来のリレーショナルデータベースでは処理が難しい。また、ログデータのように構造化されているものの、ファイル形式として存在しているデータは、その量と種類が大量であるため、リレーショナルデータベースにロードするのは現実的ではない。
このような問題から、近年の分散処理基盤では、処理対象とするデータをリレーショナルデータベースにロードすることなく、元々のファイル形式のままで分散処理する方式が主流となっている。なお、画像や音声のようなデータは構造化することが難しいため、一般に非構造化データと呼ばれている。また、ログデータのように構造化されているものの、ファイル形式として存在しているデータは、半構造化データと呼ばれる。半構造化データには、CSV(Comma Separated Values)ファイルやXML(eXtended Marked-up Language)ファイルが含まれる。
CSVファイルなどの半構造化データは、構造化されずにファイル形式として格納されているため、半構造化データに対するデータアクセスは、半構造化データのデータ構造に依存することが 知られている。この依存関係が問題となる場合を、例を挙げながら次に示す。
ここでは、CSVファイルの場合の例を挙げる。CSVファイルをディスクからシーケンシャルに読み取ると、CSVファイル上のデータに対しては、行方向のデータにシーケンシャルにアクセスすることになる。CSVファイルの場合、1つの行には、タイムスタンプ、各レコードを区別するための名称、様々な属性値などの関連する情報を1レコードとして格納することが一般的である。従って、CSVファイルをシーケンシャルに読み取ると、レコード毎のデータをシーケンシャルに読み取ることができる。
一方、CSVファイルに格納された情報を用いて分析する場合、同一種類の属性値を抽出したり、抽出した属性値の集計を計算したりする処理が広く一般的に行われている。このような処理では、同一種類の属性値を抽出してそれらを集計する際に、CSVファイルの列方向へのアクセスが発生する。従って、CSVファイルを単純にディスクに格納すると、CSVファイルの列方向へのアクセスは、ディスク上ではランダムアクセスとなってしまい、列方向へのアクセス速度が低下するという問題がある。
上記問題に対して、従来の解決方法としては、データベースに格納されているデータを列方向に処理することが可能とされている形式であるカラムストアを利用した方法が存在する。この方法を利用している製品としては、例えば非特許文献1に示されるGoogle BigTable(商標)がある。また、類似する技術を開示している特許文献としては、特許文献1が存在する。
カラムストアを利用した方法では、構造化データや半構造化データなどの入力データを情報処理システムにロードする際、入力データをカラムストアに格納することで、列方向アクセスに適したデータ構造に変換する。具体的には、データの行と列とをあらかじめ転置して格納することで、列方向のアクセスがシーケンシャルアクセスになるように変換する。
特開平11−154155号公報
F. Chang et al.、 "Bigtable: A distributed storage system for structured data"、 In Proc. OSDI、 2006、pp 205-218.
近年用いられている分散処理基盤においても、半構造化データの分析が必要とされている。この時、非特許文献1、特許文献1に示したカラムストアを用いた方法を適用した場合、以下のような問題がある。
分散処理基盤を用いた情報処理システムにおいて、カラムストアを利用する場合、カラムストアにデータを改めて格納する分だけ、情報処理システム内にデータを余分に持つ必要がある。一方、分散処理基盤を用いた情報処理システムは、データの耐障害性を高めるため、データを冗長化して格納している。以上の二点から、分散処理基盤を用いた情報処理システムにカラムストアを適用すると、データを余分に持たなければならない問題が発生する。
上記の、及び他の課題を解決するために、本発明の一態様は、外部装置からの要求に応じてデータの格納及び格納した前記データの分析を実行する情報処理システムであって、それぞれが前記データの格納領域を提供している、複数のデータ格納部と、それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのデータ構造に対して所定の操作を実行する、複数のデータ構造操作部と、それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのいずれかを他の前記データ格納部に送信する、複数のデータ冗長化部と、前記外部装置から要求された前記データを、複数の前記データ格納部のいずれに格納するかを決定するデータ配置決定部と、複数の前記データ冗長化部にいずれかの前記データの他の前記データ格納部への送信をさせるデータ冗長化決定部と、各前記データ構造操作部に前記データ格納部に格納されている前記データの前記データ構造を操作させるデータ構造操作決定部と、複数の前記データ格納部に格納する前記データ及び前記データのデータ構造に関する情報であるデータ構造管理情報を保持しているデータ構造管理情報保持部と、前記外部装置から前記データ格納部に格納された前記データに対する分析要求を受け付けて、前記分析要求に係る前記データの分析処理を実行する分析処理部と、を備え、前記データ配置決定部は、前記外部装置から格納要求を受けた前記データについて、あらかじめ設定されている、前記情報処理システム内での格納数とその格納される前記データに関する前記データ構造を取得し、前記データ構造管理情報保持部に格納されている対応データの前記データ構造管理情報を参照して、前記格納要求に係る前記データを格納すべき前記データ格納部を決定して前記外部装置に通知し、前記データ冗長化決定部は、前記データ構造管理情報保持部を参照して前記格納要求に係る前記データの複製作成及び作成した複製の格納先である前記データ格納部への送信を前記データ冗長化部に指示し、前記データ構造操作決定部は、前記データ構造管理情報保持部に記録されている前記データ構造管理情報を参照して、いずれかの前記複製が格納された前記データ格納部に格納された前記データについてデータ操作を実行する指示を前記データ構造操作部に送信し、前記分析処理部は、前記分析要求の内容に応じていずれかの前記データ格納部に格納されている前記データ構造操作後の前記データ又はデータ構造未操作の前記データのいずれかにより前記分析処理を実行する、情報処理システムである。
また、本発明の他の態様は、前記情報処理システムの制御方法である。
本発明によれば、情報処理システム情報処理システム内に余計なデータを持つことなく、データの耐障害性を保ちながら、半構造化データの分析を高速に実行することができる情報処理システム及び情報処理システムの制御方法が提供される。
図1は、第一の実施形態における情報処理システム10の構成例を示す図である。 図2は、計算機定義ファイル40の構成例を示す図である。 図3は、ポリシー定義ファイル50の構成例を示す図である。 図4は、分析要求設定画面61の構成例を示す図である。 図5は、データ構造管理テーブル70の構成例を示す図である。 図6は、本実施形態におけるデータ変換処理例を示す模式図である。 図7は、情報処理システム10にファイルがコピーされた場合の処理を説明するシーケンス図の例である。 図8は、データ配置決定部100の処理例を説明するフローチャートである。 図9は、データ冗長化決定部200の処理例を説明するフローチャートである。 図10は、データ構造変換決定部300の処理例を説明するフローチャートである。 図11は、データ構造変換部1200の処理例を説明するフローチャートである。 図12は、データ構造逆変換部1300の処理例を説明するフローチャートである。 図13は、第一の実施形態において分析要求を受信した場合の処理例を説明するシーケンス図である。 図14は、分析実行場所決定部500の処理例を説明するフローチャートである。 図15は、処理用計算機21に障害が発生した場合の処理例を説明するシーケンス図である。 図16は、データ復元決定部600の処理例を説明するフローチャートである。 図17は、第二の実施形態における情報処理システム情報処理システム10の構成例を示す図である。 図18は、データ構造・統計情報管理テーブル70Aの構成例を示す図である。 図19は、第二の実施形態における分析要求を受信した場合の処理例を説明するシーケンス図である。 図20は、統計情報記録部700の処理例を説明するフローチャートである。 図21は、第二の実施形態における保持割合の変更を行う場合の処理例を説明するシーケンス図である。 図22は、保持割合変更決定部800の処理例を説明するフローチャートである。 図23は、第三の実施形態における情報処理システム10の構成例を示す図である。 図24は、変換ルール定義ファイル90の構成例を示す図である。 図25は、第三の実施形態における保持割合の変更を行う場合の処理例を説明するシーケンス図である。 図26は、負荷情報通知部1500の処理例を説明するフローチャートである。 図27は、第三の実施形態における保持割合変更決定部800の処理例を説明するフローチャートである。 図28は、データ構造変換方法決定部900の処理例を説明するフローチャートである。
以下、本発明を実施するための形態について、図面を用いて説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る情報処理システム10の全体構成を例示した図である。
まず、本発明の第1の実施の形態に係る情報処理システム10のハードウェア構成例を示す。本システム10は、管理用計算機20、及び処理用計算機1〜3(21−1〜21−3)を有する。本実施の形態の例である図1では、本システム10について処理用計算機は3台であるが、4台以上を設けてもよい。また、図1の例では管理用計算機20は1台であるが、冗長化構成により複数の管理用計算機20を稼動させてもよい。これらの管理用計算機20及び処理用計算機30は、それぞれ内部に中央処理装置30−0〜30−3、主記憶装置31−0〜31−3、二次記憶装置32−0〜32−3、ネットワークインターフェース33−0〜33−3、入力装置34−0〜34−3、出力装置35−0〜35−3を有し、それらの要素はバス36−0〜36−3によって相互に接続されている。
また、本システム10を利用するための計算機として、格納要求計算機24と、分析要求計算機25とがあり、それぞれ内部に中央処理装置30−4〜30−5、主記憶装置31−4〜31−5、二次記憶装置32−4〜32−5、ネットワークインターフェース33−4〜33−5、入力装置34−4〜34−5、及び出力装置35−4〜35−5を有し、それらの要素はバス36−4〜36−5によって相互に接続されている。
中央処理装置30−0〜30−5は例えば中央処理ユニット(CPU)やマイクロプロセシングユニット(MPU)等である。主記憶装置31−0〜31−5は例えばランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)等である。二次記憶装置32−0〜32−5は例えばハードディスクドライブ(HDD)や半導体ディスク(Solid State Disk、SSD)等である。ネットワークインターフェース33−0〜33−5は例えばEthernetネットワークインタフェースカード(NIC)等である。また、管理用計算機20、処理用計算機21−1〜21−3、格納要求計算機24、及び分析要求計算機25は、各計算機が持つネットワークインターフェース33−0〜33−5を介してネットワーク37によって相互に通信可能に接続されている。また、本システム10を利用するための入力装置34−0〜34−5は、例えばキーボードやマウスなどの装置で構成される。出力装置35−0〜35−5は、例えば液晶モニタなどの装置で構成される。
次に、管理用計算機20のソフトウェア構成例について、図1を参照して説明する。管理用計算機20の主記憶装置31−0には、データ配置決定部100、データ冗長化決定部200、データ構造変換決定部300、分析要求受付部400、分析実行場所決定部500、及びデータ復元決定部600が格納されている。これらの処理部は、各処理部の機能に対応するソフトウェアプログラムを中央処理装置30−0が実行することによって実現されるが、ハードウェアとして実現することもできる。本実施の形態では、中央処理装置30−0が各処理部を実行することで実現される各処理部を各処理の主体として説明するが、各処理部をハードウェアで実現した場合にはその各処理部が主体となって各処理を行う。また、管理用計算機20の主記憶装置31−0には、データ構造管理テーブル70が格納されている。
次に、管理用計算機20のソフトウェアの各処理部について説明する。
データ配置決定部100は、本システム10にファイルを格納する際、格納要求計算機24が最初にどの処理用計算機21にファイルを送信すべきかを決定し、格納要求計算機24に指示する処理を実行する。以降、格納要求計算機24が最初に本システム10に送信するファイルを「元ファイル」と呼ぶ。
データ冗長化決定部200は、処理用計算機21に格納されたファイルに対して、ポリシー定義ファイル50(図3を参照)に従い、ファイルの冗長度を満たすためにファイルの冗長化指示を出す処理を実行する。
データ構造変換決定部300は、データ冗長化決定部200により本システム10の中で冗長化されたファイルに対して、ポリシー定義ファイル50(詳細は図3を参照)に従い、データ構造の保持割合を満たすために冗長化されたファイルに対してデータ構造変換処理又はデータ構造逆変換処理の指示を出す処理を実行する。データ構造変換処理及びデータ構造逆変換処理の詳細は後述する。
分析要求受付部400は、分析要求計算機25から送信される分析要求を受け付け、分析実行場所決定部500を呼び出す処理を行う。
分析実行場所決定部500は、分析要求受付部400が受信した分析要求計算機25からの分析要求を解析し、分析要求設定画面61(図4を参照)での設定を用いて、分析要求に対する分析処理を行う処理用計算機21を決定し、分析処理を指示する。
データ復元決定部600は、計算機に障害が発生した際に、ポリシー定義ファイル50(図3参照)に従いファイルの冗長度を保つため、必要に応じてファイルの復元を各処理用計算機21に指示する処理を実行する。
次に、管理用計算機20の二次記憶装置32−0の構成要素について、図1を参照して説明する。管理用計算機20の二次記憶装置32−0には、計算機定義ファイル40(図2を参照)、ポリシー定義ファイル50(図3を参照)、及び分析要求設定ファイル60が格納されている。各要素の詳細は後述する。
次に、処理用計算機21−1〜21−3のソフトウェア構成例を、図1を参照して説明する。処理用計算機1(21−1)、処理用計算機2(21−2)、及び処理用計算機3(21−3)のソフトウェア構成は同一であるため、ここでは代表として処理用計算機1(21−1)を例にソフトウェア構成例を示す。主記憶装置31−1には、データ保存部1000、データ冗長化部1100、データ構造変換部1200、データ構造逆変換部1300、及び分析処理部1400が格納されている。これらの処理部は、各処理部の機能に対応するソフトウェアプログラムを中央処理装置30−1が実行することによって実現されるが、ハードウェアとして実現することもできる。本実施の形態では、中央処理装置30−1が各処理部を実行することで実現される各処理部を各処理の主体として説明するが、各処理部をハードウェアで実現した場合にはその各処理部が主体となって各処理を行う。
次に、処理用計算機1(21−1)のソフトウェアの各処理部について、図1を参照して説明する。
データ保存部1000は、格納要求計算機24から送信されるファイルを受信し、処理用計算機1(21−1)の二次記憶装置32−1に保存する処理を実行する。
データ冗長化部1100は、管理用計算機20のデータ冗長化決定部200が出す指示を受けて、処理用計算機1(21−1)の二次記憶装置32−1内に格納したファイルを他の計算機に対して送信する処理を実行する。
データ構造変換部1200及びデータ構造逆変換部1300は、処理用計算機1(21−1)の二次記憶装置32−1に格納したファイルのデータ構造を変換又は逆変換する処理を実行する。データ構造変換部1200は、ファイル名を入力として受け付け、ファイルのデータ構造を、変換済ファイルのデータ構造に変換する処理を行う。以降、データ構造変換部1200によって変換、出力されるファイルを「変換済ファイル」と呼ぶ。また、データ構造逆変換部1300は変換済ファイルを入力として、データ構造を逆変換して得られる元ファイルを出力する。変換、逆変換の具体的な例は後述する。なお、本実施の形態では元ファイルのデータ構造としてCSV(Comma Separated Values)形式を例に説明するが、XML形式やZIP圧縮形式など、データを一定の規則に従って可逆変換可能であればいずれも本発明を適用可能である。データ構造変換部1200はCSVファイルにおいて行データから列データへの転置処理を実行し、データ構造逆変換部1300はCSVファイルの列データから行データへの転置処理を行う。
分析処理部1400は、管理用計算機20が実行する分析実行場所決定部500が出す指示を受けて、分析要求に含まれるクエリを解析し、処理用計算機1(21−1)の二次記憶装置32−1に格納されたファイル上のデータに対する分析を実行し、分析結果を分析要求計算機25に返却する処理を実行する。本実施の形態では、クエリ言語としてSQL(Structured Query Language)に似た言語を用いることとするが、任意のデータ解析言語が本発明に適用可能である。分析処理部1400は、二次記憶装置32−1に格納されたCSV形式のファイルに対して、本システム10で用いるクエリを解析し、結果を返す処理を実行する。
次に、処理用計算機21−1〜21−3の二次記憶装置32−1〜32−3の構成要素について、図1を参照して説明する。処理用計算機21−1〜21−3の二次記憶装置32−1〜32−3には、本システム10で管理されるファイル80−1〜80−3が格納されている。本システム10で管理されるファイル80−1〜80−3は、元ファイルと、データ構造を変換した変換済ファイルのどちらかとして格納される。なお、各処理用計算機21−1〜21−3が格納するファイルは1つに限定されるものではなく、複数あってもよい。
次に、計算機定義ファイル40について説明する。図2に、計算機定義ファイル40の構成例を示している。この計算機定義ファイル40は、管理用計算機20の二次記憶装置32−0に格納される。計算機定義ファイル40には、管理用計算機20が管理する処理用計算機41〜43が指定される。本実施の形態では、処理用計算機の指定には各処理用計算機21−1〜21−3のホスト名(処理用計算機1〜3)を用いているが、IPアドレスなどの各処理用計算機21−1〜21−3を一意に特定できる方法も指定可能である。
次に、ポリシー定義ファイル50について説明する。図3に、ポリシー定義ファイル50の構成例を示している。このポリシー定義ファイル50は管理用計算機20の二次記憶装置32−0に格納される。ポリシー定義ファイル50には、一つのファイルに対して、冗長化のためにファイルをシステム内に何多重で保持するかを示すファイルの冗長度51を定義することができる。また、システム内に多重に保持したファイルのうち、そのデータ構造の保持割合を定義する元ファイル・変換済ファイルの保持割合52を定義することができる。例えば、ファイルの冗長度を3、元ファイル・変換済ファイルの保持割合を2:1と定義した場合、管理用計算機20はポリシー定義ファイル50を参照して、本システム10に格納された各ファイルについて、変換前の元ファイルを2つ、変換後の変換済ファイルを1つ、計3つのファイルを各処理用計算機21−1〜21−3に分散して格納する。
図4に、管理用計算機20の二次記憶装置32−0に格納される、分析要求設定ファイル60を編集するための分析要求設定画面61の画面例を示している。本画面の入出力は、管理用計算機20の入力装置34−0、出力装置35−0を経由して実行されるが、他の計算機の入力装置、出力装置により入出力処理することも可能である。本システム10を利用するユーザは、本システム10に分析要求計算機25から分析要求を出す際に指定するクエリについて、クエリ毎に変換済ファイルを使用するかどうかを明示的に指定することができる。図4に示している画面の例では、特定の列の値の合計値を計算するクエリ62、特定の列の平均値を計算するクエリ63は、任意のファイルに対する分析について、変換済ファイルを使用するように定義されている。また、特定の列の値を取り出すクエリ64は、任意のファイルに対する分析について、列数指定が1以上4以下の場合に変換済ファイルを使用するように定義されている。なお、本画面で定義されていないクエリに対しては、元ファイルを使用する。また、ユーザは変換済ファイルを使用するクエリを登録するリスト65に対して、追加ボタン66又は削除ボタン67を用いて自由にクエリを追加、又は削除することもできる。なお、画面中に定義したクエリ62〜64は一例であり、これらに限定されるものではない。また、本例においてはSQLベースのクエリ言語を用いているが、その他一般のクエリ言語を用いることも可能である。
次に、データ構造管理テーブル70について説明する。図5は、データ構造管理テーブル70の構成例を示す図である。このデータ構造管理テーブル70は管理用計算機20の主記憶装置31−0に格納される。データ構造管理テーブル70の列71−1〜71−3は、各処理用計算機21−1〜21−3がそれぞれの二次記憶装置32−1〜32−3に保持しているファイルとその形式を表している。また、データ構造管理テーブル70の行72−A〜72−Cは、あるファイルについて、どの処理用計算機21−1〜21−3にどの保存形式で保持しているかを示している。図5に示す例では、処理用計算機21−1〜21−3を3台、ファイルを3種類として、各処理用計算機21−1〜21−3に配置されたファイルの保持状態を示している。なお、図5では、変換前の元ファイルを保持していることを”0”で表現し、変換後の変換済ファイルを保持していることを”1”で表現している。処理用計算機21−1〜21−3がファイルを保持していなければ、”−1”で表現する。
次に、データ構造管理テーブル70の見方の例を示す。図5のデータ構造管理テーブル70において、列71−1は、処理用計算機1がファイルA、Cについて変換前の元ファイルを、ファイルBについて変換後の変換済ファイルを二次記憶装置32−1に格納していることを表している。また、行72−Aは、ファイルAについて、変換前の元ファイルが処理用計算機1、及び処理用計算機2に、変換後の変換済ファイルが処理用計算機3の二次記憶装置32−1〜32−3に格納されていることを表している。
最後に、データ構造管理テーブル70の更新方法の例を示す。データ構造管理テーブル70は、各処理用計算機21−1〜21−3が保持しているファイルとそのデータ構造を表しているので、更新する場合には、全ての処理用計算機21−1〜21−3が保持しているファイルの形式を調べることで、データ構造管理テーブル70の各項目73−A1〜73−C3を更新することができる。
図6は、本実施の形態で処理することを想定するファイルと、その形式の例である。本実施の形態の場合、格納要求計算機24が本システム10に送信する元ファイル81は、一行が一つのレコードとして扱われ各レコードの値は区切り文字のカンマによって分割されたCSV形式のファイルである。本実施の形態におけるデータ構造変換部1200は、CSVファイルの行と列を転置させて保存する変換処理であるデータ構造変換処理83を実行する。データ構造変換部1200により、元ファイルの行と列が転置された変換済ファイル82もまた、CSV形式のファイルである。本実施の形態におけるデータ構造逆変換部1300は、データ構造変換部1200によって行と列を転置させた変換済ファイル82に対して、再度行と列を転置させて保存する変換処理であるデータ構造逆変換処理84を実行する。つまり、データ構造変換部1200が元ファイル81に対してデータ構造変換処理83を適用し、変換済ファイル82を得た後、さらにデータ構造逆変換部1300がデータ構造逆変換処理84を適用すると、元ファイル81が得られる。データ構造変換処理83、及びデータ構造逆変換処理84の詳細は後述する。
本実施形態では、元ファイル・変換済ファイルとして、CSV形式のファイルを用い、データ構造変換処理、データ構造逆変換処理として、CSV形式ファイルの行と列とを相互に転置する処理例を元に説明している。ただし、その他の例として、元ファイル・変換済ファイルとして展開済ファイルと圧縮済ファイル、データ構造変換処理として圧縮処理、データ構造逆変換処理として展開処理の組み合わせ、元ファイル・変換済ファイルとして復号化ファイルと暗号化ファイル、データ構造変換処理として暗号化処理、データ構造逆変換処理として復号化処理の組み合わせ等を含む他の変換・逆変換処理を適用することも可能である。
次に、本システム10におけるファイルコピー処理について説明する。図7は、格納要求計算機24から本システム10にファイルがコピーされる場合の処理を説明するシーケンス図の例である。
格納要求計算機24が本システム10にファイルをコピーする場合、格納要求計算機24が管理用計算機20に対してファイル保存要求を出す(S2001)。管理用計算機20のデータ配置決定部100は、格納要求計算機24からのファイル保存要求(S2001)を受けてデータ配置決定処理(S2002)を実行し、格納要求計算機24に、ファイルの保存先となる処理用計算機21のホスト名を通知する(S2003)。本シーケンス図の例では、データ配置決定部100が、ファイルの保存先処理用計算機21として処理用計算機1(21−1)を選択している。データ配置決定部100が実行するデータ配置決定処理(S2002)の詳細は後述する。格納要求計算機24は、管理用計算機20からの保存先計算機指示(S2003)の内容を受けて、処理用計算機1(21−1)にファイルを送信する(S2004)。処理用計算機1(21−1)では、格納要求計算機24が送信したファイルを受信し、データ保存部1000が実行するデータ保存処理(S2005)により、図1の処理用計算機1(21−1)の二次記憶装置32−1にファイルを格納する。この時格納したファイルを以降「元ファイル」と特定する。元ファイルの格納後、処理用計算機1(21−1)は管理用計算機20、及び格納要求計算機24に対して保存完了通知(S2006〜S2007)を送信する。
管理用計算機20では、処理用計算機1(21−1)からの保存完了通知(S2007)を受信後、データ冗長化決定部200が実行するデータ冗長化決定処理S2008により、元ファイルの冗長化を指示する(S2009)。データ冗長化決定処理S2008の詳細は後述する。データ冗長化決定処理S2008により、処理用計算機1(21−1)に対してデータ冗長化先である処理用計算機21のホスト名を含むデータ冗長化指示S2009が送信され、処理用計算機1(21−1)はデータ冗長化処理S2010を実行する。データ冗長化処理S2010とは、指示されたファイルを他の処理用計算機21に複製(コピー)する処理である。データ冗長化処理S2010の結果、元ファイルの送信先の処理用計算機21が特定される。ここでは例として処理用計算機2(21−2)、処理用計算機3(21−3)に対して処理用計算機1(21−1)の二次記憶装置32−1に保存された元ファイルを送信している。処理用計算機2(21−2)、処理用計算機3(21−3)は、処理用計算機1(21−1)が送信した元ファイルを受信後、データ保存処理S2013〜S2014により、それぞれの二次記憶装置32−2〜32−3に元ファイルを格納する。最後に、処理用計算機2(21−2)、処理用計算機3(21−3)は管理用計算機20に対して保存完了通知S2015〜S2016を送信する。
管理用計算機20は、処理用計算機2(21−2)、処理用計算機3(21−3)からの保存完了通知S2015〜S2016を受信後、データ構造変換決定処理S2017により、データ構造の変換を指示する。データ構造変換決定処理S2017の詳細は後述する。データ構造変換決定処理S2017により、データ構造変換処理を実行する処理用計算機21が特定される。ここでは例として処理用計算機3(21−3)に対して、データ構造変換処理すべきファイルのファイル名を含むデータ構造変換指示S2018を送信する。処理用計算機3(21−3)はデータ構造変換指示S2018を受信後、データ構造変換処理S2019を実行する。データ構造変換処理S2019は、データ構造変換指示S2018に含まれるファイル名を元に、処理用計算機3(21−3)の二次記憶装置32−3に保存されているファイルのデータ構造を変換し、元ファイルを変換済ファイルに置き換える処理を行う。データ構造変換処理S2019の詳細は後述する。処理用計算機3(21−3)は、データ構造を変換した後、変換完了通知S2020を管理用計算機20に送信する。以上により、格納要求計算機24が本システム10にファイルをコピーする場合の処理が完了する。
次に、データ配置決定部100が実行するデータ配置決定処理S2002について説明する。図8はデータ配置決定処理S2002の一例を示すフローチャートである。まず、データ配置決定部100は、S100で処理を開始すると、格納要求計算機24からのファイル保存要求を受信する(S101)。このファイル保存要求は、図7におけるファイル保存要求S2001に対応する。次に、図2に示した計算機定義ファイル40から処理用計算機21の一覧を読み出す(S102)。次に、読み出した処理用計算機21の一覧の中から、格納要求計算機24が最初にファイルを送信するべき計算機をランダムに1台選択する(S103)。ここで選択される計算機は、図7における処理用計算機1(21−1)に対応する。最後に、データ配置決定部100は、選択した処理用計算機21に対してファイルを送信するよう格納要求計算機24に指示するため、保存先計算機指示を格納要求計算機24に送信する(S104)。ここでの保存先計算機指示は、図7における保存先計算機指示S2003に対応する。以上でデータ配置決定部100が実行するデータ配置決定処理S2002は終了する(S105)。
次に、データ冗長化決定部200が実行するデータ冗長化決定処理S2008について説明する。図9はデータ冗長化決定処理S2008の一例を示すフローチャートである。まず、データ冗長化決定部200は、S200で処理を開始すると、データ配置決定部100において決定した処理用計算機21から送信される保存完了通知を受信する(S201)。ここでの保存完了通知は、図7における保存完了通知S2007に対応する。次に、図3に示したポリシー定義ファイル50から保存対象であるファイルの冗長度51を読み出す(S202)。次に、図2に示した計算機定義ファイル40に記載された処理用計算機21のうち、図8で示したデータ配置決定処理S2002において選択した処理用計算機21以外の処理用計算機21の一覧を読み出す(S203)。読み出した処理用計算機21の一覧から、(ファイルの冗長度−1)台の冗長化先計算機を選択する(S204)。図7に示したシーケンス図の例では、保存対象ファイルの冗長化度は3であり、データ配置決定処理S2002において処理用計算機1(21−1)を選択しているので、このステップで冗長化先計算機として処理用計算機2(21−2)、処理用計算機3(21−3)を選択する。最後に、図8で示したデータ配置決定処理S2002において選択した処理用計算機21に対して、S204で選択した全ての冗長化先計算機へデータ冗長化を指示するため、データ冗長化指示を送信して(S205〜S207)、処理を終了する(S208)。ここでのデータ冗長化指示は、図7におけるデータ冗長化指示S2009に対応する。
次に、データ構造変換決定部300が行うデータ構造変換決定処理S2017について説明する。図10はデータ構造変換決定処理S2017の一例を示すフローチャートである。データ構造変換決定処理S2017では、データ冗長化決定処理S2008及びデータ冗長化処理S2010によって冗長化されたファイルのうち、図3で示したポリシー定義ファイル50の定義に従いデータ構造の変換が必要かどうかを判定、指示する処理を行う。以降図10を用いてその処理を説明する。
データ構造変換決定部300は、S300で処理を開始すると、データ冗長化決定処理S2008、及びデータ冗長化処理S2010により各処理用計算機21で実行されるデータ保存処理S2013〜S2014が返す保存完了通知を全て受信する(S301)。ここでの保存完了通知は、図7における保存完了通知S2015〜S2016に対応する。次に、データ構造変換決定部300は、図3で示したポリシー定義ファイル50からファイルの冗長度51、元ファイル・変換済ファイルの保持割合52を読み出す(S302)。次に、データ構造変換決定部300は、S302で読み出したファイルの冗長度51と、元ファイル・変換済ファイルの保持割合52とから、変換済ファイルの目標保持数を計算する(S303)。具体的には、目標保持数は、ファイルの冗長度をa、保持割合をb:cとすると、a×c/(b+c)(小数点以下は切り捨て)で計算することができる。
データ構造変換決定部300は、図5に例示したデータ構造管理テーブル70を参照し、現在の変換済ファイルの保持数が、S303で計算した目標保持数に一致するまでS304〜S309を繰り返す。現在の変換済ファイルの保持数が、S303で計算した目標保持数に一致していない場合、さらに両者の比較を行い、現在の変換済ファイルの保持数が目標保持数よりも小さいと判定した場合(S305、現在の方が小さい)には、データ構造変換決定部300はS306を実行し、元ファイルを格納している処理用計算機21を1台選び、データ構造の変換を指示する(S306)。このデータ構造の変換指示には、変換するファイル名を含む。また、現在の変換済ファイルの保持数が目標保持数よりも大きいと判定した場合(S305、現在の方が大きい)には、データ構造変換決定部300はS307を実行し、変換済ファイルを格納している処理用計算機を1台選び、データ構造の逆変換を指示する(S307)。このデータ構造の逆変換指示には、変換するファイル名を含む。最後に、データ構造変換決定部300は、データ構造管理テーブル70を更新し(S308)、現在の変換済ファイルの保持数とS303で計算した目標保持数とが一致するまでS304に戻る。
例えば、ポリシー定義ファイル50に記録されている保存対象ファイルの冗長化度51が3、元ファイル・変換済ファイルの保持割合52が2:1の時には、一回目のS305の時点では、図7で示したデータ冗長化決定処理S2008により、元ファイルの保持数は3であり、変換済ファイルの保持数は0となる。また、S303での目標保持数の計算から、変換済ファイルの目標保持数は1となる。従って、S306を実行し、元ファイルを変換済ファイルに変換することで、現在の変換済ファイルの保持数が1となり、目標保持数と一致するので、処理を終了する(S310)。
次に、データ構造変換部1200が行うデータ構造変換処理S2019について説明する。図11はデータ構造変換処理S2019の一例を示すフローチャートである。データ構造変換処理S2019では、図6で示したCSV形式の元ファイルに対して、行と列を転置させた変換済ファイルを作成、保存する処理を行うものである。以降、図11を用いて処理を説明する。
まず、データ構造変換部1200は、S1200で処理を開始すると、管理用計算機20からデータ構造変換指示を受信する(S1201)。ここでのデータ構造変換指示は、図7におけるS2018に対応する。データ構造変換指示には、変換対象となるファイルのファイル名が含まれており、このファイルを元ファイルと呼ぶことにし、データ構造変換処理で生成するファイルを変換済ファイルと呼ぶこととする。
データ構造変換部1200は、元ファイルをオープンし、空の変換済ファイルを作成する(S1202)。次に、データ構造変換部1200は、元ファイルの各列の値について、列毎に転置処理を行う処理S1203〜S1205を繰り返す。処理の中では、各列の値を順に読み取り、読み取った順にカンマ区切りの一行のCSV形式に変換した後、変換済ファイルに追記する(S1204)。S1203からS1205までの処理を実行した後、元ファイル、及び変換済ファイルをクローズし(S1206)、元ファイルを変換済ファイルと置き換えて(S1207)、処理を終了する(S1208)。なお、図6でも説明したように、データ構造変換処理としてのCSV形式の行と列を転置させる処理は本実施の形態における一例であり、これに限定されるものではない。
次に、データ構造逆変換部1300が行うデータ構造逆変換処理について説明する。図12はデータ構造逆変換処理の一例を示すフローチャートである。データ構造逆変換処理は、図6で示したCSV形式の変換済ファイルに対して、列と行を転置させた変換済ファイルを作成、保存する処理を行うものである。以降、図12を用いて処理を説明する。
まず、データ構造逆変換部1300は、S1300で処理を開始すると、管理用計算機20からデータ構造逆変換指示を受信する(S1301)。データ構造逆変換指示には、逆変換対象となるファイルのファイル名が含まれており、このファイルを変換済ファイルと呼ぶことにし、データ構造逆変換処理で生成するファイルを元ファイルと呼ぶこととする。
データ構造逆変換部1300は、変換済ファイルをオープンし、空の元ファイルを作成する(S1302)。
次に、データ構造逆変換部1300は、変換済ファイルの各列の値について、列毎に転置処理を行う処理S1303〜S1305を繰り返す。この転置処理の中では、各列の値を順に読み取り、読み取った順にカンマ区切りの一行のCSV形式に変換した後、元ファイルに追記する(S1304)。データ構造逆変換部1300は、S1303からS1305までの処理を実行した後、変換済ファイル、及び元ファイルをクローズし(S106)、変換済ファイルを元ファイルと置き換えて(S1307)、処理を終了する(S1308)。なお、図6でも説明したように、データ構造逆変換処理としてのCSV形式の列と行を転置させる処理は本実施の形態における一例であり、これに限定されるものではない。
次に、本実施形態の情報処理システム10における分析要求処理について説明する。図13は本システム10が分析要求計算機25から分析要求を受けた場合のシーケンス図の例である。分析要求計算機25は、クエリを含む分析要求を管理用計算機20に送信する。管理用計算機20は、分析要求受付処理S2102により分析要求計算機25からの分析要求を受信し、分析実行場所決定処理S2103により分析を実行する計算機を決定する。分析実行場所決定処理S2103の詳細は後述する。
分析実行場所決定処理S2103で決定された処理用計算機21に対して、管理用計算機20は分析指示S2104を送信する。本シーケンス図の例では、分析実行場所決定処理S2103は処理用計算機3(21−3)を選択しているが、これに限定されるものではない。分析指示S2104を受信した処理用計算機3(21−3)では、分析処理S2105により分析を行い、分析結果S2106を分析要求計算機25に対して送信する。以上の処理により、分析要求計算機25は、分析要求S2101に対する分析結果S2106を得ることができる。
次に、分析実行場所決定部500が実行する分析実行場所決定処理S2103について説明する。図14は、分析実行場所決定処理S2103の一例を示すフローチャートである。まず、分析実行場所決定部500は、S500で処理を開始すると、図4に例示した分析要求設定画面61で編集することのできる分析要求設定ファイル60から、変換済ファイルを使用するクエリのリストを読み出す(S501)。次に、分析要求受付処理S2102で受信したクエリが、S501で読み出した変換済ファイルを利用するクエリのリストに含まれているか調べる(S502)。クエリが変換済ファイルを使用するクエリのリストに含まれていると判定した場合(S502、含まれている)、分析実行場所決定部500はS503の処理に進む。クエリがリストに含まれていないと判定した場合(S502、含まれていない)、S504に進む。
S503に進んだ場合、分析実行場所決定部500は、図5に示したデータ構造管理テーブル70から変換済ファイルが格納されている処理用計算機21を1台選択する(S503)。一方、S504に進んだ場合、分析実行場所決定部500は、図5に示したデータ構造管理テーブル70から元ファイルが格納されている処理用計算機を1台選択する(S504)。S503、S504のいずれかにおいて、候補となる計算機が複数存在する場合には、それらの計算機からランダムに1台選択する。最後に、分析実行場所決定部500は、S503、S504のいずれかのステップで選択された計算機に対して、分析処理を指示し(S505)、処理を終了する(S506)。ここでの分析指示は、図13におけるS2104に対応する。
次に、本システム10内の処理用計算機21に障害が発生した場合のファイルの復元処理について説明する。図15は本システム10内の処理用計算機21に障害が発生した場合のファイルの復元処理を示したシーケンス図の例である。本シーケンス図では、処理用計算機2(21−2)に障害が発生した場合に、ファイルの冗長度を保証するため、処理用計算機2’(21−2’)にファイルを復元する場合の例を示している。以降、図15を用いて処理を説明する。
まず、管理用計算機20は、定期的に障害検出処理S2201を実行して、図2に示した計算機定義ファイル40に記載された各処理用計算機21に障害が発生していないかチェックする。本シーケンス図の例では、処理用計算機1(21−1)、処理用計算機2(21−2)、処理用計算機3(21−3)、及び処理用計算機2’(21−2’)に障害が発生していないかチェックしている。障害検出処理S2201は、以下に示す既存の方法により実現できるため、ここでは説明を省略する。障害検出処理の方法の例としては、各計算機へのネットワーク通信の可否により計算機の死活監視を行う方法、各処理用計算機が収集、通知する管理情報を管理用計算機20が参照することで計算機の死活監視を行う方法等がある。
管理用計算機20が障害検出処理S2201によって処理用計算機21の障害を検出した場合には、本システム10に格納されたファイルの冗長性が失われている可能性が高いため、データの復元処理を実行する必要がある。復元処理が必要かどうかを決定するため、管理用計算機20はデータ復元決定処理S2202を実行する。
データ復元決定部600が実行するデータ復元決定処理S2202では、障害検出処理S2201で検出された障害の発生した処理用計算機21に格納されていた各ファイルについて、冗長性が失われていないか確認し、冗長性が失われていれば、別の処理用計算機21に冗長性が失われているファイルを復元する。本シーケンス図の例では、処理用計算機2(21−2)に障害が発生した場合に、データ復元決定部600により、障害によって失われたファイルを処理用計算機3(21−3)が保持していることが特定され、処理用計算機3(21−3)から処理用計算機2’(21−2’)にファイルが送信されている。ファイルを復元する具体的な手順は、データ冗長化処理の指示と、データ構造変換の指示もしくはデータ構造逆変換の指示である。詳細は後述する。
次に、データ復元決定部600が実行するデータ復元決定処理S2202について説明する。図16は、データ復元決定処理S2202の一例を示すフローチャートである。データ復元決定処理S2202では、障害が発生した処理用計算機21に保存されていた全てのファイルのうち、図3に示したポリシー定義ファイル50の中のファイルの冗長度51を満たさないファイルについて、別の処理用計算機21間で復元を行うよう指示をする処理を実行する。また、ファイルを復元した後、データ構造の保持割合52を調整するため、データ構造の変換もしくは逆変換の指示をする処理も実行する。以降、図16を用いて処理を説明する。
まず、データ復元決定部600は、S600で処理を開始すると、図5で示したデータ構造管理テーブル70を参照し、障害が発生した処理用計算機21に保存されていたファイルの情報を全て取得する(S601)。次に、情報を取得した全ファイルについてS602からS611までの処理を繰り返す。S602からS611までのループの中では、各ファイルについて、図3で定義したファイルの冗長度51を満たしているかを判定する(S603)。冗長度51を満たしていると判定した場合(S603、満たしている)、データ復元決定部600は以降の処理は実行せず、S602の処理に戻る。一方、冗長度51を満たしていないと判定した場合(S603、満たしていない)、データ復元決定部600はS604の処理に進む。
データ復元決定部600は、復元対象となるファイルについて、元ファイル・変換済ファイルのいずれであるかを問わず保持している計算機の中から、復元元の計算機として1台を選択する(S604)。候補となる計算機が複数ある場合には、ランダムに選択する。さらに、復元対象となるファイルについて、元ファイル・変換済ファイルいずれのファイルも保持していない計算機の中から、復元先の計算機として1台を選択する(S605)。こちらも、候補となる計算機が複数ある場合には、それらの計算機からランダムに選択する。データ復元決定部600は、S604で選択された復元元計算機に対して、S605によって選択された復元先計算機への復元対象ファイルのデータ冗長化処理を指示する(S606)。ここでのデータ冗長化指示は、図15におけるデータ冗長化指示S2203に対応する。ここまでの処理により、復元対象となるファイルの冗長度51を障害発生前の状態に復元することができる。
さらに、障害が発生した計算機に格納されていたファイルのデータ構造と、S604からS606のステップで複製されたファイルのデータ構造を比較する(S607)。比較した結果、データ構造が同じであると判定した場合(S607、同じ)、データ復元決定部600は、S611の処理に進む。一方、データ構造が異なるものであると判定した場合(S607、異なる)、データ復元決定部600はS608の処理に進み、S604で選択した復元元のファイルのデータ構造を確認する(S608)。復元元のファイルのデータ構造が元ファイルであると判定した場合(S608、元ファイル)、データ復元決定部600はS609の処理に進み、S605で選択した復元先の計算機に対して、データ構造変換処理の指示を実行する(S609)。一方、変換済ファイルであると判定した場合(S608、変換済ファイル)、データ復元決定部600は、S605で選択した復元先の計算機に対して、データ構造逆変換処理を指示する(S610)。ここまでの処理により、復元対象となるファイルのデータ構造の保持割合52を障害発生前の状態に復元することができる。なお、障害が発生した処理用計算機21に保持されていたデータ構造と同一のデータ構造で復元対象データを格納している処理用計算機21を復元元計算機として選定すれば、復元先におけるデータ変換処理を省略することも可能である。この場合、管理用計算機20は、データ構造管理テーブル70を参照して、障害が発生した処理用計算機21に格納されていたデータのデータ構造と同一のデータ構造で復元すべき当該データを保持している処理用計算機21を復元元として選択すればよい。
データ復元決定部600は、障害が発生した計算機に保存されていたファイル全てについてS602からS611を繰り返した後、データ構造管理テーブル70を最新の情報に更新して(S612)、処理を終了する(S613)。
[第2の実施の形態]
次に、本発明について、その第2の実施形態に即して説明する。本実施の形態では、分析要求の統計情報を用いて元ファイル・変換済ファイルの保持割合の動的な変更も行うことができるシステムの例を示している。
第1の実施の形態において、元ファイル・変換済ファイルの保持割合52は、図3で示したポリシー定義ファイル50に静的に定義されており、システム稼動中に保持割合52を動的に変更することはできなかった。このような構成の場合、元ファイル・変換済ファイルのうち、複数の分析要求がどちらか一方に集中した場合、元ファイル・変換済ファイルの保持割合52の初期定義によっては、分析要求を処理する処理用計算機21の負荷が特定の処理用計算機21に偏ってしまい、本システム10全体の性能向上を図ることが難しいという問題がある。そこで、本実施の形態では、分析要求に関する統計情報を記録しておき、その記録された統計情報に基づいたデータ構造の保持割合の動的な変更を実現する。
図17に、第2の実施の形態における本システム10構成例を示している。図1に例示した第1の実施形態の情報処理システム10の構成に加えて、管理用計算機20に統計情報記録部700、及び保持割合変更決定部800が追加されている。また、データ構造管理テーブル70を拡張したテーブルであるデータ構造・統計情報管理テーブル70Aが追加されている。
図18に、データ構造・統計情報管理テーブル70Aの構成例を示している。図5で示したデータ構造管理テーブル70とは、各ファイルについて、現在の元ファイル・変換済ファイルの保持割合を記録するフィールド(74−A〜74−C)、及び分析処理でのデータ構造別の参照数を記録するフィールド(75−A〜75−C)が追加されている点が異なる。
次に、データ構造・統計情報管理テーブル70Aの見方の例を示す。列71−1は、処理用計算機1がファイルA、Cについて変換前の元ファイルを、ファイルBについて変換後の変換済ファイルを保持していることを示す。また、行72−Aは、ファイルAについて、処理用計算機1、2が変換前の元ファイルとして保持していることを示し、処理用計算機3が変換後の変換済ファイルとして保持していることを示す。
保持割合を記録するフィールド74−A〜74−Cの列74は、各ファイルについて、元ファイルと変換済ファイルの保持割合を表している。例えば、行72−Aの場合、ファイルAは元ファイルが2個、変換済ファイルが1個の状態で本システムに格納されているので、セル74−Aには2:1と記録される。参照数を記録するフィールド75−A〜75−Cの列75は、各ファイルについて、元ファイルへの参照数と、変換済ファイルへの参照数を表している。例えば、行72−Aの場合、ファイルAについて、元ファイルには合計で2回、変換済ファイルには合計で6回参照されたことを示すように、セル75−Aには2:6と記録されている。なお、参照数75は、情報処理システム10の稼働期間中の参照数を、データ構造別に累積して記録されるが、直近の単位時間あたりの参照数を記録する等の他の記録態様を採用してもよい。
次に、データ構造・統計情報管理テーブル70Aの更新方法の例を示す。まず、セル73−A1〜73−C3に示される各項目の更新方法については、図5で示した方法と同様である。次に、保持割合を記録するフィールド74−A〜74−Cの更新方法については、対応する各行について、元ファイルの個数と変換済ファイルの個数をそれぞれ数え上げ、74−A〜74−Cの対応するフィールドに(元ファイルの個数):(変換済ファイルの個数)という形式で記録する。参照数を記録するフィールド75−A〜75−Cの更新方法については、図20を参照して後述する。
図19に、本実施の形態における、分析要求計算機25が本システム10に分析要求を送信した場合のシーケンス図の例を示している。第1の実施の形態で示した図13とは、分析実行場所決定処理S2303の後、管理用計算機20の処理として、統計情報記録処理S2307が追加されている点が異なる。
具体的な例を元に、本シーケンス図を説明する。本システム10には処理用計算機が3台登録されており、ファイルA、B、Cが図18に示したデータ構造・統計情報管理テーブル70Aに示すように各処理用計算機21の二次記憶装置32に格納されている。この時、分析要求計算機25から分析要求S2301が管理用計算機20に送信される。すると、管理用計算機20は分析要求受付処理S2302、分析実行場所決定処理S2303を実行し、分析要求S2304を処理用計算機3(21−3)で実行することを決定する。分析要求受付処理S2302、分析実行場所決定処理S2303については第1の実施の形態の図13、図14と同様であるため、説明を省略する。分析実行場所決定処理S2303の結果、分析処理を処理用計算機3(21−3)で実行することが決定されたので、処理用計算機3(21−3)は分析処理S2305を実行する。この時、管理用計算機20では、統計情報記録処理S2307を実行し、分析要求計算機25から送信された分析要求が処理用計算機3(21−3)で実行されたことを図18に示したデータ構造・統計情報管理テーブル70Aに記録する処理を行う。統計情報記録処理S2307の詳細については後述する。
ここで、統計情報記録部700が実行する統計情報記録処理S2307について説明する。図20は、統計情報記録処理S2307の一例を示すフローチャートである。統計情報記録部700は、直前に実行された分析実行場所決定処理S2303で決定した処理用計算機21と、分析処理S2305で使用したファイルから、データ構造・統計情報管理テーブル70Aの参照数フィールドを更新する処理を実行する。統計情報記録部700は、S700で処理を開始すると、まず、図18で示したデータ構造・統計情報管理テーブル70Aから、分析実行場所決定処理S2303で選択された処理用計算機21の列を選択する(S701)。次に、選択した列から、分析要求で使用したファイルの行を選択する(S702)。次に、選択した列と行が交差するセルの値を確認する(S703)。セルの値が元ファイルを表す0であると判定した場合には、統計情報記録部700はS704の処理に進む(S704、0)。一方、セルの値が変換済ファイルを表す1であると判定した場合には、統計情報記録部700はS705の処理に進む(S705、1)。S704の処理に進んだ場合、統計情報記録部700は選択した行の参照数フィールドの左側の値を1増やす(S704)。一方、S705の処理に進んだ場合には、統計情報記録部700は選択した行の参照数フィールドの右側の値を1増やす(S705)。S706で統計情報記録部700は処理を終了する。
次に、保持割合変更決定部800が実行する、保持割合変更決定処理S2401について説明する。図21に、保持割合変更決定処理S2401で選択されたファイルに対して、データ構造の保持割合を変更する場合のシーケンス図の例を示している。保持割合変更決定処理S2401が行われるタイミングは任意に設定可能である。例えばユーザが手動で保持割合変更決定部800に実行させることもできるし、管理用計算機20が保持割合変更決定部800に定期的に実行させる構成も本発明に適用可能である。保持割合変更決定処理S2401の詳細は後述する。また、シーケンス図中のデータ構造変換指示S2402、データ構造変換処理S2403は、あくまで例であり、保持割合変更決定処理S2401の決定によっては、データ構造逆変換指示、データ構造逆変換処理となる場合も存在する。
具体的な例を元に、本シーケンス図を説明する。本システム10には処理用計算機21が3台登録されており、あるファイルAについて、保持割合変更決定処理S2401が保持割合の変更をすると決定した場合を考える。この時、ファイルAは、図18で示したデータ構造・統計情報管理テーブル70Aの72−A行に示したように、処理用計算機1、2、3にそれぞれ格納されている。また、ファイルAについて、元ファイルと変換済ファイルの保持割合は、74−Aに記載されているように2:1であり、元ファイルと変換済ファイルの参照数は75−Aに記載されている2:6であるとする。
図21に示すように、まず管理用計算機20は、保持割合変更決定処理S2401を実行する。保持割合変更決定処理S2401の詳細は後述するが、本シーケンス図の例では、保持割合変更決定処理S2401を実行した結果、現在の保持割合2:1を、参照数2:6に最も近い新たな保持割合1:2に変更することが決定される。さらに、現在の保持割合2:1を新たな保持割合1:2に変更するため、処理用計算機2(21−2)に格納されたファイルAの元ファイルに対して、データ構造の変換を指示することが決定され、データ構造変換指示S2402を処理用計算機2(21−2)に送信する。データ構造変換指示S2402を受信した処理用計算機2(21−2)では、データ構造変換指示で指定されたファイルAの元ファイルに対してデータ構造変換処理S2403を実行し、ファイルAの変換済ファイルを得る。データ構造変換処理S2403は、図11で示した処理と同一である。ファイルAの元ファイルに対するデータ構造変換処理S2403が完了後、処理用計算機2(21−2)は管理用計算機20に対して変換完了通知S2404を送信して処理を終了する。以上の処理により、ファイルAについて元ファイルと変換済ファイルの保持割合が2:1であった状態から、参照数である2:6により近い、新たな保持割合1:2の状態に変更される。
ここで、保持割合変更決定部800が実行する、保持割合変更決定処理S2401について説明する。図22は、保持割合変更決定処理S2401の一例を示すフローチャートである。保持割合変更決定部800は、本システム10に格納されている全てのファイルについて、元ファイルと変換済ファイルの保持割合の変更が必要かどうかを確認し、必要であれば、新たな保持割合を決定し、データ構造の変換もしくは逆変換を処理用計算機21に指示することにより、元ファイルと変換済ファイルの保持割合を変更する処理を実行する。以降、図22を参照して処理を説明する。
まず、保持割合変更決定部800は、S800で処理を開始すると、図3に示したポリシー定義ファイル50からファイルの冗長度51を読み出す(S801)。以降、ファイルの冗長度をeとする。次に、図18で示したデータ構造・統計情報管理テーブル70Aに登録されている全てのファイルについて、S802からS815までを繰り返す。次に、データ構造・統計情報管理テーブル70Aから各ファイルの保持割合(74−A〜74−C)と参照数(75−A〜75−C)とを読み出す(S803)。以降、読み出した保持割合をa:b、読み出した参照数をc:dとする。
保持割合変更決定部800は、読み出した保持割合と参照数の傾向が同じであるか判定する(S804)。具体的な判定方法の例は以下のようである。すなわち、a/(a+b)の値とc/(c+d)の値を比較して、1/(a+b)以上の差があれば、保持割合と参照数の傾向が異なると判定する。一方、差が1/(a+b)未満であれば、保持割合と参照数の傾向は同じであると判定する。上記で示した保持割合と参照数の傾向の判定方法はあくまで一例であり、これに限定されるものではない。
S804において、保持割合と参照数の傾向が同じだと判定した場合には(S804、同じ)、保持割合変更決定部800は、ループ終端(S815)まで処理をスキップする。一方、保持割合と参照数の傾向が異なると判定した場合には(S804、異なる)、保持割合変更決定部800はS805の処理に進む。
保持割合変更決定部800は、参照数c:dに近い新たな保持割合を決定する(S805、S806)。ここでは、新たな保持割合の決定方法の例を挙げる。すなわち、これから決定する新たな保持割合をa’:b’(a’、b’は負でない整数)と置く。この時、a’/eとc/(c+d)の差の絶対値が最小となる負でない整数値a’を求める。次にb’=e−a’を計算する。以上から、新たな保持割合a’:b’を決定することができる。なお、上記で挙げた決定方法はあくまで一例であり、これに限定されるものではない。
上記の決定方法の例に従うと、例えば、ファイルの冗長度(e)が3、元ファイル・変換済ファイルの保持割合(a:b)が2:1、参照数(c:d)が1:2だった場合には、新たな保持割合a’:b’は1:2となる。
次に、保持割合変更決定部800は、変換済ファイルの目標保持数を計算する(S807)。ここでの目標保持数は、S806で計算したb’と同一である。次に、保持割合変更決定部800は、図18に示したデータ構造・統計情報管理テーブル70Aを参照して、現在の変換済ファイルの保持数と、S807で計算した目標保持数が一致するまでS808からS814までの処理を繰り返す。現在の変換済ファイルの保持数と、S807で計算した目標保持数が一致しないと判定した場合、引き続き現在の変換済ファイルの保持数と、目標保持数を比較する(S809)。S809での比較の結果、現在の変換済ファイルの保持数の方が小さいと判定した場合(S809、現在の方が小さい)、保持割合変更決定部800は、元ファイルから変換済ファイルへのデータ構造変換処理を行う(S810)。具体的には、新たに決定した保持割合になるように、元ファイルを格納した処理用計算機21の中からランダムに対象計算機を選び、データ構造変換指示を送信する。その後、データ構造・統計情報管理テーブル70Aを最新の情報に更新し(S811)、現在の変換済ファイルの保持数と目標保持数が一致するまで、S808の処理に戻る。
一方、S809の比較の結果、現在の変換済ファイルの保持数の方が大きいと判定した場合(S809、現在の方が大きい)、保持割合変更決定部800は、変換済ファイルから元ファイルへのデータ構造逆変換処理を行う(S812)。具体的には、新たに決定した保持割合になるように、変換済ファイルを格納した処理用計算機21の中からランダムに対象計算機を選び、データ構造の逆変換指示を送信する。その後、データ構造・統計情報管理テーブル70Aを最新の情報に更新し(S813)、現在の変換済ファイルの保持数と目標保持数が一致するまで、S808の処理に戻る。現在の変換済ファイルの保持数と目標保持数が一致した場合、処理を終了する(S816)。
[第3の実施の形態]
次に、本発明の第3実施形態について説明する。本実施の形態では、分析要求の統計情報と、各処理用計算機の負荷情報とを用いて元ファイル・変換済ファイルの保持割合の効率の良い動的な変更も行えるシステムの例を示している。
第2の実施の形態では、統計情報記録部700、保持割合変更決定部800、データ構造・統計情報管理テーブル70Aにより統計情報に基づいた元ファイル・変換済ファイルの保持割合の動的な変更を実現する構成を提案している。本実施の形態では、第2の実施の形態における動的な保持割合の変更を行う際に、各計算機の負荷情報を用いて動的な保持割合の変更を行うことで、より効率の良い保持割合の変更を実現する。また、データ構造の変換、及び逆変換処理の新たな方法として、変換後の形式のファイルをすでに保持している処理用計算機21からコピーする方式を採用している。
図23は、第3の実施の形態における本システム10の構成例を示す図である。本実施の形態では、図17に例示した第2の実施形態の構成と比較して、管理用計算機20の主記憶装置31−0に第3の実施の形態における保持割合変更決定部800Aと、データ構造変換方法決定部900とが追加されている点が異なる。また、管理用計算機20の二次記憶装置32−0に変換ルール定義ファイル90が追加されている。加えて、各処理用計算機(21−1〜21−3)には、負荷情報通知部1500、及びデータ置換部1600が追加されている。
図24は、図23で示した変換ルール定義ファイル90の例である。変換ルール定義ファイル90は、処理用計算機21のCPU使用率、ネットワーク使用率等の負荷情報の閾値の条件と、全ての条件を満たす場合の処理を定義するファイルである。本実施の形態における定義例では、CPU使用率、ネットワーク使用率について、閾値の条件を定義し、両方を満たす場合に行うべき処理(91〜94)が記述されている。図24の例では、処理用計算機21のCPU使用率が50%以上と高い場合には、各処理用計算機21の負荷を軽減させるために各処理用計算機21でのデータ変換処理に代えてすでに該当ファイルを保持している処理用計算機21からのコピー処理を行う設定としている。なお、定義例として示した値はあくまで例であり、より細かく定義することも可能である。また、CPU使用率、ネットワーク使用率を条件として定義しているが、条件はこれらに限定されるものではなく、これ以外の処理用計算機21の負荷情報についても定義可能である。
図25は、本実施の形態における、保持割合変更決定部800A、及びデータ構造変換方法決定部900がそれぞれ保持割合変更決定処理S2501、データ構造変換方法決定処理S2508を実行し、データ構造変換処理S2512の実行を指示する場合(S2510)と、データ置換処理S2527の実行を指示する場合(S2520)のシーケンス図の例である。データ構造変換処理S2512の実行と、データ置換処理S2527の実行のどちらを指示するかは、データ構造変換方法決定処理S2508で決定されるが、詳細は後述する。シーケンス図中のデータ構造変換指示S2511、データ構造変換処理S2512は、あくまで例であり、保持割合変更決定処理S2501、データ構造変換方法決定処理S2508の決定によっては、データ構造逆変換指示、データ構造逆変換処理となる場合も存在する。保持割合変更決定処理S2501、データ構造変換方法決定処理S2508、及び負荷情報通知処理S2504〜S2505の詳細は後述する。また、データ構造変換処理S2512は図11と同一の処理であるため、説明を省略する。
具体的な例を元に、図25のシーケンス図に例示される処理を説明する。本システム10には処理用計算機21が3台登録されており、あるファイルAについて、保持割合変更決定処理S2501が保持割合の変更をすると決定した場合を想定する。この時、図18で示したデータ構造・統計情報管理テーブル70Aの72−A行に示したように、ファイルAの元ファイルは処理用計算機1、2に、変換済ファイルは処理用計算機3に、それぞれ格納されている。また、ファイルAについて、元ファイルと変換済ファイルの保持割合は、図18のセル74−Aに記載されている2:1であり、元ファイルと変換済ファイルの参照数は図18のセル75−Aに記載されている2:6であるとする。
まず、管理用計算機20は、保持割合変更決定処理S2501を実行する。本実施の形態に係る保持割合変更決定処理S2501の詳細は後述するが、図23のシーケンス図の例では、保持割合変更決定処理S2501を実行した結果、現在の保持割合2:1を、参照数2:6に最も近い新たな保持割合1:2に変更することが決定される。さらに、現在の保持割合2:1を新たな保持割合1:2に変更するため、管理用計算機20が処理用計算機1(21−1)、処理用計算機2(21−2)に対して負荷情報通知指示S2502〜S2503を送信する。この時、保持割合変更決定処理S2501で処理対象とするファイルを、今後対象ファイルと呼ぶ。負荷情報通知指示S2502〜S2503を受信した処理用計算機1(21−1)、処理用計算機2(21−2)は、負荷情報通知処理S2504〜S2505を実行し、管理用計算機20に負荷情報S2506〜S2507を送信する。負荷情報としては、例えば先に記したCPU使用率、ネットワーク使用率等の情報を含めることができる。
管理用計算機20は、処理用計算機1(21−1)、処理用計算機2(21−2)の負荷情報S2506〜S2507を受信後、データ構造変換方法決定処理S2508を実行する。データ構造変換方法決定処理S2508の詳細は後述するが、データ構造変換方法決定処理S2508は、データ構造変換処理を選択する場合(S2510)と、データ置換処理を選択する場合(S2520)の二つのパターンに分けられる。ここからはそれぞれのパターンについて、場合を分けて説明する。
まず、データ構造変換方法決定処理S2508で、データ構造変換処理が選択された場合(S2510)について説明する。データ構造変換方法決定処理S2508の結果、処理用計算機2(21−2)でデータ構造変換処理の実行が決定され、保持割合変更決定部800は、処理用計算機2(21−2)に、対象ファイルの元ファイルに対するデータ構造変換指示S2511を送信する。処理用計算機2(21−2)は、データ構造変換指示S2511を受信後、対象ファイルの元ファイルに対してデータ構造変換処理S2512を実行し、対象ファイルの元ファイルを変換済ファイルに変換する。変換後、処理用計算機2(21−2)は、管理用計算機20に変換完了通知S2513を送信して処理を終了する。以上の処理により、元ファイルAと変換済ファイルaの保持割合が2:1であった状態から、参照数である2:6により近い、新たな保持割合1:2の状態に変更される。
次に、データ構造変換方法決定処理(S2508)で、データ置換処理が選択された場合(S2520)について説明する。データ構造変換方法決定処理S2508の結果、処理用計算機3(21−3)と処理用計算機2(21−2)の間でデータ置換処理を実行することが決定され、管理用計算機20は、処理用計算機3(21−3)に対して、対象ファイルを処理用計算機2(21−2)に対して冗長化するようにデータ冗長化指示S2521を送信する。処理用計算機3(21−3)は、対象ファイルのデータ冗長化指示S2521を受信後、格納している対象ファイルに対してデータ冗長化処理S2522を実行し、処理用計算機2(21−2)に対して対象ファイルの変換済ファイルを送信する(S2523)。処理用計算機3(21−3)から変換済ファイルを受信した処理用計算機2(21−2)では、データ保存処理S2524を実行し、受信した変換済ファイルを二次記憶装置(32−2)に保存し、管理用計算機20に保存完了通知S2525を送信する。
管理用計算機20は、保存完了通知S2525を受信後、処理用計算機2(21−2)に対して、処理用計算機3(21−3)から受信した変換済ファイルと元々処理用計算機2(21−2)が保持していた元ファイルについて、データ置換指示S2526を送信する。データ置換指示S2526を受信した処理用計算機2(21−2)は、変換済ファイルと元ファイルに対してデータ置換処理S2527を実行し、処理用計算機2(21−2)の二次記憶装置(32−2)に元々保持していた置換対象の元ファイルを、処理用計算機3(21−3)から受信した変換済ファイルで上書きコピーし、管理用計算機20に対して置換完了通知S2528を送信する。以上の処理により、元ファイルと変換済ファイルの保持割合が2:1であった状態から、参照数である2:6により近い、新たな保持割合1:2の状態に変更される。
次に、負荷情報通知部1500が実行する負荷情報通知処理について説明する。図26は、負荷情報通知処理の一例を示すフローチャートである。負荷情報通知処理では、処理用計算機21が、管理用計算機20からの要求を受けて、負荷情報通知部1500が実行されている処理用計算機21の負荷情報を管理用計算機20に通知する。
負荷情報通知部1500は、S1500で処理を開始すると、管理用計算機20から負荷情報通知指示を受信し(S1501)、処理用計算機21の負荷情報を取得する(S1502)。処理用計算機21の負荷情報には、例えば、前記したCPU使用率、ネットワーク使用率のほか、ディスク使用率等が含まれ得るが、これらに限定されるものではない。負荷情報通知部1500は、処理用計算機21の負荷情報を取得後、取得した負荷情報を管理用計算機に通知して(S1503)、処理を終了する(S1504)。
次に、保持割合変更決定部800Aが実行する保持割合変更決定処理S2504〜S2505について説明する。図27は、保持割合変更決定処理S2504〜S2505の一例を示すフローチャートである。本実施の形態における保持割合変更決定部800Aは、第2の実施の形態における保持割合変更決定部800と比較して、処理用計算機21に対して負荷情報通知指示を送信する点が異なる。図22で示した第2の実施の形態における保持割合変更決定処理S2401のフローチャートと比較すると、変換済ファイルの目標保持数を計算するS807の後、データ構造変換処理の対象となる元ファイルを格納する処理用計算機21、又はデータ構造逆変換処理の対象となる変換済ファイルを格納する処理用計算機21に対して、負荷情報通知指示を送信するS850〜S853の処理が異なる。以降、図22と異なる部分に関してのみ説明する。
保持割合変更決定部800Aは、変換済ファイルの目標保持数を計算した後(S807)、現在の変換済ファイルの保持数と目標保持数の差の絶対値fを計算する(S850)。図18で示したデータ構造・統計情報管理テーブル70Aの72−A行のファイルAを例にすると、現在の変換済ファイルの保持数は1、目標保持数はS805〜S807までの結果から2となるので、S850で計算されるfは1である。次に、現在の変換済ファイルの保持数と、目標保持数とを比較する(S851)。現在の変換済ファイルの保持数と、目標保持数と一致していると判定した場合は、保持割合変更決定部800Aは、S815の処理へ進む(S851、一致)。現在の変換済ファイルの保持数の方が小さいと判定した場合には(S851、現在の方が小さい)、保持割合変更決定部800Aは、図18で示したデータ構造・統計情報管理テーブル70Aを参照し、元ファイルを格納した処理用計算機21全てに対して、負荷情報通知指示を送信する(S852)。現在の変換済ファイルの保持数の方が大きいと判定した場合には(S851、現在の方が大きい)、保持割合変更決定部800Aは、図18で示したデータ構造・統計情報管理テーブル70Aを参照し、変換済ファイルを格納した処理用計算機21全てに対して、負荷情報通知指示を送信する(S853)。ここで送信した負荷情報通知指示を受けて返される各処理用計算機21の負荷情報と、S850で計算した現在の変換済ファイルの保持数と目標保持数の差の絶対値fは、図28のデータ構造変換方法決定処理において利用される。
次に、データ構造変換方法決定部900が実行するデータ構造変換方法決定処理S2508について説明する。図28は、データ構造変換方法決定処理S2508の一例を示すフローチャートである。データ構造変換方法決定部900は、図27で示した本実施の形態における保持割合変更決定部800Aにおいて、S802〜S815で決定した全てのファイルに対して、S852、S853のいずれかで負荷情報の通知を指示した処理用計算機21の中から、ファイルのデータ構造の保持割合の変更を効率良く行う方法を選択、決定し、指示する。以降、図28を用いて処理を説明する。
データ構造変換方法決定部900は、図27で示した本実施の形態における保持割合変更決定部800Aが決定した保持割合の変更を行う全ファイルに対して、S901〜S915のステップを繰り返す。まず、データ構造変換方法決定部900は、S900で処理を開始すると、保持割合の変更を行うファイルに対して、保持割合変更決定部800Aが各処理用計算機21に指示した負荷情報を全て受信する(S902)。S902で受信する負荷情報は、図25における負荷情報S2506〜S2507に対応する。
次に、 図27に示した保持割合変更処理のS850において決定したfの値と、S902で受信した処理用計算機21の負荷情報に含まれるCPU使用率の情報を用いて、CPU使用率の低い順に処理用計算機21をf台選択する(S903)。ここで選択した計算機を指示対象計算機と呼び、その中に格納されている変換対象となる元ファイル又は変換済ファイルを変換対象ファイルと呼ぶ。さらに、変換対象ファイルに対して、データ構造変換処理、データ構造逆変換処理を適用したファイルを変換後ファイルと呼ぶ。具体的には、変換対象ファイルが元ファイルであれば、変換後ファイルは変換済ファイルであり、変換対象ファイルが変換済ファイルであれば、変換後ファイルは元ファイルである。
データ構造変換方法決定部900は、全ての指示対象計算機に対して、S904〜S914を繰り返す。まず、指示対象計算機に格納されている変換対象ファイルに対して、変換後ファイルが他の計算機に格納されているかをチェックする(S905)。S905でのチェックは、図18に示したデータ構造・統計情報管理テーブル70Aを参照して行うことができる。指示対象計算機以外の計算機に変換後ファイルが格納されていると判定した場合、データ構造変換方法決定部900はS906の処理に進む(S905、存在する)。一方、指示対象計算機以外に変換後ファイルが格納されていないと判定した場合は、データ構造変換方法決定部900はS910の処理に進む(S905、存在しない)。
データ構造変換方法決定部900は、S906において、S902で取得した指示対象計算機の負荷情報と図24に示す変換ルール定義ファイル90とから、処理91〜94を導出する。導出した処理が“変換”であった場合には、データ構造変換方法決定部900はS910の処理に進む(S906、変換)。一方、導出した処理が“コピー”であった場合には、データ構造変換方法決定部900はS907の処理に進む(S906、コピー)。
初めに、S906での判定で導出した処理が“変換”であった場合に実行される処理S910〜S912を説明する。なお、ここでの処理の流れは、図25でのS2510〜S2513に対応する。まず、データ構造変換方法決定部900は変換対象ファイルのデータ構造を確認する(S910)。変換対象ファイルのデータ構造が元ファイルであると判定した場合には(S910、元ファイル)、データ構造変換方法決定部900は変換対象ファイルのデータ構造を元ファイルから変換済ファイルに変換するため、指示対象計算機に対して、データ構造の変換を指示する(S911)。一方、変換対象ファイルのデータ構造が変換済ファイルであると判定した場合には(S910、変換済ファイル)、データ構造変換方法決定部900は変換対象ファイルのデータ構造を変換済ファイルから元ファイルに変換するため、指示対象計算機に対して、データ構造の逆変換を指示する(S912)。図25では、データ構造の変換指示を出した場合の処理を例示しており、S911でのデータ構造変換指示が、図25でのS2511に対応する。S911、S912でいずれかの指示を出した後、データ構造変換方法決定部900はS913の処理へ進む。
次に、S906での判定で導出した処理が“コピー”であった場合に実行される処理S907〜S909を説明する。なお、ここでの処理の流れは、図25でのS2520〜S2528に対応する。まず、データ構造変換方法決定部900は、S905でチェックした変換対象ファイルの変換後ファイルを格納している計算機を1台選択する(S907)。次いで、データ構造変換方法決定部900は、選択した計算機に対して、指示対象計算機に向けてデータ冗長化を指示する(S908)。ここでのデータ冗長化指示は、図25でのS2521に対応する。データ冗長化指示を受信した処理用計算機は、変換対象ファイルの変換後ファイルを指示対象計算機に向けて送信する。変換対象ファイルの変換後ファイルを受信した指示対象計算機では、データ保存処理を行い、管理用計算機に保存完了通知を送信する。管理用計算機は、保存完了通知を受信後、指示対象計算機に対してデータ置換処理を指示する(S909)。ここでのデータ置換指示は、図25でのS2526に対応する。その後、S913に進む。
データ構造変換方法決定部900は、S907〜S909、又はS910〜S912での処理を終えた後、データ構造・統計情報管理テーブル70Aの記録内容を最新の情報で更新する(S913)。その後、S904、S901に戻り、所定の条件で処理ループを繰り返した後(S914、S915)、処理を終了する(S916)。
以上説明した本発明の第3実施形態によれば、分析要求の統計情報と、各処理用計算機の負荷情報とを用いて、本システム10のデータ処理効率をより向上させるべく、元ファイル・変換済ファイルの保持割合を動的に変更することができる。
以上その実施形態に即して説明した本発明によれば、情報処理システム内に余計なデータを持つことなく、データの耐障害性を保ちながら、半構造化データの分析を高速に実行することができる情報処理システム及び情報処理方法が提供される。
なお、本実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
10 情報処理システム
20 管理用計算機
21 処理用計算機
24 格納要求計算機
25 分析要求計算機
40 計算機定義ファイル
50 ポリシー定義ファイル
60 分析要求設定ファイル
70 データ構造管理テーブル
70A データ構造・統計情報管理テーブル
80 ファイル
90 変換ルール定義ファイル
100 データ配置決定部
200 データ冗長化決定部
300 データ構造変換決定部
400 分析要求受付部
500 分析実行場所決定部
600 データ復元決定部
700 統計情報記録部
800 保持割合変更決定部
800A 保持割合変更決定部
900 データ構造変換方法決定部
1000 データ保存部
1100 データ冗長化部
1200 データ構造変換部
1300 データ構造逆変換部
1400 分析処理部
1500 負荷情報通知部
1600 データ置換部

Claims (15)

  1. 外部装置からの要求に応じてデータの格納及び格納した前記データの分析を実行する情報処理システムであって、
    それぞれが前記データの格納領域を提供している、複数のデータ格納部と、
    それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのデータ構造に対して所定の操作を実行する、複数のデータ構造操作部と、
    それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのいずれかを他の前記データ格納部に送信する、複数のデータ冗長化部と、
    前記外部装置から要求された前記データを、複数の前記データ格納部のいずれに格納するかを決定するデータ配置決定部と、
    複数の前記データ冗長化部にいずれかの前記データの他の前記データ格納部への送信をさせるデータ冗長化決定部と、
    各前記データ構造操作部に前記データ格納部に格納されている前記データの前記データ構造を操作させるデータ構造操作決定部と、
    複数の前記データ格納部に格納する前記データ及び前記データのデータ構造に関する情報であるデータ構造管理情報を保持しているデータ構造管理情報保持部と、
    前記外部装置から前記データ格納部に格納された前記データに対する分析要求を受け付けて、前記分析要求に係る前記データの分析処理を実行する分析処理部と、を備え、
    前記データ配置決定部は、前記外部装置から格納要求を受けた前記データについて、あらかじめ設定されている、前記情報処理システム内での格納数とその格納される前記データに関する前記データ構造を取得し、前記データ構造管理情報保持部に格納されている対応データの前記データ構造管理情報を参照して、前記格納要求に係る前記データを格納すべき前記データ格納部を決定して前記外部装置に通知し、
    前記データ冗長化決定部は、前記データ構造管理情報保持部を参照して前記格納要求に係る前記データの複製作成及び作成した複製の格納先である前記データ格納部への送信を前記データ冗長化部に指示し、
    前記データ構造操作決定部は、前記データ構造管理情報保持部に記録されている前記データ構造管理情報を参照して、いずれかの前記複製が格納された前記データ格納部に格納された前記データについてデータ操作を実行する指示を前記データ構造操作部に送信し、
    前記分析処理部は、前記分析要求の内容に応じていずれかの前記データ格納部に格納されている前記データ構造操作後の前記データ又はデータ構造未操作の前記データのいずれかにより前記分析処理を実行する、
    情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記データ構造操作決定部は、前記外部装置からの前記格納要求に係る前記データについて前記データ構造管理情報保持部に記録されている前記データ構造管理情報に応じて、複数の前記データ構造操作部のいずれかに、前記格納要求に係る前記データに対する前記データ構造操作処理を実行させる、情報処理システム。
  3. 請求項1に記載の情報処理システムであって、
    前記外部装置からの前記分析要求の内容に基づいて、分析対象である前記データにつき前記データ構造に対する前記データ操作または前記データ構造未操作のいずれの前記データ構造を有する前記データを用いるか判定し、その判定結果に従って、前記データ構造管理情報保持部を参照して該当するデータ構造操作後又はデータ構造未操作のデータが格納されているいずれかの前記データ格納部に格納されているデータに対して分析処理を実行する、分析実行場所決定部を備える、
    情報処理システム。
  4. 請求項1に記載の情報処理システムであって、
    いずれかの前記データ格納部に障害が発生したことを検知した場合、前記データ構造管理情報保持部に格納されている前記データ構造管理情報を参照して、障害が発生した前記データ格納部に格納されていたデータとそのデータ構造を取得し、障害が発生した前記データ格納部に格納されていた前記データを、障害が発生した前記データ格納部以外のいずれかの前記データ格納部に格納されている前記データを用いて、当該いずれかのデータ格納部に関連付けられている前記データ冗長化部及び前記データ構造操作部により復元させる、
    情報処理システム。
  5. 請求項1に記載の情報処理システムであって、
    前記外部装置から受け付けた分析要求に基づいて、分析対象である前記データの参照数を、前記データ構造別に記録する統計情報記録部と、
    各前記データについて、前記データ構造操作後、及び前記データ構造未操作の前記データ構造ごとの保持割合を変更する指示を出す保持割合変更決定部と、を備え、
    前記データ構造管理情報保持部は、各前記データ構造別の前記参照数、及び前記データ構造ごとの保持割合をさらに記録しており、
    前記保持割合変更決定部は、各前記データ格納部が格納する前記データの前記データ構造ごとの保持割合と、前記統計情報記録部で記録された前記データ構造別の前記参照数を用いて、各前記データの前記データ構造ごとの保持割合を変更するか判定し、変更すると判定した場合には新たな前記データ構造ごとの保持割合を決定し、前記データ冗長部、及び前記データ構造操作部に、前記データ構造の操作又は操作後の前記データ構造の復元を実行させる、
    情報処理システム。
  6. 請求項5に記載の情報処理システムであって、
    前記データ格納部に格納されている前記データの前記データ構造を変更する場合に、当該データの前記データ構造を操作するか、又は他の前記データ格納部に格納されている所望の前記データ構造を有する前記データを取得するかを決定し、該当する前記データ格納部に関連付けられている前記データ冗長化部に指示するデータ構造変更方法決定部と、
    それぞれが各前記データ格納部に関連付けられており、前記各データ格納部に関する負荷情報を他の前記データ格納部に通知する負荷情報通知部と、
    それぞれが各前記データ格納部に関連付けられており、前記データ格納部に格納された前記データを他の前記データ格納部から受信した前記データに置き換えるデータ置換部と、
    を備え、
    前記保持割合変更決定部は、前記統計情報記録部により、前記データ構造管理情報保持部に記録された前記外部装置からの分析要求対象である前記データの前記データ構造別の前記参照数及び前記データ構造ごとの保持割合を用いて、各前記データの前記データ構造ごとの保持割合を変更するか判定し、変更すると判定した場合には前記参照数に基づいて新たな前記データ構造ごとの保持割合を決定し、前記データ構造変更方法決定部が前記データに関する前記データ構造の操作、又はいずれかの前記データ格納部に格納されている前記データの複製作成及びデータ置換を実行させるかを決定するため、各前記データ格納部に関する負荷情報を通知するよう指示し、
    前記データ構造変更方法決定部は、各前記データ格納部に関して受領した前記負荷情報を用いて、前記データ構造の操作をさせるか、前記データ冗長部および前記データ置換部に前記データの複製作成及びデータ置換を実行させるかを決定し、
    前記データ置換部は、他の前記データ冗長部が送信した前記データを受信し、前記データ格納部に格納されたデータと置き換える処理を行う、
    情報処理システム。
  7. 請求項1から請求項6までのいずれかに記載の情報処理システムであって、
    前記データ構造操作部は、一定の規則に従って定義された可逆変換可能な変換元ファイルについて、変換処理を適用した変換済ファイルに変換するデータ構造変換部と、前記一定の規則に従って定義された可逆変換可能な変換済ファイルについて、逆変換処理を適用した変換元ファイルに変換するデータ構造逆変換部とを有する、
    情報処理システム。
  8. 請求項7に記載の情報処理システムであって、
    前記データ構造はカンマ区切り値形式であり、前記データ構造変換部は、前記データの行の値と列の値とを入れ替える転置処理を実行し、前記データ構造逆変換部は、前記転置処理されたデータの行の値と列の値とを入れ替える逆転置処理を実行する、
    情報処理システム。
  9. 請求項7に記載の情報処理システムであって、
    前記データ構造変換部は、前記データを適宜のアルゴリズムを用いて圧縮し、前記データ構造逆変換部は、前記圧縮されたデータについて、前記アルゴリズムにより復元する、
    情報処理システム。
  10. 外部装置からの要求に応じてデータの格納及び格納した前記データの分析を実行する情報処理システムの制御方法であって、
    前記情報処理システムは、
    それぞれが前記データの格納領域を提供している、複数のデータ格納部と、
    それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのデータ構造に対して所定の操作を実行する、複数のデータ構造操作部と、
    それぞれが各前記データ格納部に関連付けられて、前記データ格納部に格納されている前記データのいずれかを他の前記データ格納部に送信する、複数のデータ冗長化部と、
    前記外部装置から要求された前記データを、複数の前記データ格納部のいずれに格納するかを決定するデータ配置決定部と、
    複数の前記データ冗長化部にいずれかの前記データの他の前記データ格納部への送信をさせるデータ冗長化決定部と、
    各前記データ構造操作部に前記データ格納部に格納されている前記データの前記データ構造を操作させるデータ構造操作決定部と、
    複数の前記データ格納部に格納する前記データ及び前記データのデータ構造に関する情報であるデータ構造管理情報を保持しているデータ構造管理情報保持部と、
    前記外部装置から前記データ格納部に格納された前記データに対する分析要求を受け付けて、前記分析要求に係る前記データの分析処理を実行する分析処理部と、を備え、
    前記データ配置決定部は、前記外部装置から格納要求を受けた前記データについて、あらかじめ設定されている、前記情報処理システム内での格納数とその格納される前記データに関する前記データ構造を取得し、前記データ構造管理情報保持部に格納されている対応データの前記データ構造管理情報を参照して、前記格納要求に係る前記データを格納すべき前記データ格納部を決定して前記外部装置に通知し、
    前記データ冗長化決定部は、前記データ構造管理情報保持部を参照して前記格納要求に係る前記データの複製作成及び作成した複製の格納先である前記データ格納部への送信を前記データ冗長化部に指示し、
    前記データ構造操作決定部は、前記データ構造管理情報保持部に記録されている前記データ構造管理情報を参照して、いずれかの前記複製が格納された前記データ格納部に格納された前記データについてデータ操作を実行する指示を前記データ構造操作部に送信し、
    前記分析処理部は、前記分析要求の内容に応じていずれかの前記データ格納部に格納されている前記データ構造操作後の前記データ又はデータ構造未操作の前記データのいずれかにより前記分析処理を実行する、
    情報処理システムの制御方法。
  11. 請求項10に記載の情報処理システムの制御方法であって、
    前記データ構造操作決定部は、前記外部装置からの前記格納要求に係る前記データについて前記データ構造管理情報保持部に記録されている前記データ構造管理情報に応じて、複数の前記データ構造操作部のいずれかに、前記格納要求に係る前記データに対する前記データ構造操作処理を実行させる、情報処理システムの制御方法。
  12. 請求項10に記載の情報処理システムの制御方法であって、
    記外部装置からの前記分析要求の内容に基づいて、分析対象である前記データにつき前記データ構造に対する前記データ操作または前記データ構造未操作のいずれの前記データ構造を有する前記データを用いるか判定し、その判定結果に従って、前記データ構造管理情報保持部を参照して該当するデータ構造操作後又はデータ構造未操作のデータが格納されているいずれかの前記データ格納部に格納されているデータに対して分析処理を実行する、
    情報処理システムの制御方法。
  13. 請求項10に記載の情報処理システムの制御方法であって、
    いずれかの前記データ格納部に障害が発生したことを検知した場合、前記データ構造管理情報保持部に格納されている前記データ構造管理情報を参照して、障害が発生した前記データ格納部に格納されていたデータとそのデータ構造を取得し、障害が発生した前記データ格納部に格納されていた前記データを、障害が発生した前記データ格納部以外のいずれかの前記データ格納部に格納されている前記データを用いて、当該いずれかのデータ格納部に関連付けられている前記データ冗長化部及び前記データ構造操作部により復元させる、
    情報処理システムの制御方法。
  14. 請求項10に記載の情報処理システムの制御方法であって、
    前記情報処理システムは、
    前記外部装置から受け付けた分析要求に基づいて、分析対象である前記データの参照数を、前記データ構造別に記録する統計情報記録部と、
    各前記データについて、前記データ構造操作後、及び前記データ構造未操作の前記データ構造ごとの保持割合を変更する指示を出す保持割合変更決定部と、を備え、
    前記データ構造管理情報保持部は、各前記データ構造別の前記参照数、及び前記データ構造ごとの保持割合をさらに記録しており、
    前記保持割合変更決定部は、各前記データ格納部が格納する前記データの前記データ構造ごとの保持割合と、前記統計情報記録部で記録された前記データ構造別の前記参照数を用いて、各前記データの前記データ構造ごとの保持割合を変更するか判定し、変更すると判定した場合には新たな前記データ構造ごとの保持割合を決定し、前記データ冗長部、及び前記データ構造操作部に、前記データ構造の操作又は操作後の前記データ構造の復元を実行させる、
    情報処理システムの制御方法。
  15. 請求項14に記載の情報処理システムの制御方法であって、
    前記情報処理システムは、
    前記データ格納部に格納されている前記データの前記データ構造を変更する場合に、当該データの前記データ構造を操作するか、又は他の前記データ格納部に格納されている所望の前記データ構造を有する前記データを取得するかを決定し、該当する前記データ格納部に関連付けられている前記データ冗長化部に指示するデータ構造変更方法決定部と、
    それぞれが各前記データ格納部に関連付けられており、前記各データ格納部に関する負荷情報を他の前記データ格納部に通知する負荷情報通知部と、
    それぞれが各前記データ格納部に関連付けられており、前記データ格納部に格納された前記データを他の前記データ格納部から受信した前記データに置き換えるデータ置換部と、
    を備え、
    前記保持割合変更決定部は、前記統計情報記録部により、前記データ構造管理情報保持部に記録された前記外部装置からの分析要求対象である前記データの前記データ構造別の前記参照数及び前記データ構造ごとの保持割合を用いて、各前記データの前記データ構造ごとの保持割合を変更するか判定し、変更すると判定した場合には前記参照数に基づいて新たな前記データ構造ごとの保持割合を決定し、前記データ構造変更方法決定部が前記データに関する前記データ構造の操作、又はいずれかの前記データ格納部に格納されている前記データの複製作成及びデータ置換を実行させるかを決定するため、各前記データ格納部に関する負荷情報を通知するよう指示し、
    前記データ構造変更方法決定部は、各前記データ格納部に関して受領した前記負荷情報を用いて、前記データ構造の操作をさせるか、前記データ冗長部および前記データ置換部に前記データの複製作成及びデータ置換を実行させるかを決定し、
    前記データ置換部は、他の前記データ冗長部が送信した前記データを受信し、前記データ格納部に格納されたデータと置き換える処理を行う、
    情報処理システムの制御方法。
JP2014504599A 2012-03-16 2012-03-16 情報処理システム及び情報処理システムの制御方法 Expired - Fee Related JP5735702B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/056922 WO2013136520A1 (ja) 2012-03-16 2012-03-16 情報処理システム及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP5735702B2 true JP5735702B2 (ja) 2015-06-17
JPWO2013136520A1 JPWO2013136520A1 (ja) 2015-08-03

Family

ID=49160485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014504599A Expired - Fee Related JP5735702B2 (ja) 2012-03-16 2012-03-16 情報処理システム及び情報処理システムの制御方法

Country Status (3)

Country Link
US (1) US9317205B2 (ja)
JP (1) JP5735702B2 (ja)
WO (1) WO2013136520A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6056453B2 (ja) * 2012-12-20 2017-01-11 富士通株式会社 プログラム、データ管理方法および情報処理装置
JP6336302B2 (ja) * 2014-03-11 2018-06-06 株式会社電通国際情報サービス 情報処理装置、情報処理方法及びプログラム
CN104375959A (zh) * 2014-12-01 2015-02-25 浪潮集团有限公司 一种powerpc云存储平台采用nvdimm实现数据保护的方法
US9785792B2 (en) * 2016-03-04 2017-10-10 Color Genomics, Inc. Systems and methods for processing requests for genetic data based on client permission data
US10733476B1 (en) 2015-04-20 2020-08-04 Color Genomics, Inc. Communication generation using sparse indicators and sensor data
JP6550448B2 (ja) * 2017-12-18 2019-07-24 ヤフー株式会社 データ管理装置、データ管理方法、およびプログラム
EP3983906A4 (en) * 2019-06-17 2023-07-19 Umwelt (Australia) Pty. Limited DATA EXTRACTION PROCESS
JP2023136323A (ja) * 2022-03-16 2023-09-29 株式会社日立製作所 ストレージシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3024619B2 (ja) 1997-11-20 2000-03-21 三菱電機株式会社 ファイル管理方法
US7487395B2 (en) * 2004-09-09 2009-02-03 Microsoft Corporation Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
JP2006106985A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd 計算機システム、ストレージ装置及びストレージ管理方法
US8074103B2 (en) * 2007-10-19 2011-12-06 Oracle International Corporation Data corruption diagnostic engine

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6012030427; Greenplum Database : Critical Mass Innovation Architecture White Paper , 201008, p.1-17, EMC Corporateion *
JPN6012030429; 松下正之: 'GreenplumDBが持つ高速化機能とワークロード管理・可用性機能' ビッグデータのリーサルウェポン!徹底解析GreenplumDB , 20120201, Shoeisha Co., Ltd *

Also Published As

Publication number Publication date
US9317205B2 (en) 2016-04-19
US20140331084A1 (en) 2014-11-06
JPWO2013136520A1 (ja) 2015-08-03
WO2013136520A1 (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
JP5735702B2 (ja) 情報処理システム及び情報処理システムの制御方法
US9811549B2 (en) Applying a database transaction log record directly to a database table container
Basrak et al. An invariance principle for sums and record times of regularly varying stationary sequences
CN105339924A (zh) 作为服务的有效数据压缩和分析
KR102240137B1 (ko) 데이터베이스 키 식별
US10210186B2 (en) Data processing method and system and client
EP4095710B1 (en) Maintaining consistency of data between computing nodes of a distributed computer architecture
TW200537881A (en) Efficient algorithm and protocol for remote differential compression
US10255290B2 (en) Identification of high deduplication data
US11675743B2 (en) Web-scale distributed deduplication
JP7153420B2 (ja) データベース中にグラフ情報を記憶するためのb木使用
CN113961580A (zh) 数据查询方法、业务系统以及电子设备
US10083121B2 (en) Storage system and storage method
JP2013050836A (ja) ストレージシステムとデータ・インテグリティのチェック方法並びにプログラム
Przymus et al. Compression planner for time series database with GPU support
JP5637071B2 (ja) 処理プログラム、処理方法及び処理装置
US20220245097A1 (en) Hashing with differing hash size and compression size
CN111444194B (zh) 一种块链式账本中索引的清除方法、装置及设备
PURDILĂ et al. MR-Tree-A Scalable MapReduce Algorithm for Building Decision Trees.
EP3220290A1 (en) Processing of tabular data
US10841405B1 (en) Data compression of table rows
Heule et al. Clausal Proof Compression.
JP6336302B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2016170453A (ja) データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム
JP6679445B2 (ja) 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法

Legal Events

Date Code Title Description
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: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150416

R150 Certificate of patent or registration of utility model

Ref document number: 5735702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees