説明

データ処理方法及びシステム

【課題】初期ロードデータ量が多いデータ処理システムのデータ処理が可能となるまでの時間を短縮する。
【解決手段】本発明は、データ処理システムの起動に伴って、個々のデータに対する処理要求の有無に関わらず、一連のデータ(データ本体)の外部記憶装置から主記憶装置へのロードと並行して、処理要求を受け付け、その処理要求の対象データが主記憶装置へロードされていないとき、対象データが主記憶装置へロードされた後に、その処理要求に対応する処理を実行することにより、見かけ上のシステム起動時間を短縮させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムの起動を開始してからデータ処理が可能となるまでの時間を短縮するデータ処理方法及びシステムに関する。
【背景技術】
【0002】
一般企業や公共機関など、様々な場所でオンライントランザクションシステムが適用され、実現するサービスには高速性や継続性が求められている。
【0003】
高速性の観点では、CPUがアクセス可能な主記憶装置のアドレス空間の広がりとその主記憶装置の価格が安くなってきたことで、全てのデータを主記憶装置上にロードして処理するインメモリデータ処理システムが現実的な解となりつつある。
【0004】
継続性の観点では、定期メンテナンスなどでシステムを停止する場合でも、ユーザへの影響を最小限にするためにサービスの停止時間をできるだけ短くする必要がある。しかし、インメモリデータ処理システムでは、特許文献1に記載されているようにシステム起動時に磁気ディスク装置などの外部記憶装置から全てのデータを主記憶装置にロードしておく必要がある。
【0005】
【特許文献1】特開平9−26906号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記の従来技術では、主記憶装置にロードするデータ量に比例してロード時間は増加し、システムの起動に時間が掛かることになる。この起動時間をできるだけ短くし、サービス停止時間を短縮することが求められている。
【0007】
インメモリデータ処理システムで処理するデータ量は数百GBにも及ぶと想定され、それに応じた大容量の主記憶装置が必要となる。主記憶装置にコストを掛ける分、バックアップ的な位置付けとなる外部記憶装置には安価な磁気ディスク装置が用いられると考えられる。例えば、転送速度が100MB/sの磁気ディスク装置を用いる場合、100GBのデータロードに17分程度掛かり、その分だけサービス停止時間が長くなる。たとえ、キャッシュ機構を持つような高価で高速な外部記憶装置を用いたとしても、初期ロードではそのキャッシュの効果は期待できない。
【0008】
上記のように典型的な例であるインメモリデータ処理システムではなくとも、主記憶装置に初期にロードするデータ量が多いデータ処理システムでは、起動時間(データ処理開始までの時間)の短縮が課題である。
【課題を解決するための手段】
【0009】
本発明のデータ処理システムは、システム起動時に処理受付と並行してデータ本体(一連のデータ)をロードすることにより、見かけ上のシステム起動時間を短縮させることが可能なデータ処理方法及びシステムである。ここで言うシステム起動時間の短縮とは、データ処理システムのOSを含む種々のプログラムの立ち上げ後、サービスを開始するまでの時間の短縮である。
【0010】
本発明の態様は、主記憶装置上のデータに対して処理を実行するデータ処理システムにおけるデータ処理方法であって、データ処理システムの起動に伴って、個々のデータに対する処理要求の有無に関わらず、個々のデータからなる一連のデータ(データ本体)の外部記憶装置から主記憶装置へのロードと並行して、処理要求を受け付け、その処理要求に対応する対象データが主記憶装置へロードされていないとき、対象データが主記憶装置へロードされた後に、その処理要求に対応する処理を実行するデータ処理方法及びシステムである。
【0011】
本発明の他の態様は、処理要求に対応する対象データが主記憶装置へロードされていないとき、前記ある処理要求に対応する対象データが前記主記憶装置へロードされるまで、前記処理の実行開始を待つデータ処理方法及びシステムである。
【0012】
本発明のさらに他の態様は、データ処理の終了時に、処理が実行された対象データを含む一連のデータをデータ本体として主記憶装置から外部記憶装置へアンロードするデータ処理方法及びシステムである。
【0013】
本発明のさらに他の態様は、入力装置からの入力情報及び個々のデータの処理に関する統計情報の少なくとも一方に基づいて、個々のデータに対する参照や更新する確率である参照確率を求め、主記憶装置から外部記憶装置へ参照確率の降順に個々のデータをアンロードするデータ処理方法及びシステムである。
【0014】
本発明のさらに他の態様は、データ処理システムの再起動に伴って、外部記憶装置へアンロードされた一連のデータを主記憶装置へロードして、データ処理を再開するとき、主記憶装置へロードする一連のデータを外部記憶装置から参照確率の降順に連続的に読み出す(シーケンシャル・リードする)データ処理方法及びシステムである。
【0015】
本発明のさらに他の態様は、外部記憶装置から参照確率の降順に連続的に読み出される個々のデータの主記憶装置上への格納時に、個々のデータを管理するための管理情報に、個々のデータの主記憶装置上の格納アドレスを設定するデータ処理方法及びシステムである。
【0016】
本発明のさらに他の態様は、主記憶装置を構成する不揮発メモリによる記憶領域に管理情報を格納するデータ処理方法及びシステムである。
【0017】
本発明のさらに他の態様は、個々のデータを一連のデータとして、主記憶装置から外部記憶装置へ参照確率の降順にアンロードすると共に、主記憶装置から他の外部記憶装置へアンロードするデータ処理方法及びシステムである。
【0018】
本発明のさらに他の態様は、データ処理システムの再起動に伴って、外部記憶装置へアンロードされた一連のデータを主記憶装置へロードして、データ処理システムの処理を再開するとき、主記憶装置へロードする一連のデータを外部記憶装置から参照確率の降順に連続的に読み出し、処理要求に対応する対象データが主記憶装置へロードされていないとき、その対象データを他の外部記憶装置から主記憶装置へ読み出すデータ処理方法及びシステムである。
【発明の効果】
【0019】
本発明によれば、システム起動時には一連のデータのロードと並行して要求受付を開始することにより、見かけ上のシステム起動時間を短縮させることができる。
【発明を実施するための最良の形態】
【0020】
本発明を実施するための最良の形態を具体的に説明する。
【実施例1】
【0021】
図1は、本実施例のデータ処理システムのハードウェア構成である。本実施例のデータ処理システムは、図1に示すように、CPU101、主記憶装置102からなるデータ処理サーバ100、データ処理サーバ100に接続する表示装置103、入力装置104および外部記憶装置105から構成される。外部記憶装置105は、データ処理システムが処理を終了する際に処理結果のデータを保存するために用いられる。
【0022】
また、データ処理サーバ100には、LAN(Local Area Network)等の通信回線106を介して、CPU108、主記憶装置109からなる原本データ管理サーバ107が接続されている。原本データ管理サーバ107にも同様に、表示装置110、入力装置111および外部記憶装置112が接続されている。外部記憶装置112には、データ処理サーバ100の初期データとなる原本データが格納されている。
【0023】
データ処理システムの初回の起動時には、データ処理サーバ100は原本データ管理サーバ107に原本データを要求し、得られたデータを主記憶装置102に格納する。データ処理は主記憶装置102に格納されたデータに対して行われ、データ処理システムの処理終了時に処理結果(又は、処理終了時点のデータとして)のデータを外部記憶装置105に格納する。データ処理システムの二回目以降の起動時には、データ処理サーバ100は前回、処理を終了する際に外部記憶装置105に格納した(バックアップ)データを主記憶装置102に格納して処理を行う。
【0024】
図2は、本実施例のデータ処理システムにおけるモジュール構成である。データ処理サーバ100の主記憶装置102には、システム制御部200、データ処理制御部201、データロード制御部202、及びデータアンロード制御部203の各処理プログラムが格納されるとともに、データ統計情報格納領域204、データ管理情報格納領域205、データ本体格納領域206、参照確率格納領域207が確保される。各処理プログラムは、データ処理サーバ100のCPU101によって実行される。
【0025】
なお、図示及びその説明は、煩雑さを避けるために、本実施例を説明するに十分な範囲のものとする。省略する具体例としてOSがある。後にシステム起動時の説明をするが、本実施例はデータの初期ロードの点に注目しているため、OSが起動され、各処理プログラムも主記憶装置102上にロードされた状態を起点として説明する。
【0026】
データ処理制御部201は統計情報更新部208及びデータ処理実行部209で構成される。データロード制御部202は、初期データロード部210、管理情報ロード部211、及びデータ本体ロード部212で構成される。データアンロード制御部203は、参照確率算出部213、管理情報アンロード部214、及びデータ本体アンロード部215で構成される。データ処理サーバ100に接続している外部記憶装置105にはバックアップデータとしてデータ管理情報216、データ本体217が格納される。また、原本データ管理サーバ107に接続している外部記憶装置112にはデータ処理システムの初期データとなる原本データ218が格納されている。
【0027】
データ処理システムの初回の起動時には、外部記憶装置105にはまだバックアップデータであるデータ管理情報216およびデータ本体217は格納されていない。そのため、データロード制御部202は原本データ管理サーバ107に原本データ218を要求し、データ管理情報格納領域205とデータ本体格納領域206に格納する。原本データ218のデータ本体をデータ本体格納領域206に格納し、そのデータ本体を管理するためのデータ管理情報をデータ管理情報格納領域205に格納する。
【0028】
データ本体とは、個々のデータの集まりである一連のデータであり、本実施例のデータ処理システムの処理対象になり得るデータである。データ管理情報は、個々のデータの格納アドレスなどを管理する情報であり、全体としてデータ本体の管理情報ともいえる。
【0029】
データ処理制御部201は外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域205に格納されている対象データの管理情報やデータ本体格納領域206に格納されている対象データの本体に要求に応じた処理を実行するとともに、データ統計情報格納領域204に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域206に格納されていない場合には、ロードされるまで待機する。
【0030】
データ処理システムの処理の終了時に、データアンロード制御部203は、データ管理情報格納領域205に格納されているデータ管理情報を外部記憶装置105にデータ管理情報216として格納する。その後、データ統計情報格納領域204に格納されている統計情報を用いて各データの参照確率を算出して参照確率格納領域207に格納する。その参照確率の降順にデータ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として格納する。このデータ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。
【0031】
データ処理システムの二回目以降の起動時には、データロード制御部202は、原本データ218の代わりに、外部記憶装置105に格納されているデータ管理情報216およびデータ本体217をロードし、データ管理情報格納領域205およびデータ本体格納領域206に格納する。
【0032】
以下、各制御部の処理内容をPAD(Problem Analysis Diagram)を用いて詳細に説明する。 システム制御部200の処理内容を、図3を用いて説明する。システム制御部200は、データ統計情報格納領域204を初期化する(S300)。統計情報とはデータに対する処理回数(参照回数および更新回数)や最新処理日時を含んだものであり、データアンロード制御部203で参照確率を算出するために必要な基礎情報となる。データロード制御部202を起動し(S301)、データをロードする。データロード制御部202から完了メッセージを受信するまで待つ(S302)。データロード制御部202から完了メッセージを受信したら、データ処理制御部201を起動する(S303)。データ処理要求の受付を開始し、受け付けた処理要求をデータ処理制御部201に送信する処理(S305)をシステム終了コマンドが入力装置104から入力されるまで繰り返す(S304)。入力装置104からシステム終了コマンドが入力されると、データ処理制御部201に終了メッセージを送信して(S306)、データ処理を終了させる。データアンロード制御部203を起動し(S307)、データ管理情報格納領域205に格納されているデータ管理情報とデータ本体格納領域206に格納されているデータ本体を外部記憶装置105に格納する。
【0033】
データロード制御部202の処理内容を、図4を用いて説明する。データロード制御部202はシステム制御部200によって起動される(図3のS301)。起動されると、データ管理情報216およびデータ本体217が外部記憶装置105に格納されているかどうかを確認する(S400)。格納されていないと判断(データ処理システムの初回の起動時と判断)した場合には、初期データロード部210を起動し、原本データ218のロード処理を行う(S401〜S403)。格納されていると判断した場合には、管理情報ロード部211とデータ本体ロード部212を起動し、データ管理情報216およびデータ本体217のロード処理を行う(S404〜S408)。
【0034】
原本データ218のロード処理では、初期データロード部210は原本データ管理サーバ107に原本データ218を要求する(S401)。取得した原本データ218をデータ本体としてデータ本体格納領域206に格納し、その格納先や属性情報をデータ管理情報としてデータ管理情報格納領域205に格納する(S402)。システム制御部200に完了メッセージを送信する(S403)。システム制御部200はこの完了メッセージを受信すると、処理を再開する。
【0035】
データ管理情報216およびデータ本体217のロード処理では、管理情報ロード部211は、外部記憶装置105からデータ管理情報216を読み込み、データ管理情報格納領域205に格納し(S404)、システム制御部200に完了メッセージを送信する(S405)。システム制御部200はこの完了メッセージを受信すると、処理を再開する。このシステム制御部200の再開された処理と並行して、データ本体ロード部212が全てのデータ本体に対して、S407及びS408の処理を繰り返す。外部記憶装置105からデータ本体217を読み込み、データ本体格納領域206に格納する(S407)。データ本体の格納先(アドレス)をデータ管理情報格納領域205に格納されている管理情報に設定する(S408)。データ本体217の読み込み処理(S407)と管理情報の設定処理(S408)は交互に行われるが、外部記憶装置105の上では連続的な読み出し処理となる。
【0036】
データ処理制御部201の処理内容を、図5を用いて説明する。データ処理制御部201は、データロード制御部202から完了メッセージを受信したシステム制御部200によって起動される。
【0037】
起動された時点では、データ管理情報とデータ本体との主記憶装置102への格納状態には二つの状態が存在する。一つ目はデータ本体格納領域206にデータ本体が格納され、データ管理情報格納領域205にデータ本体の格納先などの管理情報が設定されている状態である。二つ目はデータ本体格納領域206にデータ本体が未格納であり、データ管理情報格納領域205にデータ本体の格納先などの管理情報が設定されていない状態である。
【0038】
データ処理制御部201は起動されると、システム制御部200から終了メッセージを受信するまでS501〜S505の処理を繰り返す(S500)。システム制御部200からデータの処理要求を受信する(S501)。処理要求の対象となる本体データの格納先などの管理情報がデータ管理情報格納領域205に格納されているかどうかを確認する(S502)。設定されていない場合、処理要求の対象のデータ本体の格納先などの管理情報がデータ管理情報格納領域205に設定されるまで待機する(S503)。
【0039】
処理対象のデータ本体の格納先などの管理情報がデータ管理情報格納領域205に設定されているならば、データ本体格納領域206に処理対象のデータ本体が格納されているので、データ処理実行部209を起動し、処理対象データに要求された処理を実行する(S504)。
【0040】
統計情報更新部208を起動し、データ統計情報格納領域204に格納されている処理対象データの統計情報を処理内容に応じて更新する(S505)。処理対象データの統計情報とは、例えば処理回数(参照回数および更新回数)や最新処理日時などであり、統計情報の更新処理とは処理回数をカウントアップしたり、最新処理日時を現在の日時に書き直したりすることである。
【0041】
データアンロード制御部203の処理内容を、図6を用いて説明する。データアンロード制御部203は、入力装置104からシステム終了コマンドを入力されたシステム制御部200によって起動される。データアンロード制御部203は起動されると、管理情報アンロード部214を起動し、データ管理情報格納領域205に格納されている管理情報を、外部記憶装置105にデータ管理情報216として書き込む(S600)。
【0042】
参照確率算出部213を起動し、データ統計情報格納領域204に格納されている統計情報からデータの参照確率を算出し、参照確率格納領域207に格納する(S601)。データ本体アンロード部215を起動し、参照確率格納領域207に格納されている参照確率の降順に、データ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として書き込む(S602)。データ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。
【0043】
ここで参照確率とは、参照のされやすさを数値化したものであり、参照される可能性の高いデータほど高い数値となるように統計情報を用いて算出する。例えば、処理回数(参照回数および更新回数)の高いデータほど高い参照確率、最新処理日時が新しいデータほど高い参照確率になるような所定の計算式を用いて算出する。
【0044】
以上説明したように、システム起動時にデータの管理情報を全て主記憶装置にロードした時点で処理受付を開始し、処理受付(処理対象のデータ本体のロードが完了している場合は、受け付けた処理の実行)と並行してデータ本体をロードすることにより、見かけ上のシステム起動時間を短縮させることが可能となり、本システムを使用したサービスの停止時間を短くすることができる。さらに、外部記憶装置からの高速なシーケンシャルリードで、参照される可能性の高いデータ本体から先にロードできるバックアップデータを、前回のシステム終了時に作成しておき、そのバックアップデータを処理受付と並行してロードすることにより、処理要求を受けたデータ本体が未ロードの際の待ち時間の期待値を小さくするとともに、データ全体のロードが完了するまでの時間を短縮することが可能であり、短い時間でシステムの最高性能に達することができる。
【0045】
なお、本実施例では初回の起動時に原本データ管理サーバから全ての原本データを取得しているが、予め定められたデータのみに限定してもよい。たとえば、原本データが複数の表で構成されている場合には、処理対象となる表のみを取得するようにしてもよい。
本実施例ではデータ処理システムを起動している間中、データの処理状況に応じて統計情報を更新する構成で説明したが、システム起動直後の一定時間内だけ統計情報を取得するようにしてもよい。業務の進行状況に応じて必要となるデータは異なる場合があり、システム起動時の参照されやすさは起動直後の統計情報を用いた方が高精度となる場合がある。
【0046】
本実施例ではデータ処理の統計情報を用いてデータ本体のアンロード順を決定しているが、入力装置からの統計情報の入力により、その統計情報に従ってアンロード順を決定するようにしてもよい。例えば、株売買システムなどで用いられるような場合、ニュースなどで報道された情報によって売買開始直後に処理されるデータが異なることが多く、報道回数などの統計情報に従って、優先的にロードするデータを決定することは効果的である。
【0047】
本実施例では全てのデータを参照される可能性の高い順に外部記憶装置の連続領域に書き出しているが、参照される可能性の高い順にデータを複数グループに分け、そのグループ毎に別領域に書き出すようにしてもよい。こうすることにより、全てのデータを書き出せる連続領域が確保できない場合でも、グループ数分の読み出しオフセット時間の増加だけで実現することができる。
【実施例2】
【0048】
実施例1においては、データ処理システムの二回目以降の起動時には、データ管理情報を主記憶装置にロードしてから、処理要求の受付を開始するのと並行して、データ本体のロードを行っていた。これは、主記憶装置が揮発性メモリによって構成されることを前提としていたからである。
【0049】
しかし、主記憶装置の一部をフラッシュメモリのような不揮発性メモリで構成することにより、データ管理情報を不揮発性メモリで構成された主記憶装置の領域に格納することが可能となる。このようにすることにより、システムが処理を終了してもデータ管理情報を主記憶装置上に保持しておき、システム起動開始直後から処理要求の受付を開始できるようになる。数百GBにも及ぶと想定されるデータ本体に対し、その管理情報は数パーセント程度と想定されるため、不揮発性メモリに管理情報を格納することは現実的な解である。
【0050】
実施例2の構成を説明する。本実施例は基本的に実施例1と同様の構成をとるが、主記憶装置102内の構成が異なる。図7は本実施例のデータ処理サーバ100のハードウェア構成を示す図である。原本データ管理サーバ107や通信回線106の構成は実施例1と同じであるため図示を省略する。主記憶装置102aは不揮発性メモリ700と揮発性メモリ701で構成される。不揮発性メモリ700にはデータ管理情報が格納され、揮発性メモリ701にはその他のデータやプログラムモジュールが格納される。
【0051】
図8に本実施例のモジュール構成を示す。本実施例のデータ処理サーバ100には不揮発性メモリ領域700と揮発性メモリ領域701の二つのメモリ領域が存在する。不揮発性メモリ領域700にはデータ管理情報格納領域205が確保される。揮発性メモリ領域701にはシステム制御部200、データ処理制御部201、データロード制御部202a、及びデータアンロード制御部203aの各処理プログラムが格納されるとともに、データ統計情報格納領域204、データ本体格納領域206、参照確率格納領域207が確保される。
【0052】
データ処理制御部201は実施例1と同様に統計情報更新部208及びデータ処理実行部209で構成される。データロード制御部202aは、初期データロード部210及びデータ本体ロード部212で構成される。データアンロード制御部203aは、参照確率算出部213及びデータ本体アンロード部215aで構成される。
【0053】
データ処理サーバ100に接続している外部記憶装置105にはバックアップデータとしてデータ本体217が格納される。原本データ管理サーバ107に接続している外部記憶装置112にはデータ処理システムの初期データとなる原本データ218が格納されている。
【0054】
データ処理システムの初回の起動時には、外部記憶装置105にはまだバックアップデータであるデータ本体217は格納されていない。そのため、データロード制御部202aは原本データ管理サーバ107に原本データ218を要求し、データ管理情報は不揮発性メモリ領域700に確保したデータ管理情報格納領域205に、データ本体は揮発性メモリ領域701に確保したデータ本体格納領域206に格納する。データ処理制御部201は外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域205に格納されている対象データの管理情報やデータ本体格納領域206に格納されている対象データの本体に要求に応じた処理を実行するとともに、揮発性メモリ領域701に確保したデータ統計情報格納領域204に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域206に格納されていない場合には、ロードされるまで待機する。
【0055】
データ処理システムの終了時には、データアンロード制御部203aは、データ統計情報格納領域204に格納されている統計情報を用いて各データの参照確率を算出して揮発性メモリ領域701に確保した参照確率格納領域207に格納する。その参照確率の降順にデータ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として格納する。このデータ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。不揮発性メモリ領域700に確保したデータ管理情報格納領域205に格納されている管理情報は保持したままとなる。
【0056】
データ処理システムの二回目以降の起動時には、データロード制御部202aは、原本データ218の代わりに、外部記憶装置105に格納されているデータ本体217をデータ本体格納領域206に格納し、データ管理情報は不揮発性メモリ領域700内のデータ管理情報格納領域205に保持しておいた情報を使用する。
【0057】
本実施例におけるシステム制御部200とデータ処理制御部201の処理内容は実施例1と同様である。以下、実施例1と異なるデータロード制御部202aとデータアンロード制御部203aの処理内容を説明する。
【0058】
データロード制御部202aの処理内容を、図9を用いて説明する。データロード制御部202aはシステム制御部200によって起動される(図3のS301)。起動されると、データ本体217が外部記憶装置105に格納されているかどうかを確認する(S900)。格納されていないと判断(データ処理システムの初回の起動時と判断)した場合には、初期データロード部を起動し、原本データ218のロード処理を行う(S401〜S403)。格納されていると判断した場合には、データ本体ロード部212を起動し、データ本体217のロード処理を行う(S405〜S408)。
【0059】
原本データ218のロード処理では、初期データロード部210は原本データ管理サーバ107に原本データ218を要求する(S401)。取得した原本データ218をデータ本体として揮発性メモリ領域701に確保したデータ本体格納領域206に格納し、その格納先や属性情報をデータ管理情報として不揮発性メモリ領域700に確保したデータ管理情報格納領域205に格納する(S402)。システム制御部200に完了メッセージを送信する(S403)。システム制御部200はこの完了メッセージを受信すると、処理を再開する。
【0060】
データ本体217のロード処理では、システム制御部200に完了メッセージを送信する(S405)。システム制御部200はこの完了メッセージを受信すると、処理を再開する。このシステム制御部200の再開された処理と並行して、データ本体ロード部212がステップ406で全てのデータ本体に対して、S407及びS408の処理を繰り返す。外部記憶装置105からデータ本体217を読み込み、揮発性メモリ領域701に確保したデータ本体格納領域206に格納する(S407)。データ本体の格納先を不揮発性メモリ領域700内のデータ管理情報格納領域205に格納されている管理情報に設定する(S408)。ステップ407におけるデータ本体217の読み込み処理(S407)と管理情報の設定処理(S408)は交互に行われるが、外部記憶装置105の上では連続的な読み出し処理となる。
【0061】
データアンロード制御部203aの処理内容を、図10を用いて説明する。データアンロード制御部203aは、入力装置104からシステム終了コマンドを入力されたシステム制御部200によって起動される。
【0062】
データアンロード制御部203aは起動されると、参照確率算出部213を起動し、データ統計情報格納領域204に格納されている統計情報からデータの参照確率を算出し、揮発性メモリ領域701に確保した参照確率格納領域207に格納する(S601)。この参照確率は実施例1と同様のものを用いる。データ本体アンロード部215aを起動し、参照確率格納領域207に格納されている参照確率の降順に、データ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として書き込む(S602)。データ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。不揮発性メモリ領域700内のデータ管理情報格納領域205に格納されているデータの管理情報からデータ本体格納先を消去する(S1000)。
【0063】
以上説明したように、本実施例ではデータの管理情報をフラッシュメモリなどの不揮発性メモリに格納して保持しておくようにする。そして、二回目以降のシステム起動時には、保持しておいた管理情報を用いることにより、起動すると即座に処理受付を開始することが可能となる。その結果、見かけ上のシステム起動時間のさらなる短縮を可能とするとともに、システム終了時に出力した順にデータをロードすることにより、外部記憶装置からの高速なシーケンシャルリードで、参照される可能性の高いデータを優先的にロードでき、要求されたデータが未ロードの際の待ち時間の期待値を小さくすることが可能になる。
【実施例3】
【0064】
実施例1および実施例2では、データ処理システムの二回目以降の起動時には、処理受付の開始と並行してデータ本体の主記憶装置へのロードを行っており、処理対象のデータ本体が未ロードの場合には、ロードされるまで処理を中断していた。
【0065】
本実施例では、連続読み込み用とランダム読み込み用の二つの外部記憶装置を用意し、それぞれにバックアップデータを作成しておく。処理対象のデータ本体が連続読み込み用外部記憶装置から未ロードの場合には、ランダム読み込み用外部記憶装置から読み込んで処理を継続することにより、連続読み込みを行っている外部記憶装置に影響を与えることなく、処理要求の待ち時間を削減することが可能となる。
【0066】
外部記憶装置に影響を与えないとは、次のようなことを言う。外部記憶装置にたとえば磁気ディスクを用いる場合、連続する領域に格納されているデータを連続読み出しすると、読み出し用のヘッドのシーク時間を省略できるので、ヘッド位置を大きく変化させないようにすることである。磁気ディスクに対する入出力が中断されると、ヘッド位置がホームポジションに戻る磁気ディスクの場合は、再開後に一度のシークが発生するが、シーク時間を一回分に留めることができる。
【0067】
外部記憶装置として先読み機能を持つRAID(Redundant Arrays of Inexpensive Disks)システムを用いると、連続的なデータはディスクから先読みされて、RAIDの制御装置内のキャッシュメモリに置かれ、処理サーバから見た読み出し時間が短くなる。したがって、連続読み出しを中断しても、中断時点では連続する先のデータがキャッシュメモリに存在する。再開した場合、キャッシュメモリにあるデータが読まれ、その間にさらに先読みが進む。データへのランダムアクセスがこの先読み機能に影響を与えないようにすればよい。
【0068】
そのためには、連続読み込み用とランダム読み込み用とに分けてRAIDシステムを用意しても良い。RAIDシステムは、サーバとのインタフェース(パス)が複数あり、各インターフェイスごとに先読み機能が独立に制御されるので、同じRAIDシステム内に、連続読み込み用とランダム読み込み用の記憶領域を設け、サーバから異なるインターフェイス(パス)を用いれば、連続読み出しの外部記憶装置に影響を与えないように実現できる。RAIDシステム内のボリューム(記憶領域)毎に先読み機能が独立に制御される場合は、ボリュームを分けておけばよい。
【0069】
連続読み込みを中断して、ランダムアクセスしたデータに対する処理を実行後に、連続読み込み用外部記憶装置からデータ本体が再度ロードされることになる。ランダムアクセスした対象データを更新した場合、更新後データが、連続読み込みされた更新前データによって上書きされる。そのため、新しい番号を更新後データに付与するなどにより、更新前データと更新後データを別データとして扱い、上書きされないようにする。
【0070】
実施例3の構成を説明する。本実施例は基本的に実施例1と同様の構成をとるが、外部記憶装置との接続状況とプログラムモジュール構成が異なる。
【0071】
図11は本実施例のデータ処理サーバ100のハードウェア構成を示す図である。原本データ管理サーバ107や通信回線106の構成は実施例1と同じであるので図示していない。データ処理サーバ100には図1に示したバックアップデータ格納用の外部記憶装置105に加えて、ランダム読み込み用バックアップデータを格納する外部記憶装置1100を接続する。
【0072】
図12に本実施例のモジュール構成を示す。本実施例のデータ処理サーバ100には、システム制御部200、データ処理制御部201b、データロード制御部202、及びデータアンロード制御部203bの各処理プログラムが格納されるとともに、データ統計情報格納領域204、データ管理情報格納領域205、データ本体格納領域206、参照確率格納領域207が確保される。
【0073】
データ処理制御部201bは統計情報更新部208、データ処理実行部209b、及び未ロードデータ取得部1201で構成される。データロード制御部202は、初期データロード部210、管理情報ロード部211、及びデータ本体ロード部212で構成される。データアンロード制御部203bは、参照確率算出部213、管理情報アンロード部214、及びデータ本体アンロード部215bで構成される。
【0074】
データ処理サーバ100に接続している外部記憶装置105にはバックアップデータとしてデータ管理情報216及びデータ本体217が格納される。他の一台の外部記憶装置1100にはデータ本体1200が格納されている。原本データ管理サーバ107に接続している外部記憶装置112には、データ処理システムの初期データとなる原本データ218が格納されている。
【0075】
データ処理システムの初回の起動時には、外部記憶装置105にはまだバックアップデータであるデータ管理情報216およびデータ本体217は格納されていない。そのため、データロード制御部202は原本データ管理サーバ107に原本データ218を要求し、データ管理情報格納領域205とデータ本体格納領域206に格納する。データ処理制御部201bは外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域205に格納されている対象データの管理情報やデータ本体格納領域206に格納されている対象データの本体に要求に応じた処理を実行するとともに、データ統計情報格納領域204に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域206に格納されていない場合には、外部記憶装置1100に格納されているデータ本体1200から対象データを探索し、それをデータ本体格納領域206に格納してから処理を実行する。
【0076】
データ処理システムの終了時には、データアンロード制御部203bは、データ管理情報格納領域205に格納されているデータ管理情報を外部記憶装置105にデータ管理情報216として格納する。その後、データ統計情報格納領域204に格納されている統計情報を用いて各データの参照確率を算出して参照確率格納領域207に格納する。その参照確率の降順にデータ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として格納する。このデータ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。さらに外部記憶装置1100にもデータ本体1200を格納する。
【0077】
データ処理システムの二回目以降の起動時には、データロード制御部202は、原本データ218の代わりに、外部記憶装置105に格納されているデータ管理情報216およびデータ本体217を、データ管理情報格納領域205およびデータ本体格納領域206に格納する。
【0078】
本実施例におけるシステム制御部200とデータロード制御部202の処理内容は実施例1と同様である。以下、実施例1と処理内容が異なるデータ処理制御部201bとデータアンロード制御部203bについて、その処理を説明する。
【0079】
データ処理制御部201bの処理内容を、図13を用いて説明する。データ処理制御部201bは、データロード制御部202から完了メッセージを受信したシステム制御部200によって起動される。
【0080】
起動された時点では、データ管理情報とデータ本体との主記憶装置102への格納状態には二つの状態が存在する。一つ目はデータ本体格納領域206にデータ本体が格納され、データ管理情報格納領域205にデータ本体の格納先などの管理情報が設定されている状態である。二つ目はデータ本体格納領域206にデータ本体が未格納であり、データ管理情報格納領域205にデータ本体の格納先などの管理情報が設定されていない状態である。
【0081】
データ処理制御部201は起動されると、システム制御部200から終了メッセージを受信するまでS501〜S505の処理を繰り返す(S500)。システム制御部200からデータの処理要求を受信する(S501)。処理要求の対象となる本体データの格納先などの管理情報がデータ管理情報格納領域205に格納されているかどうかを確認する(S502)。設定されていない場合、未ロードデータ取得部1201を起動し、外部記憶装置1100に格納されているデータ本体1200から対象データを探索し、データ本体格納領域206に格納する(S1300)。対象データのデータ本体の格納先などの管理情報をデータ管理情報格納領域205に格納する(S1301)。
【0082】
処理要求の対象データの本体がデータ本体格納領域206に格納されたので、データ処理実行部209bを起動して要求された処理を実行する。処理要求が参照処理か更新処理かを判断する(S1302)。参照処理の場合、処理対象データの参照結果を処理要求元に返却する(S1303)。更新処理の場合、対象データを処理要求に基づいて更新した新規データを作成し、新しい番号を付与して新規登録する(S1304)。統計情報更新部208を起動し、データ統計情報格納領域204に格納されている処理対象データの統計情報を処理内容に応じて更新する(S505)。
【0083】
上記S1304の更新後データの新規登録処理を、図14を用いて詳細に説明する。図14はデータ管理情報格納領域205に格納された管理情報の例である。図14の例では、データの管理情報として、“データ番号”、“データ名称”、“作成日付”、“データ容量”、“旧データ番号”、“本体格納先”を格納している。“データ番号”は個々のデータに固有の識別番号である。“データ名称”、“作成日付”、“データ容量”はデータの属性情報であり、その他に“更新日付”、“作成者”などを追加してもよい。“旧データ番号”は該データが更新後データである場合、更新前データのデータ番号を示している。これに“null”が格納されている場合は、更新前データが存在しないことを意味する。“本体格納先”にはデータ本体格納領域206に格納されているデータ本体へのポインタ情報が含まれる。ここに“null”が格納されている場合は、データ本体が未ロードであることを意味する。
【0084】
なお、データ統計情報格納領域204に格納されているデータの統計情報を、この管理情報と同一領域で管理するようにしてもよい。図14の例では“データ番号”が“00000002”のデータを更新している。まず“00000002”のデータのエントリ情報を、新規データ番号“00001203”にコピーする。そして更新したデータ本体をデータ本体格納領域206に格納し、そのデータ本体へのポインタ情報である“address1203”を“本体格納先”に格納する。最後に、“データ容量”のように変更となる属性があれば変更する。このように更新後データに新しい番号を付与して管理することにより、その後連続読み込み用外部記憶装置105から更新前データがロードされた場合に、更新後データが上書きされることがない。
【0085】
データアンロード制御部203bの処理内容を、図15を用いて説明する。データアンロード制御部203bは、入力装置104からシステム終了コマンドを入力されたシステム制御部200によって起動される。データアンロード制御部203bは起動されると、管理情報アンロード部214を起動し、データ管理情報格納領域205に格納されている管理情報を、外部記憶装置105にデータ管理情報216として書き込む(S600)。
【0086】
参照確率算出部213を起動し、データ統計情報格納領域204に格納されている統計情報からデータの参照確率を算出し、参照確率格納領域207に格納する(S601)。データ本体アンロード部215を起動し、参照確率格納領域207に格納されている参照確率の降順に、データ本体格納領域206に格納されているデータ本体を外部記憶装置105にデータ本体217として書き込む(S602)。データ本体217は参照確率の降順に外部記憶装置105の連続領域に配置される。データ本体格納領域206に格納されているデータ本体を外部記憶装置1100にデータ本体1200として格納する(S1500)。このデータ本体1200の格納順には特に制限はない。
【0087】
以上説明したように、本実施例では連続読み込み用とランダム読み込み用の二つの外部記憶装置を用意し、それぞれにバックアップデータを作成しておく。処理対象データが連続読み込み用外部記憶装置から未ロードの場合には、ランダム読み込み用外部記憶装置から対象データを読み込むことにより、連続読み込みを行っている外部記憶装置のヘッドに影響を与えることなく、処理を継続することができる。その結果、全てのデータをロードするまでの時間を増加させることなく、処理要求の待ち時間を削減することが可能となる。
【図面の簡単な説明】
【0088】
【図1】実施例1のハードウェア構成図である。
【図2】実施例1のモジュール構成図である。
【図3】実施例1のシステム制御部の処理内容を示すPAD図である。
【図4】実施例1のデータロード制御部の処理内容を示すPAD図である。
【図5】実施例1のデータ処理制御部の処理内容を示すPAD図である。
【図6】実施例1のデータアンロード制御部の処理内容を示すPAD図である。
【図7】実施例2のハードウェア構成図である。
【図8】実施例2のモジュール構成図である。
【図9】実施例2のデータロード制御部の処理内容を示すPAD図である。
【図10】実施例2のデータアンロード制御部の処理内容を示すPAD図である。
【図11】実施例3のハードウェア構成図である。
【図12】実施例3のモジュール構成図である。
【図13】実施例3のデータ処理制御部の処理内容を示すPAD図である。
【図14】実施例3のデータ管理情報の構成例を示す図である。
【図15】実施例3のデータアンロード制御部の処理内容を示すPAD図である。
【符号の説明】
【0089】
100…データ処理サーバ、101…CPU、102…主記憶装置、102a…主記憶装置、103…表示装置、104…入力装置、105…外部記憶装置、106…通信回線、107…原本データ管理サーバ、108…CPU、109…主記憶装置、110…表示装置、111…入力装置、112…外部記憶装置、200…システム制御部、201…データ処理制御部、201b…データ処理制御部、202…データロード制御部、202a…データロード制御部
203…データアンロード制御部、203a…データアンロード制御部、203b…データアンロード制御部、204…データ統計情報格納領域、205…データ管理情報格納領域、206…データ本体格納領域、207…参照確率格納領域、208…統計情報更新部、209…データ処理実行部、209b…データ処理実行部、210…初期データロード部、211…管理情報ロード部、212…データ本体ロード部、213…参照確率算出部、214…管理情報アンロード部、215…データ本体アンロード部、215a…データ本体アンロード部、215b…データ本体アンロード部、216…データ管理情報、217…データ本体、218…原本データ、700…不揮発性メモリ、701…揮発性メモリ、1100…外部記憶装置、1200…データ本体、1201…未ロードデータ取得部。

【特許請求の範囲】
【請求項1】
主記憶装置上のデータに対して処理を実行するデータ処理システムにおけるデータ処理方法であって、
前記データ処理システムの起動に伴って、個々のデータに対する処理要求の有無に関わらず、前記個々のデータからなる一連のデータの外部記憶装置から前記主記憶装置へのロードと並行して、ある処理要求を受け付け、
前記ある処理要求に対応する対象データが前記主記憶装置へロードされていないとき、前記対象データが前記主記憶装置へロードされた後に、前記対象データに対して前記ある処理要求に対応する処理を実行することを特徴とするデータ処理方法。
【請求項2】
前記データ処理システムにおけるデータ処理の終了に応答して、前記処理が実行された前記対象データを含む前記一連のデータを前記主記憶装置から前記外部記憶装置へアンロードすることを特徴とする請求項1記載のデータ処理方法。
【請求項3】
前記データ処理システムの入力装置からの入力情報及び前記個々のデータの処理に関する統計情報の少なくとも一方に基づいて、前記個々のデータを参照または更新する確率である参照確率を求め、
前記個々のデータを前記一連のデータとして、前記主記憶装置から前記外部記憶装置へ前記参照確率の降順にアンロードすることを特徴とする請求項2記載のデータ処理方法。
【請求項4】
前記個々のデータの処理に関する統計情報には、前記個々のデータの処理回数及び前記個々のデータの処理日時の少なくとも一方を含むことを特徴とする請求項3記載のデータ処理方法。
【請求項5】
前記データ処理システムの再起動に伴って、前記外部記憶装置へ前記アンロードされた前記一連のデータを前記主記憶装置へロードして、前記データ処理システムの処理を再開するとき、前記主記憶装置へロードする前記一連のデータを前記外部記憶装置から前記参照確率の降順に連続的に読み出すことを特徴とする請求項3記載のデータ処理方法。
【請求項6】
前記外部記憶装置から前記参照確率の降順に連続的に読み出される前記個々のデータの前記主記憶装置上への格納に応答して、前記個々のデータを管理するための管理情報に、前記個々のデータの前記主記憶装置上の格納アドレスを設定することを特徴とする請求項5記載のデータ処理方法。
【請求項7】
前記管理情報は、前記主記憶装置を構成する不揮発メモリによる記憶領域に格納されることを特徴とする請求項6記載のデータ処理方法。
【請求項8】
前記個々のデータを前記一連のデータとして、前記主記憶装置から前記外部記憶装置へ前記参照確率の降順にアンロードすると共に、前記主記憶装置から他の外部記憶装置へアンロードすることを特徴とする請求項3記載のデータ処理方法。
【請求項9】
前記データ処理システムの再起動に伴って、前記外部記憶装置へ前記アンロードされた前記一連のデータを前記主記憶装置へロードして、前記データ処理システムの処理を再開するとき、前記主記憶装置へロードする前記一連のデータを前記外部記憶装置から前記参照確率の降順に連続的に読み出す処理の実行と並行して、他の処理要求を受け付け、
前記他の処理要求に対応する他の対象データが前記主記憶装置へロードされていないとき、前記他の対象データを前記他の外部記憶装置から前記主記憶装置へ読み出すことを特徴とする請求項8記載のデータ処理方法。
【請求項10】
主記憶装置上のデータに対して処理を実行するデータ処理システムであって、
前記データ処理システムの起動に伴って、個々のデータに対する処理要求の有無に関わらず、前記個々のデータからなる一連のデータを外部記憶装置から前記主記憶装置へロードするデータロード制御部と、
前記データロード制御部の動作と並行して、ある処理要求を受け付けるデータ処理制御部とを有し、
前記ある処理要求に対応する対象データが前記主記憶装置へロードされていないとき、前記対象データが前記主記憶装置へロードされた後に、前記データ処理制御部は前記対象データに対して前記ある処理要求に対応する処理を実行することを特徴とするデータ処理システム。
【請求項11】
前記データ処理システムにおけるデータ処理の終了に応答して、前記処理が実行された前記対象データを含む前記一連のデータを前記主記憶装置から前記外部記憶装置へアンロードするアンロード制御部を有することを特徴とする請求項10記載のデータ処理システム。
【請求項12】
前記データ処理システムの入力装置からの入力情報及び前記個々のデータの処理に関する統計情報の少なくとも一方に基づいて、前記個々のデータに対する参照または更新する確率である参照確率を求める演算部を有し、
前記アンロード制御部は、前記個々のデータを前記一連のデータとして、前記主記憶装置から前記外部記憶装置へ前記参照確率の降順にアンロードすることを特徴とする請求項11記載のデータ処理システム。
【請求項13】
前記個々のデータの処理に関する統計情報には、前記個々のデータの処理回数及び前記個々のデータの処理日時の少なくとも一方を含むことを特徴とする請求項12記載のデータ処理システム。
【請求項14】
前記データ処理システムの再起動に伴って、前記外部記憶装置へ前記アンロードされた前記一連のデータを前記主記憶装置へ前記データロード制御部によってロードして、前記データ処理システムの処理を再開するとき、前記データロード制御部は前記主記憶装置へロードする前記一連のデータを前記外部記憶装置から前記参照確率の降順に連続的に読み出すことを特徴とする請求項12記載のデータ処理システム。
【請求項15】
前記データロード制御部は、前記外部記憶装置から前記参照確率の降順に連続的に読み出される前記個々のデータの前記主記憶装置上への格納に応答して、前記個々のデータを管理するための管理情報に、前記個々のデータの前記主記憶装置上の格納アドレスを設定することを特徴とする請求項14記載のデータ処理システム。
【請求項16】
前記管理情報は、前記主記憶装置を構成する不揮発メモリによる記憶領域に格納されることを特徴とする請求項15記載のデータ処理システム。
【請求項17】
前記アンロード制御部は、前記個々のデータを前記一連のデータとして、前記主記憶装置から前記外部記憶装置へ前記参照確率の降順にアンロードすると共に、前記主記憶装置から他の外部記憶装置へアンロードすることを特徴とする請求項12記載のデータ処理システム。
【請求項18】
前記データ処理システムの再起動に伴って、前記外部記憶装置へ前記アンロードされた前記一連のデータを前記主記憶装置へ前記データロード制御部によってロードして、前記データ処理システムの処理を再開するとき、前記主記憶装置へロードする前記一連のデータの、前記データロード制御部による前記外部記憶装置から前記参照確率の降順の連続的な読み出しと並行して、前記データ処理制御部は他の処理要求を受け付け、
前記他の処理要求に対応する他の対象データが前記主記憶装置へロードされていないとき、前記データ処理制御部は前記他の対象データを前記他の外部記憶装置から前記主記憶装置へ読み出すことを特徴とする請求項17記載のデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate