(57)【要約】【課題】  リアルタイムデータを供給する技術の提供【解決手段】ドキュメント指向データベースシステムのコマンド単位にジョブを構成し、トランザクジョン処理を行う際はジョブの集合を構成してキューイングし、順次処理する。更新が完了した更新データをジョブ単位で前記クライアント・コンピュータのうちシステムを利用しているクライアント・コンピュータに対して即時通知する。【選択図】図２
2013069253.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、且つ、コマンド単位にＡｔｏｍｉｃｉｔｙ特性を持ったデータベースシステムを備えた１以上のサーバー・コンピュータと、前記サーバー・コンピュータに処理を要求する手段を備えたことを特徴とする１以上のクライアント・コンピュータで構成されることを特徴とするコンピュータ・システムであって、前記サーバー・コンピュータが備えたデータベースに保存されたデータの更新を行う際、データベースシステムの提供する更新コマンド単位をジョブとした更新タスクを作成し、且つ、タスクはキューイングを行い順次処理し、且つ、タスク失敗時はタスク開始前の状態に戻す仕組みを備え、且つ、更新が完了した更新データをジョブ単位で前記クライアント・コンピュータのうちシステムを利用しているクライアント・コンピュータに対して即時通知する手段を備えたことを特徴とするコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】本技術は、ネットワークに接続され、且つ、コマンド単位にＡｔｏｍｉｃｉｔｙ特性を持ったデータベースシステムを備えた１以上のサーバー・コンピュータと、前記サーバー・コンピュータに処理を要求する手段を備えたことを特徴とする１以上のクライアント・コンピュータとで構成されることを特徴とするコンピュータ・システムに関する。
【背景技術】
【０００２】ネットワークを介したコンピュータ・システムは、１９９０年代、Ｗｅｂアプリケーションの提供が盛んになった頃からサーバー・コンピュータにデータベースシステムを持たせ、データ管理ロジックとアプリケーションロジックを分割する３層アーキテクチャ（３−ｔｉｅｒ  ａｒｃｈｉｔｅｃｔｕｒｅ）が用いられるようになった。データ管理ロジックはリレーショナル・データベース・マネージメント・システム（ＲＤＢＭＳ）が保持しており、データ操作のための特別な言語（ＳＱＬ）でデータの登録・更新・抽出を行うことが一般的である。【０００３】ＲＤＢＭＳはテーブル・カラムという概念および複数のカラムでテーブル間の関係を紐づける機能を持ち、構造の決定には正規化という、テーブルを小さい単位に分け、重複したデータを最小限にする方法が用いられる。この小さく分けられたデータの整合性を維持するため、ＲＤＢＭＳの多くのＳＱＬにはトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）の機能がある。ここでＴｒａｎｓａｃｔｉｏｎとは、関連を持った２つ以上のデータに対して取得・更新を行うトランザクション処理が行われたとき、データベース・システム内に保存されたデータの整合性を維持させる機能を指す。【０００４】データの整合性維持の指標としてＡＣＩＤ特性（ＩＳＯ／ＩＥＣ１００２６−１：１９９２Ｓｅｃｔｉｏｎ４に詳述されている）がある。ＡＣＩＤはＡｔｏｍｉｃｉｔｙ、Ｃｏｎｓｉｓｔｅｎｃｙ、ＩｓｏｌａｔｉｏｎおよびＤｕｒａｂｉｌｉｔｙの略で、単一または複数のトランザクション処理の実行により、データの整合性が失われないことを意味する。ＲＤＢＭＳにおけるＴｒａｎｓａｃｔｉｏｎでは、Ｔｒａｎｓａｃｔｉｏｎの命令文をＳＱＬに登録することで、当該処理が完了するまで他のデータ取得・更新動作が行われない。【０００５】２０００年頃、クラウド・コンピューティングが注目されると、データを複数台のサーバー・コンピュータに分散、離散的に保持する思想が生まれた。ＩＴバブルでもあったこの時期、ハードウェアは凄まじいスピードで性能の向上を続けており、この頃からデータを正規化せず保持するドキュメント指向のデータベースが登場した。ドキュメント指向のデータベースはキー・バリュー・ストア（ＫＶＳ）方式のデータベースである。ＲＤＢＭＳとは異なり、データベース・システム内のデータの一意性を保証するキーは１つのみである。【０００６】クライアント・コンピュータにおいては、Ｗｅｂアプリケーションに対する高いニーズに対応するため、クライアント・コンピュータからのリクエストによってサーバー・コンピュータが処理を行い、レスポンスを行うだけでなく、サーバー・コンピュータからクライアント・コンピュータにデータを送信するＷｅｂＳｏｃｋｅｔの規格がＷ３Ｃにより策定され、各ブラウザでの実装が進んでいる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】ドキュメント指向のデータベースはデータの授受がＲＤＢＭＳよりも高速であることが知られている。反面、正規化に対する縛りをデータベースシステムで管理しておらず、複数のドキュメントデータ（ＲＤＢＭＳでいうところのテーブルデータに相当）の整合性を保つことが難しく、データの堅牢性を求められる業務分野への適用は進んでいない。【０００８】しかしながら、ＲＤＢＭＳのＴｒａｎｓａｃｔｉｏｎはロックを利用してデータベースシステムだけでＡＣＩＤ特性の確保を行うため、データ取得のレスポンスの低下を招き、リアルタイムなデータをもって情報を表示・判断補助することが求められる昨今のコンピュータ・システムの構築に際して問題を抱えている。
【課題を解決するための手段】
【０００９】本発明は上記課題を解決すべくなされたもので、請求項１に記載の発明は、ネットワークに接続され、且つ、コマンド単位にＡｔｏｍｉｃｉｔｙ特性を持ったデータベースシステムを備えた１以上のサーバー・コンピュータと、前記サーバー・コンピュータに処理を要求する手段を備えたことを特徴とする１以上のクライアント・コンピュータで構成されることを特徴とするコンピュータ・システムであって、前記サーバー・コンピュータが備えたデータベースに保存されたデータの更新を行う際、データベースシステムの提供する更新コマンド単位をジョブとした更新タスクを作成し、且つ、タスクはキューイングを行い順次処理し、且つ、タスク失敗時はタスク開始前の状態に戻す仕組みを備え、且つ、更新が完了した更新データをジョブ単位で前記クライアント・コンピュータのうちシステムを利用しているクライアント・コンピュータに対して即時通知する手段を備えたことを特徴とするコンピュータ・システムである。【００１０】以下、図面を参照し、この発明の本発明の一実施の形態（以下「本実施形態」と呼ぶ）について説明する。
【図面の簡単な説明】
【００１１】
【図１】本実施形態を示す概略図である。
【図２】本実施形態の処理フローを図で記したものである。
【図３】図２処理フロー図の続きである。
【発明を実施するための形態】
【００１２】図１は本実施形態にかかるコンピュータ・システムの概略図である。コンピュータ・システム４０は、コマンド単位にＡｔｏｍｉｃｉｔｙ特性を持ったデータベースシステム３０を備えた１以上のサーバー・コンピュータ２０と、１以上のクライアント・コンピュータ１０とからなり、クライアント・コンピュータ１０はインターネット網やイントラネット網などのネットワークＮを介してサーバー・コンピュータ２０に接続されており、リクエスト・レスポンス通信方式もしくは、ソケット通信方式をして、サーバー・コンピュータ２０とファイル、データなど情報の授受を行うことができる。
【００１３】図２、図３は本実施形態において、処理フローを図で記したものである。図２、図３に基づき、本実施形態においての必要条件をまず述べる。
【００１４】サーバー・コンピュータ２０は更新に係るジョブのまとまりをキューイングする更新タスクキュー２１、更新の失敗時に状態を元に戻すためのバックアップスタック２２およびコマンド単位でＡｔｏｍｉｃｉｔｙ特性を持ったデータベース・システム３０を備えている。また、サーバー・コンピュータ２０はシステムを利用しているクライアント・コンピュータに対してＷｅｂＳｏｃｋｅｔを用いてデータをいつでも送信できる機能を有している。
【００１５】ここで「コマンド」とは取得ないしは更新を行う、データベース・システムに対する命令を指す。取得・更新の対象はドキュメントデータの集合体として定義されたコレクション内の一または複数のドキュメントデータである。そして、「ジョブ」はコマンド１つを実行する関数を指し、「タスク」は１以上のジョブの集合を指す。
【００１６】続いて、図２、図３に基づき、本実施形態においてのタスクが成功した場合の動作（Ｓ１０１〜Ｓ１１０）と、タスクが失敗した場合の動作（Ｓ２０１〜Ｓ２０９）について順に述べる。
【００１７】ジョブＡ、ＢおよびＣで構成されるタスクが要求された場合、これを更新タスクキュー２１にキューイングする（Ｓ１０１）。タスクから先頭のジョブＡを取り出し、ジョブＡに関連するデータを元に戻すジョブａをバックアップスタックに格納し、ジョブＡを実行する（Ｓ１０２）。更新されたデータＲＡをシステムを利用しているクライアント・コンピュータに対して通知する（Ｓ１０３）。
【００１８】タスクから次のジョブＢを取り出し、ジョブＢに関連するデータを元に戻すジョブｂをバックアップスタックに格納し、ジョブＢを実行する。（Ｓ１０４）。ジョブＤ、ＥおよびＦで構成される更新タスクが更に要求された場合、これを更新タスクキュー２１にキューイングする（Ｓ１０５）。ジョブＢにより更新されたデータＲＢをシステムを利用しているクライアント・コンピュータに対して通知する（Ｓ１０６）。
【００１９】タスクから次のジョブＣを取り出し、ジョブＣに関連するデータを元に戻すジョブｃをバックアップスタックに格納し、ジョブＣを実行する（Ｓ１０７）。更新されたデータＲＣをシステムを利用しているクライアント・コンピュータに対して通知する（Ｓ１０８）。ひとつのタスクが終了した段階でバックアップスタック２２内を空にするとともに、更新タスクキュー２１から終了したタスクを削除する（Ｓ１０９）。ジョブＧ、ＨおよびＩで構成される更新タスクが更に要求された場合、これを更新タスクキュー２１にキューイングする（Ｓ１１０）。
【００２０】次のタスクの先頭のジョブＤを取り出し、ジョブＤに関連するデータを元に戻すジョブｄをバックアップスタックに格納し、ジョブＤを実行する（Ｓ２０１）。更新されたデータＲＤをシステムを利用しているクライアント・コンピュータに対して通知する（Ｓ２０２）。タスクから次のジョブＥを取り出し、ジョブＥに関連するデータを元に戻すジョブｅをバックアップスタックに格納し、ジョブＥを実行する（Ｓ２０３）。
【００２１】ジョブＥの実行中にエラーが発生した場合、サーバー・コンピュータにデータベースシステムから通知される（Ｓ２０４）。実行中のタスク内のジョブを削除し、バックアップスタックからジョブＤに関連するデータを元に戻すジョブｄを取り出し、実行中のタスクに登録し、バックアップスタック２２内を空にする（Ｓ２０５）。ジョブｄを実行する（Ｓ２０６）。更新されたデータＲｄをシステムを利用しているクライアント・コンピュータに対して通知する（Ｓ２０７）。
【００２２】更新タスクキュー２１から終了したタスクを削除し、以降、次のタスクの処理を進める（Ｓ２０８、Ｓ２０９）。
【００２３】以上が本実施形態における、詳細な動作の記述である。
【発明の効果】
【００２４】本発明に係るコンピュータ・システムは、Ｔｒａｎｓａｃｔｉｏｎ途中であったとしても取得に係るスループットがほとんど劣化しない。トランザクション処理におけるデータベースのＡＣＩＤ特性は保たれており、且つ、データベースの状態とクライアント・コンピュータのデータには常に差異がなく、よりリアルタイム性に優れたデータをユーザーは閲覧、ハンドリングすることができる。
【００２５】［他の実施形態］
なお、本発明において、各手段などの要素は、コンピュータの演算制御部に限らず、ワイヤードロジック等に基づく電子回路で実現してもよい。また、各構成図、データの図、フローチャートの図などは例示に過ぎず、各要素の有無、その順序や具体的内容などは、本発明の範囲で適宜変更可能である。
【００２６】また、本発明の実施形態に記述された効果は、本発明の実施形態から生じる好適な効果を述べたものであって、本発明による効果は、本発明の実施形態に記述されたものに限定されるものではない。
【符号の説明】
【００２７】１０  クライアント・コンピュータ
２０  サーバー・コンピュータ
３０  データベース・システム
４０  コンピュータ・システム
Ｎ    ネットワーク
【図１】
2013069253.tif 000003
【図２】
2013069253.tif 000004
【図３】
2013069253.tif 000005