JP5905122B2 - 管理装置、管理方法及びプログラムを格納する記録媒体 - Google Patents
管理装置、管理方法及びプログラムを格納する記録媒体 Download PDFInfo
- Publication number
- JP5905122B2 JP5905122B2 JP2014549719A JP2014549719A JP5905122B2 JP 5905122 B2 JP5905122 B2 JP 5905122B2 JP 2014549719 A JP2014549719 A JP 2014549719A JP 2014549719 A JP2014549719 A JP 2014549719A JP 5905122 B2 JP5905122 B2 JP 5905122B2
- Authority
- JP
- Japan
- Prior art keywords
- subsystem
- server
- data
- replication
- subsystems
- 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
- 238000007726 management method Methods 0.000 title claims description 110
- 238000000034 method Methods 0.000 claims description 181
- 230000010076 replication Effects 0.000 claims description 165
- 238000012545 processing Methods 0.000 claims description 106
- 230000008569 process Effects 0.000 description 108
- 230000006870 function Effects 0.000 description 96
- 238000012546 transfer Methods 0.000 description 54
- 238000004458 analytical method Methods 0.000 description 35
- 238000012360 testing method Methods 0.000 description 33
- 230000009193 crawling Effects 0.000 description 16
- 230000000644 propagated effect Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000012805 post-processing Methods 0.000 description 8
- 238000009795 derivation Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、各サブシステム間でデータ伝播を行う計算機システムにおいて、各サブシステムの複製を行う際に、サブシステム間のデータ整合性を管理する管理装置、管理方法及びプログラムを格納する記録媒体に関する。
従来からシステムの冗長化や拡張等を目的とし、計算機の構成をイメージデータとして複製して、新たな計算機システムを作成する技術が知られている。例えば、特許文献1には、時刻指定または定期的にサーバのスナップショットを作成し、サーバに障害が生じた場合に、スナップショットから新たなサーバを構築し、システムを復旧することができる技術が開示されている。
近年のクラウド環境やビッグデータ処理等を実現する大規模計算機システムは、システム構成が大規模且つ複雑化する傾向にある。単に、システムを構成する物理計算機の数が増加するばかりではなく、仮想化技術の発達もあり、特定の処理を行うサーバ(仮想サーバを含む。サブシステムとして構成されることもある。)が互いに連携しあって一つの処理結果を出力する計算機システムを構成すること実現されており、その構成は複雑さが益々高くなってきている。
このような互いに連携して処理を行うシステムの一例として、データ形式が異なる構造化、半構造化及び非構造化データを管理し、これらの関係性を動的に導き出し、クライアント等からの要求に対する応答結果として出力する計算機システムがある。
このシステムでは、例えば、上述のような種々のデータを格納するデータソースから所定のデータを収集して所定のデータ形式への変換等が行われた処理後データを生成するETL(Extract/Transform/Load)と、ETLが生成した処理後データ間の関連性等を検索又は分析等するための元となる処理後データを生成するDWH(Data WareHouse)と、DWHに格納された処理後データを検索や分析し、その結果としての処理後データを生成する検索及び分析サーバといった解析用機能部等から構成される場合もある。ETLによってデータソースから収集されたデータは、所定契機(例えば、所定時刻)に、ETLからDWHに伝播(クローリング等)され、その後、DWHから検索サーバや分析サーバに伝播(クローリング等)されるようになっている。
そして、データソースに発生した更新を各機能サーバ(機能部)に反映させるため、所定の契機(例えば、所定時間間隔)で、データソースから検索及び分析サーバへのデータ伝播を順次繰り返すようになっている。即ちデータソースからクローリングされたデータが検索及び分析サーバに伝播し終わった時点で、計算機システム内の各機能サーバ(部)が保持するデータの整合性が確保されるといえる。
そして、データソースに発生した更新を各機能サーバ(機能部)に反映させるため、所定の契機(例えば、所定時間間隔)で、データソースから検索及び分析サーバへのデータ伝播を順次繰り返すようになっている。即ちデータソースからクローリングされたデータが検索及び分析サーバに伝播し終わった時点で、計算機システム内の各機能サーバ(部)が保持するデータの整合性が確保されるといえる。
さて、上述のように構成される計算機システムの複製を作成する場合、特許文献1に開示されるような単一の計算機の複製技術では実現し得ない種々の課題がある。
データソースから各機能サーバ(部)を経由してデータが伝播途中である場合には、各機能サーバ(部)に保持されたデータの整合性を欠く虞がある。例えば、データソースが更新され、その更新後データを収集したETL及びDWH間でデータのクローリングが実施されているとき、その時点で検索サーバや分析サーバに保持されているデータは、ETLとDWHでクローリング処理されている更新後データより前のデータである(即ちデータソースの方針が反映される前のデータを保持する)。
このようなタイミングで、特許文献1の技術を利用して計算機システムの複製を行うと、複製されたシステムの各機能サーバ(部)には整合性のないデータが保持されることとなる。即ち複製システムの運用を開始する場合に、先ず複製システム内の各機能サーバ間でデータの整合を図らなければならないという問題を招来する。
複製システムの用途は、単に予備系システムを構築することだけに留まらず、現用系の障害発生時の切替先としてや、現用系の負荷増大に対処するシステム拡張用というスケールアウト先として利用する場合もある。複製システム内の運用開始前にデータの整合性を図ることは利便性を欠くと共に即時運用の面でも大きな課題となる。
また、複製システムを処理動作のテスト目的で利用することも一般的に行われているが、処理テストを行う場合にも各機能サーバ(部)が保持するデータの整合性が保証されていなければ、テスト結果の検証は困難である。特に、大量データを処理対象とする計算機システムであればあるほど、データの整合性を保証するための処理もその分時間を要するため、著しく利便性を欠くという課題もある。
これら例のように、データに処理を施して次の機能サーバ(サブシステム)に伝播して利用する計算機システムの複製を行う場合、各機能サーバ(サブシステム)間でのデータの整合性を考慮した複製契機を管理する必要がある。
上記課題を解決するために、例えば、請求項1に記載の発明を適用する。即ち第1サブシステムが処理したデータに所定の処理を実行し、第3サブシステムのデータ処理の対象となるデータを生成する第2サブシステムを含む計算機システムを管理する管理装置であって、前記第1、第2及び第3サブシステムの各々で処理するデータの入力元サブシステム及び出力先サブシステムを示す情報が含まれた処理履歴情報並びに該入力元及び出力先サブシステムのデータ入出力の契機を示す情報が含まれた契機情報を取得し、前記処理履歴情報から、前記第1、第2及び第3サブステムにおけるデータ入出力の依存関係を検出し、前記依存関係に基づいて、入力元が存在しないサブシステムの次のサブシステム以降の夫々について、前記契機情報を参照して、該次のサブシステム以降のサブシステムの複製契機を演算し、前記複製契機に応じて、前記計算機システムと異なる他の計算機システム内に前記次のサブシステム以降のサブシステム夫々の複製を生成させる管理装置である。
本発明の一側面によれば、データが伝播される各サブシステム(機能部)間でデータ整合性が保証された複製契機を決定することができる。
本発明の他の課題や効果は、以下の実施形態の説明から、より明らかになるであろう。
本発明の他の課題や効果は、以下の実施形態の説明から、より明らかになるであろう。
〔第1実施形態〕
以下、図面を用いて発明を実施するための形態について説明する。先ず、本実施形態の概要について説明する。
図1に、本発明を適用した計算機システム1の概要を模式的に示す。
計算機システム1には、第1システム100及びその複製である第2システム200が含まれる。第1システム100には、有線又は無線のネットワーク10が接続され、クライアント190群と通信可能に接続される。クライアント190から送信された各種の要求に対し、処理結果を応答するようになっている。また、第2システム200にもネットワーク10が接続され、現用として稼動する際には、クライアント190群と通信が行われ、種々の処理を行うようになっている。
以下、図面を用いて発明を実施するための形態について説明する。先ず、本実施形態の概要について説明する。
図1に、本発明を適用した計算機システム1の概要を模式的に示す。
計算機システム1には、第1システム100及びその複製である第2システム200が含まれる。第1システム100には、有線又は無線のネットワーク10が接続され、クライアント190群と通信可能に接続される。クライアント190から送信された各種の要求に対し、処理結果を応答するようになっている。また、第2システム200にもネットワーク10が接続され、現用として稼動する際には、クライアント190群と通信が行われ、種々の処理を行うようになっている。
第1システム100には、種々のサブシステムを含む。サブシステムは、特定の処理を実行する機能部を意味するものとする。例えば、所定のアプリ、ミドルウェアやOSを物理的又は論理的(例えば仮想システム)に構築し、所定の入力に対し、所定の出力を実行する単位である。本実施形態では、分析サーバ110、検索サーバ120、DWH130及びETL140といった機能サーバがサブシステムの例として含まれるものとする。以下、各機能サーバをサブシステムと呼ぶ場合がある。
システム外部のデータソース150(サブシステムに含まれる。)に格納されたデータは、所定の契機(本例では、所定の時刻とする。)で、ELT140にクローリングされ、次いで、所定の時刻にDWH130にクローリングされ、その後、所定の時刻に、分析サーバ110及び検索サーバ120にそれぞれクローリングされて伝播されるようになっている。分析サーバ110及び/又は検索サーバ120では、クライアント190群からの要求に応じ、伝播されたデータに対して検索及び/又は分析処理が実行され、処理結果が、応答されるようになっている。
各機能サーバでは、データ伝播順序が前である機能サーバから取得したデータに対し、データ形式の変換や種々の加工処理が施された処理後データが生成される。生成された処理後データは次の機能サーバ内の処理対象として伝播されるようになっている。例えば、ETL140が収集するデータは、テキストデータ、イメージデータ及びそれらのメタデータであり、これらが所定のデータ形式に加工される。それら加工されたデータはDWH130で所定の保存形式に加工されて保存される。分析サーバ110や検索サーバ120は、DWH130に保存されたデータをクロールし、所定の分析対象データの抽出・分析や、インデックスの作成といった加工が施され、APサーバ180を介したクライアント190からのリクエスト応答に利用されるようになっている。
第2システム200は、第1システム100の複製システムである。複製は、第1システム100の各機能サーバにおいて、それぞれが保持するデータの反映が完了した後の実行が可能になっている。
同図において、先ずETL150によって、時刻「00:00」にデータソース150からのクローリング(円状の矢印で示す。)が開始され、「00:10」に完了することが示されている。その後「00:15」に、ETL140が、ETL240として第2システムに複製されるようになっている。
同様に、「00:30」に、DWH130によって、ETL140が「00:10」にクローリングを完了したデータのクローリングが開始される。「00:45」には、同クローリング及び処理後データの生成が完了し、その後、「00:50」に、DWH230として、DWH130が複製されるようになっている。
分析サーバ120では、DWH130の同一データに対して「01:00〜01:20」にクローリングが実行され、その後、「01:25」に第2システム200に複製されるようになっている。
検索サーバ120では、「01:50〜2:00」にDWH130からクローリングが行われ、「02:05」に検索サーバ220として第2システム200に複製されるようになっている。
検索サーバ120では、「01:50〜2:00」にDWH130からクローリングが行われ、「02:05」に検索サーバ220として第2システム200に複製されるようになっている。
なお、機能サーバのクローリング処理は、同一データに対して複数回実行される場合もある。例えば、図1において、分析サーバ110は、「01:00〜01:20」の1回目のクローリング処理の後、「01:40-01:50」に2回目のクローリング処理を実行するように設定することもできる。分析サーバ110の一回目の分析処理結果を、ETL140がクロールし、このクロールしたデータを用いて再度分析サーバ110が分析を実行するような場合もある。このようにデータの伝播途中でクロール処理が実行される閉路が存在する場合、全ての機能サーバ間でのデータ整合性は保証できない。このような閉路が存在する場合は、分析サーバ110については整合性を保証しない条件で、複製を生成するようになっている。閉路の検索処理及び閉路が有る場合の複製処理については後述する。
以上のように、計算機システム1を構成する各サブシステムは、他のサブシステムからのデータのクローリング等が終了した後に、データが伝播される順番に沿って各サブシステムの複製が生成されるようになっていることから、サブシステム間で整合性が保証されたデータを保持する複製システム(第2システム200)を生成することができる。
第2システム200を待機系システムとして利用する場合であっても、拡張系システムとして利用する場合であっても又はテスト系システムとして利用する場合であっても、利用開始時に第2システム200内の各サブシステム間のデータ整合性を保証する処理を必要とすることがなく、早期運用開始を行うことが可能となる。
以上が、計算機システム1の概要である。
以上が、計算機システム1の概要である。
以下、計算機システム1について詳細に説明する。
図2に、計算機システム1の構成を詳細に示す。計算機システム1は、第1システム100と、1又は複数のクライアント180とが、ネットワーク10を介して接続される。第1システム100と、クライアント180との間には、セッションやプロセスの制御を行うアプリケーションサーバ(以下、「APサーバ」という。)190が設けられた構成となっている。
図2に、計算機システム1の構成を詳細に示す。計算機システム1は、第1システム100と、1又は複数のクライアント180とが、ネットワーク10を介して接続される。第1システム100と、クライアント180との間には、セッションやプロセスの制御を行うアプリケーションサーバ(以下、「APサーバ」という。)190が設けられた構成となっている。
APサーバ190は、Webサーバとしての機能を包含し、計算機システム1をSOA(Service Oriented Architecture)環境に適用させることを可能とする。例えば、クライアント180からの要求に対し、SOAPメッセージによって分析サーバ110及び検索サーバ120と通信を行い、結果をクライアント180に送信する。
データソース150及び250は、第1システムの外部に設けられた汎用のサーバ装置であり、単一又は複数の物理計算機やストレージ装置から構成される。データソース150及び250では、HDD、SSD(Solid State Drive)等のストレージ装置内に、構造化データ、半構造化データ及び非構造化データ等、データソースが接続される種々の外部システム(不図示)によって利用されるデータが格納されるようになっている。
第1システム100は、機能サーバとして、分析サーバ110、検索サーバ120、DWH130及びETL140を有し、また、これらの管理を実行する運用管理サーバ160を有する。本実施形態において、これらのサーバはCPU、メモリ及び補助記憶装置を有する汎用のサーバ装置を適用する例について説明する。但し、本発明はこの例に限定されるものではなく、各機能サーバの全部又は一部が同一物理計算機上の仮想サーバとして提供されてもよい。
分析サーバ110では、プログラムとCPUとの協働により、情報抽出部111と情報参照部112が実現される。分析サーバ110では、DWH130からスケジュールに沿ってデータが読み出され、そのデータコンテンツが解析されることによって得た情報をメタデータとして保持し、この情報への参照を可能にするサーバである。具体的には、情報抽出部111によって画像データの内容が解析され、画像内に含まれる物体名などの情報がメタファイルとして生成される。クライアント180からのメタファイル参照要求に対し、情報参照部112によって、生成されたメタファイルが参照できるようになっている。
検索サーバ120では、プログラムとCPUとの協働によりインデックス作成部121と、検索部122とが実現される。検索サーバ120では、クライアント180からのデータ検索要求に対し、その要求に含まれるキーワードに合致するデータの所在(パス等)を送信するようになっている。具体的には、インデックス作成部121によって、DWH130のデータに対するインデックスがスケジュールに沿って作成される。検索部122では、クライアント180からのデータ検索要求を受け、生成されたインデックスを参照して、キーワードを含むデータの所在(パス等)が応答結果として送信されるようになっている。
DWH130は、ファイルサーバである。DWH130では、スケジュールに沿ってETL140からデータがクローリングされ、ファイル形式で格納される。DWH130には、CPUとプログラムによって、分析サーバ110や検索サーバ120に対するファイル共有機能を提供するファイル共有部131が実現され、格納されたファイルに対するアクセスを可能とさせる。
ELT140は、第1システム100外部のデータソース150からスケジュールに沿ってデータを収集(クローリング)する。データソース150から収集されたデータは、その後、所定のスケジュールでDWH130に出力されるようになっている。
運用管理サーバ160は、システム管理者の管理端末(不図示)から、第1システムの各機能サーバの構成情報変更や処理設定変更を受付け、変更処理を行うサーバである。更に、運用管理サーバ160は、後述する複製管理サーバ300と通信し、第1システムの構成情報、処理状況及び処理スケジュールを提供する機能を有する。
運用管理サーバ160では、CPUと、プログラムとの協働により運用管理部161が実現される。運用管理部161は、管理端末から入力された構成情報を記録すると共にそれに基づいて各機能サーバの構成設定を行う機能部である。運用管理サーバ160の記憶部(不図示)には、第1システム100の各機能サーバの構成情報が記録されるサーバ構成情報165と、処理情報166と、処理スケジュール167とが保持される。
図3に、サーバ構成情報165の一例を模式的に示す。サーバ構成情報165は、第1システムを構成する各機能サーバのID(名称)を保持するサーバ欄165aと、各機能サーバのIPアドレスを保持するIPアドレス欄165bとからなり、これらが対応付けられて管理される。サーバ欄165aと、IPアドレス欄165bとの両者に値が保持されている場合、第1システム100にその機能サーバが存在することを示す。
図4に、処理情報166の一例を模式的に示す。処理情報166は、各機能サーバが実行した処理内容を保持する処理欄166b、その処理の対象となったデータの転送元IDを保持する転送元サーバ欄166c、その処理によって生成したデータの転送先IDを保持する転送先サーバ欄166dとからなり、夫々の機能サーバが処理を実行する際に、これらを対応付けて管理するようになっている。
例えば、1行目は、『ETL140が、データの転送元であるデータソース150から、データ収集処理を実行し、その収集処理により取得した処理後データを、転送先であるDWH130に出力』したことを表す。
例えば、1行目は、『ETL140が、データの転送元であるデータソース150から、データ収集処理を実行し、その収集処理により取得した処理後データを、転送先であるDWH130に出力』したことを表す。
なお、検索サーバ120や分析サーバ110については、転送先サーバ欄166dが、『なし』となっている。これは、DWH130に反映されたデータを基に生成した処理後データであるインデックスやメタデータを、APサーバ180(クライアント側)に出力したことを表す。
図5に、処理スケジュール情報167の一例を模式的に示す。処理スケジュール情報167では、第1システムの各機能サーバ名を保持するサーバ欄167a、実行対象の処理名を保持する処理欄167b、その処理の開始時刻を保持する開始時刻欄167c及びその処理の終了時刻を保持する終了時刻欄167dが対応付けて管理される。
運用管理部161では、処理スケジュール情報167に設定されたスケジュールに従って、各機能サーバに対して対象の処理の実行が指示されるようになっている。なお、実行対象サーバ、実行対象処理名、開始時刻及び終了時刻は、管理者端末(不図示)を介して適宜変更可能なようになっている。
運用管理部161では、処理スケジュール情報167に設定されたスケジュールに従って、各機能サーバに対して対象の処理の実行が指示されるようになっている。なお、実行対象サーバ、実行対象処理名、開始時刻及び終了時刻は、管理者端末(不図示)を介して適宜変更可能なようになっている。
図2に戻り、複製管理サーバ300について説明する。複製管理サーバ300では、第1システム100の各種情報が取得され、各機能サーバの処理の順番、処理状況及び処理スケジュールに基づいて、第1システム100の複製である第2システム200の生成が管理されるようになっている。
なお、本実施形態において、複製管理サーバ300を、ネットワーク10を介して第1システム100及び第2システム200との通信を可能とする物理計算機とする例を用いるが、第1システムの何れかの機能サーバの一部若しくは運用管理サーバ160の一部として実現してもよい。
なお、本実施形態において、複製管理サーバ300を、ネットワーク10を介して第1システム100及び第2システム200との通信を可能とする物理計算機とする例を用いるが、第1システムの何れかの機能サーバの一部若しくは運用管理サーバ160の一部として実現してもよい。
複製管理サーバ300では、プログラムとCPUとの協働により、複製手順管理部310と複製制御部330が実現される。
複製手順決定部310では、第1システム100の運用管理サーバ160から、サーバ構成情報165、処理情報166及び処理スケジュール167が取得され、これらの情報から第1システム100の各機能サーバの複製を行う手順が生成される。具体的には、取得されたサーバ構成情報165及び処理情報166から、各機能サーバの依存関係等を分析し、これを示す有向グラフ表168を生成する。有向グラフ表168では、クローリング時のデータの転送元及び転送先がデータ伝播の順番に対応付けられて管理されるようになっている。
複製手順決定部310では、第1システム100の運用管理サーバ160から、サーバ構成情報165、処理情報166及び処理スケジュール167が取得され、これらの情報から第1システム100の各機能サーバの複製を行う手順が生成される。具体的には、取得されたサーバ構成情報165及び処理情報166から、各機能サーバの依存関係等を分析し、これを示す有向グラフ表168を生成する。有向グラフ表168では、クローリング時のデータの転送元及び転送先がデータ伝播の順番に対応付けられて管理されるようになっている。
図6に、有向グラフ表168の一例を模式的に示す。有向グラフ表168には、データの転送元欄168aと、転送先欄168bとの項目が設けられ、これらが対応付けて記録されるようになっている。例えば、サーバ構成情報165(図3)には、ETLと、DWHと、検索サーバと、分析サーバと、運用管理サーバとが登録されている。次に、これらの機能サーバについて、処理情報166(図4)の転送元欄166c及び転送先サーバ欄166dが参照され、有向グラフ表168の転送元欄168a並びに転送先欄168bに順番に登録されるようになっている。運用管理サーバについては、転送元及び転送先がない。このような場合は、有向グラフ表168に登録されないようになっている。
図7に、有向グラフ表168の作成によって導かれた各機能サーバのデータ伝播の依存関係を模式的に示す。同図に示すように、データは、先ずデータソース150からETL140に伝播し、次いで、DWH130に伝播され、その後、分析サーバ110及び検索サーバ120に伝播されていることが把握できる。
ここで、複製手順管理部310では、データの伝播経路(各機能サーバ間でのデータ伝播順)において、閉路が存在するか否かをチェックする閉路確認処理が行われるようになっている。閉路とは、計算機システム1においてデータ伝播の順番が後の機能サーバで実行された機能サーバの処理データを、データ伝播の順番が先の機能サーバがクロールするような関係にあるデータ伝播の経路をいう。例えば、分析サーバ110が、DWH130からクロールしたデータについてデータ分析処理を実行することで分析結果が生成される。分析の種別によっては、分析結果が要求に応じてクライアント190群に出力されることもあるが、再度、ETL140によって、クロールされるようなシステム構成をとることもできる。
この場合、データの伝播経路は、ETL→DWH→分析サーバ→ETL→DWH→分析サーバ・・・と、いった具合にループ状になり、計算機システム1において、データ伝播に依存関係のある他の機能サーバ(ここでは、検索サーバ)との関係では、データの整合性を保証することができないこととなる。
そこで、複製手順管理部310では、閉路確認処理によって閉路が検出された場合には、サーバの複製順序の導出が不可能であると判定され、各機能サーバにおいて整合性が保証されたシステムの複製は不可である旨が管理端末(不図示)に出力されるようになっている。
次いで、複製手順管理部310では、処理スケジュール情報167(図5)が参照され、有向グラフ表168の複製処理順に沿って、夫々の機能サーバの複製の順序及び複製の時刻が決定され、複製スケジュール表170(図8)が生成される。具体的には、有向グラフ表168等から複製処理の順序が決定され、複製スケジュール表170に登録される。そして、処理情報167の終了時刻欄167bに記録された時刻から夫々の機能サーバの複製開始時刻が算出される。即ち第1システム100の各機能サーバにおいてデータ取得先の機能サーバからデータ取得(クローリング)が完了した時刻から、その機能サーバの複製が開始される時刻が算出され、複製時刻欄170bに登録される。
図8に、「サーバ複製順序導出処理」で生成される複製順序表169の一例を模式的に示す。複製順序表169には、サーバ名欄169aと、複製処理順欄169bとが設けられ、サーバ複製順序導出処理によって算出された各機能サーバの複製順序が対応付けて記録されるようになっている。
図9に、「複製処理時刻導出処理」で生成される複製時刻表170の一例を模式的に示す。複製時刻表170は、サーバ名欄170aと、複製時刻欄170cとが設けられ、複製順序表169と、処理スケジュール情報167とを用いて算出された各機能サーバの複製開始時刻が、各機能サーバ名と対応付けて記録されるようになっている。
図2に戻り、複製制御部330では、複製時刻導出処理に基づいて、第1システム100の各機能サーバの複製処理を実行される。複製時刻表170に登録された時刻に従って、順次複製処理を開始するようになっている。複製は、第1システム100の該当する機能サーバのイメージをスナップショットで取得し、第2システム100に反映する等の種々の方法を適用するものとする。
以上が、計算機システム1の構成である。
以上が、計算機システム1の構成である。
次に、複製管理サーバ300の処理動作を、図10〜図17に示すフローチャートを用いて詳細に説明する。なお、以下の処理の説明では、主体を各機能部等として説明するが、本発明は、これら機能部に限定されるものではなく、一部又は全部の処理を、その趣旨を逸脱することのない範囲において変更することができるものである。
図10に、複製管理サーバ300の全体動作の概要を示す。
図10に、複製管理サーバ300の全体動作の概要を示す。
S101で、複製管理サーバ300の複製手順管理部310は、第1システム100の運用管理サーバ160に、サーバ構成情報165、処理情報166及び処理スケジュール167の取得要求を送信し、これを取得する。
S103で、複製手順管理部310は、取得したサーバ構成情報165及び処理情報166を参照して、有向グラフ表168を生成し、第1システム100の各機能サーバ間のデータ伝播に関する依存関係を管理する(有向グラフ作成処理/図11)。
S105で、複製手順決定部310は、生成した有向グラフ表168を用いて、探索開始サーバ一覧を生成し、第1システム100で発生した一連のデータ伝播の起点となる機能サーバを決定する処理を行う(探索開始サーバ決定処理/図12)。
S107で、複製手順管理部310は、生成した探索開始サーバ一覧を用いて、閉路があるか否かの処理を行う(閉路確認処理/図13及び図14)。
S109で、複製手順管理部310は、閉路が有ると判断する場合(S109:YES)、複製手順決定分310は、S117に進み、複製順序の導出が不可である旨を複製制御部330に通知する。閉路が無いと判断する場合(S109:NO)、S111に進む。
S111で、複製手順管理部310は、探索開始サーバ一覧を参照し、第1システム100の各機能サーバを複製する順序を決定し、複製スケジュール表170の該当するサーバ名に対応付けて登録する(複製順序決定処理/図15及び図16)。
S113で、複製手順管理部310は、各機能サーバの複製処理開始時刻を決定し、これを複製時刻表170の該当するサーバ名に対応付けて登録する(複製開始時刻決定処理/図17)。
他方、S115で、複製手順管理部310は、S109で閉路が存在するとの判断に基づき、複製順序の導出が不可である旨を複製制御部330に通知する。
S117で、複製制御部330は、複製時刻表170に登録された複製開始時刻を計時し、該当時刻の検出時に、該当する機能サーバを第2システム200に複製する。なお、S115の処理において、複製順序の導出が不可である旨の通知を受けた場合、複製制御部310は、その旨を管理端末等に通知する(ユーザ操作によって、データ整合性を保証しないシステム複製を行うようになっている。)。
以下に上述した各処理について更に詳細に説明する。
以下に上述した各処理について更に詳細に説明する。
図11に、「有向グラフ作成処理」のフローを示す。
S201で、複製手順管理部310は、処理情報表166を先頭行から参照し、その参照行の転送元サーバ欄166cに機能サーバ名の登録があるか否かをチェックする。登録が有る場合(S201:YES)S203に進み、登録が無い場合(S201:NO)、S209の処理に進む。
S201で、複製手順管理部310は、処理情報表166を先頭行から参照し、その参照行の転送元サーバ欄166cに機能サーバ名の登録があるか否かをチェックする。登録が有る場合(S201:YES)S203に進み、登録が無い場合(S201:NO)、S209の処理に進む。
S203で、複製手順管理部310は、参照行の転送元サーバ欄166cに登録されている「転送元サーバ名」と、サーバ欄166aに登録されている「サーバ名」とを、有向グラフ表168の転送元欄168aと、転送先欄168bとに夫々登録する。
S205で、複製手順管理部310は、S201で参照した行の転送先サーバ欄166dに、サーバ名が登録されているか否かをチェックする。登録されている場合(S205:YES)、S207の処理に進み、登録されていない場合(S205:NO)、S215の処理に進む。
S207で、複製手順管理部310は、参照行のサーバ欄166aに登録されている「サーバ名」と、転送先サーバ欄166dに登録されている「転送先サーバ名」とを、有向グラフ表168の次の行の転送元欄168aと、転送先欄168bとに夫々登録する。その後、S215の処理に進む。
ここで、S209からの流れについて説明する。
S209で、複製手順管理部310は、S201で参照した行の転送先サーバ欄166dに機能サーバ名の登録があるか否かをチェックする。登録されている場合(S209:YES)、S211に進み、登録されていない場合(S209:NO)、S213の処理に進む。
S209で、複製手順管理部310は、S201で参照した行の転送先サーバ欄166dに機能サーバ名の登録があるか否かをチェックする。登録されている場合(S209:YES)、S211に進み、登録されていない場合(S209:NO)、S213の処理に進む。
S211で、複製手順管理部310は、参照行の転送先サーバ欄166dに登録されている「転送先サーバ名」と、サーバ欄166aに登録されている「サーバ名」とを、有向グラフ表168の転送元欄168aと、転送先欄168bとに夫々登録する。その後、S215の処理に進む。
他方、S213で、参照行の転送先サーバ欄166dに「転送先サーバ名」が登録されていないと判定した場合、参照行のサーバ欄166aに登録されているサーバは、「任意複製可」として、有向グラフ表168には登録せずに、これとは別にその情報を管理(記録)する。即ち処理情報表166において、転送元サーバ欄166c及び転送先サーバ欄166dの何れにも登録が無い機能サーバは、データ伝播に直接的には関連性のない機能サーバであり、任意のタイミングで、第2システム200に複製を作成することができるものとなる。別に管理した後、複製手順管理部310は、S215の処理に進む。
S215で、複製手順管理部310は、処理情報表166に未参照の行があるかチェックする。未参照の行が有る場合(S215:YES)、S201に戻って処理を繰り返し、無い場合(S215;NO)、処理を終了する。以上が、「有向グラフ作成処理」である。
図12に、「探索開始サーバ決定処理」のフローを示す。本処理では、上述の「有向グラフ表作成処理」で作成された有向グラフ表168を利用して、探索開始サーバ一覧(不図示)を生成すると共にこれを用いてデータ伝播の起点となる機能サーバを決定する処理である。
S301で、複製手順管理部310は、有向グラフ表168を先頭から一行ずつ参照し、転送元欄168aに登録された「サーバ名」群から「サーバ名」を抽出する。
S303で、複製手順管理部310は、抽出した転送元欄の「サーバ名」が、探索開始サーバ一覧に登録済みであるか否かを判断する。登録済みである場合(S303:Yes)は、S307に進み、登録がない場合(S303:No)は、S305に進み、探索開始サーバ一覧に当該転送元欄の「サーバ名」を登録する。
S307で、複製手順管理部310は、有向グラフ表168で未抽出の行が無いかチェックし、有る場合(S307:YES)にはS301に戻り処理を繰り返し、無い場合(S307:NO)にはS309に進む。
S303で、複製手順管理部310は、抽出した転送元欄の「サーバ名」が、探索開始サーバ一覧に登録済みであるか否かを判断する。登録済みである場合(S303:Yes)は、S307に進み、登録がない場合(S303:No)は、S305に進み、探索開始サーバ一覧に当該転送元欄の「サーバ名」を登録する。
S307で、複製手順管理部310は、有向グラフ表168で未抽出の行が無いかチェックし、有る場合(S307:YES)にはS301に戻り処理を繰り返し、無い場合(S307:NO)にはS309に進む。
S309で、複製手順管理部310は、今度は、有向グラフ表168の転送先欄168bに登録された「サーバ名」を先頭から一行分抽出する。
S311で、複製手順管理部310は、S301〜S307の処理で探索開始サーバ一覧に登録した転送元欄168aの「サーバ名」群の中に、S309で抽出した転送先欄168bの「サーバ名」と一致するものが有るか否かを判定する。有る場合(S311:YES)にはS313に進み、無い場合(S311:NO)にはS315に進む。
S311で、複製手順管理部310は、S301〜S307の処理で探索開始サーバ一覧に登録した転送元欄168aの「サーバ名」群の中に、S309で抽出した転送先欄168bの「サーバ名」と一致するものが有るか否かを判定する。有る場合(S311:YES)にはS313に進み、無い場合(S311:NO)にはS315に進む。
S313で、複製手順管理部310は、転送先欄の「サーバ名」と一致した、転送元欄の「サーバ名」を、探索開始サーバ一覧から除外(例えばnullを登録)する。
S315で、複製手順管理部310は、有向グラフ表168で未参照の行が有るか否かを判定し、ある場合(S315:YES)にはS309に戻って処理を繰り返し、無い場合(S315:YES)には本処理を終了する。以上が、「探索開始サーバ決定処理」である。
例えば、図6に示す有向グラフ表168を例にすると、転送元欄168aに登録された転送元のサーバ名は「データソース」、「ETL」、「DWH」、「DWH」の4つであり、このうち、探索開始サーバ一覧に登録されるのは、「データソース」、「ETL」、「DWH」の3つである(「DWH」は重複するため1つだけ登録される)。この内、転送先欄168bに登録されているサーバ名と一致するのは「ETL」と、「DWH」とである。これらを除外すると残るのは「データソース」である。このように探索開始サーバ決定処理によって、第1システム100でのデータ伝播の起点となるサーバが、「データソース」であると決定することができる。
図13に、「閉路確認処理」のフローを示す。本処理は、探索開始サーバ一覧に登録された内容を用いて、閉路が存在するか否かを確認する処理である。
なお、本フローチャートは、サーバを引数とした再帰関数となっており、フロー内の関数は新たなサーバを引数として再度同様のフローを実行する。サーバを格納しておく領域としてスタックを利用し、全ての閉路検出関数で参照可能となっている。スタックは、閉路検出関数が呼び出されるごとにサーバを格納し、関数の処理が終わると当該サーバを削除する動作にて使用する。このようなスタックを用意しておくことで、再帰関数を用いて深さ優先探索をしている間にスタックを参照し、既にスタックに登録されているサーバを再度参照していないかを確認できる。再度参照している場合は、ループ構造になっているため、閉路検出と出力する。
なお、本フローチャートは、サーバを引数とした再帰関数となっており、フロー内の関数は新たなサーバを引数として再度同様のフローを実行する。サーバを格納しておく領域としてスタックを利用し、全ての閉路検出関数で参照可能となっている。スタックは、閉路検出関数が呼び出されるごとにサーバを格納し、関数の処理が終わると当該サーバを削除する動作にて使用する。このようなスタックを用意しておくことで、再帰関数を用いて深さ優先探索をしている間にスタックを参照し、既にスタックに登録されているサーバを再度参照していないかを確認できる。再度参照している場合は、ループ構造になっているため、閉路検出と出力する。
S401で、複製手順管理部310は、探索開始サーバ一覧を取得し、先頭行に登録されたサーバ名を読出す。
S403で、複製手順管理部310は、S401で抽出したサーバを1つ読出し(ここでは先頭行)、閉路検出関数を用いて閉路の存在有無を求める(「閉路検出関数処理」)。具体的には、そのサーバを引数として、探索したサーバを記録するスタック中に引数としたサーバが存在するか否かをチェックする。詳細は後述する。
S403で、複製手順管理部310は、S401で抽出したサーバを1つ読出し(ここでは先頭行)、閉路検出関数を用いて閉路の存在有無を求める(「閉路検出関数処理」)。具体的には、そのサーバを引数として、探索したサーバを記録するスタック中に引数としたサーバが存在するか否かをチェックする。詳細は後述する。
S405で、複製手順管理部310は、閉路が存在すると判定する場合には(S405:YES)、S411の処理に進み、「閉路有り」の記録を保持し、存在しないと判断する場合(S405:NO)、S407の処理に進む。
S407で、複製手順管理部310は、探索開始サーバ一覧に未参照行があるか判定し、有る場合には(S407:YES)S401に戻って未参照行について処理を繰り返し、無い場合には(S407:NO)、S409に進む。
S409で、複製手順管理部310は、「閉路無し」の記録を保持する。
S409で、複製手順管理部310は、「閉路無し」の記録を保持する。
図14に、上述した「閉路検出関数処理」の詳細フローを示す。閉路存在確認のフローチャート内で使用する再帰関数である。本関数は、サーバを引数として使用する。
S421で、複製手順管理部310は、探索したサーバを記録するスタック中に、引数のサーバが存在するか否かを、再帰関数によってチェックする。スタックに引数のサーバが存在する場合(S421:YES)、S439に進み、関数の戻り値として「閉路検出」を出力する。スタックに引数のサーバが存在しない場合(S421:NO)、S423に進む。
S423で、複製手順管理部310は、関数の引数のサーバをスタックに追加する。
S425で、複製手順管理部310は、有向グラフ表を1行ずつ参照し、転送元欄168aのサーバ名を抽出する。
S427で、複製手順管理部310は、抽出したサーバ名と、引数のサーバ名とが同一であるか否かを判定する。抽出したサーバ名と、引数のサーバ名とが同一である場合(S427:YES)、S429に進む。抽出したサーバ名と、引数のサーバ名とが同一でない場合(S427:NO)、S433に進む。
S425で、複製手順管理部310は、有向グラフ表を1行ずつ参照し、転送元欄168aのサーバ名を抽出する。
S427で、複製手順管理部310は、抽出したサーバ名と、引数のサーバ名とが同一であるか否かを判定する。抽出したサーバ名と、引数のサーバ名とが同一である場合(S427:YES)、S429に進む。抽出したサーバ名と、引数のサーバ名とが同一でない場合(S427:NO)、S433に進む。
S429で、複製手順管理部310は、S425で参照した有向グラフ表168の行の転送先欄168bに登録されているサーバ名を引数として閉路検出関数を実行する。
S431で、複製手順管理部310は、閉路が検出されたかを判定し、閉路を検出した場合(S431:YES)、S439に進み、関数の戻り値として「閉路検出」を出力する。閉路を検出しなかった場合(S431:NO)、S433に進む。
S431で、複製手順管理部310は、閉路が検出されたかを判定し、閉路を検出した場合(S431:YES)、S439に進み、関数の戻り値として「閉路検出」を出力する。閉路を検出しなかった場合(S431:NO)、S433に進む。
S433で、複製手順管理部310は、有向グラフ表168に未参照行があるか否かをチェックし、未参照行が有る場合(S433:YES)、S425に戻り処理を繰り返す。未参照行が無い場合(S433:NO)、S435に進み、スタックから引数のサーバを削除する。
その後、S437で、複製手順管理部310は、関数の戻り値として「閉路なし」を出力する。
その後、S437で、複製手順管理部310は、関数の戻り値として「閉路なし」を出力する。
図15に、複製順序決定処理のフローを示す。本処理は、トポロジカルソートを用いて、データ伝播の依存関係の順にサーバを順序付けるものである。即ちサーバ番号付け関数が深さ優先探索を行い、各関数が終了する時に、順に番号付けを行う。本番号付け処理により各サーバに付けた番号は、サーバ複製順と逆順となるため、最後に番号が降順になるよう各サーバをソートする。
S501で、複製手順管理部310は、変数iを0(ゼロ)に初期化する。なお、変数iは、全てのサーバ番号付け関するから参照可能な変数である。
S503で、複製手順管理部310は、探索開始サーバ一覧を取得する。
S505で、複製手順管理部310は、取得した探索開始サーバ一覧のレコードを1行参照する(ここでは先頭行)。
S503で、複製手順管理部310は、探索開始サーバ一覧を取得する。
S505で、複製手順管理部310は、取得した探索開始サーバ一覧のレコードを1行参照する(ここでは先頭行)。
S507で、複製手順管理部310は、参照行のサーバを引数としてサーバ番号付け関数処理を実行する。詳細は後述する。
S509で、複製手順管理部310は、未参照行が有るか否かを判定し、有る場合(S509:YES)、S505に戻り処理を繰り返し、無い場合(S509:NO)、処理を終了する。
S509で、複製手順管理部310は、未参照行が有るか否かを判定し、有る場合(S509:YES)、S505に戻り処理を繰り返し、無い場合(S509:NO)、処理を終了する。
図16に、サーバ番号付け関数処理のフローを示す。本関数はサーバを引数として使用する。
S521で、複製手順管理部310は、引数のサーバを巡回済みサーバ一覧に追加する処理である。なお、巡回済みサーバ一覧は全てのサーバ番号付け関数から参照可能である。
S523で、複製手順管理部310は、有向グラフ表168を1行ずつ参照し、転送元欄168aのサーバ名及び転送先欄168bのサーバ名を抽出する。
S521で、複製手順管理部310は、引数のサーバを巡回済みサーバ一覧に追加する処理である。なお、巡回済みサーバ一覧は全てのサーバ番号付け関数から参照可能である。
S523で、複製手順管理部310は、有向グラフ表168を1行ずつ参照し、転送元欄168aのサーバ名及び転送先欄168bのサーバ名を抽出する。
S525で、複製手順管理部310は、抽出した「転送元欄168aのサーバ名及び引数のサーバ名が同一」であり且つ「当該行の転送先欄168bのサーバ名が巡回済みサーバ一覧に登録されていない」という2つの条件を満たしているか否かをチェックする。2つの条件を満たしている場合(S525:YES)、S527に進み、2つの条件を満たしていない場合(S525:NO)、S529に進む。
S527で、複製手順管理部310は、当該行の転送先欄168bのサーバ名を引数としてサーバ番号付け関数を実行する。
S529で、複製手順管理部310は、有向グラフ表168に未参照の行があるかどうかチェックし、未参照の行がある場合(S529:YES)、S523に戻り処理を繰り返す。未参照行がない場合(S529:NO)、S531に進む。
S529で、複製手順管理部310は、有向グラフ表168に未参照の行があるかどうかチェックし、未参照の行がある場合(S529:YES)、S523に戻り処理を繰り返す。未参照行がない場合(S529:NO)、S531に進む。
S531で、複製手順管理部310は、変数iに1を加え、S533で、変数iを引数のサーバの番号として付けて出力する。
以上の「閉路確認処理」及び「サーバ番号付け処理」によって、複製順序表169(図8)が生され、各機能サーバの複製順序が決定される。
以上の図15及び図16の処理により、複製順序表(図8)が作成される。
以上の「閉路確認処理」及び「サーバ番号付け処理」によって、複製順序表169(図8)が生され、各機能サーバの複製順序が決定される。
以上の図15及び図16の処理により、複製順序表(図8)が作成される。
図17に、複製開始時刻算出処理のフローを示す。本処理は、各サーバの複製時刻を算出する処理であり、複製順序表169及び処理スケジュール表167を用いて複製開始時刻を算出する。なお、複製順序表169に存在しているが、処理スケジュール情報167には存在しないサーバに対しては、複製順序表167にて当該サーバの前に複製するサーバと同じ時刻に複製するとしている。
S601で、複製手順管理部310は、複製順序表169を取得し、S603で、処理スケジュール表167を取得する。複製手段管理部310は、取得した複製順序表169を1行ずつ参照する。
S607で、複製順序表169の参照行の「サーバ名」が、処理スケジュール情報167に存在するか否かをチェックする。参照行のサーバ名が、処理スケジュール情報167に存在する場合(S607:YES)、S609に進み、処理スケジュール情報167に存在しない場合(S607:NO)、S613に進む。
S609で、複製手順管理部310は、処理スケジュール情報167の該当するサーバ名の終了時刻(機能サーバの処理が終了した時刻を意味する。)を基調として、当該サーバの複製開始時刻を算出する。その機能サーバの処理が終了した時刻を複製開始時刻としてもよいが、そこから任意の時間後(例えば数分後)を複製開始時刻としてもよい。
S611で、複製手順管理部310は、更に、処理スケジュール情報167の該当するサーバ名の終了時刻を変数Xとして格納する。
他方、S613では、複製手順管理部310は、変数Xの時刻を当該サーバの複製開始時刻として出力する。
他方、S613では、複製手順管理部310は、変数Xの時刻を当該サーバの複製開始時刻として出力する。
S615で、複製手順管理部310は、複製順序表169に未参照行があるかのチェックを行い、有る場合(S615:YES)、S605に戻り処理を繰り返し、無い場合(S615:NO)、処理を終了する。
これらの処理により、複製時刻表170(図9)が生成され、各機能サーバの複製開始時刻を導出することができる。複製手順管理部310によって導出された複製開始時刻に基づいて、その後、複製制御部330が、第1システム100の各機能サーバを第2システム200に複製する。
これらの処理により、複製時刻表170(図9)が生成され、各機能サーバの複製開始時刻を導出することができる。複製手順管理部310によって導出された複製開始時刻に基づいて、その後、複製制御部330が、第1システム100の各機能サーバを第2システム200に複製する。
以上のように、本実施形態の計算機システム1によれば、データの伝播関係にある機能サーバ群について、それらのデータ整合性が確保された複製システムを生成することができる。これにより、複製された各機能サーバからなるシステムを用いて、早期に運用開始という効果がある。
また、本実施形態の計算機システム1によれば、機能サーバ間のデータ伝播経路に閉路があることを検出することができる。機能サーバ間のデータ整合性をより保証することができる。更に、閉路が有る場合には、複製順序の導出が不可である旨を報知し、通常の複製処理も実施することができるようになっている。
〔第2実施形態〕
第1実施形態では、第1システム100を構成する各機能サーバ間でのデータ整合性を保証した複製システム(第2システム200)を生成等するものであった。本第2実施形態の計算機システムでは、複製時刻表170(図9)の複製開始時刻に沿って特定の機能サーバの複製を第2システムに生成した後であって、他の後続する機能サーバの複製が生成されるまでの間に、その複製サーバの動作テストを実施する計算機システムについて説明する。
第1実施形態では、第1システム100を構成する各機能サーバ間でのデータ整合性を保証した複製システム(第2システム200)を生成等するものであった。本第2実施形態の計算機システムでは、複製時刻表170(図9)の複製開始時刻に沿って特定の機能サーバの複製を第2システムに生成した後であって、他の後続する機能サーバの複製が生成されるまでの間に、その複製サーバの動作テストを実施する計算機システムについて説明する。
複数の機能サーバから構成される計算機システムの複製システムを生成する際、2以上又は全ての機能サーバの複製を構成した後に実運用又はテストを実施したとする。その結果、不具合が生じたとした場合、その原因となった機能サーバを特定するのは煩雑である。
不具合要因としては、例えば、運用システムに対して、新しいデータ形式の新データソースを追加する際に、検索サーバにて新しいデータ形式が検索できないという不都合が生じる可能性がある。このような不都合が原因として、ETLが正しく新データソースからのデータの取り込むプロトコルに対応していない、DWHが新しいデータ形式の格納に対応していない、検索サーバが新しいデータ形式のデータから検索対象とするテキストデータを抽出できない等が考えられる。
よって、複製システムを構成する一部の機能サーバの複製を生成した時点でテストを実行すれば、不具合の原因となるサーバを特性しやすいという利点がある。以下に、第2実施形態の計算機システムについて説明する。
よって、複製システムを構成する一部の機能サーバの複製を生成した時点でテストを実行すれば、不具合の原因となるサーバを特性しやすいという利点がある。以下に、第2実施形態の計算機システムについて説明する。
第2実施形態の計算機システムでは、機能サーバの部分的なテストを制御する部分テスト部(不図示)を、複製管理サーバ300に有する。部分テスト部では、管理端末等(不図示)を介して、ユーザが動作テストを所望する機能サーバの指定を受けつけるようになっている。更に、第2システム200側に機能サーバ複製した後に、その機能サーバがテスト対象サーバである場合に、管理端末等を介して、当該機能サーバがテスト可能になった旨を報知するとともに、ユーザによる当該機能サーバのテストが完了した旨の入力を受け付けるようになっている。複製管理サーバ300は、ユーザによるテスト完了の入力を受け付けるまでは、その後の機能サーバの複製処理を一時的に中断するようになっている。他の構成は、第1実施形態の計算機システムと同様の構成を有する。
図18に、第2実施形態の計算機システムの処理フローを示す。
S701で、部分テスト部は、複製手順管理部310によって導出された複製順序表169(図8)及び複製時刻表170(図9)を取得する。
S703で、部分テスト部は、管理端末等を介して、ユーザからの部分テスト対象サーバの指定を受け付け、これを記憶する。
S701で、部分テスト部は、複製手順管理部310によって導出された複製順序表169(図8)及び複製時刻表170(図9)を取得する。
S703で、部分テスト部は、管理端末等を介して、ユーザからの部分テスト対象サーバの指定を受け付け、これを記憶する。
S705で、部分テスト部は、複製順序表169を一行ずつ参照する(ここでは先頭行)。
S707で、部分テスト部は、複製時刻表170を参照し、読み出した行のサーバ名の複製開始時刻まで待機する。
S709で、部分テスト部は、現在時刻が複製開始時刻なった時に、当該サーバ名を有するサーバの複製指示を、複製制御部に通知する。
S707で、部分テスト部は、複製時刻表170を参照し、読み出した行のサーバ名の複製開始時刻まで待機する。
S709で、部分テスト部は、現在時刻が複製開始時刻なった時に、当該サーバ名を有するサーバの複製指示を、複製制御部に通知する。
S711で、部分テスト部は、複製指示を通知したサーバが、S703で受け付けたテスト対象サーバであるか否かを判定し、テスト対象サーバである場合(S711:YES)、S713に進み、テスト対象サーバでない場合(S711:NO)、S717に進む。
S713で、部分テスト部は、管理端末にテスト対象サーバがテスト可能な状態になったことを通知する。通知に応じて、ユーザは当該複製サーバのテストを実行することとなる。
S715で、部分テスト部は、管理端末からテスト対象サーバのテストが終了した旨の通知を受信するまで待機する。
S715で、部分テスト部は、管理端末からテスト対象サーバのテストが終了した旨の通知を受信するまで待機する。
S717で、部分テスト部は、テスト終了の通知を受けた後、複製順序表169に未参照行があるか否かをチェックし、有る場合には、S705に戻り処理を繰り返し、無い場合には処理を終了する。
以上が、第2実施形態における計算機システムの説明である。
以上が、第2実施形態における計算機システムの説明である。
第2実施形態の計算機システムによれば、各機能サーバを複製したタイミングでテストを実施することができ、不具合箇所の特定を容易にするという効果がある。
以上、本発明を実施するための形態を説明したが、本発明はこれらの例に限定されるものではなく、その趣旨を変更することのない範囲で種々の構成や動作を適用可能であることは言うまでもない。
例えば、機能サーバの複製では、複製元のイメージをスナップショットする方法を適用したが、複製方法は、機能サーバの主記憶領域と補助記憶領域の両方のデータを複製する方法(仮想マシンのスナップショット作成機能等)や、補助記憶領域のデータのみが複製する方法(Writable Snapshot機能等)を適用することができる。
また、実施形態における各機能部は、プログラムとCPUの協働によって実現する例について説明したが、これらの一部や全部をハードウェアとして実現することも可能である。
なお、実施形態において各機能部を実現するためのプログラムは、電気・電子及び/又は磁気的な非一時的な記録媒体に格納可能であることはいうまでもない。
なお、実施形態において各機能部を実現するためのプログラムは、電気・電子及び/又は磁気的な非一時的な記録媒体に格納可能であることはいうまでもない。
100…第1システム、110…分析サーバ、120…検索サーバ、130…DWH、140…ETL、150…データソース、168…有向グラフ表、169…複製順序表、170…複製時刻表、200…第2システム、310…複製手順管理部、330…複製制御部
Claims (7)
- 第1サブシステムが処理したデータに所定の処理を実行し、第3サブシステムのデータ処理の対象となるデータを生成する第2サブシステムを含む計算機システムを管理する管理装置であって、
前記第1、第2及び第3サブシステムの各々で処理するデータの入力元サブシステム及び出力先サブシステムを示す情報が含まれた処理履歴情報並びに該入力元及び出力先サブシステムのデータ入出力の契機を示す情報が含まれた契機情報を取得し、
前記処理履歴情報から、前記第1、第2及び第3サブステムにおけるデータ入出力の依存関係を検出し、
前記依存関係に基づいて、入力元が存在しないサブシステムの次のサブシステム以降の夫々について、前記契機情報を参照して、該次のサブシステム以降のサブシステムの複製契機を演算し、
前記複製契機に応じて、前記計算機システムと異なる他の計算機システム内に前記次のサブシステム以降のサブシステム夫々の複製を生成させる管理装置。 - 請求項1に記載の管理装置であって、
前記依存関係を用いて、前記第1、第2及び第3サブシステムのうち、データ入力元が、他のサブシステムのデータ出力先の関係にあるサブシステムがあるかを判定し、
判定の結果、データ入力元が他のサブシステムのデータ出力先の関係にあるサブシステムがある場合、前記複製契機を演算しない管理装置。 - 請求項2に記載の管理装置であって、
判定の結果、データ入力元が他のサブシステムのデータ出力先の関係にあるサブシステムがある場合、その旨を出力する管理装置。 - 請求項1に記載の管理装置であって、
前記契機情報及び複製契機における契機を時間とする管理装置。 - 請求項1に記載の管理装置であって、
前記複製契機に応じて前記次のサブシステム以降のサブシステム夫々の複製を生成させる場合、
該複製前に、複製開始が可能な状態に有る旨を出力し、
複製開始指示があるまで、前記複製を待機する管理装置。 - 第1サブシステムが処理したデータに所定の処理を実行し、第3サブシステムのデータ処理の対象となるデータを生成する第2サブシステムを含む計算機システムを管理する方法であって、
前記計算機システムの管理部が、
前記第1、第2及び第3サブシステムの各々で処理するデータの入力元サブシステム及び出力先サブシステムを示す情報が含まれた処理履歴情報並びに該入力元及び出力先サブシステムのデータ入出力の契機を示す情報が含まれた契機情報を取得し、
前記処理履歴情報から、前記第1、第2及び第3サブステムにおけるデータ入出力の依存関係を検出し、
前記依存関係に基づいて、入力元が存在しないサブシステムの次のサブシステム以降の夫々について、前記契機情報を参照して、該次のサブシステム以降のサブシステムの複製契機を演算し、
前記複製契機に応じて、前記計算機システムと異なる他の計算機システム内に前記次のサブシステム以降のサブシステム夫々の複製を生成させる管理方法。 - 第1サブシステムが処理したデータに所定の処理を実行し、第3サブシステムのデータ処理の対象となるデータを生成する第2サブシステムを含む計算機システムを管理するコンピュータに、
前記第1、第2及び第3サブシステムの各々で処理するデータの入力元サブシステム及び出力先サブシステムを示す情報が含まれた処理履歴情報並びに該入力元及び出力先サブシステムのデータ入出力の契機を示す情報が含まれた契機情報を取得させるステップと、
前記処理履歴情報から、前記第1、第2及び第3サブステムにおけるデータ入出力の依存関係を検出させるステップと、
前記依存関係に基づいて、入力元が存在しないサブシステムの次のサブシステム以降の夫々について、前記契機情報を参照して、該次のサブシステム以降のサブシステムの複製契機を演算させるステップと、
前記複製契機に応じて、前記計算機システムと異なる他の計算機システム内に前記次のサブシステム以降のサブシステム夫々の複製を生成させるステップと
を実行させるプログラムを格納するコンピュータ読取可能な非一時的記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/081022 WO2014083672A1 (ja) | 2012-11-30 | 2012-11-30 | 管理装置、管理方法及びプログラムを格納する記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5905122B2 true JP5905122B2 (ja) | 2016-04-20 |
JPWO2014083672A1 JPWO2014083672A1 (ja) | 2017-01-05 |
Family
ID=50827344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014549719A Expired - Fee Related JP5905122B2 (ja) | 2012-11-30 | 2012-11-30 | 管理装置、管理方法及びプログラムを格納する記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150227599A1 (ja) |
JP (1) | JP5905122B2 (ja) |
WO (1) | WO2014083672A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160110436A1 (en) * | 2014-10-21 | 2016-04-21 | Bank Of America Corporation | Redundant data integration platform |
US11481408B2 (en) | 2016-11-27 | 2022-10-25 | Amazon Technologies, Inc. | Event driven extract, transform, load (ETL) processing |
CN110489219B (zh) * | 2019-08-05 | 2022-05-03 | 北京字节跳动网络技术有限公司 | 一种调度功能对象的方法、装置、介质和电子设备 |
JP7126712B2 (ja) * | 2020-05-12 | 2022-08-29 | ラトナ株式会社 | データ処理装置、方法、コンピュータプログラム、及び、記録媒体 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006134005A (ja) * | 2004-11-05 | 2006-05-25 | Fuji Xerox Co Ltd | 連携処理装置及びシステム及び方法 |
JP2006244172A (ja) * | 2005-03-03 | 2006-09-14 | Hitachi Ltd | ジョブ管理方法、ジョブ管理装置、ジョブ実行装置、ジョブ管理システム及びそのプログラム |
JP2010218481A (ja) * | 2009-03-19 | 2010-09-30 | Hitachi Ltd | 高信頼性計算機システムおよびその構成方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5960411A (en) * | 1997-09-12 | 1999-09-28 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
US5999931A (en) * | 1997-10-17 | 1999-12-07 | Lucent Technologies Inc. | Concurrency control protocols for management of replicated data items in a distributed database system |
US6816904B1 (en) * | 1997-11-04 | 2004-11-09 | Collaboration Properties, Inc. | Networked video multimedia storage server environment |
US6092189A (en) * | 1998-04-30 | 2000-07-18 | Compaq Computer Corporation | Channel configuration program server architecture |
FR2809515B1 (fr) * | 2000-05-25 | 2002-08-30 | Gemplus Card Int | Procede de detection d'emissions simultanees d'etiquettes electroniques |
US7827136B1 (en) * | 2001-09-20 | 2010-11-02 | Emc Corporation | Management for replication of data stored in a data storage environment including a system and method for failover protection of software agents operating in the environment |
US7536598B2 (en) * | 2001-11-19 | 2009-05-19 | Vir2Us, Inc. | Computer system capable of supporting a plurality of independent computing environments |
US7031974B1 (en) * | 2002-08-01 | 2006-04-18 | Oracle International Corporation | Replicating DDL changes using streams |
US7370064B2 (en) * | 2002-08-06 | 2008-05-06 | Yousefi Zadeh Homayoun | Database remote replication for back-end tier of multi-tier computer systems |
US7385479B1 (en) * | 2004-11-12 | 2008-06-10 | Esp Systems, Llc | Service personnel communication system |
US7752173B1 (en) * | 2005-12-16 | 2010-07-06 | Network Appliance, Inc. | Method and apparatus for improving data processing system performance by reducing wasted disk writes |
JP4532423B2 (ja) * | 2006-03-16 | 2010-08-25 | 富士通株式会社 | サーバシステム |
US8135331B2 (en) * | 2006-11-22 | 2012-03-13 | Bindu Rama Rao | System for providing interactive user interactive user interest survey to user of mobile devices |
JP4444305B2 (ja) * | 2007-03-28 | 2010-03-31 | 株式会社東芝 | 半導体装置 |
US8782085B2 (en) * | 2007-04-10 | 2014-07-15 | Apertio Limited | Variant entries in network data repositories |
US8234152B2 (en) * | 2007-06-12 | 2012-07-31 | Insightexpress, Llc | Online survey spawning, administration and management |
JP5192226B2 (ja) * | 2007-12-27 | 2013-05-08 | 株式会社日立製作所 | 待機系計算機の追加方法、計算機及び計算機システム |
JP5094460B2 (ja) * | 2008-02-20 | 2012-12-12 | 株式会社日立製作所 | 計算機システム、データ一致化方法およびデータ一致化処理プログラム |
CN101620609B (zh) * | 2008-06-30 | 2012-03-21 | 国际商业机器公司 | 多租户数据存储和访问方法和装置 |
US20100004975A1 (en) * | 2008-07-03 | 2010-01-07 | Scott White | System and method for leveraging proximity data in a web-based socially-enabled knowledge networking environment |
US8676760B2 (en) * | 2008-08-05 | 2014-03-18 | International Business Machines Corporation | Maintaining data integrity in data servers across data centers |
US8085620B2 (en) * | 2009-03-27 | 2011-12-27 | Westerngeco L.L.C. | Determining a position of a survey receiver in a body of water |
JP2011060055A (ja) * | 2009-09-11 | 2011-03-24 | Fujitsu Ltd | 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム |
US20110153562A1 (en) * | 2009-12-22 | 2011-06-23 | Gary Howard | Error prevention for data replication |
US8341534B2 (en) * | 2010-03-05 | 2012-12-25 | Palo Alto Research Center Incorporated | System and method for flexibly taking actions in response to detected activities |
US8843616B2 (en) * | 2010-09-10 | 2014-09-23 | Intel Corporation | Personal cloud computing with session migration |
WO2013046352A1 (ja) * | 2011-09-28 | 2013-04-04 | 株式会社日立製作所 | 計算機システム、データ管理方法及びデータ管理プログラム |
-
2012
- 2012-11-30 WO PCT/JP2012/081022 patent/WO2014083672A1/ja active Application Filing
- 2012-11-30 US US14/426,171 patent/US20150227599A1/en not_active Abandoned
- 2012-11-30 JP JP2014549719A patent/JP5905122B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006134005A (ja) * | 2004-11-05 | 2006-05-25 | Fuji Xerox Co Ltd | 連携処理装置及びシステム及び方法 |
JP2006244172A (ja) * | 2005-03-03 | 2006-09-14 | Hitachi Ltd | ジョブ管理方法、ジョブ管理装置、ジョブ実行装置、ジョブ管理システム及びそのプログラム |
JP2010218481A (ja) * | 2009-03-19 | 2010-09-30 | Hitachi Ltd | 高信頼性計算機システムおよびその構成方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014083672A1 (ja) | 2014-06-05 |
JPWO2014083672A1 (ja) | 2017-01-05 |
US20150227599A1 (en) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bravo et al. | Saturn: A distributed metadata service for causal consistency | |
US10296606B2 (en) | Stateless datastore—independent transactions | |
US20180322149A1 (en) | Automated configuration of log-coordinated storage groups | |
US9799017B1 (en) | Cross-data-store operations in log-coordinated storage systems | |
US20160070771A1 (en) | Read descriptors at heterogeneous storage systems | |
US7747742B2 (en) | Online predicate checking for distributed systems | |
CN110069526A (zh) | 用于分布式数据库查询引擎的系统和方法 | |
JP5905122B2 (ja) | 管理装置、管理方法及びプログラムを格納する記録媒体 | |
CN108369599A (zh) | 冗余数据中心间的复制控制 | |
CN106156126B (zh) | 处理数据任务中的数据冲突检测方法及服务器 | |
CN108431808A (zh) | 对分区的数据存储空间当中的结构化数据记录的提醒处理 | |
US10922280B2 (en) | Policy-based data deduplication | |
CN107122238B (zh) | 基于Hadoop云计算框架的高效迭代机制设计方法 | |
CN107544999A (zh) | 用于检索系统的同步装置及同步方法、检索系统及方法 | |
CN109460345B (zh) | 实时数据的计算方法及系统 | |
Hetzel et al. | μactor: Stateful serverless at the edge | |
US20160125026A1 (en) | Proactive query migration to prevent failures | |
Takeda et al. | Applying change impact analysis test to migration test case extraction based on IDAU and graph analysis techniques | |
JP2016024706A (ja) | ログ管理システム、ログ管理方法及びプログラム | |
JP2011081579A (ja) | Itシステム仮想化における仮想リソースのシステム運用管理方法およびシステム | |
CN108664503A (zh) | 一种数据归档方法及装置 | |
JP6680897B2 (ja) | 計算機システム及び分析ソースデータ管理方法 | |
Hu et al. | DDC: distributed data collection framework for failure prediction in Tianhe supercomputers | |
CN113553320B (zh) | 数据质量监控方法及装置 | |
CN118092885B (zh) | 一种基于前后端插件架构的代码框架方法 |
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: 20160216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160315 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5905122 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |