(57)【特許請求の範囲】
【請求項１】
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させるステップと、を含むデータベースの統合テスト方法。
【請求項２】
前記配置が完了して前記実行スクリプトが動作完了された後、さらに、
前記現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築するステップと、
基準データリストを取得し、前記基準データリストに従って前記現在のデータベースから基本データを抽出してバックアップし、バックアップした基本データを前記基準構造データベースに導入して基準データベースを構築するステップと、をさらに含む、請求項１に記載のデータベースの統合テスト方法。
【請求項３】
前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置するステップにおいて、
第１の配置テーブルが探し出された場合、前記第１の配置テーブルからスクリプト名称を読み取り、読み取られたスクリプト名称を前記実行スクリプトの名称と照合し、一致する実行スクリプトが前記現在のデータベースに配置され、及び
前記第１の配置テーブルが見つからない場合、前記実行スクリプトが分類され、分類された実行スクリプトが順位を付けられ、順位付けられた実行スクリプトが前記現在のデータベースに配置される、を含むことを特徴とする、請求項１に記載のデータベースの統合テスト方法。
【請求項４】
前記配置完了後、前記実行スクリプトを動作させた後に、さらに、
異常キーワードを含む第２の配置テーブルを取得するステップと、
前記実行スクリプトの動作結果を監視し、前記動作結果に異常キーワードが含まれているかどうかを判断するステップと、
あると判断された場合、前記動作結果に対応する実行スクリプトのスクリプト名称を取得し、前記異常キーワードと前記スクリプト名称に基づいて動作異常アラームを生成し、監視端末に送信するステップと、を含むことを特徴とする、請求項１に記載のデータベースの統合テスト方法。
【請求項５】
前記配置完了後、前記実行スクリプトを動作させた後に、さらに、
前記実行スクリプトの単一スクリプトの動作時間を監視するステップと、
前記単一スクリプトの動作時間が、予め設定された単一スクリプトの動作時間の閾値を超えているかどうかを判断するステップと、
超えたと判断された場合、前記実行スクリプトのスクリプト名称と動作時間を記録して前記異常アラームに添えるステップと、
前記実行スクリプトの総動作時間を検出し、前記総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えているかどうかを判断するステップと、
超えたと判断された場合、前記実行スクリプトの実行を中止して前記監視端末にタイムアウトアラームを送信するステップと、を含むことを特徴とする、請求項４に記載のデータベースの統合テスト方法。
【請求項６】
データベースの統合テスト装置であって、
最新バージョンのデータベースファイルを受信するファイル受信モジュールと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索する基準データ検索モジュールと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるデータ置換モジュールと、
前記最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させるスクリプト配置動作モジュールと、を含むデータベースの統合テスト装置。
【請求項７】
前記現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築する構造データベース構築モジュールと、
基準データリストを取得し、前記基準データリストに従って前記現在のデータベースから基本データを抽出してバックアップし、バックアップした基本データを前記基準構造データベースに導入して基準データベースを構築する前記現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築する基準データベース構築モジュールと、をさらに含むことを特徴とする、請求項６に記載のデータベースの統合テスト装置。
【請求項８】
前記スクリプト配置動作モジュールは、
第１の配置テーブルが探し出された場合、前記第１の配置テーブルからスクリプト名称を読み取り、読み取られたスクリプト名称を前記実行スクリプトの名称と照合し、一致する実行スクリプトが前記現在のデータベースに配置される照合配置モジュールと、
前記第１の配置テーブルが見つからない場合、前記実行スクリプトが分類され、分類された実行スクリプトが順位を付けられ、順位付けられた実行スクリプトが前記現在のデータベースに配置されるソート配置モジュールと、をさらに含むことを特徴とする、請求項６に記載のデータベースの統合テスト装置。
【請求項９】
異常キーワードを含む第２の配置テーブルを取得する配置テーブル取得モジュールと、
前記実行スクリプトの動作結果を監視し、前記動作結果に異常キーワードが含まれているかどうかを判断する動作監視モジュールと、
あると判断された場合、前記動作結果に対応する実行スクリプトのスクリプト名称を取得し、前記異常キーワードと前記スクリプト名称に基づいて動作異常アラームを生成し、監視端末に送信するアラーム生成モジュールと、をさらに含むことを特徴とする、請求項６に記載のデータベースの統合テスト装置。
【請求項１０】
前記実行スクリプトの単一スクリプトの動作時間を監視する時間監視モジュールと、
前記単一スクリプトの動作時間が、予め設定された単一スクリプトの動作時間の閾値を超えているかどうかを判断する時間閾値判断モジュールと、
超えたと判断された場合、前記実行スクリプトのスクリプト名称と動作時間を記録して前記異常アラームに添える時間記録モジュールと、
前記実行スクリプトの総動作時間を検出し、前記総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えているかどうかを判断する総時間監視モジュールと、
超えたと判断された場合、前記実行スクリプトの実行を中止して前記監視端末にタイムアウトアラームを送信するアラーム送信モジュールと、をさらに含むことを特徴とする、請求項９に記載のデータベースの統合テスト装置。
【請求項１１】
指令を格納するメモリと、プロセッサとを含むサーバであって、
前記指令が前記プロセッサに実行される際に、
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから最新バージョンの実行スクリプトファイルを抽出し、前記最新バージョンの実行スクリプトファイルを予め設定された規則に従て前記現在のデータベースに配置して、配置完了後、前記最新バージョンの実行スクリプトファイルを動作させるステップと、を前記プロセッサに実行させるサーバ。
【請求項１２】
前記配置が完了して前記実行スクリプトが動作完了された後、さらに、
前記現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築するステップと、
基準データリストを取得し、前記基準データリストに従って前記現在のデータベースから基本データを抽出してバックアップし、バックアップした基本データを前記基準構造データベースに導入して基準データベースを構築するステップと、をさらに実行する、請求項１１に記載のサーバ。
【請求項１３】
コンピューター実行可能な指令が格納される一つ以上の非一時的な記録媒体であって、前記コンピューター実行可能な指令が一つ以上のプロセッサに実行される際に、
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから最新バージョンの実行スクリプトファイルを抽出し、前記最新バージョンの実行スクリプトファイルを予め設定された規則に従て前記現在のデータベースに配置して、配置完了後、前記最新バージョンの実行スクリプトファイルを動作させるステップと、を前記一つ以上のプロセッサに実行させる非一時的な記録媒体。
【請求項１４】
前記配置が完了して前記実行スクリプトが動作完了された後、さらに、
前記現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築するステップと、
基準データリストを取得し、前記基準データリストに従って前記現在のデータベースから基本データを抽出してバックアップし、バックアップした基本データを前記基準構造データベースに導入して基準データベースを構築するステップと、をさらに実行する、請求項１３に記載の非一時的な記録媒体。
【請求項１５】
前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置するステップにおいて、
第１の配置テーブルが探し出された場合、前記第１の配置テーブルからスクリプト名称を読み取り、読み取られたスクリプト名称を前記実行スクリプトの名称と照合し、一致する実行スクリプトが前記現在のデータベースに配置されるステップ、及び
前記第１の配置テーブルが見つからない場合、前記実行スクリプトが分類され、分類された実行スクリプトが順位を付けられ、順位付けられた実行スクリプトが前記現在のデータベースに配置されるステップ、をさらに実行することを特徴とする、請求項１３に記載の非一時的な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、中国知的財産局に２０１７年０６月２０日に出願された、出願番号が２０１７１０４７０６４４０の「データベースの統合テスト方法、装置、コンピューターデバイス、および記録媒体」をタイトルとした中国特許出願の優先権を主張するものであり、その全内容を参照によりここに援用する。
【０００２】
本発明はデータベース統合分野に関し、特にデータベースの統合テスト方法、装置、サーバ、および記録媒体に関する。
【背景技術】
【０００３】
データベースは、転送とパブリッシングに関するテスト過程において、スクリプト実行異常が比較的頻繁に発生される。スクリプト実行異常があると、データベースファイルを修正し、修正したスクリプトの正確さを再び検証する必要がある。従来、テストに異常があったとき、データベースのデータをクリアし、データベースが作られた当時から最新バージョンまで全ての歴史データ及びスクリプトを再び配置する。そして、スクリプトを再検証する際に、データベースが作られた当時から最新バージョンまで全てのスクリプトを動作させる必要がある。上記の方法によれば、全てのスクリプトを統合的に維持して配置する必要があるため、スクリプト配置が難しくなり、データベースの統合テストする際の実行時間が長くなり、効率が低い。
【発明の概要】
【０００４】
本願の各実施例によれば、データベースの統合テスト方法、装置、サーバ、および記録媒体を提供する。
【０００５】
データベースの統合テスト方法であって、
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させるステップと、を含む前記データベースの統合テスト方法である。
【０００６】
データベースの統合テスト装置であって、
最新バージョンのデータベースファイルを受信するファイル受信モジュールと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索する基準データ検索モジュールと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるデータ置換モジュールと、
前記最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、前記実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた前記現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させるスクリプト配置動作モジュールと、を含む前記データベースの統合テスト装置である。
【０００７】
指令を格納するメモリと、プロセッサとを含むサーバであって、前記指令が前記プロセッサに実行される際に、
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから最新バージョンの実行スクリプトファイルを抽出し、前記最新バージョンの実行スクリプトファイルを予め設定された規則に従て前記現在のデータベースに配置して、配置完了後、前記最新バージョンの実行スクリプトファイルを動作させるステップと、を前記プロセッサに実行させる前記サーバである。
【０００８】
コンピューター実行可能な指令が格納される一つ以上の非一時的な記録媒体であって、前記コンピューター実行可能な指令が一つ以上のプロセッサに実行される際に、
最新バージョンのデータベースファイルを受信するステップと、
前記最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、前記基準データベース情報に基づいて前記最新バージョンのデータベースファイルに対応するデータベース基準データを検索するステップと、
現在のデータベースにおいてのデータを前記データベース基準データに置き換えるステップと、
前記最新バージョンのデータベースファイルから最新バージョンの実行スクリプトファイルを抽出し、前記最新バージョンの実行スクリプトファイルを予め設定された規則に従て前記現在のデータベースに配置して、配置完了後、前記最新バージョンの実行スクリプトファイルを動作させるステップと、を前記一つ以上のプロセッサに実行させる前記非一時的な記録媒体である。
【０００９】
本発明の一つ又は複数の実施例の詳細を以下の図面と記述により記載される。本発明の他の特徴、目的及び利点は明細書、図面及び請求項により明らかになる。
【図面の簡単な説明】
【００１０】
本願の実施例または従来技術による技術案をより明確に説明するために、実施例または従来技術を記述するのに必要な図面を簡単に説明する。後述の図面は実施例に過ぎず、これらの図面に基づいて他の図面を得られることが、当業者にとって明らかである。
【図１】一つの実施例におけるデータベースの統合テスト方法の応用環境図である。
【図２】一つの実施例におけるコンピューターデバイスの構成を示す図である。
【図３】一つの実施例におけるデータベースの統合テスト方法のフローチャートである。
【図４】もう一つの実施例におけるデータベースの統合テスト方法のフローチャートである。
【図５】さらにもう一つの実施例におけるデータベースの統合テスト方法のフローチャートである。
【図６】一つの実施例におけるデータベースの統合テスト装置の構成を示す図である。
【図７】もう一つの実施例におけるデータベースの統合テスト装置の構成を示す図である。
【図８】さらにもう一つの実施例におけるデータベースの統合テスト装置の構成を示す図である。
【図９】それにもう一つの実施例におけるデータベースの統合テスト装置の構成を示す図である。
【発明を実施するための形態】
【００１１】
本発明の目的、技術案および利点をより明確にするために、以下、添付した図面および実施例を参照して本発明を詳細に説明する。しかし、以下の実施例は、例示の目的のみに提供され、本発明を限定する目的ではないことが理解されるべきである。
【００１２】
本発明の実施例によるデータベースの統合テスト方法は、図１に示す応用環境に応用することができる。図１に示すように、サーバ１０２は、適当なネットワークを経由して本番サーバ１０４に接続されている。サーバ１０２は、本番サーバ１０４から送信された最新バージョンのデータベースファイルを受信する。本番サーバ１０４は、本番用データベースを開発するか、又は古いバージョンのデータベースを更新する際に用いられる。本番サーバ１０４は、テストするために開発された最新バージョンのデータベースにおける関連フィルをサーバ１０２に送信する。最新バージョンのデータベースファイルに、データベースの基礎データ、対象データ、及び実行スクリプトファイル等のデータベース構築に必要なデータ及びファイルが含まれている。サーバ１０２は最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、基準データベース情報に基づいて最新バージョンのデータベースファイルに対応するデータベース基準データを検索し、現在のデータベースにおいてのデータをデータベース基準データに置き換え、前記最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、実行スクリプトファイルにおいての実行スクリプトをデータが置き換えられた前記現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させることにより、スピティなデータベースの統合テストを実現できる。
【００１３】
図２は一つの実施例におけるサーバの構成を示す図である。当該サーバは、システムバスで接続されるプロセッサ、メモリ及びネットワークインタフェースを含む。当該プロセッサは、演算及び制御の機能を提供し、全サーバの動作をサポートする。メモリは、データや、指令コードなどを格納し、全てのバージョンの基準データベースの基準データベース情報、及び各基準データベースのデータベース基準データを格納する。ネットワークインタフェースは、ネットワークを経由して外部の本番サーバ及びサーバ等と接続されて通信されることに用いられる。
【００１４】
当該メモリには、少なくとも一つのコンピューター実行可能な指令が記憶されている。当該コンピューター実行可能な指令はプロセッサに実行されるより、本願の各実施例におけるデータベースの統合テスト方法を実現できる。メモリは、磁気ディスク、光ディスク、読出し専用メモリー（Read Only Memory、ROM）などの非一時的な記録媒体、或いはランダムメモリ（Random Access Memory、ROM）を含んでよい。一つの実施例において、メモリは非一時的な記録媒体及び内部メモリを含む。サーバの非一時的な記録媒体には、オペレーティングシステム、データベース、及びコンピューター実行可能な指令が格納されている。当該データベースに、下記の各実施例に関するデータベースの統合テスト方法を実現するための関連データが格納されている。当該コンピューター実行可能な指令はプロセッサに実行するより、下記の各実施例に関するデータベースの統合テスト方法を実現できる。端末における内部メモリは、非一時的な記録媒体のオペレーティングシステム、データベース及びコンピューター実行可能な指令をキャッシュという実行環境を提供する。
【００１５】
図２に示す構成は、本願の技術案に係る部分的な構成のブロック図に過ぎなく、本願の技術案を応用するサーバを限定する目的ではないことが、当業者にとって理解できる。具体的なサーバは、図示より多く又は少ない部件を含み、或いは、幾つかの部件を組み合わせたり、異なる部件配置をしたりしてもよい。
【００１６】
一つの実施例において、図３に示すように、データベースの統合テスト方法を提供する。本実施例は当該方法を図１のような環境に応用し、図２に示すサーバに応用する例として説明する。図３に示すように、データベースの統合テスト方法は下記のステップを含む。
【００１７】
ステップ３１０：最新バージョンのデータベースファイルを受信する。
【００１８】
サーバは、データベースの本番環境から提出された最新バージョンのデータベースファイルを受信する。最新バージョンのデータベースファイルには、データベースの基礎データ、対象データ、及び実行スクリプトファイル等のデータベース構築に必要なデータ及びファイルが含まれている。
【００１９】
説明したいのは、本実施例において異なるバージョンのデータベースはすべて同一の基礎バージョンデータベースをもとに開発されたものである。例えば、データベースのバージョンはV１．１、V１．２或いはV１．３などであってもよく、すべて基礎バージョンV１．０のデータベースをもとにそれぞれ開発されたものである。
【００２０】
本実施例において、最新バージョンのデータベースとは、テスト必要があるデータベースを示す。最新バージョンのデータベースファイルは、初開発されたテスト必要があるデータベースファイルであってもよく、テストしてスクリプトに異常があるから開発者により修正され再び提出されるデータベースフィルであってもよい。
【００２１】
ステップ３２０：最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、基準データベース情報に基づいて最新バージョンのデータベースファイルに対応するデータベースの基準データを検索する。
【００２２】
サーバには、全ての基礎バージョンデータベースのファイルが格納されている。サーバは、最新バージョンのデータベース情報に基づいて、最新バージョンのデータベースが基づけられた基礎バージョンデータベース情報を探し出すことができる。データベース情報とは、データベース名又はデータベースのバージョン番号などであってもよい。これにより、基礎バージョンデータベース情報に従って格納された基礎バージョンデータベースファイルを探し出し、基礎バージョンデータベースファイルから基礎バージョンデータベースのデータベース基準データを抽出することができる。データベース基準データは、データベースの構成データ及び他の基礎データ、基礎スクリプトを含むが、具体的なデータベース対象のコンテントデータ及び最新バージョンのデータベースの実行スクリプトファイルを含まない。
【００２３】
ステップ３３０：現在のデータベースにおいてのデータをデータベース基準データに置き換える。
【００２４】
現在のデータベースとは、サーバのテスト環境にテスト中或いはテストを待機しているデータベースを示す。また、現在のデータベースと最新バージョンのデータベースとは同一の基礎データベースに基づいて開発されたものである。サーバは、データベース指令で現在のデータベースの動作を停止させる。データベースの動作が停止した後、サーバは、現在のデータベースによって統合されたデータを基礎データベースのデータベース基準データに置き換えて、現在のテスト環境におけるデータを基準データにロールバックすることを実現する。データの置換が完了すると、サーバはデータベース指令でデータベースを再起動させる。
【００２５】
ステップ３４０：最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、実行スクリプトファイルにおける実行スクリプトをデータが置き換えられた現在のデータベースに配置して、配置完了後、前記実行スクリプトを動作させる。
【００２６】
サーバは、取得した最新バージョンのデータベースファイルから実行スクリプトファイルを抽出します。実行スクリプトファイルには、最新バージョンのデータベースにおけるすべての配置して実行すべきスクリプトである複数の実行スクリプトが含まれている。通常では、実行スクリプトは、データベースSQLスクリプトであるが、他の形式のスクリプトであってもよい。
【００２７】
サーバは、予め設定された規則に従って、実行スクリプトファイルからスクリプトファイルを一つずつ抽出し、抽出したスクリプトファイルを、基準状態にロールバックされた現在のデータベースに順次に配置する。すべての実行スクリプトが配置された後、サーバはテスト環境に完全な最新バージョンのデータベースを構築する。
【００２８】
本実施例において、サーバは、運用環境から送信されるテスト必要がある最新バージョンのデータベースファイルを受信する場合、最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、それに対応し格納されたデータベース基準データを検索し、テスト完了されたデータベースにおけるデータを、検索したデータベース基準データに置き換える。これにより、現在のデータベースにおけるデータを基準状態にロールバックすることを実現し、データベースをはじめから構築する必要はない。そして、予め設定された規則に従って最新バージョンのデータベースファイルから実行スクリプトファイルを抽出して自動的に配置することにより、配置すべきなスクリプトが少なくなり、最新バージョンのデータベースの構築作業とデータベース実行スクリプトの配置作業の効率を向上させる。スクリプトの数が少ないことによるスクリプトの実行時間が短縮され、テストの効率を向上させる。
【００２９】
一つの実施例において、図４に示すように、データベースの統合テスト方法は下記のステップをさらに含む。
【００３０】
ステップ３５０：現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築する。
【００３１】
実行スクリプトが動作完了された後、スクリプト実行中に異常がない場合、テストに合格して当該最新バージョンのデータベースがオンラインされることができます。最新バージョンのデータベースがテストに合格した後、サーバが基準データベース構築指令を受信した場合、以降開発するデータベースが当該データベースに基づいて設計し開発されるように最新バージョンのデータベースを基礎データベースとする必要があることを示す。
【００３２】
サーバは、基準データベース構築指令を取得した後、空のデータベースを構築し、現在のデータベースにおけるデータベース構造データを構築された空のデータベースにコピーして、基準構造データベースを構築する。
【００３３】
ステップ３６０：基準データリストを取得し、基準データリストに従って現在のデータベースから基本データを抽出してバックアップし、バックアップした基本データを基準構造データベースに導入して基準データベースを構築する。
【００３４】
サーバは、最新バージョンのデータベースの基準データリストを取得する。基準データリストとは、開発者により提出されたものでもよく、サーバーに予め保存されているものでもよい。サーバは、基準データリストに並べたデータの名称を現在のデータベースにおけるデータと照合し、成功に照合されたデータを現在のデータベースに抽出する。抽出された基本データをバックアップし、そして最新バージョンのデータベースの名称またはバージョン番号で名前を付けて、将来開発する複数バージョンのデータベース基準データとなる。サーバーは、バックアップされた基本データを作成された基準構造データベースに導入して基準データベースを構築し、最新バージョンのデータベースが当該基準データベースに実行すべきスクリプトファイルを配置して最新バージョンのデータベースを構築できる。一つの実施例において、基準データベースが構築された後、開発者により検証を行われ、検証完了後に使用される或いはリリースされる。
【００３５】
一つの実施例において、サーバは、抽出した基本データについて圧縮処理を行い、圧縮処理後でバックアップを実行する。テーブルスペースの削減、不要なデータの削除などをして圧縮処理を行うと、データのバックアップとコピーの時間が短縮され、データベース構築効率を改善できる。
【００３６】
本実施例において、データに置き換えられた現在のデータベースがテストに合格すると、サーバは、基準データベース構築指令に従って現在のデータベースから構造データと基本データを抽出して、基準構造データベースを構築し、現在の構造データベースをこれから開発するデータベースの基礎となるようにする。これにより、開発者が本番作業のニーズに従って基準データベースを構築する場合、サーバは、本実施例に係る方法により、基準データベースの構築、及び基本データのバックアップと保存することが迅速かつ容易にでき、操作も簡単になる。また、構築された基準データベースに配置されたスクリプトが少ないため、後の複数のバージョンのデータベースについてのメンテナンスが容易になり、工数が節約される。
【００３７】
一つの実施例において、ステップ１４０において最新バージョンの実行スクリプトファイルにおいての実行スクリプトをデータが置き換えられた現在のデータベースに配置するステップは、具体的に下記の内容を含む。
【００３８】
第１の配置テーブルが探し出された場合、第１の配置テーブルからスクリプト名称を読み取り、読み取られたスクリプト名称を実行スクリプトの名称と照合し、一致する実行スクリプトが現在のデータベースに配置される。第１の配置テーブルが見つからない場合、実行スクリプトが分類され、分類された実行スクリプトが順位を付けられ、順位付けられた実行スクリプトが現在のデータベースに配置される。
【００３９】
第１の配置テーブルは、サーバーに予め保存されてもよく、最新バージョンのデータベースファイルに保存されてサーバーがそこから取得してもよい。第１の配置テーブルはスクリプト実行順番の配置テーブルであって、それにすべての実行スクリプトの名称がリストされ、すべての実行スクリプトの配置順番が規定されている。データベースのすべての実行スクリプトは、標準の命名規則に従って統合的に命名されており、実行スクリプトの名称には、スクリプトの種類情報、実行機能情報、およびシーケンスコード等が含まれている。
【００４０】
サーバは、第１の配置テーブルから順番に実行スクリプトの名称を読み取り、読み取ったスクリプトの名称と実行スクリプトファイルにおいてのスクリプトの名称と照合する。一致された場合、一致する実行スクリプトを実行スクリプトファイルから抽出し、すべての実行スクリプトが配置されるまで、一致する実行スクリプトを、スクリプトの名称が読み取られる順番でデータが置き換えられた現在のデータベースに配置する。第１の配置テーブルから読み取られた実行スクリプトの名称が実行スクリプトファイルに対応する実行スクリプトが見つからなかった場合、当該実行スクリプトの名称をスキップし、次の実行スクリプトの名称の照合を続ける。
【００４１】
サーバは現地或いは最新バージョンのデータベースファイルから第１の配置テーブルを探し出せない場合、サーバは予め設定されたスクリプト類別順位表を取得する。端末は、実行スクリプトの名称におけるスクリプト種類情報に基づいて実行スクリプトを分類する。例えば、スクリプトの名称は、種類によればSR、SQ、SD等をそれぞれに前付けるように、最初の二つのアルファベットが異なる。端末は、実行スクリプトを分類した後、実行スクリプトのシーケンスコードに従って、種類毎に実行スクリプトを大きい順から或いは小さい順から順位を付ける。すべての種類における実行スクリプトが順位付けられた後、サーバはスクリプト類別順位表からスクリプト類別の順位を取得する。たとえば、SRを前付けたスクリプトはSQを前付けたスクリプトに先行し、SQを前付けたスクリプトはSDを前付けたスクリプトに先行する等。サーバはスクリプト類別順位表の順番に従って異なる種類の実行スクリプトを順位付け、順位付けられた実行スクリプトを現在のデータベースに配置する。
【００４２】
一つの実施例において、実行スクリプトのスクリプト名称が実行ユーザー情報を含み、実行スクリプトを配置する前に、サーバは実行スクリプトの名称から実行ユーザー情報を抽出するとともに、現地から実行ユーザーのユーザー情報を取得し、両者を比較してユーザー情報が一致することを判断する。ユーザー情報が一致する場合、その次の配置作業を続ける。ユーザー情報が一致していない場合、操作権限がないと提示し、現在の操作を中止する。これにより、実行ユーザーの操作権限を設置し、不正者による悪意操作を避けることができる。
【００４３】
本実施例において、第１の配置テーブルを予め設置し、サーバが配置テーブルにおいてのスクリプト名称に従って実行スクリプトファイルにおいてのスクリプトと名称の照合をし、一致するスクリプトを表に示す順に現在のデータベースに自動的に配置する。サーバは第１の配置テーブルを探し出せない場合、スクリプト類別順位表を取得することで実行スクリプトを順位付け、最新バージョンのデータベースの実行スクリプトを自動的に配置することを実現し、人工で配置する必要なく、配置作業の効率を高め、工数を節約する。
【００４４】
一つの実施例において、図５に示すように、ステップ１４０は下記のステップをさらに含む。
【００４５】
ステップ３７０：異常キーワードを含む第２の配置テーブルを取得する。
【００４６】
サーバは予め保存される第２の配置テーブルを取得し、第２の配置テーブルには、例えば、「SP２−」、「CPY−」、「ORA−」、及び「Warning」等、全ての異常動作結果において出現可能がある異常キーワードが含まれている。これらの異常キーワードにより実行スクリプトの実行に異常が発生する具体的な原因が分かる。実行スクリプトの運用スクリプトにこれらのキーワードがある場合、実行スクリプトの動作に異常があることを示す。
【００４７】
ステップ３８０：実行スクリプトの動作結果を監視し、動作結果に異常キーワードが含まれているかどうかを判断する。
【００４８】
実行スクリプトの配置作業が完了した後、最新バージョンのデータベースの構築が完成される。サーバは、配置された実行スクリプトを実行し、実行スクリプトの動作結果をリアルタイムで監視する。各実行スクリプトが動作された後、サーバが動作結果を取得し、第２の配置テーブルにおける異常キーワードを1つずつ読み取り、取得した動作結果と照合し、動作結果に異常キーワードが含まれているかどうかを判断する。
【００４９】
ステップ３９０：動作結果に対応する実行スクリプトのスクリプト名称を取得し、異常キーワードとスクリプト名称に基づいて動作異常アラームを生成し、監視端末に送信する。
【００５０】
動作結果に第２の配置テーブルにおいての異常キーワードのいずれか一つが含まれているとサーバが判断した場合、実行スクリプトの実行に異常があると示す。サーバは動作異常の実行スクリプトのスクリプト名称を取得し、動作結果に含まれる異常キーワードとスクリプト名称に基づいて動作異常アラームを生成する。サーバは、監視端末の連絡先情報を取得する。連絡先情報は、端末アドレス、メールボックス情報などであってもよい。サーバは、連絡先情報を介して監視端末に動作異常アラームを送信する。これにより、監視担当者は、実行に異常がある実行スクリプトの情報及び動作異常の原因を取得することができる。動作結果に異常キーワードが含まれていない場合、処理をしない。
【００５１】
一つの実施例において、サーバは動作異常アラームについてリアルタイムで通知してよい。つまり、実行スクリプトが動作中、一つの実行スクリプトの動作に異常があるとあれば、当該実行スクリプト及び動作結果に基づいて一つの動作異常アラームを生成し、監視端末に送信する。もう一つの実施例において、実行中に、サーバは異常動作結果があると監視した場合、異常のある実行スクリプト及び対応する動作結果を記録し、全てのスクリプトが動作された後、記録された全ての異常結果を統合して動作異常アラームを生成し、統合された動作異常アラームを監視端末に送信する。
【００５２】
本実施例において、異常キーワードを予め保存して配置することにより、サーバは、監視した動作結果において自動的に異常キーワードを照合して、実行スクリプトの動作結果に異常があるかどうかについて判断することで、人工的な検査が不要である。さらに動作異常の結果に基づいて動作異常アラームを生成して監視端末に送信することで、監視端末は動作異常アラームに基づいてどの実行スクリプトに異常があるかを明確に理解し、開発者が動作異常アラームに基づいてデータベーススクリプトを修正する。
【００５３】
一つの実施例において、データベースの統合テスト方法は、実行スクリプトの単一スクリプトの動作時間を監視するステップと、単一スクリプトの動作時間が、予め設定された単一スクリプトの動作時間の閾値を超えているかどうかを判断するステップと、超えたと判断された場合、実行スクリプトのスクリプト名称と動作時間を記録して異常アラームに添えるステップと、実行スクリプトの総動作時間を検出し、総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えているかどうかを判断するステップと、超えたと判断された場合、実行スクリプトの実行を中止して監視端末に動作タイムアウトアラームを送信するステップと、をさらに含む。
【００５４】
サーバは、予め設定された単一スクリプトの動作時間の閾値及び予め設定されたスクリプトの総動作時間の閾値を取得する。サーバは、各実行スクリプトの単一スクリプトの動作時間を監視し、各スクリプトの動作時間を記録する。一つの実行スクリプトが動作された後、端末が当該スクリプトの動作時間を取得し、当該スクリプトの動作時間と予め設定された単一スクリプトの動作時間の閾値とを比較する。当該スクリプトの動作時間が予め設定された単一スクリプトの動作時間の閾値を超えている場合、サーバは当該スクリプトのスクリプト名称を取得し、当該スクリプトのスクリプト名称及び動作時間を異常アラームに記録して添加し、監視担当者に単一スクリプトの動作時間について状況を理解させる。
【００５５】
なお、サーバは、実行スクリプトの総動作時間を監視する。各実行スクリプトが実行された後、サーバは当該実行スクリプトの動作時間を実行された実行スクリプトの動作時間に加算し、加算された総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えているかどうかを判断する。総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えていない場合、次の実行スクリプトを実行し続ける。総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えている場合、サーバは実行スクリプトの実行を中止し、動作タイムアウトアラームを生成して監視端末に送信する。
【００５６】
本実施例において、サーバは、単一スクリプトの動作時間を監視し、単一スクリプトの動作時間を異常アラームに記録し、監視担当者である開発者が各スクリプトの動作時間の状況を取得するようにでき、開発者が動作時間が過長な実行スクリプトを探し出して最適化するのに便利を与える。サーバは、スクリプトの総動作時間を監視して配置することで、動作時間が閾値を超えた時スクリプトの実行を直ちに中止し、スクリプトが無限ループに落ちてしまうような異常を避け、継続な実行によるテスト資源の浪費を避けることができる。
【００５７】
一つの実施例において、サーバに仮想マシンを構築し、現在のデータベースが仮想マシンにインストールされ、仮想マシンにデータベース環境の構築、実行スクリプトの配置及び実行スクリプトの動作等を行う。サーバのホストには、データベースの開発や、構築の作業を続けることができる。これにより、開発作業とテスト作業の同時並行実行を実現できる。最新バージョンのデータベースがホストにおいて開発された後、最新バージョンのデータベースファイルをホストから仮想マシンに提出し、仮想マシンがホストから提出されたバージョンのデータベースファイルを受信した時、データベースの統合テストのフローがトリガーされる。具体的に、仮想マシンにおいてトリガーを構築してよく、新しいデータベースファイルが送信されたときにデータベースの統合テストのフローをトリガーするようにトリガーモードを設定してよい。
【００５８】
もう一つの実施例において、サーバにおいて複数の仮想マシンを構築してよく、開発された複数のバージョンのデータベースを同時にテストしたいとき、複数のバージョンのデータベースを異なる仮想マシンにそれぞれインストールして同時テストをして、仮想マシンごとにデータベース環境を構築することにより、複数のバージョンのデータベースの並行テストを実現し、テスト作業の効率を高めることができる。
【００５９】
一つの実施例において、図６に示すように、ファイル受信モジュール６１０と、基準データ検索モジュール６２０と、データ置換モジュール６３０と、スクリプト配置動作モジュール６４０とを含むデータベースの統合テスト装置が提供され、当該装置がサーバにおいて実行されることができる。
【００６０】
ファイル受信モジュール６１０は、最新バージョンのデータベースファイルを受信する。
【００６１】
基準データ検索モジュールは６２０、最新バージョンのデータベースファイルに対応する基準データベース情報を取得し、基準データベース情報に基づいて最新バージョンのデータベースファイルに対応するデータベース基準データを検索する。
【００６２】
データ置換モジュール６３０は、現在のデータベースにおいてのデータをデータベース基準データに置き換える。
【００６３】
スクリプト配置動作モジュール６４０は、最新バージョンのデータベースファイルから実行スクリプトファイルを抽出し、実行スクリプトファイルにおいての実行スクリプトをデータが置き換えられた現在のデータベースに配置して、配置が完了した後実行スクリプトを動作させる。
【００６４】
一つの実施例において、図７に示すように、上記装置は、
現在のデータベースにおけるデータベース構造データに基づいて基準構造データベースを構築する構造データベース構築モジュール６５０と、
基準データリストを取得し、基準データリストに従って現在のデータベースから基本データを抽出し、基本データをバックアップし、バックアップした基本データを基準構造データベースに導入し、基準データベースを構築する基準データベース構築モジュール６６０と、をさらに含む。
【００６５】
一つの実施例において、スクリプト配置動作モジュール６４０は、
第１の配置テーブルが探し出された場合、第１の配置テーブルからスクリプト名称を読み取り、読み取られたスクリプト名称を実行スクリプトの名称と照合し、一致する実行スクリプトを現在のデータベースに配置する照合配置モジュールと、
第１の配置テーブルが見つからない場合、実行スクリプトが分類され、分類された実行スクリプトが順位を付けられ、順位付けられた実行スクリプトが現在のデータベースに配置されるソート配置モジュールと、を含む。
【００６６】
一つの実施例において、図８に示すように、上記装置は、
異常キーワードを含む第２の配置テーブルを取得する配置テーブル取得モジュール６７０と、
前記実行スクリプトの動作結果を監視し、前記動作結果に異常キーワードが含まれているかどうかについて判断する結果検出モジュール６８０と、
前記動作結果に対応する実行スクリプトのスクリプト名称を取得し、前記異常キーワードと前記スクリプト名称に基づいて動作異常アラームを生成し、前記異常アラームを監視端末に送信する異常アラーム送信モジュール６９０と、をさらに含む。
【００６７】
一つの実施例において、図９に示すように、上記装置は、
前記実行スクリプトの単一スクリプトの動作時間を監視する単一スクリプト時間監視モジュール６９１と、
前記単一スクリプトの動作時間が予め設定された単一スクリプトの動作時間の閾値を超えているかどうかを判断する単一スクリプト時間判断モジュール６９３と、
前記実行スクリプトのスクリプト名称と動作時間を記録して前記異常アラームに添える時間記録モジュール６９５と、
前記実行スクリプトの総動作時間を検出し、前記総動作時間が予め設定されたスクリプトの総動作時間の閾値を超えているかどうかを判断する総時間検出モジュール６９７と、
前記実行スクリプトの実行を中止して前記監視端末に動作タイムアウトアラームを送信するタイムアウトアラーム送信モジュール６９９と、をさらに含む。
【００６８】
上記データベースの統合テスト装置における各モジュールの全部または一部をソフトウェア、ハードウェア及びこれらの組み合わせで実現してよい。ネットワークインタフェースはイーサネット（登録商標）カードまたはワイヤレスネットカードなどであってもよい。上記各モジュールは、プロセッサが上記各モジュールに対応する操作を呼び出して実行するために、ハードウェアとして端末においてのプロセッサに埋め込まれて或いは独立してよく、ソフトウェアとして端末においてのプロセッサに格納されてもよい。上記プロセッサは、CPUや、マイクロプロセッサや、シングルチップマイコン等であってもよい。
【００６９】
当業者であれば分かるように、上記の実施例に係る方法のフローの全部又は一部は、コンピュータプログラムにより関連するハードウェアを指示することで実現されてもよい。前記プログラムは、不揮発性コンピュータ可読記録媒体に記憶されてもよく、当該プログラムが実行されると、上記の方法の実施例のフローを実現することができる。前記記録媒体は、磁気ディスク、光ディスク、読出し専用メモリー（Read Only Memory、ROM）などであってもよい。
【００７０】
上述した実施例の各技術的特徴は任意に組み合わせることができる。記述の簡潔化のために、上述した実施例における各技術的特徴のあらゆる組合せについて説明していないが、これらの技術的特徴の組合せは矛盾しない限り、本明細書に記述されている範囲内であると考えられるべきである。
【００７１】
上述した実施例は、本発明のいくつかの実施形態を示したものにすぎず、その記述が具体的かつ詳細であるが、本発明の範囲を限定するものと解釈されるべきではない。なお、当業者にとって、本発明の趣旨から逸脱しないかぎり、若干の変形及び改良を行うことができ、これらもすべて本発明の保護範囲内にある。したがって、本発明の保護範囲は、特許請求の範囲に準ずるべきである。
【符号の説明】
【００７２】
１０２  サーバ
１０４  本番サーバ
６１０  ファイル受信モジュール
６２０  基準データ検索モジュール
６３０  データ置換モジュール
６４０  スクリプト配置動作モジュール
６５０  構造データベース構築モジュール
６６０  基準データベース構築モジュール
６７０  配置テーブル取得モジュール
６８０  結果検出モジュール
６９０  異常アラーム送信モジュール
６９１  単一スクリプト時間監視モジュール
６９３  単一スクリプト時間判断モジュール
６９５  時間記録モジュール
６９７  総時間検出モジュール
６９９  タイムアウトアラーム送信モジュール
【図１】
0006799695.tif 000002
【図２】
0006799695.tif 000003
【図３】
0006799695.tif 000004
【図４】
0006799695.tif 000005
【図５】
0006799695.tif 000006
【図６】
0006799695.tif 000007
【図７】
0006799695.tif 000008
【図８】
0006799695.tif 000009
【図９】
0006799695.tif 000010