(57)【要約】【課題】効率的なシステム開発／運用を実現する。【解決手段】情報処理システムは、１以上のプロセッサと、１以上のプロセッサが実行するプログラムを格納する１以上の記憶装置と、を含む。１以上のプロセッサは、入力データを取得し、予め設定されている複数の解析要素について、入力データに含まれるパラメータの値の、過去の入力データの傾向との整合性の解析を行い、解析の結果に基づいて、前記パラメータの値の妥当性を評価する。【選択図】図３
2020197821.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムであって、
１以上のプロセッサと、
前記１以上のプロセッサが実行するプログラムを格納する１以上の記憶装置と、を含み、
前記１以上のプロセッサは、
入力データを取得し、
予め設定されている複数の解析要素について、前記入力データに含まれるパラメータの値の、過去の入力データの傾向との整合性の解析を行い、
前記解析の結果に基づいて、前記パラメータの値の妥当性を評価する、情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記１以上のプロセッサは、
ユーザによりクライアント装置に入力された前記入力データを、前記クライアント装置から受信し、
前記パラメータの値が妥当でないと評価すると、評価結果を示すメッセージを前記クライアント装置に送信する、情報処理システム。
【請求項３】
請求項１に記載の情報処理システムであって、
前記１以上のプロセッサは、
データベースに格納されている複数の入力データレコードを取得し、
前記複数の解析要素について、前記複数の入力データレコードの各入力データレコードに含まれるパラメータの値の、前記過去の入力データの傾向との整合性の解析を行い、
前記解析の結果に基づいて、前記パラメータの値の妥当性を評価する、情報処理システム。
【請求項４】
請求項３に記載の情報処理システムであって、
前記１以上のプロセッサは、
前記複数の入力データレコードの一部の入力データレコードを選択し、
前記複数の解析要素について、前記一部の入力データレコードの各入力データレコードに含まれるパラメータの値の、前記過去の入力データの傾向との整合性の解析を行い、
前記一部の入力データレコードにおいて、前記複数の解析要素それぞれに対して妥当でないと判定された入力データレコード数に基づいて、前記複数の解析要素の少なくとも一部の解析要素の解析順序を決定する、情報処理システム。
【請求項５】
請求項１に記載の情報処理システムであって、
前記１以上の記憶装置は、前記過去の入力データの傾向を示す統計情報を格納し、
前記統計情報は、前記複数の解析要素それぞれの各解析結果のカテゴリの頻度と、前記複数の解析要素それぞれに対する閾値とを示し、
前記１以上のプロセッサは、
前記複数の解析要素から選択された解析要素について、前記パラメータの値が属する解析結果のカテゴリの頻度が前記選択された解析要素の閾値より小さい場合に、前記選択された解析要素について前記パラメータの値は妥当でないと評価する、情報処理システム。
【請求項６】
請求項１に記載の情報処理システムであって、
前記１以上のプロセッサは、
前記複数の解析要素において、予め設定されている第１の解析要素を最初に解析し、
前記第１の解析要素において前記パラメータの値が妥当でないと評価すると、前記パラメータの値の解析を終了する、情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記第１の解析要素は、前記パラメータの入力値の有無である、情報処理システム。
【請求項８】
請求項１に記載の情報処理システムであって、
前記１以上のプロセッサは、前記複数の解析要素から選択された解析要素において前記パラメータの値が妥当でないと評価すると、前記パラメータの値の解析を終了する、情報処理システム。
【請求項９】
情報処理システムが、パラメータの妥当性を評価する方法であって、
前記情報処理システムが、入力データを取得し、
前記情報処理システムが、予め設定されている複数の解析要素について、前記入力データに含まれるパラメータの値の、過去の入力データの傾向との整合性の解析を行い、
前記情報処理システムが、前記解析の結果に基づいて、前記パラメータの値の妥当性を評価する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システムにおける入力パラメータの妥当性チェックに関する。
【背景技術】
【０００２】
本開示の背景技術として、特許文献１がある。特許文献１は、情報処理システムによる入力パラメータの妥当性を検証する技術を開示している。具体的には、特許文献１は、「情報処理システム間で交換するメッセージを短時間で交換できることが望まれている」ことを前提として、「そのため、メッセージの不具合を修正すること及び情報処理システムの利用者による修正作業（不具合箇所の訂正作業）の低減などを実現」しようとする発明を開示している。
【０００３】
また、実施例の一部には、統計情報が蓄積・更新されてゆき、メッセージの修正（自動訂正）の際に使用（反映）されることや、システムの利用者に対する警告項目として、警告項目の値（例：「商品コード（・・・）に対する本メッセージの発注数量は２０００個です」）と、統計情報２２０から取得した過去の情報の平均値など（例：「商品コード（・・・）に対する過去３ヶ月以内の発注数量の平均は２０個です」）との両方（比較）を含むことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザインタフェース、例えばＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して、ユーザが誤ったパラメータを入力した場合、そのパラメータは、システムにとって不適切なパラメータであり、当該システム内の異常動作が発生する、又は、当該システムからデータを移行した他システムが、正常に動作できない可能性がある。コード情報のようにユーザが注意しても正しいか判断できないパラメータも存在するため、パラメータエラーを完全に防ぐことは困難である。
【０００６】
例えば、システム更改に伴うデータ移行において、一般的には事前にデータが汚れているとわかっている場合は、オペレータは、移行前にデータをクレンジングするか、移行してからデータを補正する。元システムの運用年数が長い場合、汚れている件数が膨大であり、状態調査やクレンジング／補正するための手段の検討と実際の修正対応のために多大な工数が発生する。
【０００７】
入力された全てのパラメータをプログラムによってチェックすることで、パラメータの精度は向上する。しかし、入力パラメータの種類数（項目数）が多いシステムや、パラメータの種類が頻繁に追加／変更されるシステムでは、そのようなプログラムの開発コストが膨らむ。また、設計者が想定しない態様のパラメータが入力されると、そのパラメータは、プログラムによるチェックをすり抜ける。
【課題を解決するための手段】
【０００８】
本開示の一態様は、情報処理システムであって、１以上のプロセッサと、前記１以上のプロセッサが実行するプログラムを格納する１以上の記憶装置と、を含み、前記１以上のプロセッサは、入力データを取得し、予め設定されている複数の解析要素について、前記入力データに含まれるパラメータの値の、過去の入力データの傾向との整合性の解析を行い、前記解析の結果に基づいて、前記パラメータの値の妥当性を評価する。
【発明の効果】
【０００９】
効率的なシステム開発／運用が可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施例に係る情報処理システムの全体構成及びパラメータチェック動作の概要を説明する図である。
【図２】パラメータチェックサーバのハードウェア構成例を示す。
【図３】情報処理システムのソフトウェア構成例を示す。
【図４Ａ】クライアント装置が表示装置において表示する、パラメータ入力ウィンドウの例を示す。
【図４Ｂ】クライアント装置がパラメータチェックサーバから受信し、表示する、エラーメッセージの例を示す。
【図５】統計テーブルの構成例を示す。
【図６】パラメータチェックサーバによる受信した入力データについての処理例のフローチャートを示す。
【図７】パラメータ解析処理決定プログラムによる処理例のフローチャートを示す。
【図８】既存蓄積ＤＢのデータのパラメータチェックを行う処理例のフローチャートを示す。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１２】
以下に開示は、例えば法人向け専用線の設備管理システムに適用される。設備管理システムは、上流システムからサービスオーダ（新規開通／廃止／変更／取消）を受け付けると、ＩＰアドレスの払い出しや収容装置の決定などを行い、エンドユーザに開通案内を行うためのデータを出力する。
【００１３】
以下、実施例について図面を用いて詳細に説明する。図１を用いて、実施例に係る情報処理システムの全体構成及びパラメータチェック動作の概要を説明する。情報処理システムは、クライアント装置１、パラメータチェックサーバ２、統計情報サーバ３、業務処理システム４を含み、これらはネットワークを介して通信可能である。
【００１４】
クライアント装置１は、ユーザから１以上のパラメータを含むデータの入力を受け付け、当該データをパラメータチェックサーバ２に送信する。パラメータチェックサーバ２は、受信したデータに含まれるパラメータの各々の過去のデータの傾向（統計情報）との整合性に基づいて、その妥当性を評価する。
【００１５】
評価の結果、妥当である可能性が高いと判定した場合、パラメータチェックサーバ２は、受信したデータについて業務処理システム４と連携して処理を行う。評価の結果、妥当でない可能性が高いと判定した場合、パラメータチェックサーバ２は、クライアント装置１へメッセージを返す。クライアント装置１は、ユーザに入力内容の確認を促す。
【００１６】
図２は、パラメータチェックサーバ２のハードウェア構成例を示す。パラメータチェックサーバ２は、一般的な計算機構成を有することができる。パラメータチェックサーバ２は、プロセッサ２０１、メモリ（主記憶装置）２０２、補助記憶装置２０３、出力装置２０４、入力装置２０５、及び通信インタフェース（Ｉ／Ｆ）２０７を含む。上記構成要素は、バスによって互いに接続されている。メモリ２０２、補助記憶装置２０３又はこれらの組み合わせは記憶装置であり、図１に示すプログラム及びデータを格納している。
【００１７】
メモリ２０２は、例えば半導体メモリから構成され、主に実行中のプログラムやデータを保持するために利用される。プロセッサ２０１は、メモリ２０２に格納されているプログラムに従って、様々な処理を実行する。プロセッサ２０１がプログラムに従って動作することで、様々な機能部が実現される。補助記憶装置２０３は、例えばハードディスクドライブやソリッドステートドライブなどの大容量の記憶装置から構成され、プログラムやデータを長期間保持するために利用される。
【００１８】
プロセッサ２０１は、単一の処理ユニットまたは複数の処理ユニットで構成することができ、単一もしくは複数の演算ユニット、又は複数の処理コアを含むことができる。プロセッサ２０１は、１又は複数の中央処理装置、マイクロプロセッサ、マイクロ計算機、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、ロジック回路、グラフィック処理装置、チップオンシステム、及び／又は制御指示に基づき信号を操作する任意の装置として実装することができる。
【００１９】
補助記憶装置２０３に格納されたプログラム及びデータが起動時又は必要時にメモリ２０２にロードされ、プログラムをプロセッサ２０１が実行することにより、パラメータチェックサーバ２の各種処理が実行される。したがって、以下においてパラメータチェックサーバ２により実行される処理は、プロセッサ２０１又はプログラムによる処理である。
【００２０】
入力装置２０５は、ユーザがパラメータチェックサーバ２に指示や情報などを入力するためのハードウェアデバイスである。出力装置２０４は、入出力用の各種画像を提示するハードウェアデバイスであり、例えば、表示デバイス又は印刷デバイスである。通信Ｉ／Ｆ２０７は、ネットワークとの接続のためのインタフェースである。入力装置２０５及び出力装置２０４は省略されてもよく、ユーザがパラメータチェックサーバ２は、ネットワークを介して、端末からアクセスされてもよい。
【００２１】
パラメータチェックサーバ２の機能は、１以上のプロセッサ及び非一過性の記憶媒体を含む１以上の記憶装置を含む１以上の計算機からなる計算機システムに実装することができる。複数の計算機はネットワークを介して通信する。例えば、パラメータチェックサーバ２の複数の機能の一部が一つの計算機に実装され、他の一部が他の計算機に実装されてもよい。
【００２２】
クライアント装置１、統計情報サーバ３、及び業務処理システム４は、それぞれ、パラメータチェックサーバ２と同様に、計算機構成を有することができる。上記装置における複数の装置の機能が一つの装置に実装されていてもよく、例えば、パラメータチェックサーバ２及び統計情報サーバ３は、一つの装置に統合されていてもよい。
【００２３】
図２において、ソフトウェアの各要素は、記憶装置内のいずれの領域に格納されていてもよい。上述のように、プロセッサ２０１は、特定のプログラムに従って動作することで、特定の機能部として機能する。例えば、プロセッサ２０１は、上記プログラムに従って、パラメータ受信部、既存蓄積データベース（ＤＢ）点検部、パラメータ種別分類部、統計比較部、解析結果送信部として機能する。
【００２４】
図３は、情報処理システムのソフトウェア構成例を示す。パラメータチェックサーバ２の記憶装置は、パラメータ受信プログラム２０、既存蓄積ＤＢ点検プログラム２１、パラメータ解析処理決定プログラム２２、統計比較プログラム２３、解析結果送信プログラム２４、及び、既存蓄積ＤＢ点検結果ファイル２５を格納している。統計情報サーバ３の記憶装置は統計テーブル３０を格納し、業務処理システム４の記憶装置は既存蓄積ＤＢ４１を格納している。
【００２５】
パラメータ受信プログラム２０は、クライアント装置１から入力データを受信し、パラメータ解析処理決定プログラム２２に渡す。既存蓄積ＤＢ点検プログラム２１は、既存蓄積ＤＢ４１を分析して解析要素の優先度を決定し、その情報を統計比較プログラム２３に渡す。パラメータ解析処理決定プログラム２２は、入力データに対して実行する解析処理を決定する。
【００２６】
統計比較プログラム２３は、入力データに含まれるパラメータの妥当性を、統計テーブル３０を参照して判定する。解析結果送信プログラム２４は、クライアント装置１から受信した入力データの解析結果を、クライアント装置１又は業務処理システム４に送信する。既存蓄積ＤＢ点検結果ファイル２５は、既存蓄積ＤＢ４１の解析結果を格納する。
【００２７】
統計テーブル３０は、過去の入力データの統計情報を格納している。統計テーブル３０は、過去の入力データの傾向を示す。統計情報サーバ３は、不図示のデータベースに蓄積されている入力データを解析要素毎に統計化し、その情報を統計テーブル３０に格納する。統計情報サーバ３は、バッチ処理で定期的に、統計テーブル３０を最新化する。統計テーブル３０の詳細は後述する。既存蓄積ＤＢ４１は、過去の入力データを格納している。既存蓄積ＤＢ４１は、例えば、パラメータチェックサーバ２にチェックされたデータ及びチェックされていていない過去の入力データを格納している。
【００２８】
クライアント装置１は、ユーザによる１以上のパラメータの入力（入力データ）を受け付け、入力データをパラメータチェックサーバ２に送信する。さらに、クライアント装置１は、パラメータチェックサーバ２から入力データに対するエラーメッセージを受信し、それを表示する。
【００２９】
図４Ａは、クライアント装置１が表示装置において表示する、パラメータ入力ウィンドウ２５０の例を示す。パラメータ入力ウィンドウ２５０は、複数のパラメータに対するパラメータ入力フィールド２５１を含む。図４Ａは、例として、システムＩＤのパラメータ入力フィールドを符号２５１で指示している。ユーザは、クライアント装置１の入力装置を使用して、パラメータ入力フィールド２５１それぞれにパラメータを入力し、送信ボタン２５２を選択して入力データ（複数の入力パラメータ）をパラメータチェックサーバ２に送信する。
【００３０】
図４Ｂは、クライアント装置１がパラメータチェックサーバ２から受信し、表示する、エラーメッセージ２６０の例を示す。パラメータチェックサーバ２は、入力データにエラーがある（可能性が高い）と判定すると、エラーメッセージをクライアント装置１に送信する。クライアント装置１は、受信したエラーメッセージを表示装置において表示し、ユーザに入力データの修正を促す。図４Ｂの例において、エラーメッセージ２６０は、エラーが存在するパラメータ名及びエラーの理由を示す。一例において、エラーメッセージ２６０は、エラーが存在する全てのパラメータ名を示し、また、エラーが存在する各パラメータ名に対する検出された全ての理由を示す。
【００３１】
図５は、統計テーブル３０の構成例を示す。統計テーブル３０は、過去の入力データの統計情報を示す。図５は、統計テーブル３０における一部のデータを示し、具体的には、契約番号の統計情報を示す。統計テーブル３０は、パラメータ名欄３０１、解析要素欄３０２、解析結果欄３０３、頻度欄３０４、閾値欄３０５、処理１欄３０６、処理２欄３０７、及び、処理３欄３０８を含む。
【００３２】
パラメータ名欄３０１は、入力データに含まれ、統計化する対象パラメータ項目の名称を示す。例えば、図４Ａに示す例において、入力データにおけるパラメータ名は、システムＩＤ、契約番号、ＩＰアドレス、バージョンを含む。パラメータ名は、入力データに応じて設定される。
【００３３】
解析要素欄３０２は、各パラメータ項目のパラメータを解析する切り口を示す。図５の例において、契約番号の解析要素は、入力値の有無、全角記号（記号は文字及び数字を含む）の有無、桁数、先頭文字、及び重複の有無を含む。解析要素欄３０２の解析要素は、上記解析要素に加えて又は全部又は一部に代えて、適切に設定される。
【００３４】
解析結果欄３０３は、解析要素について解析した結果のカテゴリを示す。各解析結果は、２以上のカテゴリを有する。図５の例において、桁数及び先頭文字の解析結果は３カテゴリで構成され、他の解析要素の解析結果は２カテゴリで構成されている。頻度欄３０４は、各解析結果に該当する入力データレコードの頻度を示す。頻度欄３０４は、解析した過去の入力データレコードにおいて、解析結果のカテゴリに該当する入力データレコードの割合（該当解析結果の出現割合）を示す。
【００３５】
閾値欄３０５は、予め設定されている各パラメータ項目の各解析要素に対する閾値を格納している。後述するように、入力パラメータが該当する解析結果カテゴリの頻度と閾値との比較結果に基づいて、入力パラメータの妥当性（適切か否か）が判定される。
【００３６】
処理１欄３０６は、処理１でチェックされる解析要素を示す。処理２欄３０７は、処理２でチェックされる解析要素を示す。処理３欄３０８は、処理３でチェックされる解析要素を示す。図５の例において、処理１はパラメータ入力フィールド２５１への入力値の有無の解析要素（第１の解析要素）をチェックする。処理２は全角文字の有無の解析要素をチェックする。処理３は、他の解析要素をチェックする。後述するように、処理１、処理２及び処理３は、入力パラメータの解析要素のチェックの順番を示し、本例においては、処理１、処理２及び処理３は、この順に実行される。
【００３７】
図５の例における頻度欄３０４についてより具体的に説明すると、処理２の解析要素の頻度は、入力値が存在する入力パラメータ群における値を示す。処理３の解析要素それぞれの頻度は、入力値が存在し、半角記号のみで構成されている入力パラメータ群における頻度を示す。
【００３８】
次に、パラメータチェックサーバ２が、クライアント装置１から入力データを受信した場合の処理を説明する。図６は、パラメータチェックサーバ２による受信した入力データについての処理例のフローチャートを示す。図６の例において、パラメータチェックサーバ２は、クライアント装置１から受信した入力データに含まれるパラメータ項目それぞれの入力値をチェックする。入力データに含まれるパラメータ項目数は１以上である。以下において、入力データは、複数の入力パラメータ（項目）を含むとする。
【００３９】
パラメータ受信プログラム２０は、クライアント装置１から、複数の入力パラメータを含む入力データを受信し、パラメータ解析処理決定プログラム２２に渡す（Ｓ１０１）。パラメータチェックサーバ２は、受信した入力データのパラメータ項目それぞれについて、ステップＳ１０２及びＳ１０３を実行する。ステップＳ１０２において、パラメータ解析処理決定プログラム２２は、当該パラメータの処理を決定する。パラメータの処理は、処理１、処理２及び処理３から選択される。
【００４０】
図７は、パラメータ解析処理決定プログラム２２による処理例のフローチャートを示す。パラメータ解析処理決定プログラム２２は、対象入力パラメータ（項目）の入力値が存在しているか（パラメータ入力フィールド２５１に値が入力されたか）判定する（Ｓ２０１）。入力値が存在していない場合（例えば所定の初期値である場合）（Ｓ２０１：ＮＯ）、パラメータ解析処理決定プログラム２２は、対象入力パラメータに対して処理１を選択する（Ｓ２０２）。
【００４１】
入力値が存在している場合（Ｓ２０１：ＹＥＳ）、パラメータ解析処理決定プログラム２２は、対象入力パラメータ（項目）の入力値が半角記号のみで構成されている、つまり、全角記号を含むか判定する（Ｓ２０３）。記号は、文字及び数字を含む。入力値が全角記号を含む場合（Ｓ２０３：ＮＯ）、パラメータ解析処理決定プログラム２２は、対象入力パラメータに対して処理２を選択する（Ｓ２０４）。入力値が半角記号のみで構成されている場合（Ｓ２０３：ＹＥＳ）、パラメータ解析処理決定プログラム２２は、対象入力パラメータに対して処理３を選択する（Ｓ２０５）。本例において、文字及び数字以外の半角記号は妥当であるが、半角英数字のみが妥当であってもよい。
【００４２】
図６に戻って、統計比較プログラム２３は、ステップＳ１０２において選択された処理を実行する。統計比較プログラム２３は、選択された処理に割り当てられている解析要素について、パラメータ入力値の解析を行う。
【００４３】
具体的には、統計比較プログラム２３は、選択された処理に割り当てられている各解析要素において、入力値が属する解析結果カテゴリを特定する。統計比較プログラム２３は、特定した解析結果カテゴリの頻度と当該解析要素に割り当てられている閾値との比較結果に基づき、入力値の妥当性を判定する。本例において、統計比較プログラム２３は、入力値が該当する解析結果カテゴリの頻度が閾値より小さい場合、当該入力値が不適切である（可能性が高い）と判定する（妥当でないと評価する）。入力データは通常妥当であるので、このような頻度と閾値との比較により適切に妥当性を判定できる。
【００４４】
例えば、処理１が選択されている場合、統計比較プログラム２３は、統計テーブル３０から、入力値有無の解析要素における、入力値が存在しない解析結果カテゴリの頻度と、当該解析要素の閾値とを取得する。統計比較プログラム２３は、頻度と閾値とを比較し、頻度が閾値未満であれば、入力値が妥当でなく、エラーであると判定する。
【００４５】
処理２が選択されている場合、統計比較プログラム２３は、統計テーブル３０から、全角記号の有無の解析要素における、全角記号が存在する解析結果カテゴリの頻度と、当該解析要素の閾値とを取得する。本例において、パラメータの入力値は、半角記号で構成されていることが妥当であり、全角記号を含む入力値は、エラーである。全角記号を含むカテゴリの頻度は、閾値未満である。
【００４６】
処理３が選択されている場合、統計比較プログラム２３は、処理３に割り当てられている解析要素を順次選択して、選択した解析要素について、入力値が該当する解析結果カテゴリの頻度と閾値とを比較する。一例において、統計比較プログラム２３は、選択した解析要素について入力値がエラーであると判定すると、その後の解析要素の選択を終了する。これにより、処理時間を短縮できる。他の例において、統計比較プログラム２３は、処理３に割り当てられている全ての解析要素について、入力パラメータ値のエラーの有無を判定する。全てのエラーについてユーザに提示することで、ユーザによるデータ再入力でのエラーの可能性を低減できる。
【００４７】
解析結果送信プログラム２４は、統計比較プログラム２３から解析結果を受信し、それをチェックする（Ｓ１０４）。解析結果が、入力パラメータ値がエラーでなく妥当であることを示す場合（Ｓ１０４：妥当）、解析結果送信プログラム２４は、入力データを、業務処理システム４に送信する（Ｓ１０５）。
【００４８】
解析結果が、入力パラメータ値がエラーである（妥当ではない）ことを示す場合（Ｓ１０４：エラー）、解析結果送信プログラム２４は、解析結果に対応するエラーメッセージを作成し、クライアント装置１に送信する（Ｓ１０５）。エラーメッセージは、妥当でない（可能性が高い）と判定された入力データの評価結果を示す。エラーメッセージは、例えば、エラーであるパラメータ項目を示すとともに、その理由（解析要素）を示す。処理１又は処理２が実行された場合、示される理由の数は１である。処理３において、エラーが検出される解析が終了される場合、エラーメッセージは一つの理由を示す。全ての解析要素について判定される場合、エラーメッセージは検出された全てのエラーの理由を示す。
【００４９】
ここで、図５に示す契約番号についての妥当性評価の具体例を説明する。パラメータ入力フィールド２５１に契約番号が入力されることなく入力データがパラメータチェックサーバ２に送信されたとする。パラメータ解析処理決定プログラム２２は、処理１を選択し、統計比較プログラム２３は、処理１に割り当てられている解析要素について判定を行う。
【００５０】
図５に示す例において、統計比較プログラム２３は、解析要素「値有無」の「無」の頻度０．０１％と閾値９９％とを比較し、頻度が閾値より小さいためにエラー（不適切）であると判定する。解析結果送信プログラム２４は、その判定結果を取得し、クライアント装置１へ、統計的に入力が必須である可能性が高い旨のメッセージを返す。
【００５１】
入力された契約番号が「Ｎ１２３４５６７８９」（全ての記号が全角）である場合、入力パラメータ値は全角記号を含むため、パラメータ解析処理決定プログラム２２は、処理２を選択する。統計比較プログラム２３は、処理２に割り当てられている解析要素について判定を行う。
【００５２】
図５の例において、統計比較プログラム２３は、解析要素「全角有無」の「有」の頻度０．０１％と閾値９９％とを比較し、頻度が閾値より小さいためにエラー（不適切）であると判定する。解析結果送信プログラム２４は、その判定結果を取得し、クライアント装置１へ、統計的に半角である可能性が高い旨のメッセージを返す。
【００５３】
入力された契約番号が「V123456789」（全ての記号が半角）である場合、入力パラメータ値は処理１及び処理２の条件に該当しない。従って、パラメータ解析処理決定プログラム２２は、処理３を選択する。統計比較プログラム２３は、処理３に割り当てられている解析要素について判定を行う。
【００５４】
図５の例において、統計比較プログラム２３は、解析要素「桁数」の「１０」の頻度９９．８％と閾値９９％とを比較し、頻度が閾値より大きいため「桁数」のエラーは存在しないと判定する。統計比較プログラム２３は、解析要素「先頭文字」の「Ｖ」の頻度３１．０％と閾値３０％とを比較し、頻度が閾値より大きいため「先頭文字」のエラーは存在しないと判定する。
【００５５】
統計比較プログラム２３は、解析要素「重複有無」の「無」の頻度９９．９％と閾値９９％とを比較し、頻度が閾値より大きいため「重複有無」のエラーは存在しないと判定する。統計比較プログラム２３は、他の解析要素についても判定を行い、解析結果送信プログラム２４に全ての解析要素について統計的に正常なパラメータであるという判定結果を渡す。解析結果送信プログラム２４は、入力データを業務処理システム４に送信する。
【００５６】
入力された契約番号が「A123456789」（全ての記号が半角）である場合、入力パラメータ値は処理１及び処理２の条件に該当しない。従って、パラメータ解析処理決定プログラム２２は、処理３を選択する。統計比較プログラム２３は、処理３に割り当てられている解析要素について判定を行う。
【００５７】
図５の例において、統計比較プログラム２３は、解析要素「桁数」の「１０」の頻度９９．８％と閾値９９％とを比較し、頻度が閾値より大きいため「桁数」のエラーは存在しないと判定する。統計比較プログラム２３は、解析要素「先頭文字」の「Ａ」の頻度０．１％と閾値３０％とを比較し、頻度が閾値未満であるため「先頭文字」にエラーが存在すると判定する。
【００５８】
統計比較プログラム２３は、解析要素「重複有無」の「無」の頻度９９．９％と閾値９９％とを比較し、頻度が閾値より大きいため「重複有無」のエラーは存在しないと判定する。解析結果送信プログラム２４は、統計比較プログラム２３の判定結果を取得し、クライアント装置１へ、統計的先頭文字が誤っている可能性が高い旨のメッセージを返す。統計比較プログラム２３は、解析要素「先頭文字」においてエラーを検出しているので、解析要素「重複有無」について判定を省略してもよい。
【００５９】
上述のように、パラメータチェックサーバ２は、予め設定されている複数の解析要素について、入力データに含まれるパラメータの値の、過去の入力データの傾向との整合性の解析を行い、その解析の結果に基づいてパラメータの値の妥当性を評価する。複数の解析要素について解析することで、パラメータの妥当性の精度を向上できる。また、過去の入力データの傾向（統計情報）を参照することで、システム開発を効率化できる。
【００６０】
ユーザに入力された入力データの評価を行うことで、運用の段階で不適切なデータが投入された場合に、不適切なデータの可能性があることを検知でき、データの汚染拡大を防止することでデータ移行時に発生する問題の可能性を低減できる。
【００６１】
上述のように、特定の解析要素について解析する処理１又は処理２に該当するパラメータのその後の解析を省略することで、処理の高速化が可能となる。入力値の有無を最初に解析し、入力値が存在しない場合にその後解析を省略することで、適切かつ効率的な解析処理が実現される。なお、例えば、全ての解析要素が一つのみの処理に割り当てられていてもよく、処理２の定義なく全角半角についての解析要素が処理３に割り当てられていてもよい。
【００６２】
次に、既存蓄積ＤＢ４１に格納されているデータのパラメータチェックを説明する。例えば、既存蓄積ＤＢ４１を他のシステムに移行する前に、既存蓄積ＤＢ４０１の入力レコードそれぞれのパラメータの妥当性がチェックされる。図８は既存蓄積ＤＢ４１のデータのパラメータチェックを行う処理例のフローチャートを示す。既存蓄積ＤＢ４１のデータのパラメータチェックは、前処理Ｓ３３と、その後の本処理Ｓ３５を含む。
【００６３】
クライアント装置１は、既存蓄積ＤＢ点検依頼をパラメータチェックサーバ２に送信する（Ｓ３０１）。パラメータチェックサーバ２は、その要求に応じて既存蓄積ＤＢ４１のパラメータチェックを開始する。既存蓄積ＤＢ点検依頼は、例えば、チェックを要求するパラメータ名を指定してもよい。以下において、パラメータ名が指定されているとする。
【００６４】
既存蓄積ＤＢ点検プログラム２１は、クライアント装置１からの既存蓄積ＤＢ点検依頼を受信すると、前処理Ｓ３３を開始する。既存蓄積ＤＢ点検プログラム２１は、既存蓄積ＤＢ４１から、一部のレコードをサンプルとして取得する（Ｓ３０２）。既存蓄積ＤＢ点検プログラム２１は、例えば、既存蓄積ＤＢ４１の全体件数の１０％のレコードから、指定されたパラメータ名の値を抽出する。
【００６５】
既存蓄積ＤＢ点検プログラム２１は、抽出したサンプルについて処理を行うことをパラメータ解析処理決定プログラム２２に指示する。パラメータ解析処理決定プログラム２２及び統計比較プログラム２３は、サンプルそれぞれについて、図６及び図７を参照して説明した処理を実行する（Ｓ３０３及びＳ３０４）。
【００６６】
既存蓄積ＤＢ点検プログラム２１は、統計比較プログラム２３によるサンプルそれぞれの解析結果を取得し、処理３における解析要素の優先度を決定し（Ｓ３０５）、統計比較プログラム２３にその情報を渡す。具体的には、既存蓄積ＤＢ点検プログラム２１は、処理３において解析されたサンプルにおいて、解析要素それぞれの閾値未満のサンプル数をカウントし、それらの数に基づいて解析要素それぞれの優先度を決定する。例えば、既存蓄積ＤＢ点検プログラム２１は、カウント数の多い順に、高い優先度を解析要素に与える。閾値未満のサンプル数が最大の解析要素の優先度が最も高くなる。
【００６７】
前処理Ｓ３３が終了すると、パラメータチェックサーバ２は、本処理Ｓ３５を開始する。既存蓄積ＤＢ点検プログラム２１は、既存蓄積ＤＢ４１の全件のレコードから、指定されたパラメータ名の値を抽出し、処理を行うことをパラメータ解析処理決定プログラム２２に指示する。
【００６８】
パラメータ解析処理決定プログラム２２及び統計比較プログラム２３は、抽出された全レコードそれぞれについて、レコードサンプルそれぞれについて、図６及び図７を参照して説明した処理を実行する（Ｓ３０３及びＳ３０７）。ステップＳ３０７において、統計比較プログラム２３は、各レコードの処理３（実行された場合）において、優先度の高い解析要素から解析を実行する。選択した解析要素の頻度が対応閾値未満であり、エラーであると判定すると、統計比較プログラム２３は、当該レコードの解析を終了する。
【００６９】
解析結果送信プログラム２４は、統計比較プログラム２３から、レコードそれぞれの解析結果を取得し、既存蓄積ＤＢ点検結果ファイル２５に格納する。エラー検出されたレコードの解析結果は、解析要素を示すエラーの理由を示してもよい。レコードの解析結果は、図６を参照して説明したメッセージと同様の情報を有していてもよい。
【００７０】
上述のように、既存蓄積ＤＢの入力データレコードのパラメータの妥当性を評価することで、既存の入力データにおいて不適切である可能性がある入力データレコードを検出できる。これにより、データの汚染拡大を抑制し、データ移行時での問題発生の可能性を低減できる。
【００７１】
上述のように、前処理は、複数の解析要素それぞれに対して妥当でないと判定された入力データレコード数に基づいて、複数の解析要素の少なくとも一部の解析要素の解析順序を決定する。これにより、本処理を効率化できる。なお、前処理は省略してもよい。本処理は、前処理で選択されなかったサンプルについてのみ行ってもよい。
【００７２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７３】
１  クライアント装置
２  パラメータチェックサーバ
３  統計情報サーバ
４  業務処理システム
２０  パラメータ受信プログラム
２１  既存蓄積ＤＢ点検プログラム
２２  パラメータ解析処理決定プログラム
２３  統計比較プログラム
２４  解析結果送信プログラム
２５  既存蓄積ＤＢ点検結果ファイル
３０  統計テーブル
２０１  プロセッサ
２０２  メモリ
２０３  補助記憶装置
２０４  出力装置
２０５  入力装置
２５０  パラメータ入力ウィンドウ
２５１  パラメータ入力フィールド
２５２  送信ボタン
２６０  エラーメッセージ
３０１  パラメータ名欄
３０２  解析要素欄
３０３  解析結果欄
３０４  頻度欄
３０５  閾値欄
３０６  処理１欄
３０７  処理２欄
３０８  処理３欄
【図１】
2020197821.tif 000003
【図２】
2020197821.tif 000004
【図３】
2020197821.tif 000005
【図４Ａ】
2020197821.tif 000006
【図４Ｂ】
2020197821.tif 000007
【図５】
2020197821.tif 000008
【図６】
2020197821.tif 000009
【図７】
2020197821.tif 000010
【図８】
2020197821.tif 000011