(57)【要約】【課題】ＥＴＬ処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的なデータ取得を可能とする。【解決手段】インポートされたファイルと、インポートされて修正されたファイルとを第１の管理手段で管理し、インポートされたファイル及び修正されたファイルについての第１の管理手段におけるファイルパスをインポートの日時を示すフォルダ階層に配置すると共に、修正されたファイルのファイルパスを修正後のインポートの日時を示すフォルダ階層にも配置したリストファイルを第２の管理手段で管理し、外部システムから取得要求されたファイルをリストファイルを用いて検索し、検索結果に対応するファイルパスを用いて第１の管理手段から前記ファイルを取得し、取得したファイルを外部システムに提供することによって課題を解決する。【選択図】図６
2016091317.tif 000002
【特許請求の範囲】
【請求項１】
インポートされたファイルと、インポートされて修正されたファイルとを管理する第１の管理手段と、
前記インポートされたファイル及び前記修正されたファイルについての前記第１の管理手段におけるファイルパスをインポートの日時を示すフォルダ階層に配置すると共に、前記修正されたファイルの前記ファイルパスを修正後のインポートの日時を示すフォルダ階層にも配置したリストファイルを管理する第２の管理手段と、
外部システムから受け付けたファイルの取得要求に対して、前記取得要求に対応するファイルを前記リストファイルを用いて検索する検索手段と、
前記検索手段による検索の結果に対応するファイルパスを用いて、前記第１の管理手段で管理されているファイルを取得する取得手段と、
前記取得手段により取得されたファイルを、前記取得要求の応答として前記外部システムに提供する提供手段と、
を有することを特徴とするデータ管理システム。
【請求項２】
前記インポートされたファイルは、デバイスのカウンタデータ、センサーデータ、エラー履歴データ、メンテナンスデータのうち少なくとも何れかのデータに関するファイルであることを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
前記インポートされたファイルのデータ構成が数値型のみ許可するカラムを含むテーブルである場合に、前記カラムに文字列データを含む行がある場合は、前記行に係るデータがフィルタ処理により除外されて修正されることを特徴とする請求項１又は２に記載のデータ管理システム。
【請求項４】
前記第１の管理手段は、インポートされたデータのうちフィルタ処理で除外されなかったデータに関するファイルと、前記フィルタ処理で除外されて修正されたデータに関するファイルとを管理することを特徴とする請求項１乃至３の何れか１項に記載のデータ管理システム。
【請求項５】
前記検索手段は、前記外部システムから受け付けたインポート日時単位又はインポート完了日時単位でのファイルの取得要求に対して、前記第２の管理手段で管理されているリストファイルから該当するファイルのファイルパスを検索することを特徴とする請求項１乃至４の何れか１項に記載のデータ管理システム。
【請求項６】
データ管理システムが実行するデータ管理方法であって、
インポートされたファイルと、インポートされて修正されたファイルとを第１の管理手段に保存して管理する第１の管理ステップと、
前記インポートされたファイル及び前記修正されたファイルについての前記第１の管理手段におけるファイルパスをインポートの日時を示すフォルダ階層に配置すると共に、前記修正されたファイルの前記ファイルパスを修正後のインポートの日時を示すフォルダ階層にも配置したリストファイルを第２の管理手段に保存して管理する第２の管理ステップと、
外部システムから受け付けたファイルの取得要求に対して、前記取得要求に対応するファイルを前記リストファイルを用いて検索する検索ステップと、
前記検索ステップによる検索の結果に対応するファイルパスを用いて、前記第１の管理手段で管理されているファイルを取得する取得ステップと、
前記取得ステップにより取得されたファイルを、前記取得要求の応答として前記外部システムに提供する提供ステップと、
を含むデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理システム及びデータ管理方法に関する。
【背景技術】
【０００２】
近年、ＰＣの処理能力の向上やサーバー仮想化技術の発展により、アプリケーションのログデータや画像形成装置に取り付けられたセンサーデータのような、いわゆるビッグデータを積極的に分析・活用しようとする動きが活発化している。
ビッグデータ分析に関して、大規模データを安価に保持するデータウェアハウスから、分析者又はユースケース（ＵＣ）システムが必要なデータのみを取得して分析する構成が考えられる。例えば、画像形成装置が、自身のセンサーデータを定期的（１日１回等）にデバイス管理装置に対して送信する。そして、データウェアハウスが、それらのセンサーデータをデバイス管理装置から取得してその日のデータとして公開する。
特許文献１では、Ｗｅｂページを更新するタイミングで、ファイル名に更新時点の日付を付加した検索用ファイルとしてＷｅｂページを保存し、クライアントからの要求に応じて指定された日時のＷｅｂページを検索してクライアントに返却する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３４７９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ビッグデータ分析に利用するデータ（例えば上述のセンサーデータ）を、毎日データソース（例えば上述のデバイス管理装置）からインポートし、ＵＣシステムにデータを公開するデータ蓄積システム（例えば上述のデータウェアハウス）を想定する。データ蓄積システムが公開するデータは、上述のセンサーデータ以外にも種々のデータが考えられる。例えば人手を介して作成されるデータの場合は、入力ミスによるエラーを含むデータである可能性があるため、これらのエラーデータをフィルタ処理し、フィルタ処理により抽出したエラーデータを修正するフローが必要である。また、システムが自動作成したデータであっても、システムのバグ等によりエラーを含む可能性もある。即ち、データ蓄積システムは、正しいデータのみを公開するために、インポートしたデータにエラーが含まれているかどうかを判定してフィルタ処理を行う必要がある。データ蓄積システムは、フィルタ処理により抽出したエラーデータを一時領域に退避させ、そのエラーデータを正しく修正した上で、再度フィルタ処理を行う。このようにして、データ蓄積システムは、エラーを含まないデータについてはインポートした日付を示す日付フォルダに格納し、エラーデータについては修正してインポートが完了した日付を示す日付フォルダに格納して公開可能とする。この処理は、ＥＴＬ（Ｅｘｔｒａｃｔ／Ｔｒａｎｓｆｏｒｍ／Ｌｏａｄ）処理と呼ばれる。
【０００５】
ここで、各ＵＣシステムがデータ蓄積システムからデータを取得する方法として、「（１）定期的にデータを取得する方法（例えば１日間隔）」と、「（２）インポート日時が特定期間（例えば２０１４年７月）のデータを一括取得する方法」との２種類が考えられる。言い換えれば、（１）の取得方法は「インポート完了日付単位でのデータの取得方法」であり、（２）の取得方法は「インポート日付単位でのデータの取得方法」である。例えば（２）の取得方法で２０１４年７月のデータを取得する場合は、２０１４年７月以降のフォルダに２０１４年７月にインポートされて修正されたデータが含まれる可能性があるため、２０１４年７月以降の日付フォルダを全てチェックする必要がある。このように、従来の技術では、特定期間のデータを取得するために特定期間以降の日付フォルダを全てチェックする必要があるため、ＵＣシステム側の計算コストが高くなるという課題がある。また、特許文献１で開示されている技術を適用したとしても、データ蓄積システム側に膨大な数のデータから検索する仕組みを組み込む必要があるため、データ蓄積システム側の計算コストが高くなるという課題がある。即ち、従来の技術では、データ蓄積システムからデータを取得する際の取得単位によっては効率的なデータ取得が困難となる場合がある。
本発明は、ＥＴＬ処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的なデータ取得を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明のデータ管理システムは、インポートされたファイルと、インポートされて修正されたファイルとを管理する第１の管理手段と、前記インポートされたファイル及び前記修正されたファイルについての前記第１の管理手段におけるファイルパスをインポートの日時を示すフォルダ階層に配置すると共に、前記修正されたファイルの前記ファイルパスを修正後のインポートの日時を示すフォルダ階層にも配置したリストファイルを管理する第２の管理手段と、外部システムから受け付けたファイルの取得要求に対して、前記取得要求に対応するファイルを前記リストファイルを用いて検索する検索手段と、前記検索手段による検索の結果に対応するファイルパスを用いて、前記第１の管理手段で管理されているファイルを取得する取得手段と、前記取得手段により取得されたファイルを、前記取得要求の応答として前記外部システムに提供する提供手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ＥＴＬ処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的なデータ取得を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】従来のデータ蓄積システムにおけるフォルダ構成の一例を示す図である。
【図２】システム構成の一例を示す図である。
【図３】ハードウェア構成の一例を示す図である。
【図４】実施形態１におけるソフトウェア構成の一例を示す図である。
【図５】実施形態１におけるフォルダ構成等の一例を示す図である。
【図６】実施形態１における処理の一例を示すフローチャートである。
【図７】実施形態２におけるソフトウェア構成の一例を示す図である。
【図８】実施形態２におけるフォルダ構成等の一例を示す図である。
【図９】実施形態２における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。
＜実施形態１＞
まず、本実施形態の詳細について説明する前に、上述した従来のデータ蓄積システムが公開するデータと、そのデータを格納するフォルダ構成とについて説明する。図１は、従来のデータ蓄積システムにおけるフォルダ構成等の一例を示す図である。従来のデータ蓄積システムは、ルートフォルダ３０１とルートフォルダ３０１以下の日付フォルダ３０２〜３０６とを有し、日付フォルダ３０２〜３０６以下に、その日にインポートが完了（成功）したデータを格納する。
従来のデータ蓄積システムは、インポートしたデータにエラーが含まれていない場合は、そのままデータを公開する。このデータに対応するのが、ファイル３２１〜３２６、及びファイル３２９〜３３２であり、以降の説明ではＯＫデータと呼ぶことにする。一方、インポートしたデータにエラーが含まれている場合は、ルートフォルダ３０１以下に格納せず（即ちデータを公開せず）、一時領域に退避させておき、退避させたデータを正しく修正した上で、再度フィルタ処理を行う。修正後にフィルタ処理を通過したデータを、以降の説明ではＦＩＸＥＤデータと呼ぶことにする。このデータに対応するのが、ファイル３２７、３２８、３３３である。また、一時領域に退避させたエラーを含むデータを、以降の説明ではＮＧデータと呼ぶことにする。
【００１０】
例えばファイル３２７は、２０１４年７月２９日にインポートしようとしたデータにエラーが含まれていたため、一時領域に退避させ、２０１４年７月３１日の処理時点でデータのエラーが訂正され、公開されたデータである。以降の説明では、データ蓄積システムが、データソースからデータをインポートした日付を「インポート日付」と呼び、実際にインポートが完了し、各ＵＣシステムに公開した日付を「インポート完了日付」と呼ぶことにする。例えばファイル３２７の場合は、インポート日付が２０１４年７月２９日であり、インポート完了日付が２０１４年７月３１日である。上述したように、エラーを含まないデータについてはインポートした日付を示す日付フォルダに格納し、エラーデータについては修正してインポートが完了した日付を示す日付フォルダに格納して公開可能とする処理は、ＥＴＬ処理と呼ばれる。なお、ＥＴＬは、Ｅｘｔｒａｃｔ／Ｔｒａｎｓｆｏｒｍ／Ｌｏａｄの略称である。
【００１１】
上述したように、各ＵＣシステムがデータ蓄積システムからデータを取得する方法としては以下の２つの方法が考えられる。一つ目の方法が、「（１）定期的にデータを取得する方法（例えば１日間隔）」、換言するならば、「インポート完了日付単位（インポート完了日時単位）でのデータの取得方法」である。そして二つ目の方法が、「（２）インポート日時が特定期間（例えば２０１４年７月のデータ）のデータを一括取得する方法」、換言するならば、「インポート日付単位（インポート日時単位）でのデータの取得方法」である。（１）の取得方法の場合、例えば１日間隔で日付フォルダ３０２〜３０６の各フォルダ内のデータを順に取得すればよい。例えば２０１４年７月２９日にデータ取得する場合は、日付フォルダ３０２内のデータを取得すればよい。一方、（２）の取得方法で２０１４年７月のデータを取得したい場合は、２０１４年７月以降のフォルダに２０１４年７月のＦＩＸＥＤデータが含まれる可能性があるため、２０１４年７月以降の日付フォルダを全てチェックする必要がある。例えば、ファイル３３３のように、２０１４年７月２９日のデータが２０２０年１月１日にＦＩＸＥＤデータとして公開されるような場合が該当する。
そのため、このような従来の技術では、データ蓄積システムからデータを取得する際の取得単位によっては、効率的にデータを取得することが困難になる場合があるという課題が生じる。
【００１２】
以下、上述の内容を踏まえて本実施形態の詳細について説明する。
図２は、本実施形態におけるビッグデータ活用システムのシステム構成の一例を示す図である。図２において、クライアント端末１１０〜１１３、データ分析装置１１５、１１６、デバイス管理装置１３１、データ蓄積装置１３２、画像形成装置１２１〜１２３、出動履歴管理装置１３３は、ネットワーク１０１〜１０９を介して通信可能に接続されている。ネットワーク１０１〜１０９は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等の何れか、又はこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク１０１〜１０９は、データの送受信が可能であればどのような形態でもよい。本実施形態におけるネットワーク１０６、１０７は、インターネットである。また、本実施形態におけるネットワーク１０１〜１０５、１０８、１０９は、企業内ネットワークやサービスプロバイダーのネットワークである。
【００１３】
デバイス管理装置１３１、データ蓄積装置１３２、データ分析装置１１５、１１６、出動履歴管理装置１３３は、サーバーコンピュータ（以下、単にサーバーという）の一例である。デバイス管理装置１３１は、画像形成装置１２１〜１２３で発生するエラー履歴データ、各種カウンタデータ、各種センサーデータ等を収集し、収集した各種データをデータ蓄積装置１３２に対して提供する。出動履歴管理装置１３３は、サービスマンによる画像形成装置１２１〜１２３に対する部品交換等の各種メンテナンスデータを管理し、各種メンテナンスデータをデータ蓄積装置１３２に提供する。データ蓄積装置１３２は、デバイス管理装置１３１、出動履歴管理装置１３３から取得したデータ及び画像形成装置１２１〜１２３から受信したデータを蓄積する。なお、データ蓄積装置１３２は、データを管理するデータ管理システムの一例である。データ分析装置１１５、１１６は、データ蓄積装置１３２から各ユースケースに必要なデータのみを取得し、必要なＥＴＬ処理、クレンジング処理を行うことで、データを分析しやすい形に整形して保存する。上述したサーバーのそれぞれの機能は、単体のサーバー又は単体の仮想サーバーによって実現されてもよいし、複数のサーバー又は複数の仮想サーバーによって実現されてもよい。また、複数の仮想サーバーが単体のサーバー上で実行される構成としてもよい。
クライアント端末１１０〜１１３は、例えばデスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話、タブレット端末であってもよい。クライアント端末１１０〜１１３は、Ｗｅｂブラウザやデータ分析ツール等のプログラムを実行する環境を内蔵している。サービスマンは、クライアント端末１１２、１１３にインストールされたＷｅｂブラウザを用いて、出動履歴管理装置１３３にアクセスし、各種メンテナンスデータを手動で入力する。また、ビッグデータ活用を行うユーザは、クライアント端末１１０、１１１にインストールされたデータ分析ツールを用いて、データ分析装置１１５、１１６に保存されているデータを取得し、分析する。
【００１４】
図３は、本実施形態に係るクライアント端末１１０〜１１３、デバイス管理装置１３１、データ蓄積装置１３２、データ分析装置１１５、１１６、出動履歴管理装置１３３のハードウェア構成の一例を示す図である。図３において、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）２０２は、装置全体の制御を行う。ＣＰＵ２０２は、Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ（ＨＤＤ）２０５等に格納されているアプリケーションプログラム、ＯＳプログラム等をＲａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）２０３に展開して実行する。Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）２０４は、基本Ｉ／Ｏプログラム等の各種データを記憶する。ＲＡＭ２０３は、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ２０５は、大容量メモリとして機能し、Ｗｅｂブラウザ等のアプリケーションプログラム、サービスサーバー群のプログラム、ＯＳ、関連プログラム等を格納している。ディスプレイ２０６は、キーボード２０７から入力されたコマンド等を含む各種の情報、画面を表示する。インターフェース２０８は、外部装置Ｉ／Ｆであり、プリンタ、ＵＳＢ機器、周辺機器と自装置とを接続する。キーボード２０７は、入力操作を介してユーザからの指示を受け付ける。システムバス２０１は、装置内におけるデータの流れを司る。Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ（ＮＩＣ）２０９は、ネットワーク１０１〜１０９を介して外部装置とのデータのやり取りを行う。
上述のコンピュータの構成は一例であり、図３の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ２０４、ＲＡＭ２０３、ＨＤＤ２０５等で変更することも可能である。また、ＣＰＵ２０２がＨＤＤ２０５に記憶されているプログラムに基づき処理を実行することによって、図４等に示されるような各装置のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００１５】
図４（Ａ）は、本実施形態に係るクライアント端末１１０、１１１のソフトウェア構成の一例を示す図である。データ分析を行うユーザは、図４（Ａ）におけるデータ分析ツール２１１を利用することで、データ分析装置１１５、１１６へのデータ取得リクエスト等の送信を行い、レスポンスの表示等を行うことでデータを分析する。
図４（Ｂ）は、本実施形態に係るクライアント端末１１２、１１３のソフトウェア構成の一例を示す図である。サービスマンは、図４（Ｂ）におけるＷｅｂブラウザ２１２を利用することで、出動履歴管理装置１３３に対してデータ更新リクエスト等の送信を行い、出動履歴管理装置１３３で管理されるデータを更新する。
図４（Ｃ）は、本実施形態に係るデータ蓄積装置１３２のソフトウェア構成の一例を示す図である。データ蓄積装置１３２は、データ収集部４０１、リスト取得部４０２、データ取得部４０３、バックグラウンド部４０４、記憶領域部４０５を有する。データ収集部４０１、リスト取得部４０２、データ取得部４０３がバックグラウンド部４０４や記憶領域部４０５へアクセスすることで、データ蓄積装置１３２が動作する。
【００１６】
データ収集部４０１は、データソースからデータを収集する機能を有する。ここで、データソースとは、ビッグデータ分析を行うユーザが利用したいデータを保持しているシステム、即ち、デバイス管理装置１３１及び出動履歴管理装置１３３である。例えば、データ収集部４０１は、定期的にデバイス管理装置１３１にて保持されている、画像形成装置１２１〜１２３のエラー履歴データ等を取得する。表１は、デバイス管理装置１３１にて保持されている、画像形成装置１２１〜１２３で発生したエラー履歴データのテーブルの一例である。
【表１】
2016091317.tif 000003
表１の各カラムの意味について説明する。「機種」カラムは、画像形成装置１２１〜１２３の機種名を表す。また、「機種番号」カラムは、画像形成装置１２１〜１２３の機種番号を表し、各画像形成装置に対してユニークな値である。「エラーコード」カラムは、発生したエラーの各現象に対応するコードを表し、エラーの各現象に対してユニークな値である。「エラー発生日時」カラムは、「機種番号」で特定される画像形成装置が「エラーコード」で表されるエラーを発生させた日時を表す。
デバイス管理装置１３１は、表１のエラー履歴データ等をｃｓｖ（ｃｏｍｍａ  ｓｅｐａｒａｔｅｄ  ｖａｌｕｅ）形式のファイルに変換して保持する。そして、データ収集部４０１は、変換されたｃｓｖファイルをデバイス管理装置１３１から取得する。データ収集部４０１がデバイス管理装置１３１から取得するデータとして、他には画像形成装置１２１〜１２３のカウンタデータ、センサーデータ等がある。データ収集部４０１は、これらのデータについてもエラー履歴データと同様に、デバイス管理装置１３１で保持されているｃｓｖ形式のファイルを取得する。
【００１７】
同様に、データ収集部４０１は、定期的に出動履歴管理装置１３３からサービスマンのメンテナンスデータ等を取得する。表２は、出動履歴管理装置１３３にて保持されている、画像形成装置１２１〜１２３に対してサービスマンがメンテナンスを行ったメンテナンスデータに関するメンテナンスデータ管理テーブルの一例である。
【表２】
2016091317.tif 000004
表２の各カラムの意味について説明する。「機種」カラム、「機種番号」カラムは表１と同様である。サービスマンは、「機種番号」で特定される画像形成装置に対してメンテナンス作業を行い、クライアント端末１１２、１１３内のＷｅｂブラウザ２１２を利用して出動履歴管理装置１３３にアクセスすることで、表２の情報を入力する。「作業コード」カラムは、メンテナンス作業対象の画像形成装置に対してサービスマンが行ったメンテナンスの種類を識別するコードを表し、「作業概要」カラムがその概要を表している。「作業概要」カラムには、サービスマンが行ったメンテナンス作業を自由に入力することができる。「作業開始日時」カラム、「作業終了日時」カラムは、それぞれメンテナンス作業対象の画像形成装置に対してメンテナンスを開始した日時、終了した日時を表している。「カウンタＡ」カラムは、サービスマンがメンテナンスを開始した時点でのメンテナンス作業対象の画像形成装置が保持しているカウンタＡの値を表している。サービスマンはカウンタＡの値を画像形成装置から取得して入力する。出動履歴管理装置１３３は、表２の出動履データをｃｓｖ形式のファイルに変換して保持する。そして、データ収集部４０１は、変換されたｃｓｖファイルを出動履歴管理装置１３３から取得する。
データ収集部４０１は、例えば１日１回、デバイス管理装置１３１及び出動履歴管理装置１３３の各データソースからデータを取得する。
【００１８】
次に、データ蓄積装置１３２が、データ収集部４０１により各データソースから取得したデータを公開する手順、即ち、データ分析装置１１５〜１１６がデータ蓄積装置１３２からビッグデータ分析に利用するデータを取得できる状態にする手順について説明する。以降の説明では、データ収集部４０１がデータソースから取得したｃｓｖファイルを「オリジナルデータ」と呼ぶことにする。
データ収集部４０１は、データソースからオリジナルデータを取得後、データ保存処理部４１１に対してデータ保存要求を行う。データ収集部４０１は、データ保存処理部４１１に対するデータ保存要求と共に、データ保存処理部４１１に対してオリジナルデータを送信する。データ保存処理部４１１は、データ収集部４０１からのデータ保存要求を受け付けると、フィルタ処理部４１４に対してフィルタ処理要求を行う。データ保存処理部４１１は、フィルタ処理部４１４に対するフィルタ処理要求と共に、フィルタ処理部４１４に対してオリジナルデータを送信する。フィルタ処理部４１４は、データ保存処理部４１１からフィルタ処理要求を受け付けると、オリジナルデータに対してフィルタ処理を行う。フィルタ処理とは、例えばオリジナルデータのｃｓｖファイルのデータ構成が数値型のみ許可するカラムを含むデーブルである場合に、そのカラムに文字列データが入っている行がある場合は、その行を除外する処理である。オリジナルデータのうち、フィルタ処理で除外されなかった行は上述のＯＫデータに対応し、除外された行は上述のＮＧデータに対応する。ＯＫデータ及びＮＧデータは共にｃｓｖ形式のファイルである。フィルタ処理部４１４は、フィルタ処理完了後、ＯＫデータとＮＧデータとをそれぞれデータ保存処理部４１１に対して返却する。
次に、データ保存処理部４１１は、フィルタ処理部４１４から返却されたＯＫデータを公開用ファイル格納部４２２に保存し、ＮＧデータを一時退避ファイル格納部４２３に保存する。公開用ファイル格納部４２２のフォルダ構成、ＯＫデータのファイル名については後述する。次に、データ保存処理部４１１は、リストファイル作成部４１６に対して、ＯＫデータの公開用ファイル格納部４２２におけるパス一覧と共に、ＯＫデータのリストファイル作成要求を行う。リストファイル作成部４１６は、公開用ファイル格納部４２２のパス一覧を受け付け、パス一覧が記載されたファイル（リストファイル）を作成する。リストファイル作成部４１６によるリストファイル作成に係る処理の流れについては後述する。データ保存処理部４１１は、リストファイル作成部４１６から返却されたリストファイルをリストファイル格納部４２１に保存する。リストファイル格納部４２１のファイル・フォルダ構成については後述する。
【００１９】
次に、前日までに一時退避ファイル格納部４２３に退避させたＮＧデータを公開する手順について説明する。
ＮＧデータ収集部４１５は、定期的に一時退避ファイル格納部４２３に保存された前日までのＮＧデータを取得し、データ保存処理部４１１に対してデータ保存要求を行う。ＮＧデータ収集部４１５は、データ保存処理部４１１に対するデータ保存要求と共に、データ保存処理部４１１に対してＮＧデータを送信する。データ保存処理部４１１は、ＮＧデータ収集部４１５からのデータ保存要求を受け付けると、フィルタ処理部４１４に対してフィルタ処理要求を行う。データ保存処理部４１１は、フィルタ処理部４１４に対するフィルタ処理要求と共に、フィルタ処理部４１４に対してＮＧデータを送信する。フィルタ処理部４１４は、データ保存処理部４１１からフィルタ処理要求を受け付けると、フィルタ処理を行う。フィルタ処理で除外されなかった行は上述のＦＩＸＥＤデータに対応し、除外された行はＮＧデータに対応する。ＦＩＸＥＤデータ及びＮＧデータは共にｃｓｖ形式のファイルである。フィルタ処理部４１４は、フィルタ処理完了後、ＦＩＸＥＤデータとＮＧデータとをそれぞれデータ保存処理部４１１に対して返却する。
次に、データ保存処理部４１１は、フィルタ処理部４１４から返却されたＦＩＸＥＤデータを公開用ファイル格納部４２２に保存し、ＮＧデータを一時退避ファイル格納部４２３に保存する。公開用ファイル格納部４２２のフォルダ構成、ＦＩＸＥＤデータのファイル名については後述する。次に、データ保存処理部４１１は、リストファイル作成部４１６に対して、ＦＩＸＥＤデータの公開用ファイル格納部４２２におけるパス一覧と共に、ＦＩＸＥＤデータのリストファイル作成要求を行う。データ保存処理部４１１は、リストファイル作成部４１６から返却されたリストファイルをリストファイル格納部４２１に保存する。
【００２０】
次に、公開用ファイル格納部４２２及びリストファイル格納部４２１のファイル・フォルダ構成について、図５を用いて説明する。
図５（Ａ）は、公開用ファイル格納部４２２のファイル・フォルダ構成の一例を示す図である。各日付のＯＫデータであるファイル５５１〜５５６、５５９〜５６２及びＦＩＸＥＤデータであるファイル５５７〜５５８、５６３の各ファイルがフォルダ５４１以下にフラットに格納されている。本実施形態では各ファイルをフォルダ５４１以下にフラットに格納する階層構造のない構成としたが、フォルダ階層の構造は任意である。また、フォルダ５４１に相当するフォルダは、各データソースから取得したデータ種別毎に存在する。ＯＫデータであるファイル５５１〜５５６、５５９〜５６２の拡張子を除くファイル名は、「２０１４０７２９＿０１」のように「日付＿ファイル番号」とし、ファイル番号はインポート日付毎に連番とする。例えば、ファイル５５１、５５２は、共にインポート日付が２０１４年７月２９日であったことを表す。また、ＦＩＸＥＤデータであるファイル５５７〜５５８、５６３の拡張子を除くファイル名は、「２０１４０７２９＿０１＿０１」のように「日付＿ファイル番号＿ｆｉｘｅｄ番号」とする。ＯＫデータとＦＩＸＥＤデータとで「日付＿ファイル番号」部分が同じとなるデータは１つのオリジナルデータ（１つのｃｓｖファイル）であったことを表す。例えば、ＯＫデータであるファイル５５１、ＦＩＸＥＤデータであるファイル５５７、５６３は、１つのオリジナルデータであったことを表す。また、ｆｉｘｅｄ番号は、１つのオリジナルデータから派生したＦＩＸＥＤデータに対して連番とする。
【００２１】
図５（Ｂ）は、リストファイル格納部４２１のファイル・フォルダ構成の一例を示す図である。リストファイル格納部４２１には、フォルダ５０１以下に日付毎のＯＫフォルダ５０２〜５０６及びＦＩＸＥＤフォルダ５１１〜５１２の各フォルダがある。ＯＫフォルダとは、フォルダ名が「２０１４０７２９＿ＯＫ」のように「日付＿ＯＫ」のフォルダである。ＦＩＸＥＤフォルダとは、フォルダ名が「２０１４０７２９＿ＦＩＸＥＤ」のように「日付＿ＦＩＸＥＤ」のフォルダである。以降の説明では、ＯＫフォルダ５０２〜５０６以下に保存されるリストファイルをＯＫリスト、ＦＩＸＥＤフォルダ５１１〜５１２以下に保存されるリストファイルをＦＩＸＥＤリストと呼ぶことにする。また、ＯＫリスト及びＦＩＸＥＤリストの２つをまとめてリストファイルと呼ぶことにする。リストファイルには、フォルダ５４１以下のＯＫデータ及びＦＩＸＥＤデータについてパスが記載され、フォルダ５０１に相当するフォルダはフォルダ５４１同様、各データソースから取得したデータ種別毎に存在する。
【００２２】
次に、図６を用いて、リストファイル作成部４１６がリストファイルを作成するフロー及びリストファイルに記載するパスについて説明する。図６は、本実施形態における処理の一例を示すフローチャートである。リストファイル作成部４１６は、データ保存処理部４１１からＯＫデータ又はＦＩＸＥＤデータのパス一覧と共にリストファイル作成要求を受け付けると、パス一覧の各パスに対して、ステップＳ６０１〜ステップＳ６０６の処理を繰り返す。
リストファイル作成部４１６は、ステップＳ６０２にて、パスで表されるデータがＦＩＸＥＤデータか否かを判定する。判定にはパスで表されるデータの拡張子を除くファイル名を利用し、リストファイル作成部４１６は、ファイル名が「日付＿ファイル番号＿ＦＩＸＥＤ番号」であるものをＦＩＸＥＤデータと判定する。ステップＳ６０２でＦＩＸＥＤデータでなかった（ＯＫデータであった）と判定した場合、ステップＳ６０３にて、リストファイル作成部４１６は、インポート完了日付のＯＫリストに前記パスを追加する。一方、ステップＳ６０２でＦＩＸＥＤデータであったと判定した場合、ステップＳ６０４にて、リストファイル作成部４１６は、インポート完了日付のＦＩＸＥＤリストに前記パスを追加する。更に、ステップＳ６０５にて、リストファイル作成部４１６は、インポート日付のＯＫリストに前記パスを追加する。このように、リストファイル作成部４１６は、対象とするファイルのファイルパスを前記ファイルに応じたフォルダ階層に配置したリストファイルを作成する。
【００２３】
例えば、２０１４年７月３１日において、データ収集部４０１がデータソースからデータを取得したタイミングでは、データ保存処理部４１１がファイル５５５〜５５６をＯＫデータとして公開用ファイル格納部４２２に保存する。続いて、データ保存処理部４１１は、リストファイル作成部４１６に対して、ファイル５５５〜５５６の公開用ファイル格納部４２２におけるパスと共にリストファイル作成要求を行う。リストファイル作成部４１６は、ステップＳ６０３にてＯＫデータであるファイル５５５〜５５６へのファイルパスが記載されたＯＫリスト５２６を作成する。
また、２０１４年７月３１日において、ＮＧデータ収集部４１５が一時退避ファイル格納部４２３からデータを取得したタイミングでは、データ保存処理部４１１がファイル５５７〜５５８をＦＩＸＥＤデータとして公開用ファイル格納部４２２に保存する。続いて、データ保存処理部４１１は、リストファイル作成部４１６に対して、ＦＩＸＥＤデータであるファイル５５７〜５５８の公開用ファイル格納部４２２におけるパスと共にリストファイル作成要求を行う。リストファイル作成部４１６は、ステップＳ６０４にてファイル５５７〜５５８へのファイルパスが記載されたＦＩＸＥＤリストを作成する。加えて、リストファイル作成部４１６は、ステップＳ６０５にてＦＩＸＥＤデータであるファイル５５７へのファイルパスが記載されたＯＫリスト５２２を作成する。更に、リストファイル作成部４１６は、ステップＳ６０６にてＦＩＸＥＤデータであるファイル５５８へのファイルパスが記載されたＯＫリスト５２５を作成する。
【００２４】
リスト取得部４０２は、データ分析装置１１５、１１６からリストファイル取得要求を受け付ける。なお、データ分析装置１１５、１１６は外部システムの一例である。リストファイル取得要求には、データ分析装置１１５、１１６がデータを取得したい日付（以降、取得対象日付と呼ぶ）についての情報及び取得したいリストファイルの種類（ＯＫリスト又はＦＩＸＥＤリスト）についての情報が含まれる。リストファイル取得要求を受け付けたリスト取得部４０２は、リスト取得処理部４１２を介してリストファイル格納部４２１から取得対象日付において指定された種類のリストファイルを取得してデータ分析装置１１５、１１６に返却する。データ取得部４０３は、データ分析装置１１５、１１６から、公開用ファイル格納部４２２のパスを指定したデータ取得要求を受け付ける。そして、データ取得要求を受け付けたデータ取得部４０３は、データ取得処理部４１３を介して公開用ファイル格納部４２２から指定されたパスのファイルを検索して取得し、前記データ取得要求に対する応答としてデータ分析装置１１５又は１１６に返却する。
このようにして、データ分析装置１１５、１１６は、リスト取得部４０２から所望のリストファイルを取得した後、取得したリストファイル内に記載されている公開用ファイル格納部４２２のパスを用いてデータ取得部４０３から所望のファイルを取得する。
【００２５】
以上、本実施形態によれば、「インポート完了日付単位でのデータの取得」及び「インポート日付単位でのデータの取得」が容易に可能となる。言い換えれば、インポート完了日付及びインポート日付の両方でデータを管理することができる。即ち、ＥＴＬ処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的にデータを取得可能とする技術を提供することができる。
その結果、インポート完了日付単位でのデータ（例えば２０１４年７月３１日のデータ）を取得したい場合、データ分析装置１１５又は１１６は、リスト取得部４０２を介して２０１４年７月３１日のＯＫリスト５２６及びＦＩＸＥＤリスト５３１を取得すればよい。一方、インポート日付単位でのデータ（例えば２０１４年７月のデータ）を取得したい場合、データ分析装置１１５又は１１６は、リスト取得部４０２を介して２０１４年７月１日〜２０１４年７月３１日のＯＫリスト５２１〜５２６を取得すればよい。なお、図５の例では、２０１４年７月１日〜２０１４年７月２８日のリストは省略している。
また、「インポート完了日付」と「インポート日付」とでデータを２重管理する必要があるが、実体ファイルは２重持ちしておらず、２重管理しているリストファイルの容量はほぼ無視できるので、記憶領域部４０５の容量を圧迫しないという副次的効果もある。
【００２６】
＜実施形態２＞
実施形態１のデータ蓄積装置１３２では、リストファイルを用いることでデータを２重持ちする必要がないため、記憶領域部４０５の容量を圧迫することなく「インポート日付」、「インポート完了日付」の各単位でデータを管理することができた。しかしながら、記憶領域部４０５に安価な外部ストレージを利用している場合等は、リストファイルを用いるまでもなくデータを２重持ちする方法で、「インポート日付」、「インポート完了日付」の各単位でデータを管理するようにしてもよい。本実施形態では、データを２重持ちする方法で「インポート日付」、「インポート完了日付」の各単位でデータを管理する方法について説明する。なお、本実施形態におけるシステム構成及び各装置のハードウェア構成については、実施形態１と同様である。
図７は、本実施形態におけるデータ蓄積装置１３２のソフトウェア構成の一例を示す図である。データ収集部７０１は、実施形態１におけるデータ収集部４０１と同様の機能を有する。また、フィルタ処理部７１４、データ取得処理部７１３、ＮＧデータ収集部７１５、一時退避ファイル格納部７２３も、実施形態１におけるフィルタ処理部４１４、データ取得処理部４１３、ＮＧデータ収集部４１５、一時退避ファイル格納部４２３とそれぞれ同様の機能を有する。
【００２７】
次に、データ保存処理部７１１に関して、実施形態１と異なる点について説明する。データ収集部７０１がデータソースからオリジナルデータを取得したタイミングでは、データ保存処理部７１１は、フィルタ処理部７１４から返却されたＯＫデータを公開用ファイル格納部７２２に格納し、返却されたＮＧデータを一時退避ファイル格納部７２３に格納する。また、ＮＧデータ収集部７１５が一時退避ファイル格納部７２３から取得したタイミングでは、データ保存処理部７１１は、フィルタ処理部７１４から返却されたＦＩＸＥＤデータを公開用ファイル格納部７２２に格納し、返却されたＮＧデータを一時退避ファイル格納部７２３に格納する。
次に、公開用ファイル格納部７２２のファイル・フォルダ構成について、図８を用いて説明する。図８は、公開用ファイル格納部７２２のファイル・フォルダ構成の一例を示す図である。本実施形態における公開用ファイル格納部７２２のファイル・フォルダ構成は、図５（Ｂ）にて説明した実施形態１におけるリストファイル格納部４２１のファイル・フォルダ構成に類似している。公開用ファイル格納部７２２には、フォルダ８０１以下に日付毎のＯＫフォルダ８０２〜８０６及びＦＩＸＥＤフォルダ８１１〜８１２の各フォルダがある。ＯＫフォルダとは、フォルダ名が「２０１４０７２９＿ＯＫ」のように「日付＿ＯＫ」のフォルダである。ＦＩＸＥＤフォルダとは、フォルダ名が「２０１４０７２９＿ＦＩＸＥＤ」のように「日付＿ＦＩＸＥＤ」のフォルダである。フォルダ８０１に相当するフォルダは、各データソースから取得したデータ種別毎に存在する。
【００２８】
次に、図９を用いて、データ保存処理部７１１がファイルを保存するフロー及び保存するファイルに記載するパスについて説明する。図９は、本実施形態における処理の一例を示すフローチャートである。データ保存処理部７１１は、フィルタ処理部７１４によるフィルタ処理が正常終了したファイル（ＯＫデータ又はＦＩＸＥＤデータ）のそれぞれに対して、ステップＳ９０１〜ステップＳ９０６の処理を繰り返す。
データ保存処理部７１１は、ステップＳ９０２にて、各ファイルがＦＩＸＥＤデータか否かを判定する。ここで、データ保存処理部７１１は、ファイル名が「日付＿ファイル番号＿ＦＩＸＥＤ番号」であるものをＦＩＸＥＤデータと判定する。ステップＳ９０２でＦＩＸＥＤデータでなかった（ＯＫデータであった）と判定した場合、ステップＳ９０３にて、データ保存処理部７１１は、公開用ファイル格納部７２２のインポート完了日時のＯＫフォルダに前記ファイルを保存する。一方、ステップＳ９０２でＦＩＸＥＤデータであったと判定した場合、ステップＳ６０４にて、データ保存処理部７１１は、公開用ファイル格納部７２２のインポート完了日付のＦＩＸＥＤフォルダに前記ファイルを保存する。更に、ステップＳ６０５にて、データ保存処理部７１１は、公開用ファイル格納部７２２のインポート日付のＯＫフォルダに前記ファイルを保存する。
【００２９】
例えば、２０１４年７月３１日において、データ収集部７０１がデータソースからデータを取得したタイミングでは、データ保存処理部７１１は、ステップＳ９０３にてＯＫフォルダ８０４以下にＯＫデータであるファイル８２８、８２９を保存する。また、２０１４年７月３１日において、ＮＧデータ収集部７１５が一時退避ファイル格納部７２３から取得したタイミングでは、データ保存処理部７１１は、ステップＳ９０４にてＦＩＸＥＤフォルダ８１１以下にＦＩＸＥＤデータであるファイル８４１、８４２を保存する。加えて、データ保存処理部７１１は、ステップＳ９０５にてＦＩＸＥＤデータであるファイル８４１と同ファイルをＯＫフォルダ８０２以下にファイル８２３として保存する。更に、データ保存処理部７１１は、ステップＳ９０５にてＦＩＸＥＤデータであるファイル８４２と同ファイルをフォルダ８０３以下にファイル８２７として保存する。
データ取得部７０３は、データ分析装置１１５、１１６からデータ取得要求を受け付ける。データ取得要求には、取得対象日付についての情報及び取得したいデータの種類（ＯＫデータ又はＦＩＸＥＤデータ）についての情報が含まれる。データ取得要求を受け付けたデータ取得部７０３は、データ取得処理部７１３を介して公開用ファイル格納部７２２から取得対象日付において指定されたデータの種類のファイルを取得してデータ分析装置１１５、１１６に返却する。
【００３０】
以上、本実施形態によれば、リストファイルを用いなくても実施形態１と同様に「インポート完了日付単位でのデータの取得」及び「インポート日付単位でのデータの取得」が容易に可能となる。言い換えれば、インポート完了日付及びインポート日付の両方でデータを管理することができる。
その結果、インポート完了日付単位でのデータ（例えば２０１４年７月３１日のデータ）を取得したい場合、データ分析装置１１５、１１６は、データ取得部７０３を介して２０１４年７月３１日のＯＫフォルダ８０４及びＦＩＸＥＤフォルダ８１１内のデータを取得すればよい。一方、インポート日付単位でのデータ（例えば２０１４年７月のデータ）を取得したい場合、データ分析装置１１５、１１６は、データ取得部７０３を介して２０１４年７月１日〜２０１４年７月３１日のＯＫフォルダ８０２〜８０４内のデータを取得すればよい。なお、図８の例では、２０１４年７月１日〜２０１４年７月２８日のフォルダは省略している。
【００３１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３２】
以上、上述した各実施形態によれば、ＥＴＬ処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的なデータ取得を可能とすることができる。
【００３３】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３４】
１１０〜１１３  クライアント装置、１１５〜１１６  データ分析装置、１２１〜１２３  画像形成装置、１３１  デバイス管理装置、１３２  データ蓄積装置、１３３  出動履歴管理装置
【図２】
2016091317.tif 000005
【図３】
2016091317.tif 000006
【図４】
2016091317.tif 000007
【図６】
2016091317.tif 000008
【図７】
2016091317.tif 000009
【図９】
2016091317.tif 000010
【図１】
2016091317.tif 000011
【図５】
2016091317.tif 000012
【図８】
2016091317.tif 000013