説明

情報処理装置

【課題】各端末装置の機器種類や搭載されているOS等が異なっている場合、アップロードされた各種のデータ様式に合わせて、不具合が生じたデータやエラー情報等を記録してエラー要因の解析を容易にする。
【解決手段】XML形式のデータを受信する受信部21と、XML形式のデータが適正であるか否かを判定するとともに、送信できるか否かを判定する判定部22とを有する。そして、XML形式のデータが適正でない、又は送信できないと判定されたときに、XML形式のデータを特定するレコードをログテーブル31aに格納するとともに、親要素に基づくレコードを親要素毎にレコードテーブル31bに格納し、子要素に基づくレコードを親要素と対応付けて子要素毎にエレメントテーブル31cに格納するテーブル格納部23とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを受信して所定のインターフェースを介して送信する情報処理装置に関する。
【背景技術】
【0002】
従来、複数のクライアントからアップロードされた情報をサーバーで受信し、受信した各情報を他のサーバーへ転送する情報処理装置がある。この情報処理装置では、他のサーバーへの転送が不具合等により実行できなかった場合、そのエラー情報を記録するようにしている。そして、エラーの要因を把握して対処した後、再度他のサーバーへ転送を実行するようにしている。例えば、特許文献1に記載されているゲートウエイサーバーでは、任意の端末装置からアップロードされたデータファイルを受信するとともに、データファイルの書式を変換して他のサーバーへ登録している。このとき、他のサーバーへの登録が実行できなかった場合、エラーログを生成するようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−277586号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載されているように、複数の端末装置からアップロードされた情報をサーバーで受信する場合、各端末装置の機器種類や搭載されているOS等が異なっていると、アップロードされるデータ様式も各端末装置で異なることになる。このため、他のサーバーへの転送が不具合等により実行できなかった場合、各種のデータ様式に合わせて、不具合が生じたデータやエラー情報等を記録する対応が必要になり、プログラムの開発コストや品質面において問題が生じる。
【課題を解決するための手段】
【0005】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0006】
[適用例1]XML形式のデータを受信する受信部と、前記受信したXML形式のデータが適正であるか否かを判定するとともに、前記XML形式のデータに基づく送信データを所定のインターフェースを介して送信できるか否かを判定する判定部と、前記受信したXML形式のデータが適正でないと判定されたとき、又は前記送信データを送信できないと判定されたときに、前記受信したXML形式のデータを特定するレコードを第1のテーブルに格納するとともに、前記受信したXML形式のデータに含まれる親子関係にある要素について、親要素に基づくレコードを前記親要素毎に第2のテーブルに格納し、子要素に基づくレコードを前記親要素と対応付けて前記子要素毎に第3のテーブルに格納するテーブル格納部と、を有することを特徴とする情報処理装置。
【0007】
上記した情報処理装置によれば、受信したXML形式のデータに対して、判定部が、適正であるか否かを判定し、更に送信できるか否かを判定する。そして、XML形式のデータが適正でないか又は送信できないと判定されてエラーのときに、テーブル格納部が、XML形式のデータを特定するレコードを第1のテーブルに格納し、親要素に基づくレコードを親要素毎に第2のテーブルに格納し、子要素に基づくレコードを親要素と対応付けて子要素毎に第3のテーブルに格納する。
エラーの際、XML形式のデータの親要素に基づくレコードを親要素毎に格納し、子要素に基づくレコードを親要素と対応付けて子要素毎に格納する。これにより、データを送信する端末装置の機器種類や搭載されているOS等が異なっている場合でも、共通のプログラムを用いて、不具合が生じたデータやエラー情報等に対してデータ処理を行い、効率的にデータを参照して利用することができる。また、共通のプログラムを用いることにより、プログラム開発のコストを抑制して品質面を向上させることができる。
【0008】
[適用例2]前記テーブル格納部は、前記判定部における判定結果の情報を前記第1のテーブルに格納することを特徴とする上記情報処理装置。
【0009】
上記した情報処理装置によれば、判定結果の情報を第1のテーブルに格納することにより、この判定結果の情報に基づいてエラーの要因を把握して対処することができる。
【0010】
[適用例3]前記テーブル格納部は、前記受信したXML形式のデータが適正であると判定され、且つ前記送信データを送信できると判定されたときについても、前記受信したXML形式のデータを特定するレコードを前記第1のテーブルに格納することを特徴とする上記情報処理装置。
【0011】
上記した情報処理装置によれば、XML形式のデータが適正であり送信できると判定されたとき、XML形式のデータを特定するレコードを第1のテーブルに格納する。これにより、正常に送信できるXML形式のデータの履歴を残すことができる。
【0012】
[適用例4]前記テーブル格納部は、前記受信したXML形式のデータを特定するレコードを、前記判定部における判定結果の情報毎に前記第1のテーブルに格納することを特徴とする上記情報処理装置。
【0013】
上記した情報処理装置によれば、XML形式のデータを特定するレコードを判定結果の情報毎に第1のテーブルに格納することにより、エラーの要因が複数の場合に容易に要因を解析することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態に係る情報処理システムの概略構成を示す図。
【図2】アプリケーションサーバーにおける機能構成を示す図。
【図3】クライアントPCからアップロードされるXML形式のデータの例を示す図。
【図4】ログ情報を構成するログテーブルを示す表。
【図5】ログ情報を構成するレコードテーブルを示す表。
【図6】ログ情報を構成するエレメントテーブルを示す表。
【図7】アプリケーションサーバーに係る動作を示すフローチャート。
【図8】変形例におけるXML形式のデータの例を示す図。
【発明を実施するための形態】
【0015】
以下、本実施形態に係る情報処理装置の例について、図面を参照して説明する。
【0016】
<情報処理システムの概略構成>
図1は、本実施形態に係る情報処理システムの概略構成を示す図である。同図に示すように、情報処理システム10は、ファイアーウォール(FW)11、情報処理装置としてのアプリケーションサーバー13、管理用データベースサーバー16、プロダクト用データベースサーバー18等を備えている。
【0017】
また、情報処理システム10には、インターネット及びイントラネット等のネットワーク80を介して複数のクライアントPC50が接続されており、各クライアントPC50には各種デバイス51が接続されている。図1の例では、プロダクトA用,B用,C用の各クライアントPC50A,50B,50Cが接続されており、これらのクライアントPC50A,50B,50Cには、それぞれプリンター51A、プリンター51B及びスキャナー51Cが接続されている。各クライアントPC50は、それぞれに接続されているデバイス51の情報、例えば消耗品やトラブル等に関する情報を、XML形式のデータに変換してネットワーク80を介して情報処理システム10にアップロードすることができる。
【0018】
情報処理システム10における各アプリケーションサーバー13は、ファイアーウォール11を介したDMZ(非武装地帯)12に配置されている。管理用データベースサーバー16は、管理用データベース17を備えて、ファイアーウォール11を介したSecure(セキュアゾーン)15に配置されている。また、プロダクト用データベースサーバー18は、プロダクトデータベース19を備えて、所定のインターフェースとしての情報バスB10に接続されている。図1の例では、プロダクトA用,B用,C用の各データベースサーバー18A,18B,18Cが接続されており、これらのデータベースサーバー18A,18B,18Cは、それぞれプロダクトデータベース19A,19B,19Cを備えている。上記のように、情報処理システム10は、ファイアーウォール11、DMZ12、Secure15により、セキュリティーが確保されるようになっている。
【0019】
アプリケーションサーバー13は、各クライアントPC50からネットワーク80を介してアップロードされたXML形式のデータを受信する。そして、アップロードされたデータが適正か否かの判定、及び情報バスB10を介してプロダクト用データベースサーバー18へ送信できるか否かの判定を行い、判定結果の情報等を管理用データベースサーバー16へ送信する。また、アップロードされたXML形式のデータが適正であり、且つプロダクト用データベースサーバー18へ送信できると判定された場合は、アップロードされたデータに基づく送信データを、対応するプロダクト用データベースサーバー19へ送信する。
【0020】
管理用データベースサーバー16は、アプリケーションサーバー13から送信された判定結果の情報等を受信して管理用データベース17に格納する。また、管理用データベース17に格納された各種データの読み出しや検索等を実行する。
プロダクト用データベースサーバー18は、アプリケーションサーバー13から送信された送信データを受信し、プロダクトデータベース19に格納する。また、プロダクトデータベース19に格納されたデータの読み出しや検索等を実行する。ここで、管理用データベース17及びプロダクトデータベース19として、例えばリレーショナルデータベースを用いることができる。また、各プロダクトデータベース19は、各種プロダクトの要件に合わせて構築されたデータベース構造となっている。
【0021】
<アプリケーションサーバーの機能構成>
次に、アプリケーションサーバー13における機能構成について説明する。図2は、アプリケーションサーバー13における機能構成を示す図である。同図に示すように、アプリケーションサーバー13は、受信部21、判定部22、テーブル格納部23、プロダクトデータ格納部24等を備えている。また、アプリケーションサーバー13は、管理用データベースサーバー16を介して管理用データベース17にアクセスすることができ、各プロダクト用データベースサーバー18を介して各プロダクトデータベース19にアクセスすることができる。
【0022】
受信部21は、各クライアントPC50からネットワーク80を介してアップロードされたXML形式のデータを受信する。図3は、クライアントPC50からアップロードされるXML形式のデータの例を示している。同図に示すXML形式のデータは、”Header”要素h110と”Body”要素b110の2つの部分に分かれている。最初の”Header”要素h110の部分は、クライアントPC50からアップロードされたデータについての識別であり、次の”Body”要素b110の部分は、クライアントPC50からアップロードされたデータ本体である。
【0023】
”Header”要素h110の部分に含まれる”ServiceCode”要素h111は、アップロードしたクライアントPC50のプロダクトの識別を示している。”AgentCode”要素h112は、クライアントPC50の識別を示している。”DeviceCode”要素h113は、クライアントPC50に接続しているデバイス51の識別を示している。”Date”要素h114及び”LocalDate”要素h115は、クライアントPC50からアップロードした時間を示している。
一方、”Body”要素b110の部分は、親要素となる”Record”要素b120,b130,b140,b150と、それぞれの子要素群b121,b131,b141,b151との親子関係にある要素で構成される。
なお、”Header”要素h110に含まれる”LocalDate”要素h115の下位置の要素名に示すように、クライアントPC50において、ユーザーID及びパスワードの入力や、オプションの選択を受け付け、これらの入力値をXML形式のデータに含めてアップデートするようにしても良い。
【0024】
判定部22は、クライアントPC50からアップロードされて受信部21において受信したXML形式のデータを解析し、XML形式のデータが適正であるか否かを判定する。そして、XML形式のデータが適正であるときに、XML形式のデータ又は当該データを変換したデータが送信データとして情報バスB10を介してプロダクト用データベースサーバー18へ送信できるか否かを判定する。
ここで、XML形式のデータが適正でないと判定されるケースとして、例えば、”ServiceCode”要素h111、”AgentCode”要素h112、”DeviceCode”要素h113の各内容が該当しなかった場合、つまりXML形式のデータが示すプロダクトの識別、クライアントPC50の識別及びデバイス51の識別が、情報処理システム10にデータとして登録されていなかった場合があげられる。また、XMLのデータ記述に誤りがあった場合にも、XML形式のデータが適正でないと判定される。
次に、XML形式のデータ等が情報バスB10を介して送信できないケースとして、例えば、情報バスB10に異常が発生した場合や、送信先のプロダクト用データベースサーバー18がデータ格納できないと判断した場合等があげられる。
【0025】
テーブル格納部23は、判定部22における判定結果に基づいて、管理用データベースサーバー16を介して、各プロダクト用のログ情報31を管理用データベース17に格納する。なお、ログ情報31を構成するテーブル種類及びデータ内容は、判定部22における判定結果により異なっている。
判定部22においてXML形式のデータが適正でないと判定された、又は適正と判定されたときでも情報バスB10を介して送信できないと判定された場合、図2の管理用データベース17に示すように、ログ情報31は、第1のテーブルとしてのログテーブル31a、第2のテーブルとしてのレコードテーブル31b及び第3のテーブルとしてのエレメントテーブル31cにより構成される。
一方、判定部22においてXML形式のデータが適正であり、且つ情報バスB10を介して送信できると判定された場合は、ログ情報31は、ログテーブル31aのみによって構成される。
【0026】
図4〜図6は、エラー時におけるログ情報31を構成する各テーブルを示す表である。図4はログテーブル31a、図5はレコードテーブル31b、図6はエレメントテーブル31cを示している。各テーブルは、アップロード単位に、図3のXML形式のデータに基づいて生成されて格納される。
【0027】
図4に示すように、ログテーブル31aは、upload_id、log_message、service_code、agent_code、device_code及びupload_dateの項目により構成され、アップロード単位に1レコードが生成されて格納される。upload_idの項目は、アップロード単位に付番するログ情報31のIDがセットされる。log_messageの項目は、判定部22における判定結果の情報がセットされる。図4の例では、「Service code TEST_SERVICE is not found」のメッセージがセットされており、これはアップロードされた”ServiceCode”要素h111の内容が該当しないためにエラーであることを示している。service_code、agent_code、device_code及びupload_dateの項目は、それぞれ図3のXML形式のデータの”ServiceCode”要素h111、”AgentCode”要素h112、”DeviceCode”要素h113及び”Date”要素h114の内容がセットされる。
一方、判定部22においてXML形式のデータが適正であり、且つ情報バスB10を介して送信できると判定された場合は、図4に示すログテーブル31aのlog_messageに、正常に格納されたことを示すメッセージがセットされてログテーブル31aのみが格納される。つまり、レコードテーブル31b及びエレメントテーブル31cはいずれも格納されないことになる。
【0028】
次に、図5に示すように、レコードテーブル31bは、upload_id、record_id、table_nameの項目により構成され、親要素毎にレコードが生成されて格納される。upload_idの項目は、ログテーブル31aのupload_idがセットされ、レコードテーブル31bとログテーブル31aの対応付けが行われる。record_idの項目は、各親要素への付番がセットされる。table_nameの項目は、図3において各親要素となる”Record”要素b120,b130,b140,b150の各内容がセットされる。
【0029】
次に、図6に示すように、エレメントテーブル31cは、upload_id、record_id、element_id、column_name、valueの項目により構成され、子要素毎にレコードが生成されて格納される。upload_id及びrecord_idは、ログテーブル31aのupload_id及びレコードテーブル31bのrecord_idがセットされ、エレメントテーブル31cにおける子要素とレコードテーブル31bにおける親要素との親子関係の対応付けが行われる。element_idの項目は、各親要素に属している各子要素への付番がセットされる。column_name及びvalueの項目は、図3の子要素群b121,b131,b141,b151における各子要素の要素名及び内容がセットされる。
【0030】
プロダクトデータ格納部24は、判定部22においてXML形式のデータが適正であり、且つ情報バスB10を介して送信できると判定された場合に、クライアントPC50からアップロードされたXML形式のデータ又は当該データを変換したデータとなる送信データを、該当するプロダクト用データベースサーバー18へ送信して、図2に示すプロダクトデータベース19にプロダクトデータ41として格納する。
【0031】
次に、アプリケーションサーバー13に係る動作について説明する。
図7は、アプリケーションサーバー13に係る動作を示すフローチャートである。
【0032】
先ず、クライアントPC50は、ネットワーク80を介してXML形式のデータを情報処理システム10へアップロードする(ステップS110)。そして、情報処理システム10においてアプリケーションサーバー13は、受信部21により、クライアントPC50からアップロードされたXML形式のデータを受信する(ステップS120)。
【0033】
次に、アプリケーションサーバー13は、判定部22により、ステップS120において受信したXML形式のデータを解析してXML形式のデータが適正であるか否かを判定し、更に情報バスB10を介してプロダクト用データベースサーバー18へ送信できるか否かを判定する(ステップS130)。
【0034】
XML形式のデータが適正であり、且つプロダクト用データベースサーバー18へ送信できると判定された場合(ステップS130:Yes)は、テーブル格納部23により、正常に格納されたことを示すログテーブル31aを管理用データベース17に格納する(ステップS140)。そして、プロダクトデータ格納部24により、ステップS120において受信したXML形式のデータ又は当該データを変換したデータとなる送信データをプロダクトデータベース19に格納し(ステップS150)、図7のフローチャートの動作を終了する。
【0035】
他方、ステップS130においてXML形式のデータが適正でない、又はプロダクト用データベースサーバー18へ送信できないと判定された場合(ステップS130:No)は、アプリケーションサーバー13は、テーブル格納部23により、エラーであることを示すログテーブル31aを管理用データベース17に格納する(ステップS160)。そして、管理用データベース17に親要素で構成されるレコードテーブル31bを格納し(ステップS170)、続けて子要素で構成されるエレメントテーブル31cを格納して(ステップS180)、図7のフローチャートの動作を終了する。
【0036】
上述した実施形態では、各クライアントPC50からアップロードされたXML形式のデータを受信してエラーの判定を行い、エラーの際には、管理用データベース17にログテーブル31a、レコードテーブル31b及びエレメントテーブル31cにより構成されるログ情報31を格納する。このとき、レコードテーブル31bは親要素毎にレコードが格納され、エレメントテーブル31cは子要素毎にレコードが格納されて、それぞれの親子関係の対応付けが行われる。これにより、各クライアントPC50の機器種類や搭載されているOS等が異なっている場合でも、エラーの際に、各クライアントPC50に共通のプログラムでログ情報31を生成して格納することができる。また、受信したXML形式のデータの階層構造や要素数が様々の形式であっても、親子関係の対応付けが行われたレコードテーブル31b及びエレメントテーブル31cを用いて統一様式で格納することができ、エラー要因の解析やエラーデータの復旧等に対して効率的に対応することができる。
【0037】
(変形例1)
上述した実施形態では、各クライアントPC50から図3に示すようなXML形式のデータを受信している。しかし、各クライアントPC50において、このXML形式のデータに対して、図8に示すように暗号化やデジタル署名等の対応を行っても良い。この場合、判定部22においてXML形式のデータの署名内容が認証されなかった場合、XML形式のデータが適正でないと判定される。
【0038】
(変形例2)
上述した実施形態では、ログ情報31を構成するログテーブル31aについて、アップロード単位に1レコードが生成されて格納されている。しかし、判定部22においてエラーの要因が複数生じた場合、これらのエラー要因毎にレコードを生成してログテーブル31aに格納するようにしても良い。エラー要因毎にレコードが生成されることにより、例えば、各エラー要因のそれぞれについて対処したり、各エラー要因をソートして分析したりすることができる。
【符号の説明】
【0039】
10…情報処理システム、11…ファイアーウォール、12…DMZ、13…アプリケーションサーバー、15…Secure、16…管理用データベースサーバー、17…管理用データベース、18…プロダクト用データベースサーバー、19…プロダクトデータベース、21…受信部、22…判定部、23…テーブル格納部、24…プロダクトデータ格納部、31…ログ情報、31a…ログテーブル、31b…レコードテーブル、31c…エレメントテーブル、41…プロダクトデータ、50…クライアントPC、51…デバイス、80…ネットワーク、B10…情報バス。

【特許請求の範囲】
【請求項1】
XML形式のデータを受信する受信部と、
前記受信したXML形式のデータが適正であるか否かを判定するとともに、前記XML形式のデータに基づく送信データを所定のインターフェースを介して送信できるか否かを判定する判定部と、
前記受信したXML形式のデータが適正でないと判定されたとき、又は前記送信データを送信できないと判定されたときに、
前記受信したXML形式のデータを特定するレコードを第1のテーブルに格納するとともに、前記受信したXML形式のデータに含まれる親子関係にある要素について、親要素に基づくレコードを前記親要素毎に第2のテーブルに格納し、子要素に基づくレコードを前記親要素と対応付けて前記子要素毎に第3のテーブルに格納するテーブル格納部と、を有することを特徴とする情報処理装置。
【請求項2】
前記テーブル格納部は、前記判定部における判定結果の情報を前記第1のテーブルに格納することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記テーブル格納部は、前記受信したXML形式のデータが適正であると判定され、且つ前記送信データを送信できると判定されたときについても、前記受信したXML形式のデータを特定するレコードを前記第1のテーブルに格納することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記テーブル格納部は、前記受信したXML形式のデータを特定するレコードを、前記判定部における判定結果の情報毎に前記第1のテーブルに格納することを特徴とする請求項2又は3に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−221682(P2011−221682A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−88387(P2010−88387)
【出願日】平成22年4月7日(2010.4.7)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】